Codebase list ghemical / 4af9fdf
New upstream version 3.0.0 Andreas Tille 6 years ago
306 changed file(s) with 103728 addition(s) and 2301 deletion(s). Raw diff Collapse all Expand all
0 Tommi Hassinen <thassine@messi.uku.fi> is the principal author.
1 Or at least the original one... :)
2
3 Jarno Huuskonen and Ville Heikkilä have contributed some GUI-code.
4
5 Tuomas Venäläinen made the toolbar icon pixmaps.
6
7 Geoff Hutchison has added OpenBabel-based file import/export properties,
8 and an easy-to-use configure-script.
9
10 Mike Cruz has added the stereo mode viewing features.
11
12 Michael Banck and Radek Liboska have created the .deb and .rpm
13 binary packages. Austin Acton created the Mandrake .rpm packages.
14
15 Christopher Rowley updated and practically re-wrote the User's Manual.
16
17 Michael Banck and Jean Brefort have contributed the automake/autoconf-
18 related configuration files.
0 GNU GENERAL PUBLIC LICENSE
1
2 Version 2, June 1991
3
4 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
5 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
6
7 Everyone is permitted to copy and distribute verbatim copies
8 of this license document, but changing it is not allowed.
9
10 Preamble
11
12 The licenses for most software are designed to take away your freedom to
13 share and change it. By contrast, the GNU General Public License is intended
14 to guarantee your freedom to share and change free software--to make sure
15 the software is free for all its users. This General Public License applies to
16 most of the Free Software Foundation's software and to any other program whose
17 authors commit to using it. (Some other Free Software Foundation software is
18 covered by the GNU Library General Public License instead.) You can apply it to
19 your programs, too.
20
21 When we speak of free software, we are referring to freedom, not price. Our
22 General Public Licenses are designed to make sure that you have the freedom to
23 distribute copies of free software (and charge for this service if you wish),
24 that you receive source code or can get it if you want it, that you can change
25 the software or use pieces of it in new free programs; and that you know you
26 can do these things.
27
28 To protect your rights, we need to make restrictions that forbid anyone to
29 deny you these rights or to ask you to surrender the rights. These restrictions
30 translate to certain responsibilities for you if you distribute copies of the
31 software, or if you modify it.
32
33 For example, if you distribute copies of such a program, whether gratis or for
34 a fee, you must give the recipients all the rights that you have. You must make
35 sure that they, too, receive or can get the source code. And you must show them
36 these terms so they know their rights.
37
38 We protect your rights with two steps: (1) copyright the software, and (2) offer
39 you this license which gives you legal permission to copy, distribute and/or
40 modify the software.
41
42 Also, for each author's protection and ours, we want to make certain that
43 everyone understands that there is no warranty for this free software. If the
44 software is modified by someone else and passed on, we want its recipients to
45 know that what they have is not the original, so that any problems introduced
46 by others will not reflect on the original authors' reputations.
47
48 Finally, any free program is threatened constantly by software patents. We
49 wish to avoid the danger that redistributors of a free program will individually
50 obtain patent licenses, in effect making the program proprietary. To prevent
51 this, we have made it clear that any patent must be licensed for everyone's
52 free use or not licensed at all.
53
54 The precise terms and conditions for copying, distribution and modification
55 follow.
56
57 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
58
59 0. This License applies to any program or other work which contains a notice
60 placed by the copyright holder saying it may be distributed under the terms of
61 this General Public License. The "Program", below, refers to any such program
62 or work, and a "work based on the Program" means either the Program or any
63 derivative work under copyright law: that is to say, a work containing the
64 Program or a portion of it, either verbatim or with modifications and/or
65 translated into another language. (Hereinafter, translation is included without
66 limitation in the term "modification".) Each licensee is addressed as "you".
67 Activities other than copying, distribution and modification are not covered by
68 this License; they are outside its scope. The act of running the Program is not
69 restricted, and the output from the Program is covered only if its contents
70 constitute a work based on the Program (independent of having been made by
71 running the Program). Whether that is true depends on what the Program does.
72
73 1. You may copy and distribute verbatim copies of the Program's source code as
74 you receive it, in any medium, provided that you conspicuously and appropriately
75 publish on each copy an appropriate copyright notice and disclaimer of warranty;
76 keep intact all the notices that refer to this License and to the absence of any
77 warranty; and give any other recipients of the Program a copy of this License
78 along with the Program.
79
80 You may charge a fee for the physical act of transferring a copy, and you may
81 at your option offer warranty protection in exchange for a fee.
82
83 2. You may modify your copy or copies of the Program or any portion of it, thus
84 forming a work based on the Program, and copy and distribute such modifications
85 or work under the terms of Section 1 above, provided that you also meet all of
86 these conditions:
87
88 a) You must cause the modified files to carry prominent notices stating that
89 you changed the files and the date of any change.
90
91 b) You must cause any work that you distribute or publish, that in whole or
92 in part contains or is derived from the Program or any part thereof, to be
93 licensed as a whole at no charge to all third parties under the terms of
94 this License.
95
96 c) If the modified program normally reads commands interactively when run,
97 you must cause it, when started running for such interactive use in the most
98 ordinary way, to print or display an announcement including an appropriate
99 copyright notice and a notice that there is no warranty (or else, saying
100 that you provide a warranty) and that users may redistribute the program
101 under these conditions, and telling the user how to view a copy of this
102 License. (Exception: if the Program itself is interactive but does not
103 normally print such an announcement, your work based on the Program is
104 not required to print an announcement.)
105
106 These requirements apply to the modified work as a whole. If identifiable
107 sections of that work are not derived from the Program, and can be reasonably
108 considered independent and separate works in themselves, then this License, and
109 its terms, do not apply to those sections when you distribute them as separate
110 works. But when you distribute the same sections as part of a whole which is a
111 work based on the Program, the distribution of the whole must be on the terms
112 of this License, whose permissions for other licensees extend to the entire
113 whole, and thus to each and every part regardless of who wrote it.
114
115 Thus, it is not the intent of this section to claim rights or contest your
116 rights to work written entirely by you; rather, the intent is to exercise the
117 right to control the distribution of derivative or collective works based on
118 the Program.
119
120 In addition, mere aggregation of another work not based on the Program with
121 the Program (or with a work based on the Program) on a volume of a storage or
122 distribution medium does not bring the other work under the scope of this
123 License.
124
125 3. You may copy and distribute the Program (or a work based on it, under
126 Section 2) in object code or executable form under the terms of Sections 1
127 and 2 above provided that you also do one of the following:
128
129 a) Accompany it with the complete corresponding machine-readable source
130 code, which must be distributed under the terms of Sections 1 and 2 above
131 on a medium customarily used for software interchange; or,
132
133 b) Accompany it with a written offer, valid for at least three years, to
134 give any third party, for a charge no more than your cost of physically
135 performing source distribution, a complete machine-readable copy of the
136 corresponding source code, to be distributed under the terms of Sections 1
137 and 2 above on a medium customarily used for software interchange; or,
138
139 c) Accompany it with the information you received as to the offer to
140 distribute corresponding source code. (This alternative is allowed only
141 for noncommercial distribution and only if you received the program in
142 object code or executable form with such an offer, in accord with
143 Subsection b above.)
144
145 The source code for a work means the preferred form of the work for making
146 modifications to it. For an executable work, complete source code means all
147 the source code for all modules it contains, plus any associated interface
148 definition files, plus the scripts used to control compilation and installation
149 of the executable. However, as a special exception, the source code distributed
150 need not include anything that is normally distributed (in either source or
151 binary form) with the major components (compiler, kernel, and so on) of the
152 operating system on which the executable runs, unless that component itself
153 accompanies the executable.
154
155 If distribution of executable or object code is made by offering access to
156 copy from a designated place, then offering equivalent access to copy the
157 source code from the same place counts as distribution of the source code,
158 even though third parties are not compelled to copy the source along with
159 the object code.
160
161 4. You may not copy, modify, sublicense, or distribute the Program except as
162 expressly provided under this License. Any attempt otherwise to copy, modify,
163 sublicense or distribute the Program is void, and will automatically terminate
164 your rights under this License. However, parties who have received copies, or
165 rights, from you under this License will not have their licenses terminated
166 so long as such parties remain in full compliance.
167
168 5. You are not required to accept this License, since you have not signed it.
169 However, nothing else grants you permission to modify or distribute the Program
170 or its derivative works. These actions are prohibited by law if you do not
171 accept this License. Therefore, by modifying or distributing the Program (or
172 any work based on the Program), you indicate your acceptance of this License to
173 do so, and all its terms and conditions for copying, distributing or modifying
174 the Program or works based on it.
175
176 6. Each time you redistribute the Program (or any work based on the Program),
177 the recipient automatically receives a license from the original licensor to
178 copy, distribute or modify the Program subject to these terms and conditions.
179 You may not impose any further restrictions on the recipients' exercise of the
180 rights granted herein. You are not responsible for enforcing compliance by
181 third parties to this License.
182
183 7. If, as a consequence of a court judgment or allegation of patent infringement
184 or for any other reason (not limited to patent issues), conditions are imposed
185 on you (whether by court order, agreement or otherwise) that contradict the
186 conditions of this License, they do not excuse you from the conditions of this
187 License. If you cannot distribute so as to satisfy simultaneously your
188 obligations under this License and any other pertinent obligations, then as a
189 consequence you may not distribute the Program at all. For example, if a patent
190 license would not permit royalty-free redistribution of the Program by all
191 those who receive copies directly or indirectly through you, then the only way
192 you could satisfy both it and this License would be to refrain entirely from
193 distribution of the Program.
194
195 If any portion of this section is held invalid or unenforceable under any
196 particular circumstance, the balance of the section is intended to apply and
197 the section as a whole is intended to apply in other circumstances.
198
199 It is not the purpose of this section to induce you to infringe any patents
200 or other property right claims or to contest validity of any such claims; this
201 section has the sole purpose of protecting the integrity of the free software
202 distribution system, which is implemented by public license practices. Many
203 people have made generous contributions to the wide range of software
204 distributed through that system in reliance on consistent application of that
205 system; it is up to the author/donor to decide if he or she is willing to
206 distribute software through any other system and a licensee cannot impose
207 that choice.
208
209 This section is intended to make thoroughly clear what is believed to be a
210 consequence of the rest of this License.
211
212 8. If the distribution and/or use of the Program is restricted in certain
213 countries either by patents or by copyrighted interfaces, the original
214 copyright holder who places the Program under this License may add an explicit
215 geographical distribution limitation excluding those countries, so that
216 distribution is permitted only in or among countries not thus excluded. In
217 such case, this License incorporates the limitation as if written in the body
218 of this License.
219
220 9. The Free Software Foundation may publish revised and/or new versions of
221 the General Public License from time to time. Such new versions will be similar
222 in spirit to the present version, but may differ in detail to address new
223 problems or concerns.
224
225 Each version is given a distinguishing version number. If the Program specifies
226 a version number of this License which applies to it and "any later version",
227 you have the option of following the terms and conditions either of that
228 version or of any later version published by the Free Software Foundation. If
229 the Program does not specify a version number of this License, you may choose
230 any version ever published by the Free Software Foundation.
231
232 10. If you wish to incorporate parts of the Program into other free programs
233 whose distribution conditions are different, write to the author to ask for
234 permission. For software which is copyrighted by the Free Software Foundation,
235 write to the Free Software Foundation; we sometimes make exceptions for this.
236 Our decision will be guided by the two goals of preserving the free status of
237 all derivatives of our free software and of promoting the sharing and reuse
238 of software generally.
239
240 NO WARRANTY
241
242 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
243 THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
244 STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM
245 "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
246 BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
247 PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
248 PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
249 ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
250
251 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
252 ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE
253 PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
254 SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY
255 TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
256 RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF
257 THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
258 PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
259
260 END OF TERMS AND CONDITIONS
0 2011-09-14 17:14 thassine
1
2 * Makefile.in, autogen.sh, configure, docs/Makefile.in,
3 docs/user-docs/Makefile.in, docs/user-docs/images/Makefile.in,
4 examples/Makefile.in, examples/TSS/E2-reaction/Makefile.in,
5 examples/TSS/Makefile.in, examples/TSS/SN2-reaction/Makefile.in,
6 examples/TSS/carbocation_rearrangement_hydride_shift/Makefile.in,
7 examples/TSS/carbocation_rearrangement_methide_shift/Makefile.in,
8 examples/TSS/cycloaddition_Diels-Alder/Makefile.in,
9 examples/TSS/sigmatropic_rearrangement_Cope/Makefile.in,
10 examples/TSS/tautomeric_shift_keto_enol/Makefile.in, po/LINGUAS,
11 po/Makefile.in, po/Makefile.in.in, po/de.po, src/Makefile.in,
12 src/ghemicalconfig.h.in, src/res_gtk/Makefile.in: add german
13 translation, update configuration files.
14
15 2009-11-02 15:02 thassine
16
17 * po/LINGUAS, po/fi.po, po/ru.po: russian translation added.
18
19 2009-09-16 08:40 thassine
20
21 * configure, configure.ac, po/Makefile.in: this is version 2.99.2
22
23 2009-09-16 08:36 thassine
24
25 * src/eldview_wcl.cpp, src/pangofont_wcl.cpp: an infinite loop in
26 pangofont.cpp string width calculation.
27
28 2009-09-11 12:51 thassine
29
30 * configure, configure.ac, po/Makefile.in, src/Makefile.am,
31 src/Makefile.in: version 2.99.1 released due to a missing file.
32
33 2009-09-04 12:41 thassine
34
35 * ChangeLog: ChangeLog update
36
37 2009-09-04 12:28 thassine
38
39 * configure, configure.ac, po/Makefile.in: release the version
40 2.99.1
41
42 2009-08-10 11:22 thassine
43
44 * po/LINGUAS, po/pt_BR.po: translation pt_BR added (thanks to
45 Ulisses)
46
47 2009-05-20 10:51 thassine
48
49 * configure, configure.ac, src/fileio.cpp, src/gtk_app.cpp,
50 src/project.cpp: change atom and other indexes so that they
51 appear starting from 1 rather than from 0 to the user.
52
53 2009-04-30 11:03 thassine
54
55 * po/mk.po, po/sq.po: minor cleanups.
56
57 2009-04-21 11:34 thassine
58
59 * po/LINGUAS, po/POTFILES, po/POTFILES.in, po/fi.po, po/mk.po,
60 po/sq.po, src/gtk_app.cpp, src/gtk_eldview_wnd.cpp,
61 src/gtk_gpcview_wnd.cpp, src/gtk_main.cpp,
62 src/gtk_oglview_wnd.cpp, src/gtk_p1dview_wnd.cpp,
63 src/gtk_p2dview_wnd.cpp, src/gtk_project.cpp,
64 src/gtk_rcpview_wnd.cpp, src/gtk_simple_dialogs.cpp,
65 src/ogl_ribbon.cpp, src/ogl_ribbon.h, src/project.cpp,
66 src/res_gtk/gtk_file_export_dialog.glade,
67 src/res_gtk/gtk_file_import_dialog.glade,
68 src/res_gtk/gtk_geomopt_dialog.glade,
69 src/res_gtk/gtk_moldyn_dialog.glade,
70 src/res_gtk/gtk_progress_dialog.glade,
71 src/res_gtk/gtk_setup_dialog.glade,
72 src/res_gtk/gtk_stereo_dialog.glade,
73 src/res_gtk/gtk_trajview_dialog.glade: added translations mk + po
74 ; translation fi updated.
75
76 2009-04-01 05:51 thassine
77
78 * src/ac_stor_wcl.cpp, src/filetrans.cpp, src/gtk_app.cpp,
79 src/gtk_glade_dialog.cpp, src/gtk_project.cpp,
80 src/gtk_setup_dialog.cpp, src/gtk_simple_dialogs.cpp,
81 src/gtk_wnd.cpp, src/ogl_ribbon.cpp, src/p1dview_wcl.cpp,
82 src/p2dview_wcl.cpp, src/pangofont_wcl.cpp, src/project.cpp:
83 added assertion_failed() method.
84
85 2008-12-09 10:44 thassine
86
87 * po/Makefile.in, po/fi.po, src/ac_stor_wcl.cpp,
88 src/custom_app.cpp, src/eldview_wcl.cpp, src/fileio.cpp,
89 src/filetrans.cpp, src/gtk_app.cpp, src/gtk_eldview_wnd.cpp,
90 src/gtk_file_export_dialog.cpp, src/gtk_file_import_dialog.cpp,
91 src/gtk_geomopt_dialog.cpp, src/gtk_glade_dialog.cpp,
92 src/gtk_gpcview_wnd.cpp, src/gtk_main.cpp,
93 src/gtk_moldyn_dialog.cpp, src/gtk_oglview_wnd.cpp,
94 src/gtk_p1dview_wnd.cpp, src/gtk_p2dview_wnd.cpp,
95 src/gtk_progress_dialog.cpp, src/gtk_project.cpp,
96 src/gtk_rcpview_wnd.cpp, src/gtk_setup_dialog.cpp,
97 src/gtk_simple_dialogs.cpp, src/gtk_stereo_dialog.cpp,
98 src/gtk_trajview_dialog.cpp, src/gtk_wnd.cpp, src/ogl_plane.cpp,
99 src/ogl_ribbon.cpp, src/ogl_surface.cpp, src/oglview_wcl.cpp,
100 src/p1dview_wcl.cpp, src/p2dview_wcl.cpp, src/pangofont_wcl.cpp,
101 src/project.cpp, src/rcpview_wcl.cpp: translations added ; Vlado
102 Peshov.
103
104 2008-11-26 11:48 thassine
105
106 * src/gtk_app.cpp: a comment added.
107
108 2008-11-26 11:18 thassine
109
110 * Makefile.am, Makefile.in, autogen.sh, configure, configure.ac,
111 docs/Makefile.in, docs/user-docs/Makefile.in,
112 docs/user-docs/images/Makefile.in, examples/Makefile.in,
113 examples/TSS/E2-reaction/Makefile.in, examples/TSS/Makefile.in,
114 examples/TSS/SN2-reaction/Makefile.in,
115 examples/TSS/carbocation_rearrangement_hydride_shift/Makefile.in,
116 examples/TSS/carbocation_rearrangement_methide_shift/Makefile.in,
117 examples/TSS/cycloaddition_Diels-Alder/Makefile.in,
118 examples/TSS/sigmatropic_rearrangement_Cope/Makefile.in,
119 examples/TSS/tautomeric_shift_keto_enol/Makefile.in, po,
120 po/LINGUAS, po/Makefile.in, po/Makefile.in.in, po/POTFILES,
121 po/POTFILES.in, po/fi.po, po/stamp-it, src/Makefile.am,
122 src/Makefile.in, src/ghemicalconfig.h.in, src/gtk_app.cpp,
123 src/gtk_main.cpp, src/local_i18n.h, src/pangofont_wcl.cpp,
124 src/res_gtk/Makefile.in, src/res_gtk/gtk_geomopt_dialog.glade:
125 started adding gettext()-translations ; Vlado Peshov + others.
126
127 2008-10-22 09:42 thassine
128
129 * INSTALL, Makefile.in, configure, configure.ac, docs/Makefile.in,
130 docs/user-docs/Makefile.in, docs/user-docs/images/Makefile.in,
131 examples/Makefile.in, examples/TSS/E2-reaction/Makefile.in,
132 examples/TSS/Makefile.in, examples/TSS/SN2-reaction/Makefile.in,
133 examples/TSS/carbocation_rearrangement_hydride_shift/Makefile.in,
134 examples/TSS/carbocation_rearrangement_methide_shift/Makefile.in,
135 examples/TSS/cycloaddition_Diels-Alder/Makefile.in,
136 examples/TSS/sigmatropic_rearrangement_Cope/Makefile.in,
137 examples/TSS/tautomeric_shift_keto_enol/Makefile.in,
138 src/Makefile.in, src/ghemicalconfig.h.in, src/gtk_app.cpp,
139 src/project.cpp, src/res_gtk/Makefile.in: configuration update
140 (Daniel Leidert) + minor fixes
141
142 2008-08-06 12:26 thassine
143
144 * Makefile.am, Makefile.in, configure, configure.ac,
145 docs/Makefile.in, docs/user-docs/Makefile.in,
146 docs/user-docs/images/Makefile.in, examples/Makefile.in,
147 examples/TSS/E2-reaction/Makefile.in, examples/TSS/Makefile.in,
148 examples/TSS/SN2-reaction/Makefile.in,
149 examples/TSS/carbocation_rearrangement_hydride_shift/Makefile.in,
150 examples/TSS/carbocation_rearrangement_methide_shift/Makefile.in,
151 examples/TSS/cycloaddition_Diels-Alder/Makefile.in,
152 examples/TSS/sigmatropic_rearrangement_Cope/Makefile.in,
153 examples/TSS/tautomeric_shift_keto_enol/Makefile.in,
154 src/Makefile.in, src/ghemicalconfig.h.in, src/pangofont_wcl.cpp,
155 src/res_gtk/Makefile.in: pangofont_wcl.cpp fix ; autogen.sh added
156 to EXTRA_DIST ; configure-scripts update.
157
158 2008-08-01 06:43 thassine
159
160 * src/gtk_main.cpp, src/pangofont_wcl.cpp: added win32 relocation
161 code + patches for more reliable compilation.
162
163 2008-07-31 10:34 thassine
164
165 * configure, configure.ac: version number changed to 2.98
166
167 2008-07-31 08:38 thassine
168
169 * src/pangofont_wcl.cpp, src/pangofont_wcl.h: ooops ; here are the
170 new pango-files
171
172 2008-07-31 08:37 thassine
173
174 * INSTALL, configure, configure.ac, src/Makefile.am,
175 src/Makefile.in, src/ac_stor_wcl.cpp, src/ac_stor_wcl.h,
176 src/eldview_wcl.cpp, src/eldview_wcl.h, src/ghemicalconfig.h.in,
177 src/gpcview_wcl.cpp, src/gpcview_wcl.h, src/gtk_main.cpp,
178 src/gtk_wnd.cpp, src/oglview_wcl.cpp, src/oglview_wcl.h,
179 src/p1dview_wcl.cpp, src/p2dview_wcl.cpp, src/project.cpp: added
180 OpenGL text rendering using gtkglext/pango ; removed dependencies
181 to glut library.
182
183 2008-07-31 06:02 thassine
184
185 * Makefile.in, configure, docs/Makefile.in,
186 docs/user-docs/Makefile.in, docs/user-docs/images/Makefile.in,
187 examples/Makefile.in, examples/TSS/E2-reaction/Makefile.in,
188 examples/TSS/Makefile.in, examples/TSS/SN2-reaction/Makefile.in,
189 examples/TSS/carbocation_rearrangement_hydride_shift/Makefile.in,
190 examples/TSS/carbocation_rearrangement_methide_shift/Makefile.in,
191 examples/TSS/cycloaddition_Diels-Alder/Makefile.in,
192 examples/TSS/sigmatropic_rearrangement_Cope/Makefile.in,
193 examples/TSS/tautomeric_shift_keto_enol/Makefile.in,
194 src/Makefile.in, src/res_gtk/Makefile.in: added Makefile.in files
195 for clarity
196
197 2008-07-31 05:55 thassine
198
199 * configure.ac, src/fileio.cpp, src/filetrans.cpp, src/filetrans.h,
200 src/ghemicalconfig.h.in, src/gtk_app.cpp, src/gtk_app.h,
201 src/gtk_main.cpp, src/gtk_oglview_wnd.cpp, src/gtk_project.cpp,
202 src/gtk_project.h, src/gtk_setup_dialog.cpp,
203 src/gtk_simple_dialogs.cpp, src/gtk_wnd.cpp, src/ogl_plane.cpp,
204 src/ogl_surface.h, src/oglview_wcl.cpp, src/project.cpp,
205 src/project.h, src/res_w32, src/w32_app.cpp, src/w32_app.h,
206 src/w32_bondtype_dialog.cpp, src/w32_bondtype_dialog.h,
207 src/w32_command_dialog.cpp, src/w32_command_dialog.h,
208 src/w32_eldview_wnd.cpp, src/w32_eldview_wnd.h,
209 src/w32_element_dialog.cpp, src/w32_element_dialog.h,
210 src/w32_gpcview_wnd.cpp, src/w32_gpcview_wnd.h, src/w32_main.cpp,
211 src/w32_main.h, src/w32_oglview_wnd.cpp, src/w32_oglview_wnd.h,
212 src/w32_p1dview_wnd.cpp, src/w32_p1dview_wnd.h,
213 src/w32_p2dview_wnd.cpp, src/w32_p2dview_wnd.h,
214 src/w32_progress_dialog.cpp, src/w32_progress_dialog.h,
215 src/w32_project.cpp, src/w32_project.h, src/w32_rcpview_wnd.cpp,
216 src/w32_rcpview_wnd.h, src/w32_simple_dialogs.cpp,
217 src/w32_simple_dialogs.h, src/w32_tb_button.cpp,
218 src/w32_tb_button.h, src/w32_wnd.cpp, src/w32_wnd.h: changes
219 required for porting to win32 ; the win32-API-target and files
220 w32_something.cpp removed.
221
222 2008-07-18 08:52 thassine
223
224 * src/fileio.cpp, src/gtk_app.cpp, src/gtk_main.cpp,
225 src/gtk_moldyn_dialog.cpp, src/gtk_moldyn_dialog.h,
226 src/gtk_setup_dialog.cpp, src/ogl_ribbon.cpp, src/project.cpp,
227 src/res_gtk/gtk_moldyn_dialog.glade: MD changes in libghemical +
228 other minor stuff.
229
230 2008-03-14 12:12 thassine
231
232 * INSTALL: update INSTALL
233
234 2008-02-26 11:37 thassine
235
236 * src/fileio.cpp, src/gtk_app.cpp, src/gtk_moldyn_dialog.cpp,
237 src/gtk_simple_dialogs.cpp, src/ogl_plane.cpp,
238 src/ogl_surface.cpp, src/p1dview_wcl.cpp, src/p2dview_wcl.cpp,
239 src/project.cpp, src/w32_app.cpp, src/w32_command_dialog.cpp,
240 src/w32_progress_dialog.cpp, src/w32_tb_button.cpp: should now
241 compile with g++ v4.3 (not tested though).
242
243 2008-02-25 09:47 thassine
244
245 * src/gtk_setup_dialog.cpp: GUI : spin multiplicity is not yet used
246 so block access to it.
247
248 2008-01-09 12:06 thassine
249
250 * src/ac_stor_wcl.cpp, src/ac_stor_wcl.h, src/appdefine.h,
251 src/color.h, src/custom_app.cpp, src/custom_app.h,
252 src/custom_camera.cpp, src/custom_camera.h,
253 src/custom_lights.cpp, src/custom_lights.h, src/eldview_wcl.cpp,
254 src/eldview_wcl.h, src/fileio.cpp, src/filetrans.cpp,
255 src/filetrans.h, src/gpcview_wcl.cpp, src/gpcview_wcl.h,
256 src/gtk_app.cpp, src/gtk_app.h, src/gtk_eldview_wnd.cpp,
257 src/gtk_eldview_wnd.h, src/gtk_file_export_dialog.cpp,
258 src/gtk_file_export_dialog.h, src/gtk_file_import_dialog.cpp,
259 src/gtk_file_import_dialog.h, src/gtk_geomopt_dialog.cpp,
260 src/gtk_geomopt_dialog.h, src/gtk_glade_dialog.cpp,
261 src/gtk_glade_dialog.h, src/gtk_gpcview_wnd.cpp,
262 src/gtk_gpcview_wnd.h, src/gtk_main.cpp, src/gtk_main.h,
263 src/gtk_moldyn_dialog.cpp, src/gtk_moldyn_dialog.h,
264 src/gtk_oglview_wnd.cpp, src/gtk_oglview_wnd.h,
265 src/gtk_p1dview_wnd.cpp, src/gtk_p1dview_wnd.h,
266 src/gtk_p2dview_wnd.cpp, src/gtk_p2dview_wnd.h,
267 src/gtk_progress_dialog.cpp, src/gtk_progress_dialog.h,
268 src/gtk_project.cpp, src/gtk_project.h, src/gtk_rcpview_wnd.cpp,
269 src/gtk_rcpview_wnd.h, src/gtk_setup_dialog.cpp,
270 src/gtk_setup_dialog.h, src/gtk_simple_dialogs.cpp,
271 src/gtk_simple_dialogs.h, src/gtk_stereo_dialog.cpp,
272 src/gtk_stereo_dialog.h, src/gtk_trajview_dialog.cpp,
273 src/gtk_trajview_dialog.h, src/gtk_wnd.cpp, src/gtk_wnd.h,
274 src/ogl_plane.cpp, src/ogl_plane.h, src/ogl_ribbon.cpp,
275 src/ogl_ribbon.h, src/ogl_surface.cpp, src/ogl_surface.h,
276 src/oglview_wcl.cpp, src/oglview_wcl.h, src/p1dview_wcl.cpp,
277 src/p1dview_wcl.h, src/p2dview_wcl.cpp, src/p2dview_wcl.h,
278 src/project.cpp, src/project.h, src/rcpview_wcl.cpp,
279 src/rcpview_wcl.h, src/simple_test/container.cpp,
280 src/simple_test/container.h, src/spline.cpp, src/spline.h,
281 src/w32_app.cpp, src/w32_app.h, src/w32_bondtype_dialog.cpp,
282 src/w32_bondtype_dialog.h, src/w32_command_dialog.cpp,
283 src/w32_command_dialog.h, src/w32_eldview_wnd.cpp,
284 src/w32_eldview_wnd.h, src/w32_element_dialog.cpp,
285 src/w32_element_dialog.h, src/w32_gpcview_wnd.cpp,
286 src/w32_gpcview_wnd.h, src/w32_main.cpp, src/w32_main.h,
287 src/w32_oglview_wnd.cpp, src/w32_oglview_wnd.h,
288 src/w32_p1dview_wnd.cpp, src/w32_p1dview_wnd.h,
289 src/w32_p2dview_wnd.cpp, src/w32_p2dview_wnd.h,
290 src/w32_progress_dialog.cpp, src/w32_progress_dialog.h,
291 src/w32_project.cpp, src/w32_project.h, src/w32_rcpview_wnd.cpp,
292 src/w32_rcpview_wnd.h, src/w32_simple_dialogs.cpp,
293 src/w32_simple_dialogs.h, src/w32_tb_button.cpp,
294 src/w32_tb_button.h, src/w32_wnd.cpp, src/w32_wnd.h: copyright
295 notice update.
296
297 2008-01-09 11:37 thassine
298
299 * autogen.sh, src/project.cpp, src/w32_app.cpp, src/w32_app.h,
300 src/w32_project.cpp, src/w32_simple_dialogs.cpp,
301 src/w32_simple_dialogs.h, src/w32_wnd.cpp: NEWLINE is removed
302 from libghemical ; also autogen.sh update.
303
304 2008-01-02 09:25 thassine
305
306 * src/res_gtk/Makefile.am: make dist now includes also the xpm
307 files
308
309 2007-09-21 10:36 thassine
310
311 * autogen.sh, configure.ac, src/custom_app.cpp, src/custom_app.h,
312 src/gtk_app.cpp, src/gtk_app.h, src/gtk_oglview_wnd.h,
313 src/gtk_progress_dialog.cpp, src/gtk_project.cpp,
314 src/gtk_project.h, src/gtk_simple_dialogs.h, src/oglview_wcl.h,
315 src/project.cpp, src/project.h, src/res_w32/angle.bmp,
316 src/res_w32/bond.bmp, src/res_w32/bondtype.bmp,
317 src/res_w32/chain.bmp, src/res_w32/clipping.bmp,
318 src/res_w32/dihedral.bmp, src/res_w32/distance.bmp,
319 src/res_w32/draw.bmp, src/res_w32/element.bmp,
320 src/res_w32/erase.bmp, src/res_w32/invert.bmp,
321 src/res_w32/measure.bmp, src/res_w32/molecule.bmp,
322 src/res_w32/orbit_xy.bmp, src/res_w32/orbit_z.bmp,
323 src/res_w32/residue.bmp, src/res_w32/resource.h,
324 src/res_w32/resource.rc, src/res_w32/rotate_xy.bmp,
325 src/res_w32/rotate_z.bmp, src/res_w32/select.bmp,
326 src/res_w32/setup.bmp, src/res_w32/transl_xy.bmp,
327 src/res_w32/transl_z.bmp, src/res_w32/zoom.bmp, src/w32_app.cpp,
328 src/w32_app.h, src/w32_bondtype_dialog.cpp,
329 src/w32_bondtype_dialog.h, src/w32_command_dialog.cpp,
330 src/w32_command_dialog.h, src/w32_eldview_wnd.cpp,
331 src/w32_eldview_wnd.h, src/w32_element_dialog.cpp,
332 src/w32_element_dialog.h, src/w32_gpcview_wnd.cpp,
333 src/w32_gpcview_wnd.h, src/w32_main.cpp, src/w32_oglview_wnd.cpp,
334 src/w32_oglview_wnd.h, src/w32_p1dview_wnd.cpp,
335 src/w32_p1dview_wnd.h, src/w32_p2dview_wnd.cpp,
336 src/w32_p2dview_wnd.h, src/w32_progress_dialog.cpp,
337 src/w32_progress_dialog.h, src/w32_project.cpp,
338 src/w32_project.h, src/w32_rcpview_wnd.cpp,
339 src/w32_rcpview_wnd.h, src/w32_simple_dialogs.cpp,
340 src/w32_simple_dialogs.h, src/w32_tb_button.cpp,
341 src/w32_tb_button.h, src/w32_wnd.cpp, src/w32_wnd.h: commit
342 20070921
343
344 2007-05-23 10:03 thassine
345
346 * src/Makefile.am, src/custom_app.h, src/gtk_dialog.cpp,
347 src/gtk_dialog.h, src/gtk_oglview_wnd.cpp, src/gtk_oglview_wnd.h,
348 src/gtk_project.cpp, src/gtk_project.h,
349 src/gtk_simple_dialogs.cpp, src/gtk_simple_dialogs.h,
350 src/gtk_stereo_dialog.cpp, src/gtk_stereo_dialog.h,
351 src/gtk_trajview_dialog.cpp, src/oglview_wcl.h,
352 src/res_gtk/Makefile.am, src/res_gtk/gtk_stereo_dialog.glade,
353 src/res_gtk/gtk_stereo_dialog.gladep, src/res_w32/resource.h,
354 src/res_w32/resource.rc, src/w32_app.cpp, src/w32_dialog.cpp,
355 src/w32_dialog.h, src/w32_main.cpp, src/w32_oglview_wnd.cpp,
356 src/w32_oglview_wnd.h, src/w32_project.cpp, src/w32_project.h,
357 src/w32_simple_dialogs.cpp, src/w32_simple_dialogs.h,
358 src/w32_wnd.cpp: new stuff added to the win32 version ; the menus
359 should work better now.
360
361 2007-05-02 11:50 thassine
362
363 * src/gtk_main.cpp, src/w32_app.cpp: the glutInit() call was
364 missing.
365
366 2007-03-13 09:30 thassine
367
368 * src/project.cpp: SortGroups() has changed in libghemical ; sync.
369
370 2007-01-25 10:13 thassine
371
372 * src/w32_dialog.cpp, src/w32_dialog.h: forgot to add w32
373 dialogs...
374
375 2007-01-19 07:40 thassine
376
377 * src/ac_stor_wcl.cpp, src/ac_stor_wcl.h: improved the way how
378 structures are stored in plots.
379
380 2007-01-16 09:08 thassine
381
382 * src/project.cpp: changes at lib side.
383
384 2007-01-15 10:27 thassine
385
386 * src/project.cpp: changed the SetTorsionConstraint() method
387 parameters.
388
389 2007-01-15 07:56 thassine
390
391 * src/gtk_dialog.cpp, src/project.cpp, src/res_w32/resource.h,
392 src/res_w32/resource.rc, src/w32_app.cpp, src/w32_app.h,
393 src/w32_wnd.cpp: changes for the win32 version.
394
395 2006-12-21 10:52 thassine
396
397 * configure.ac, src/Makefile.am, src/gtk_app.cpp, src/gtk_app.h,
398 src/gtk_eldview_wnd.cpp, src/gtk_gpcview_wnd.cpp,
399 src/gtk_oglview_wnd.cpp, src/gtk_oglview_wnd.h,
400 src/gtk_p1dview_wnd.cpp, src/gtk_p2dview_wnd.cpp,
401 src/gtk_project.cpp, src/gtk_project.h, src/gtk_rcpview_wnd.cpp,
402 src/gtk_wnd.cpp, src/oglview_wcl.cpp, src/project.cpp,
403 src/project.h, src/res_w32, src/res_w32/resource.h,
404 src/res_w32/resource.rc, src/w32_app.cpp, src/w32_app.h,
405 src/w32_main.cpp, src/w32_main.h, src/w32_oglview_wnd.cpp,
406 src/w32_oglview_wnd.h, src/w32_project.cpp, src/w32_project.h,
407 src/w32_wnd.cpp, src/w32_wnd.h: added a win32 target.
408
409 2006-11-15 11:41 thassine
410
411 * autogen.sh, configure.ac, src/custom_lights.cpp,
412 src/ghemicalconfig.h.in: configuration fixes.
413
414 2006-11-15 08:47 thassine
415
416 * src/gtk_app.cpp, src/gtk_eldview_wnd.cpp,
417 src/gtk_gpcview_wnd.cpp, src/gtk_p1dview_wnd.cpp,
418 src/gtk_p2dview_wnd.cpp, src/gtk_rcpview_wnd.cpp,
419 src/gtk_wnd.cpp: show the correct view names + some bugfixes.
420
421 2006-11-14 13:40 thassine
422
423 * src/eldview_wcl.cpp, src/gpcview_wcl.cpp, src/gtk_app.cpp,
424 src/gtk_eldview_wnd.cpp, src/gtk_eldview_wnd.h,
425 src/gtk_gpcview_wnd.cpp, src/gtk_gpcview_wnd.h,
426 src/gtk_p1dview_wnd.cpp, src/gtk_p1dview_wnd.h,
427 src/gtk_p2dview_wnd.cpp, src/gtk_p2dview_wnd.h,
428 src/gtk_project.cpp, src/gtk_rcpview_wnd.cpp,
429 src/gtk_rcpview_wnd.h, src/p1dview_wcl.cpp, src/p2dview_wcl.cpp,
430 src/project.cpp: added new view management features.
431
432 2006-11-08 13:00 thassine
433
434 * examples/TSS/E2-reaction/READ_ME.txt,
435 examples/TSS/E2-reaction/products.gpr,
436 examples/TSS/E2-reaction/reactants.gpr,
437 examples/TSS/SN2-reaction/READ_ME.txt,
438 examples/TSS/SN2-reaction/products.gpr,
439 examples/TSS/SN2-reaction/reactants.gpr,
440 examples/TSS/carbocation_rearrangement_hydride_shift/READ_ME.txt,
441 examples/TSS/carbocation_rearrangement_methide_shift/READ_ME.txt,
442 examples/TSS/cycloaddition_Diels-Alder/READ_ME.txt,
443 examples/TSS/cycloaddition_Diels-Alder/products.gpr,
444 examples/TSS/cycloaddition_Diels-Alder/reactants.gpr,
445 examples/TSS/sigmatropic_rearrangement_Cope/READ_ME.txt,
446 examples/TSS/sigmatropic_rearrangement_Cope/products.gpr,
447 examples/TSS/sigmatropic_rearrangement_Cope/reactants.gpr,
448 examples/TSS/tautomeric_shift_keto_enol/READ_ME.txt: TSS examples
449 updated.
450
451 2006-11-08 12:36 thassine
452
453 * AUTHORS, configure.ac, src/ghemicalconfig.h.in, src/gtk_app.cpp,
454 src/gtk_main.cpp: some fixes added (thanks Jean).
455
456 2006-10-31 13:49 thassine
457
458 * src/gtk_app.cpp, src/gtk_app.h: the separate views + objects
459 pages are combined into a single views/objects page at the
460 project view.
461
462 2006-10-31 12:26 thassine
463
464 * src/color.h, src/custom_app.cpp, src/custom_app.h,
465 src/custom_camera.h, src/custom_lights.h, src/gtk_app.cpp,
466 src/gtk_app.h, src/gtk_oglview_wnd.h, src/gtk_project.cpp,
467 src/gtk_project.h, src/gtk_trajview_dialog.cpp, src/gtk_wnd.cpp,
468 src/gtk_wnd.h, src/ogl_plane.h, src/ogl_surface.h,
469 src/oglview_wcl.cpp, src/project.cpp, src/project.h: cleanups and
470 missing stuff added.
471
472 2006-10-31 10:59 thassine
473
474 * src/fileio.cpp, src/gtk_file_export_dialog.cpp,
475 src/gtk_file_import_dialog.cpp, src/gtk_project.cpp,
476 src/oglview_wcl.cpp, src/project.cpp, src/project.h: cleanups
477 added ; a minor file format tweak added.
478
479 2006-10-31 09:05 thassine
480
481 * src/gtk_app.cpp, src/gtk_app.h, src/gtk_dialog.cpp,
482 src/gtk_project.cpp, src/gtk_project.h, src/gtk_wnd.cpp,
483 src/oglview_wcl.cpp, src/oglview_wcl.h, src/project.cpp,
484 src/project.h: made the detached windows transient for the main
485 window.
486
487 2006-10-30 13:52 thassine
488
489 * src/ac_stor_wcl.cpp, src/ac_stor_wcl.h, src/fileio.cpp,
490 src/gtk_oglview_wnd.cpp, src/gtk_project.cpp, src/gtk_project.h,
491 src/p1dview_wcl.cpp, src/p1dview_wcl.h, src/project.cpp,
492 src/rcpview_wcl.cpp, src/rcpview_wcl.h: TSS works now.
493
494 2006-10-24 12:45 thassine
495
496 * configure.ac, examples/Makefile, examples/Makefile.in,
497 examples/TSS/Makefile, examples/TSS/Makefile.in, src/Makefile.am,
498 src/ac_stor_wcl.cpp, src/ac_stor_wcl.h, src/filetrans.cpp,
499 src/filetrans.h, src/gtk_oglview_wnd.cpp, src/p1dview_wcl.cpp,
500 src/p1dview_wcl.h, src/p2dview_wcl.cpp, src/p2dview_wcl.h,
501 src/project.cpp, src/project.h, src/res_gtk/Makefile.am,
502 src/res_gtk/ghemical.png: libghemical-features.h ; p1d/p2d
503 changes ; unnecessary files removed.
504
505 2006-10-19 12:29 thassine
506
507 * ghemical.desktop, ghemical.spec: .spec and .desktop files
508 updated.
509
510 2006-10-11 10:49 thassine
511
512 * src/eldview_wcl.cpp, src/gtk_oglview_wnd.cpp,
513 src/oglview_wcl.cpp, src/p1dview_wcl.cpp, src/p1dview_wcl.h,
514 src/p2dview_wcl.cpp, src/p2dview_wcl.h, src/project.cpp,
515 src/project.h, src/rcpview_wcl.cpp, src/rcpview_wcl.h: started to
516 port 1D/2D plotting views.
517
518 2006-10-10 10:24 thassine
519
520 * src/Makefile.am, src/gpcview_wcl.cpp, src/gpcview_wcl.h,
521 src/gtk_gpcview_wnd.cpp, src/gtk_gpcview_wnd.h,
522 src/gtk_p1dview_wnd.cpp, src/gtk_p1dview_wnd.h,
523 src/gtk_p2dview_wnd.cpp, src/gtk_p2dview_wnd.h,
524 src/gtk_project.cpp, src/gtk_project.h, src/gtk_rcpview_wnd.cpp,
525 src/gtk_sscview_wnd.cpp, src/gtk_sscview_wnd.h,
526 src/p1dview_wcl.cpp, src/p2dview_wcl.cpp, src/project.cpp,
527 src/project.h, src/rcpview_wcl.cpp, src/sscview_wcl.cpp,
528 src/sscview_wcl.h: a filaname change : ssc -> gpc (Generic
529 Protein Chain view in future).
530
531 2006-10-10 08:51 thassine
532
533 * src/gtk_oglview_wnd.cpp, src/gtk_wnd.cpp, src/oglview_wcl.cpp:
534 minor tweaks in idle animator and OpenGL code.
535
536 2006-10-10 08:10 thassine
537
538 * configure.ac, examples/Makefile, examples/Makefile.in,
539 examples/TSS/Makefile, examples/TSS/Makefile.in,
540 src/custom_app.cpp, src/custom_app.h, src/custom_camera.cpp,
541 src/custom_camera.h, src/custom_lights.cpp, src/custom_lights.h,
542 src/eldview_wcl.cpp, src/eldview_wcl.h, src/gtk_app.cpp,
543 src/gtk_app.h, src/gtk_eldview_wnd.cpp, src/gtk_eldview_wnd.h,
544 src/gtk_oglview_wnd.cpp, src/gtk_oglview_wnd.h,
545 src/gtk_p1dview_wnd.h, src/gtk_p2dview_wnd.h,
546 src/gtk_project.cpp, src/gtk_project.h, src/gtk_rcpview_wnd.h,
547 src/gtk_sscview_wnd.h, src/gtk_wnd.cpp, src/gtk_wnd.h,
548 src/ogl_plane.cpp, src/ogl_ribbon.cpp, src/ogl_ribbon.h,
549 src/ogl_surface.cpp, src/oglview_wcl.cpp, src/oglview_wcl.h,
550 src/p1dview_wcl.cpp, src/p1dview_wcl.h, src/p2dview_wcl.cpp,
551 src/p2dview_wcl.h, src/project.cpp, src/project.h,
552 src/rcpview_wcl.cpp, src/rcpview_wcl.h, src/sscview_wcl.cpp,
553 src/sscview_wcl.h: improvements in proj-view + other views,
554 bugfixes, added an idle timer in OrbitXY tool that rotates the
555 view.
556
557 2006-08-29 08:13 thassine
558
559 * ChangeLog: updated the changelog
560
561 2006-08-28 12:26 thassine
562
563 * configure.ac, src/project.cpp: changes at lib side
564
565 2006-08-07 12:33 thassine
566
567 * ChangeLog: changelog updated using svn2cl v0.7
568
569 2006-08-07 12:22 thassine
570
571 * .cvsignore, docs/.cvsignore, docs/user-docs/.cvsignore,
572 docs/user-docs/images/.cvsignore, examples/.cvsignore,
573 examples/TSS/E2-reaction/.cvsignore, examples/TSS/Makefile,
574 examples/TSS/Makefile.in, examples/TSS/SN2-reaction/.cvsignore,
575 examples/TSS/carbocation_rearrangement_hydride_shift/.cvsignore,
576 examples/TSS/carbocation_rearrangement_methide_shift/.cvsignore,
577 examples/TSS/cycloaddition_Diels-Alder/.cvsignore,
578 examples/TSS/sigmatropic_rearrangement_Cope/.cvsignore,
579 examples/TSS/tautomeric_shift_keto_enol/.cvsignore,
580 src/.cvsignore, src/res_gtk/Makefile.in: removed .cvsignore +
581 other old files.
582
583 2006-07-31 10:56 thassine
584
585 * src/gtk_app.cpp, src/project.cpp: seqbuild code changed at
586 libghemical
587
588 2006-07-24 11:45 thassine
589
590 * configure.ac, examples/TSS/Makefile, src/gtk_app.cpp,
591 src/project.cpp: adapted to changes at lib side.
592
593 2006-07-12 09:42 thassine
594
595 * examples/TSS/Makefile, examples/TSS/Makefile.in: added some
596 missing files.
597
598 2006-06-06 11:06 thassine
599
600 * configure.ac, examples/Makefile.am, examples/TSS/Makefile.am:
601 subdirs examples/TSS and examples/tss were mixed up ; now only
602 TSS used (like in v2.00)
603
604 2006-04-11 09:39 thassine
605
606 * INSTALL, configure.ac, src/gtk_app.cpp: updated INSTALL
607
608 2006-04-10 13:24 thassine
609
610 * Makefile.am, configure.ac, docs, docs/.cvsignore,
611 docs/Makefile.am, src/gtk_app.cpp, src/pui_app.cpp,
612 src/pui_app.h, src/pui_main.cpp, src/pui_main.h,
613 src/pui_oglview_wnd.cpp, src/pui_oglview_wnd.h, src/pui_wnd.cpp,
614 src/pui_wnd.h: updated docs, docs viewed now using a browser.
615
616 2006-04-10 13:22 thassine
617
618 * docs/user-docs, docs/user-docs/.cvsignore,
619 docs/user-docs/Makefile.am, docs/user-docs/images,
620 docs/user-docs/images/.cvsignore,
621 docs/user-docs/images/2atoms_bond.png,
622 docs/user-docs/images/Makefile.am,
623 docs/user-docs/images/change_bond_select.png,
624 docs/user-docs/images/clipping1.png,
625 docs/user-docs/images/clipping2.png,
626 docs/user-docs/images/draw_button.png,
627 docs/user-docs/images/draw_hydrogens.png,
628 docs/user-docs/images/first_atom.png,
629 docs/user-docs/images/new_mm.png,
630 docs/user-docs/images/periodic_button.png,
631 docs/user-docs/images/periodic_table.png,
632 docs/user-docs/images/setup1.png,
633 docs/user-docs/images/setup2.png,
634 docs/user-docs/images/setup_select.png,
635 docs/user-docs/images/using_mm_01.png,
636 docs/user-docs/images/using_mm_02.png,
637 docs/user-docs/images/using_mm_03.png,
638 docs/user-docs/images/using_mm_04.png,
639 docs/user-docs/images/using_mm_05.png,
640 docs/user-docs/images/using_mm_06.png,
641 docs/user-docs/images/using_mm_07.png,
642 docs/user-docs/images/using_mm_08.png,
643 docs/user-docs/images/using_mm_09.png,
644 docs/user-docs/images/using_mm_10.png,
645 docs/user-docs/images/using_mm_11.png, docs/user-docs/index.html,
646 docs/user-docs/introduction.html, docs/user-docs/mdi_mode.html,
647 docs/user-docs/perspective.html, docs/user-docs/ribbon.html,
648 docs/user-docs/setup_dialog.html, docs/user-docs/using_mm.html,
649 docs/user-docs/visualization.html: updated the docs.
650
651 2006-04-05 12:59 thassine
652
653 * src/Makefile.am, src/custom_camera.cpp, src/custom_camera.h,
654 src/custom_lights.cpp, src/custom_lights.h, src/ogl_plane.cpp,
655 src/ogl_plane.h, src/ogl_surface.cpp, src/ogl_surface.h,
656 src/oglview_wcl.cpp, src/project.cpp, src/project.h: many
657 improvements + bugfixes ; the GL selection and zoom tool should
658 work now.
659
660 2006-03-28 12:25 thassine
661
662 * configure.ac, examples/Makefile.am, examples/TSS,
663 examples/TSS/E2-reaction, examples/TSS/E2-reaction/.cvsignore,
664 examples/TSS/E2-reaction/Makefile.am,
665 examples/TSS/E2-reaction/products.gpr,
666 examples/TSS/E2-reaction/reactants.gpr,
667 examples/TSS/E2-reaction/ts.gpr, examples/TSS/README,
668 examples/TSS/SN2-reaction, examples/TSS/SN2-reaction/.cvsignore,
669 examples/TSS/SN2-reaction/Makefile.am,
670 examples/TSS/SN2-reaction/products.gpr,
671 examples/TSS/SN2-reaction/reactants.gpr,
672 examples/TSS/SN2-reaction/ts.gpr,
673 examples/TSS/carbocation_rearrangement_hydride_shift,
674 examples/TSS/carbocation_rearrangement_hydride_shift/.cvsignore,
675 examples/TSS/carbocation_rearrangement_hydride_shift/Makefile.am,
676 examples/TSS/carbocation_rearrangement_hydride_shift/products.gpr,
677 examples/TSS/carbocation_rearrangement_hydride_shift/reactants.gpr,
678 examples/TSS/carbocation_rearrangement_hydride_shift/ts.gpr,
679 examples/TSS/carbocation_rearrangement_methide_shift,
680 examples/TSS/carbocation_rearrangement_methide_shift/.cvsignore,
681 examples/TSS/carbocation_rearrangement_methide_shift/Makefile.am,
682 examples/TSS/carbocation_rearrangement_methide_shift/products.gpr,
683 examples/TSS/carbocation_rearrangement_methide_shift/reactants.gpr,
684 examples/TSS/carbocation_rearrangement_methide_shift/ts.gpr,
685 examples/TSS/cycloaddition_Diels-Alder,
686 examples/TSS/cycloaddition_Diels-Alder/.cvsignore,
687 examples/TSS/cycloaddition_Diels-Alder/Makefile.am,
688 examples/TSS/cycloaddition_Diels-Alder/products.gpr,
689 examples/TSS/cycloaddition_Diels-Alder/reactants.gpr,
690 examples/TSS/cycloaddition_Diels-Alder/ts.gpr,
691 examples/TSS/sigmatropic_rearrangement_Cope,
692 examples/TSS/sigmatropic_rearrangement_Cope/.cvsignore,
693 examples/TSS/sigmatropic_rearrangement_Cope/Makefile.am,
694 examples/TSS/sigmatropic_rearrangement_Cope/products.gpr,
695 examples/TSS/sigmatropic_rearrangement_Cope/reactants.gpr,
696 examples/TSS/sigmatropic_rearrangement_Cope/ts.gpr,
697 examples/TSS/tautomeric_shift_keto_enol,
698 examples/TSS/tautomeric_shift_keto_enol/.cvsignore,
699 examples/TSS/tautomeric_shift_keto_enol/Makefile.am,
700 examples/TSS/tautomeric_shift_keto_enol/products.gpr,
701 examples/TSS/tautomeric_shift_keto_enol/reactants.gpr,
702 examples/TSS/tautomeric_shift_keto_enol/ts.gpr: added
703 examples/tss
704
705 2006-03-28 12:08 thassine
706
707 * configure.ac, examples/Makefile.am, src/gtk_app.cpp: renamed the
708 examples/transition_state_search to examples/TSS (make dist
709 limits filenames to 99 characters).
710
711 2006-03-28 12:01 thassine
712
713 * examples/transition_state_search: removed the
714 transition_state_search directory.
715
716 2006-03-28 11:25 thassine
717
718 * ., .cvsignore: removed some unnecessary files.
719
720 2006-03-28 10:38 thassine
721
722 * config.guess, config.sub, ltmain.sh: removed some unnecessary
723 files.
724
725 2006-03-20 11:22 thassine
726
727 * src/gtk_app.cpp, src/gtk_app.h: added optional long/short toolbar
728 labels.
729
730 2006-03-16 06:48 thassine
731
732 * INSTALL, configure.ac: documentation updates.
733
734 2006-03-14 14:14 thassine
735
736 * src/gtk_moldyn_dialog.cpp, src/gtk_moldyn_dialog.h,
737 src/res_gtk/gtk_moldyn_dialog.glade: updated the mol.dyn. dialog
738
739 2006-03-10 12:23 thassine
740
741 * src/project.cpp: added a new orient-command.
742
743 2006-03-08 10:37 thassine
744
745 * ., .cvsignore: cvsignore updated.
746
747 2006-03-08 08:58 thassine
748
749 * aclocal.m4, autogen.sh: removed acloca.m4 and updated autogen.sh
750
751 2006-03-07 09:11 thassine
752
753 * aclocal.m4, src/gtk_app.cpp, src/gtk_app.h,
754 src/gtk_setup_dialog.cpp, src/res_gtk/gtk_setup_dialog.glade:
755 synchronized with libghemical.
756
757 2006-03-03 13:41 thassine
758
759 * aclocal.m4, src/gtk_app.cpp, src/gtk_app.h: ported Donald's
760 frozen atom improvements.
761
762 2006-03-03 12:37 thassine
763
764 * ., .cvsignore, Makefile.in, aclocal.m4, autogen.sh, configure,
765 examples, examples/.cvsignore, examples/Makefile.in,
766 examples/transition_state_search,
767 examples/transition_state_search/.cvsignore,
768 examples/transition_state_search/E2-reaction,
769 examples/transition_state_search/E2-reaction/.cvsignore,
770 examples/transition_state_search/E2-reaction/Makefile.in,
771 examples/transition_state_search/Makefile.in,
772 examples/transition_state_search/SN2-reaction,
773 examples/transition_state_search/SN2-reaction/.cvsignore,
774 examples/transition_state_search/SN2-reaction/Makefile.in,
775 examples/transition_state_search/carbocation_rearrangement_hydride_shift,
776 examples/transition_state_search/carbocation_rearrangement_hydride_shift/.cvsignore,
777 examples/transition_state_search/carbocation_rearrangement_hydride_shift/Makefile.in,
778 examples/transition_state_search/carbocation_rearrangement_methide_shift,
779 examples/transition_state_search/carbocation_rearrangement_methide_shift/.cvsignore,
780 examples/transition_state_search/carbocation_rearrangement_methide_shift/Makefile.in,
781 examples/transition_state_search/cycloaddition_Diels-Alder,
782 examples/transition_state_search/cycloaddition_Diels-Alder/.cvsignore,
783 examples/transition_state_search/cycloaddition_Diels-Alder/Makefile.in,
784 examples/transition_state_search/sigmatropic_rearrangement_Cope,
785 examples/transition_state_search/sigmatropic_rearrangement_Cope/.cvsignore,
786 examples/transition_state_search/sigmatropic_rearrangement_Cope/Makefile.in,
787 examples/transition_state_search/tautomeric_shift_keto_enol,
788 examples/transition_state_search/tautomeric_shift_keto_enol/.cvsignore,
789 examples/transition_state_search/tautomeric_shift_keto_enol/Makefile.in,
790 src, src/.cvsignore, src/Makefile.in, src/gtk_moldyn_dialog.cpp,
791 src/gtk_trajview_dialog.cpp, src/project.cpp, src/project.h,
792 src/res_gtk/gtk_moldyn_dialog.glade: many changes at the lib side
793 ; autogen.sh added
794
795 2006-03-01 12:31 thassine
796
797 * Makefile.in, aclocal.m4, src/gtk_moldyn_dialog.cpp,
798 src/gtk_moldyn_dialog.h, src/project.cpp,
799 src/res_gtk/gtk_moldyn_dialog.glade: the mol.dyn. code was
800 changed at lib side.
801
802 2006-02-27 14:03 thassine
803
804 * src/custom_camera.cpp, src/gtk_app.cpp, src/gtk_glade_dialog.cpp,
805 src/ogl_plane.cpp, src/ogl_ribbon.cpp, src/ogl_surface.cpp,
806 src/project.cpp: the stringstream code was made safer ; avoid
807 c_str() calls in which a reference to buffer is stored (for
808 possbile re-use).
809
810 2006-02-24 14:01 thassine
811
812 * src/project.cpp: fixed a bug in box solvation.
813
814 2006-02-23 12:29 thassine
815
816 * src/gtk_trajview_dialog.cpp: a trajview dialog bug temporarily
817 fixed
818
819 2006-02-23 08:29 thassine
820
821 * bin: remove the bin subdir.
822
823 2006-02-21 10:26 thassine
824
825 * Makefile.in, src/fileio.cpp: file i/o cleanups added.
826
827 2006-02-21 08:00 thassine
828
829 * aclocal.m4, src/custom_camera.cpp, src/fileio.cpp,
830 src/filetrans.cpp, src/gtk_app.cpp,
831 src/gtk_file_export_dialog.cpp, src/gtk_file_import_dialog.cpp,
832 src/gtk_geomopt_dialog.cpp, src/gtk_glade_dialog.cpp,
833 src/gtk_moldyn_dialog.cpp, src/gtk_progress_dialog.cpp,
834 src/gtk_project.cpp, src/gtk_setup_dialog.cpp,
835 src/gtk_trajview_dialog.cpp, src/ogl_plane.cpp,
836 src/ogl_ribbon.cpp, src/ogl_surface.cpp, src/project.cpp,
837 src/pui_app.cpp: changed strstream into stringstream.
838
839 2006-02-17 19:55 hutchisn
840
841 * bin, bin/.cvsignore: Update to remove spurious CVS warnings.
842
843 2006-02-17 11:31 thassine
844
845 * Makefile.in, aclocal.m4, configure, configure.ac, ltmain.sh,
846 src/Makefile.am, src/Makefile.in, src/custom_app.cpp,
847 src/custom_app.h, src/custom_camera.cpp, src/custom_camera.h,
848 src/eldview_wcl.cpp, src/eldview_wcl.h, src/gtk_app.cpp,
849 src/gtk_app.h, src/gtk_eldview_wnd.cpp, src/gtk_eldview_wnd.h,
850 src/gtk_file_export_dialog.cpp, src/gtk_file_export_dialog.h,
851 src/gtk_file_import_dialog.cpp, src/gtk_file_import_dialog.h,
852 src/gtk_geomopt_dialog.cpp, src/gtk_geomopt_dialog.h,
853 src/gtk_glade_dialog.cpp, src/gtk_glade_dialog.h,
854 src/gtk_main.cpp, src/gtk_main.h, src/gtk_moldyn_dialog.cpp,
855 src/gtk_moldyn_dialog.h, src/gtk_oglview_wnd.cpp,
856 src/gtk_oglview_wnd.h, src/gtk_p1dview_wnd.cpp,
857 src/gtk_p1dview_wnd.h, src/gtk_p2dview_wnd.cpp,
858 src/gtk_p2dview_wnd.h, src/gtk_progress_dialog.cpp,
859 src/gtk_progress_dialog.h, src/gtk_rcpview_wnd.cpp,
860 src/gtk_rcpview_wnd.h, src/gtk_setup_dialog.cpp,
861 src/gtk_setup_dialog.h, src/gtk_sscview_wnd.cpp,
862 src/gtk_sscview_wnd.h, src/gtk_trajview_dialog.cpp,
863 src/gtk_trajview_dialog.h, src/gtk_wnd.cpp, src/gtk_wnd.h,
864 src/oglview_wcl.cpp, src/oglview_wcl.h, src/p1dview_wcl.cpp,
865 src/p1dview_wcl.h, src/p2dview_wcl.cpp, src/p2dview_wcl.h,
866 src/pui_app.cpp, src/pui_app.h, src/pui_main.cpp, src/pui_main.h,
867 src/pui_oglview_wnd.cpp, src/pui_oglview_wnd.h, src/pui_wnd.cpp,
868 src/pui_wnd.h, src/rcpview_wcl.cpp, src/rcpview_wcl.h,
869 src/res_gtk, src/res_gtk/Makefile.am, src/res_gtk/Makefile.in,
870 src/res_gtk/angle.xpm, src/res_gtk/bond.xpm,
871 src/res_gtk/bondtype.xpm, src/res_gtk/chain.xpm,
872 src/res_gtk/clipping.xpm, src/res_gtk/dihedral.xpm,
873 src/res_gtk/distance.xpm, src/res_gtk/draw.xpm,
874 src/res_gtk/element.xpm, src/res_gtk/erase.xpm,
875 src/res_gtk/gtk_file_export_dialog.glade,
876 src/res_gtk/gtk_file_export_dialog.gladep,
877 src/res_gtk/gtk_file_import_dialog.glade,
878 src/res_gtk/gtk_file_import_dialog.gladep,
879 src/res_gtk/gtk_geomopt_dialog.glade,
880 src/res_gtk/gtk_geomopt_dialog.gladep,
881 src/res_gtk/gtk_moldyn_dialog.glade,
882 src/res_gtk/gtk_moldyn_dialog.gladep,
883 src/res_gtk/gtk_progress_dialog.glade,
884 src/res_gtk/gtk_progress_dialog.gladep,
885 src/res_gtk/gtk_setup_dialog.glade,
886 src/res_gtk/gtk_setup_dialog.gladep,
887 src/res_gtk/gtk_trajview_dialog.glade,
888 src/res_gtk/gtk_trajview_dialog.gladep, src/res_gtk/invert.xpm,
889 src/res_gtk/measure.xpm, src/res_gtk/molecule.xpm,
890 src/res_gtk/orbit_xy.xpm, src/res_gtk/orbit_z.xpm,
891 src/res_gtk/residue.xpm, src/res_gtk/rotate_xy.xpm,
892 src/res_gtk/rotate_z.xpm, src/res_gtk/select.xpm,
893 src/res_gtk/setup.xpm, src/res_gtk/transl_xy.xpm,
894 src/res_gtk/transl_z.xpm, src/res_gtk/zoom.xpm,
895 src/sscview_wcl.cpp, src/sscview_wcl.h: added the new stuff ; now
896 most of the OpenGL-related code is in a separate libarary called
897 liboglappth.
898
899 2006-02-16 13:24 thassine
900
901 * Makefile.in, aclocal.m4, configure, configure.ac,
902 examples/Makefile.in,
903 examples/transition_state_search/E2-reaction/Makefile.in,
904 examples/transition_state_search/Makefile.in,
905 examples/transition_state_search/SN2-reaction/Makefile.in,
906 examples/transition_state_search/carbocation_rearrangement_hydride_shift/Makefile.in,
907 examples/transition_state_search/carbocation_rearrangement_methide_shift/Makefile.in,
908 examples/transition_state_search/cycloaddition_Diels-Alder/Makefile.in,
909 examples/transition_state_search/sigmatropic_rearrangement_Cope/Makefile.in,
910 examples/transition_state_search/tautomeric_shift_keto_enol/Makefile.in,
911 src/Makefile.am, src/Makefile.in, src/base_app.cpp,
912 src/base_app.h, src/base_wnd.cpp, src/base_wnd.h, src/fileio.cpp,
913 src/ghemicalconfig.h.in, src/gtk_dialog.cpp, src/gtk_dialog.h,
914 src/gtk_project.cpp, src/gtk_project.h, src/ogl_camera.cpp,
915 src/ogl_camera.h, src/ogl_objects.cpp, src/ogl_objects.h,
916 src/ogl_plane.cpp, src/ogl_plane.h, src/ogl_ribbon.cpp,
917 src/ogl_ribbon.h, src/ogl_surface.cpp, src/ogl_surface.h,
918 src/pixmaps, src/project.cpp, src/project.h: removed some old
919 files ; does not compile right now...
920
921 2006-01-05 13:07 thassine
922
923 * GNOME_Ghemical.server, configure, configure.ac, src/Makefile.am,
924 src/Makefile.in: removed the bonobo-related files ; there seems
925 to be no sufficient resources for bonobo stuff. :(
926
927 2006-01-05 11:08 thassine
928
929 * Makefile.in, configure, configure.ac, examples/Makefile.in,
930 examples/transition_state_search/E2-reaction/Makefile.in,
931 examples/transition_state_search/Makefile.in,
932 examples/transition_state_search/SN2-reaction/Makefile.in,
933 examples/transition_state_search/carbocation_rearrangement_hydride_shift/Makefile.in,
934 examples/transition_state_search/carbocation_rearrangement_methide_shift/Makefile.in,
935 examples/transition_state_search/cycloaddition_Diels-Alder/Makefile.in,
936 examples/transition_state_search/sigmatropic_rearrangement_Cope/Makefile.in,
937 examples/transition_state_search/tautomeric_shift_keto_enol/Makefile.in:
938 minor changes.
939
940 2006-01-05 11:07 thassine
941
942 * src/Makefile.am, src/Makefile.in, src/base_app.cpp,
943 src/base_app.h, src/base_wnd.cpp, src/base_wnd.h,
944 src/file_export_dialog.cpp, src/file_export_dialog.glade,
945 src/file_export_dialog.gladep, src/file_export_dialog.h,
946 src/file_import_dialog.cpp, src/file_import_dialog.glade,
947 src/file_import_dialog.gladep, src/file_import_dialog.h,
948 src/geomopt_dialog.cpp, src/geomopt_dialog.glade,
949 src/geomopt_dialog.gladep, src/geomopt_dialog.h,
950 src/ghemicalconfig.h.in, src/glade_dialog.cpp,
951 src/glade_dialog.h, src/gtk_app_main.cpp, src/gtk_app_main.h,
952 src/gtk_dialog.cpp, src/gtk_dialog.h, src/gtk_graphics_view.cpp,
953 src/gtk_graphics_view.h, src/gtk_plot_views.cpp,
954 src/gtk_plot_views.h, src/gtk_project.cpp, src/gtk_project.h,
955 src/gtk_project_view.cpp, src/gtk_project_view.h,
956 src/gtk_views.cpp, src/gtk_views.h, src/moldyn_dialog.cpp,
957 src/moldyn_dialog.glade, src/moldyn_dialog.gladep,
958 src/moldyn_dialog.h, src/mtools.cpp, src/mtools.h,
959 src/ogl_camera.cpp, src/ogl_camera.h, src/ogl_objects.cpp,
960 src/ogl_objects.h, src/ogl_plane.cpp, src/ogl_surface.h,
961 src/progress_dialog.cpp, src/progress_dialog.glade,
962 src/progress_dialog.gladep, src/progress_dialog.h,
963 src/project.cpp, src/project.h, src/setup_dialog.cpp,
964 src/setup_dialog.glade, src/setup_dialog.gladep,
965 src/setup_dialog.h, src/trajview_dialog.cpp,
966 src/trajview_dialog.glade, src/trajview_dialog.gladep,
967 src/trajview_dialog.h, src/views.cpp, src/views.h,
968 src/wnd_client.cpp, src/wnd_client.h: removed some obsolete files
969 ; NEW FILES NOT YET ADDED
970
971 2005-12-14 13:45 thassine
972
973 * Makefile.in, aclocal.m4, configure, examples,
974 examples/.cvsignore, examples/Makefile.in,
975 examples/transition_state_search,
976 examples/transition_state_search/.cvsignore,
977 examples/transition_state_search/E2-reaction,
978 examples/transition_state_search/E2-reaction/.cvsignore,
979 examples/transition_state_search/E2-reaction/Makefile.in,
980 examples/transition_state_search/Makefile.in,
981 examples/transition_state_search/SN2-reaction,
982 examples/transition_state_search/SN2-reaction/.cvsignore,
983 examples/transition_state_search/SN2-reaction/Makefile.in,
984 examples/transition_state_search/carbocation_rearrangement_hydride_shift,
985 examples/transition_state_search/carbocation_rearrangement_hydride_shift/.cvsignore,
986 examples/transition_state_search/carbocation_rearrangement_hydride_shift/Makefile.in,
987 examples/transition_state_search/carbocation_rearrangement_methide_shift,
988 examples/transition_state_search/carbocation_rearrangement_methide_shift/.cvsignore,
989 examples/transition_state_search/carbocation_rearrangement_methide_shift/Makefile.in,
990 examples/transition_state_search/cycloaddition_Diels-Alder,
991 examples/transition_state_search/cycloaddition_Diels-Alder/.cvsignore,
992 examples/transition_state_search/cycloaddition_Diels-Alder/Makefile.in,
993 examples/transition_state_search/sigmatropic_rearrangement_Cope,
994 examples/transition_state_search/sigmatropic_rearrangement_Cope/.cvsignore,
995 examples/transition_state_search/sigmatropic_rearrangement_Cope/Makefile.in,
996 examples/transition_state_search/tautomeric_shift_keto_enol,
997 examples/transition_state_search/tautomeric_shift_keto_enol/.cvsignore,
998 examples/transition_state_search/tautomeric_shift_keto_enol/Makefile.in,
999 src, src/.cvsignore, src/Makefile.in: some makefile stuff
1000 added/updated.
1001
1002 2005-12-14 13:30 thassine
1003
1004 * Makefile.am, Makefile.in, NEWS, README, aclocal.m4, config.guess,
1005 config.sub, configure, configure.ac, depcomp, install-sh,
1006 missing, mkinstalldirs: added some missing/new files.
1007
1008 2005-12-14 13:26 thassine
1009
1010 * src/Makefile.am, src/Makefile.in, src/base_app.cpp,
1011 src/base_app.h, src/base_wnd.cpp, src/base_wnd.h,
1012 src/file_export_dialog.cpp, src/file_export_dialog.glade,
1013 src/file_export_dialog.gladep, src/file_export_dialog.h,
1014 src/file_import_dialog.cpp, src/file_import_dialog.glade,
1015 src/file_import_dialog.gladep, src/file_import_dialog.h,
1016 src/fileio.cpp, src/geomopt_dialog.cpp, src/geomopt_dialog.glade,
1017 src/geomopt_dialog.gladep, src/geomopt_dialog.h,
1018 src/ghemicalconfig.h.in, src/gtk_app_main.cpp,
1019 src/gtk_app_main.h, src/gtk_dialog.cpp, src/gtk_dialog.h,
1020 src/gtk_project.cpp, src/gtk_project.h, src/gtk_views.h,
1021 src/moldyn_dialog.cpp, src/moldyn_dialog.glade,
1022 src/moldyn_dialog.gladep, src/moldyn_dialog.h, src/mtools.h,
1023 src/ogl_camera.cpp, src/ogl_camera.h, src/ogl_objects.cpp,
1024 src/ogl_objects.h, src/ogl_plane.cpp, src/ogl_plane.h,
1025 src/ogl_ribbon.cpp, src/ogl_ribbon.h, src/ogl_surface.cpp,
1026 src/ogl_surface.h, src/progress_dialog.cpp,
1027 src/progress_dialog.glade, src/progress_dialog.gladep,
1028 src/progress_dialog.h, src/project.cpp, src/project.h,
1029 src/setup_dialog.cpp, src/setup_dialog.glade,
1030 src/setup_dialog.gladep, src/setup_dialog.h,
1031 src/trajview_dialog.cpp, src/trajview_dialog.glade,
1032 src/trajview_dialog.gladep, src/trajview_dialog.h, src/views.cpp,
1033 src/wnd_client.cpp, src/wnd_client.h: added the renamed source
1034 files.
1035
1036 2005-12-14 13:17 thassine
1037
1038 * src/camera.cpp, src/camera.h, src/main.cpp, src/main.h,
1039 src/objects.cpp, src/objects.h, src/plane.cpp, src/plane.h,
1040 src/ribbon.cpp, src/ribbon.h, src/surface.cpp, src/surface.h:
1041 removed some renamed source files
1042
1043 2005-12-14 13:14 thassine
1044
1045 * src/glade: removed the glade subdir from src
1046
1047 2005-12-14 13:11 thassine
1048
1049 * docs, docs/user-docs, docs/user-docs/MD.html,
1050 docs/user-docs/MD_viewer.html, docs/user-docs/aa_table.html,
1051 docs/user-docs/add_hydrogens.html,
1052 docs/user-docs/conf_search_tools.html,
1053 docs/user-docs/documentation.css,
1054 docs/user-docs/energy_vs_torsion.html,
1055 docs/user-docs/filetypes.html, docs/user-docs/formula.html,
1056 docs/user-docs/geometry_optimization.html, docs/user-docs/images,
1057 docs/user-docs/images/2atoms_bond.png,
1058 docs/user-docs/images/2atoms_unbonded.png,
1059 docs/user-docs/images/aa_builder_ci.png,
1060 docs/user-docs/images/aa_builder_menu.png,
1061 docs/user-docs/images/aa_builder_note.png,
1062 docs/user-docs/images/aa_builder_w_h.png,
1063 docs/user-docs/images/aa_builder_wo_h.png,
1064 docs/user-docs/images/add_hydrogens.png,
1065 docs/user-docs/images/add_hydrogens_select.png,
1066 docs/user-docs/images/change_bond_dialog.png,
1067 docs/user-docs/images/change_bond_select.png,
1068 docs/user-docs/images/ci_plane.png,
1069 docs/user-docs/images/cyclohexane1.png,
1070 docs/user-docs/images/cyclohexane2.png,
1071 docs/user-docs/images/cyclohexane_optimized.png,
1072 docs/user-docs/images/cyclohexane_unoptimized.png,
1073 docs/user-docs/images/draw_button.png,
1074 docs/user-docs/images/draw_hydrogens.png,
1075 docs/user-docs/images/energy_vs_torsion1.png,
1076 docs/user-docs/images/energy_vs_torsion2.png,
1077 docs/user-docs/images/energy_vs_torsion3.png,
1078 docs/user-docs/images/energy_vs_torsion4.png,
1079 docs/user-docs/images/enlevdiag.png,
1080 docs/user-docs/images/esp-plane_mm.png,
1081 docs/user-docs/images/esp-plane_qm.png,
1082 docs/user-docs/images/esp-plane_select.png,
1083 docs/user-docs/images/esp-plane_select_obj.png,
1084 docs/user-docs/images/first_atom.png,
1085 docs/user-docs/images/formula.png,
1086 docs/user-docs/images/formula_select.png,
1087 docs/user-docs/images/geometry_op_dialog.png,
1088 docs/user-docs/images/geometry_optimization_select.png,
1089 docs/user-docs/images/labels_menu.png,
1090 docs/user-docs/images/mainmenu.png,
1091 docs/user-docs/images/maintools.png,
1092 docs/user-docs/images/md_dialog.png,
1093 docs/user-docs/images/modal.png,
1094 docs/user-docs/images/new_mm.png,
1095 docs/user-docs/images/notebook.png,
1096 docs/user-docs/images/optimized_ethane.png,
1097 docs/user-docs/images/periodic_button.png,
1098 docs/user-docs/images/periodic_table.png,
1099 docs/user-docs/images/remove_hydrogens.png,
1100 docs/user-docs/images/ribbon.png,
1101 docs/user-docs/images/sequence_builder.png,
1102 docs/user-docs/images/toplevel.png,
1103 docs/user-docs/images/traj_dialog.png,
1104 docs/user-docs/images/window.png,
1105 docs/user-docs/import_types.html, docs/user-docs/index.html,
1106 docs/user-docs/introduction.html, docs/user-docs/labels.html,
1107 docs/user-docs/mdi_mode.html, docs/user-docs/measure.html,
1108 docs/user-docs/perspective.html, docs/user-docs/references.html,
1109 docs/user-docs/ribbon.html, docs/user-docs/sequence_builder.html,
1110 docs/user-docs/using_mm.html, docs/user-docs/using_qm.html,
1111 docs/user-docs/using_sf.html, docs/user-docs/visualization.html:
1112 re-added the user-docs directory, in a new docs directory
1113
1114 2005-12-14 13:09 thassine
1115
1116 * examples, examples/2-chlorobutane.gpr,
1117 examples/3-phenylpropanal.gpr, examples/Makefile.am,
1118 examples/Makefile.in, examples/PeriodicTable.gpr,
1119 examples/acetylsalicylic_acid.gpr, examples/alpha-pinene.gpr,
1120 examples/bromobenzene.gpr, examples/camphor.gpr,
1121 examples/cinnamaldehyde.gpr, examples/cis-2-pentene.gpr,
1122 examples/cyclohexane.gpr, examples/dna_AGTC.gpr,
1123 examples/naphtalene.gpr, examples/rna_aguc.gpr,
1124 examples/transition_state_search,
1125 examples/transition_state_search/E2-reaction,
1126 examples/transition_state_search/E2-reaction/Makefile.am,
1127 examples/transition_state_search/E2-reaction/Makefile.in,
1128 examples/transition_state_search/E2-reaction/products.gpr,
1129 examples/transition_state_search/E2-reaction/reactants.gpr,
1130 examples/transition_state_search/E2-reaction/ts.gpr,
1131 examples/transition_state_search/Makefile.am,
1132 examples/transition_state_search/Makefile.in,
1133 examples/transition_state_search/SN2-reaction,
1134 examples/transition_state_search/SN2-reaction/Makefile.am,
1135 examples/transition_state_search/SN2-reaction/Makefile.in,
1136 examples/transition_state_search/SN2-reaction/products.gpr,
1137 examples/transition_state_search/SN2-reaction/reactants.gpr,
1138 examples/transition_state_search/SN2-reaction/ts.gpr,
1139 examples/transition_state_search/carbocation_rearrangement_hydride_shift,
1140 examples/transition_state_search/carbocation_rearrangement_hydride_shift/Makefile.am,
1141 examples/transition_state_search/carbocation_rearrangement_hydride_shift/Makefile.in,
1142 examples/transition_state_search/carbocation_rearrangement_hydride_shift/products.gpr,
1143 examples/transition_state_search/carbocation_rearrangement_hydride_shift/reactants.gpr,
1144 examples/transition_state_search/carbocation_rearrangement_hydride_shift/ts.gpr,
1145 examples/transition_state_search/carbocation_rearrangement_methide_shift,
1146 examples/transition_state_search/carbocation_rearrangement_methide_shift/Makefile.am,
1147 examples/transition_state_search/carbocation_rearrangement_methide_shift/Makefile.in,
1148 examples/transition_state_search/carbocation_rearrangement_methide_shift/products.gpr,
1149 examples/transition_state_search/carbocation_rearrangement_methide_shift/reactants.gpr,
1150 examples/transition_state_search/carbocation_rearrangement_methide_shift/ts.gpr,
1151 examples/transition_state_search/cycloaddition_Diels-Alder,
1152 examples/transition_state_search/cycloaddition_Diels-Alder/Makefile.am,
1153 examples/transition_state_search/cycloaddition_Diels-Alder/Makefile.in,
1154 examples/transition_state_search/cycloaddition_Diels-Alder/products.gpr,
1155 examples/transition_state_search/cycloaddition_Diels-Alder/reactants.gpr,
1156 examples/transition_state_search/cycloaddition_Diels-Alder/ts.gpr,
1157 examples/transition_state_search/sigmatropic_rearrangement_Cope,
1158 examples/transition_state_search/sigmatropic_rearrangement_Cope/Makefile.am,
1159 examples/transition_state_search/sigmatropic_rearrangement_Cope/Makefile.in,
1160 examples/transition_state_search/sigmatropic_rearrangement_Cope/products.gpr,
1161 examples/transition_state_search/sigmatropic_rearrangement_Cope/reactants.gpr,
1162 examples/transition_state_search/sigmatropic_rearrangement_Cope/ts.gpr,
1163 examples/transition_state_search/tautomeric_shift_keto_enol,
1164 examples/transition_state_search/tautomeric_shift_keto_enol/Makefile.am,
1165 examples/transition_state_search/tautomeric_shift_keto_enol/Makefile.in,
1166 examples/transition_state_search/tautomeric_shift_keto_enol/products.gpr,
1167 examples/transition_state_search/tautomeric_shift_keto_enol/reactants.gpr,
1168 examples/transition_state_search/tautomeric_shift_keto_enol/ts.gpr:
1169 re-added the examples directory
1170
1171 2005-12-14 13:01 thassine
1172
1173 * bin: removed bin from CVS
1174
1175 2005-12-14 12:58 thassine
1176
1177 * bin/examples: removed examples from CVS
1178
1179 2005-12-14 12:55 thassine
1180
1181 * bin/examples/transition_state_search: removing tss examples form
1182 CVS
1183
1184 2005-12-14 12:49 thassine
1185
1186 * bin/user-docs: remove the user docs from CVS
1187
1188 2005-12-09 18:35 thassine
1189
1190 * src/main.cpp: added a missing glutInit() call.
1191
1192 2005-11-29 12:42 thassine
1193
1194 * src/fileio.cpp, src/gtk_graphics_view.cpp, src/gtk_project.cpp,
1195 src/gtk_project.h, src/gtk_project_view.cpp, src/project.cpp,
1196 src/project.h: some new selection-based features were added.
1197
1198 2005-11-10 10:03 thassine
1199
1200 * configure, configure.ac: changed the version number to 1.92 after
1201 a release.
1202
1203 2005-11-10 09:04 thassine
1204
1205 * aclocal.m4, configure, configure.ac: changed the version numbmer
1206 to 1.91 ; released.
1207
1208 2005-11-03 23:08 hutchisn
1209
1210 * ., .cvsignore: Updated to make sure all configure / autoconf
1211 temporary files are ignored.
1212
1213 2005-11-03 23:08 hutchisn
1214
1215 * src, src/.cvsignore, src/filetrans.cpp, src/filetrans.h: Changes
1216 to use Open Babel 2.0 for import / export.
1217 (May have memory leaks -- haven't checked thoroughly yet.)
1218
1219 2005-11-02 12:29 thassine
1220
1221 * src/gtk_graphics_view.cpp, src/gtk_plot_views.cpp,
1222 src/gtk_plot_views.h, src/gtk_project.cpp, src/gtk_project.h,
1223 src/gtk_views.cpp, src/gtk_views.h, src/project.cpp,
1224 src/project.h, src/views.cpp, src/views.h: started adding a
1225 secondary structure constraints view.
1226
1227 2005-10-13 12:15 thassine
1228
1229 * src/project.cpp: bugfix : plotting views are closed when a
1230 project is closed. earlier this was forgotten, which easily lead
1231 to program crashes. still not OK yet since the view windows are
1232 not closed ; no way to close them from project view either.
1233 leaves orphaned windows behind now but should not crash anymore.
1234
1235 2005-10-11 10:36 thassine
1236
1237 * src/main.cpp: minor changes in main.cpp ; do not allow the
1238 menubar and toolbar to expand when the main window is resized.
1239
1240 2005-10-08 15:14 thassine
1241
1242 * configure, configure.ac, src/camera.cpp, src/plane.cpp,
1243 src/plane.h, src/project.cpp, src/project.h, src/surface.cpp,
1244 src/surface.h: OpenGL bugfixes on 64-bit platforms
1245
1246 2005-09-28 00:32 hutchisn
1247
1248 * TODO: Added request for polysaccharide builder
1249
1250 2005-09-27 09:37 thassine
1251
1252 * src/objects.h: just some minor changes to adapt for different
1253 compilers.
1254
1255 2005-08-24 09:56 thassine
1256
1257 * src/fileio.cpp, src/glade/setup_dialog.cpp, src/project.cpp: the
1258 mm_sf model type was removed from lib.
1259
1260 2005-08-23 11:30 thassine
1261
1262 * aclocal.m4, configure, src/gtk_project.h: small fixes added
1263 (should work with gcc-4 now.)
1264
1265 2005-07-14 11:43 thassine
1266
1267 * src/main.cpp, src/main.h, src/project.cpp: added the -f and -i
1268 command line options for opening a file and importing a file.
1269
1270 2005-07-06 09:04 thassine
1271
1272 * aclocal.m4, configure, configure.ac, src/appconfig.h.in,
1273 src/appdefine.h, src/camera.cpp, src/camera.h, src/color.h,
1274 src/filetrans.h, src/ghemicalconfig.h.in,
1275 src/glade/file_export_dialog.h, src/glade/file_import_dialog.h,
1276 src/glade/geomopt_dialog.h, src/glade/moldyn_dialog.h,
1277 src/glade/progress_dialog.h, src/glade/setup_dialog.h,
1278 src/glade/trajview_dialog.h, src/glade_dialog.h,
1279 src/gtk_dialog.h, src/gtk_graphics_view.cpp,
1280 src/gtk_graphics_view.h, src/gtk_plot_views.cpp,
1281 src/gtk_plot_views.h, src/gtk_project.h, src/gtk_project_view.h,
1282 src/gtk_views.h, src/main.h, src/mtools.h, src/objects.cpp,
1283 src/objects.h, src/plane.cpp, src/plane.h, src/project.h,
1284 src/ribbon.h, src/spline.h, src/surface.h, src/views.cpp,
1285 src/views.h: config headers changed to avoid multiple PACKAGE
1286 definitions.
1287
1288 2005-07-05 09:23 thassine
1289
1290 * INSTALL, aclocal.m4, configure, src/Doxyfile, src/fileio.cpp,
1291 src/objects.h: now compiles with g++-3.4
1292
1293 2005-07-01 13:00 thassine
1294
1295 * CHANGES, ChangeLog, INSTALL, aclocal.m4, configure, configure.ac,
1296 src/appdefine.h, src/camera.h, src/color.h, src/filetrans.h,
1297 src/glade_dialog.h, src/gtk_dialog.h, src/gtk_graphics_view.cpp,
1298 src/gtk_graphics_view.h, src/gtk_plot_views.h, src/gtk_project.h,
1299 src/gtk_project_view.h, src/gtk_views.h, src/main.h,
1300 src/mtools.h, src/objects.h, src/plane.h, src/project.h,
1301 src/ribbon.h, src/spline.h, src/surface.h, src/views.h: changes
1302 for a release 1.90 ; there remains an unsolved conflict with
1303 OpenBabel since superimpose class is perhaps mixed with a
1304 superimpose() function in OB ; but this needs to be studied
1305 later.
1306
1307 2005-06-30 13:04 thassine
1308
1309 * Makefile.in, acconfig.h, acinclude.m4, aclocal.m4, configure,
1310 configure.ac, configure.in, src/Makefile.in, src/appconfig.h.in,
1311 src/filetrans.cpp, src/filetrans.h, src/glade/Makefile.in,
1312 src/glade/file_export_dialog.cpp,
1313 src/glade/file_import_dialog.cpp, src/gtk_graphics_view.cpp,
1314 src/project.cpp, src/project.h: a lot of changes in configuration
1315 scripts.
1316
1317 2005-06-23 13:27 thassine
1318
1319 * src/glade/setup_dialog.cpp, src/glade/setup_dialog.glade,
1320 src/project.cpp, src/ribbon.cpp: the lib/app interface has
1321 changed somewhat.
1322
1323 2005-06-20 09:34 thassine
1324
1325 * src/glade/geomopt_dialog.glade, src/glade/progress_dialog.cpp,
1326 src/glade/progress_dialog.h, src/gtk_project.cpp,
1327 src/gtk_project.h, src/project.cpp: added progress dialogs for
1328 GO, MD, random search.
1329
1330 2005-06-17 08:39 thassine
1331
1332 * src/gtk_project.cpp, src/project.cpp, src/project.h: bugfix added
1333 to GO/MD initialization code.
1334
1335 2005-06-14 10:28 thassine
1336
1337 * src/glade/file_export_dialog.cpp,
1338 src/glade/file_import_dialog.cpp, src/glade/geomopt_dialog.cpp,
1339 src/glade/moldyn_dialog.cpp, src/glade/progress_dialog.cpp,
1340 src/glade/progress_dialog.glade, src/glade/progress_dialog.h,
1341 src/glade/setup_dialog.cpp, src/glade/trajview_dialog.cpp,
1342 src/gtk_dialog.cpp, src/gtk_project.cpp, src/gtk_project.h,
1343 src/project.cpp, src/project.h: started converting GO and MD into
1344 multithreaded versions ; added the files that left out yesterday.
1345
1346 2005-06-13 10:19 thassine
1347
1348 * src/glade/Makefile.in, src/gtk_project.cpp, src/gtk_project.h,
1349 src/project.cpp, src/project.h: the Random Search is now
1350 completely multi-threaded.
1351
1352 2005-06-13 07:16 thassine
1353
1354 * src/Makefile.in, src/gtk_graphics_view.cpp, src/gtk_views.cpp,
1355 src/main.cpp, src/project.cpp, src/project.h: added an initial
1356 framework for multithreading ; switch off from the beginning of
1357 project.h if needed (the ENABLE_THREADS macro).
1358
1359 2005-06-09 15:33 thassine
1360
1361 * src/gtk_project.cpp, src/gtk_project.h: now the text buffer
1362 scrolling works and is smooth but does not update for example
1363 when lengthy calculations ; add threading?
1364
1365 2005-06-09 12:47 thassine
1366
1367 * src/gtk_dialog.cpp, src/gtk_dialog.h, src/gtk_project.cpp,
1368 src/gtk_project.h: some missing files added ; the text widget
1369 scrolling problems have now a partial solution that works in most
1370 cases but flickers and is slow.
1371
1372 2005-06-09 11:16 thassine
1373
1374 * src/fileio.cpp, src/glade/file_export_dialog.cpp,
1375 src/glade/file_export_dialog.glade,
1376 src/glade/file_export_dialog.h, src/glade/file_import_dialog.cpp,
1377 src/glade/file_import_dialog.glade,
1378 src/glade/file_import_dialog.h, src/glade/geomopt_dialog.cpp,
1379 src/glade/geomopt_dialog.glade, src/glade/moldyn_dialog.cpp,
1380 src/glade/moldyn_dialog.glade, src/glade/moldyn_dialog.h,
1381 src/glade/setup_dialog.cpp, src/glade/setup_dialog.glade,
1382 src/glade/trajview_dialog.cpp, src/project.cpp, src/project.h:
1383 fixed the glade dialogs ; the file i/o should now work with
1384 openbabel-1.100.2
1385
1386 2005-06-08 08:49 thassine
1387
1388 * src/main.cpp, src/project.cpp, src/ribbon.cpp, src/views.cpp:
1389 minor fixes added, now in sync with the lib.
1390
1391 2005-05-24 12:00 thassine
1392
1393 * src/gtk_plot_views.cpp, src/gtk_plot_views.h,
1394 src/gtk_project_view.cpp, src/gtk_project_view.h,
1395 src/gtk_views.h, src/project.cpp, src/project.h, src/views.cpp,
1396 src/views.h: plotting view popup menus should work now ; TSS
1397 broken?
1398
1399 2005-05-19 10:46 thassine
1400
1401 * src/gtk_graphics_view.cpp, src/gtk_project_view.cpp,
1402 src/gtk_project_view.h: the project view popup menus should work
1403 now.
1404
1405 2005-05-17 09:11 thassine
1406
1407 * src/gtk_project_view.cpp, src/gtk_project_view.h: did the project
1408 view a bit further.
1409
1410 2005-05-16 11:12 thassine
1411
1412 * src/glade/file_export_dialog.cpp, src/glade/file_export_dialog.h,
1413 src/glade/file_import_dialog.cpp, src/glade/file_import_dialog.h,
1414 src/glade/setup_dialog.cpp, src/glade/setup_dialog.h,
1415 src/glade/trajview_dialog.cpp, src/glade/trajview_dialog.h,
1416 src/gtk_graphics_view.cpp, src/gtk_graphics_view.h,
1417 src/gtk_plot_views.cpp, src/gtk_plot_views.h,
1418 src/gtk_project_view.cpp, src/gtk_project_view.h,
1419 src/gtk_views.cpp, src/gtk_views.h, src/main.cpp, src/main.h,
1420 src/project.h, src/views.h: class name changes done ; gnome ->
1421 gtk
1422
1423 2005-05-16 09:30 thassine
1424
1425 * src/Makefile.in, src/glade/file_export_dialog.h,
1426 src/glade/file_import_dialog.h, src/glade/setup_dialog.h,
1427 src/glade/trajview_dialog.h, src/gnome_dialog.cpp,
1428 src/gnome_dialog.h, src/gnome_project.cpp, src/gnome_project.h,
1429 src/gtk_project_view.h, src/gtk_views.cpp, src/gtk_views.h,
1430 src/main.h: some changes in filenames ; converted gnome -> gtk
1431
1432 2005-05-13 12:49 thassine
1433
1434 * src/gnome_project.cpp, src/gnome_project.h,
1435 src/gtk_graphics_view.cpp, src/project.cpp: continued porting the
1436 popup menus in GTK2 ; the graphics view menu now complete.
1437
1438 2005-05-12 15:22 thassine
1439
1440 * src/glade/setup_dialog.cpp, src/glade/setup_dialog.glade: the new
1441 setup dialog should more or less work now.
1442
1443 2005-05-11 15:16 thassine
1444
1445 * src/glade/setup_dialog.cpp, src/glade/setup_dialog.glade,
1446 src/glade/setup_dialog.h: added some improvements to the setup
1447 dialog ; now works initially.
1448
1449 2005-05-06 11:55 thassine
1450
1451 * src/glade/file_import_dialog.cpp, src/gnome_project.cpp,
1452 src/project.cpp: now in synch with the library.
1453
1454 2005-05-03 12:57 thassine
1455
1456 * src/glade/Makefile.in, src/glade/setup_dialog.cpp,
1457 src/glade/setup_dialog.glade, src/glade/setup_dialog.h,
1458 src/glade/setup_druid.cpp, src/glade/setup_druid.glade,
1459 src/glade/setup_druid.h, src/gnome_project.cpp, src/main.cpp:
1460 removed the setup druid (gnome-1 based) and started adding a
1461 setup dialog.
1462
1463 2005-04-28 10:28 thassine
1464
1465 * src/project.cpp: just adapt in slight changes in the lib side.
1466
1467 2005-04-26 08:26 thassine
1468
1469 * src/gnome_project.cpp, src/project.cpp: some changes in
1470 libghemical ; sync.
1471
1472 2005-04-22 13:45 thassine
1473
1474 * src/appdefine.h, src/gnome_project.cpp, src/gnome_project.h,
1475 src/gtk_graphics_view.cpp, src/gtk_graphics_view.h, src/main.cpp,
1476 src/main.h, src/project.cpp, src/project.h: added new popup menu
1477 items ; tweaked the stereo adjustment box ; bugfixes.
1478
1479 2005-04-21 12:46 thassine
1480
1481 * aclocal.m4, configure, configure.in, src/Makefile.in,
1482 src/appconfig.h.in, src/appdefine.h, src/gnome_project.cpp,
1483 src/gtk_views.cpp, src/main.cpp, src/notice.cpp, src/notice.h:
1484 some new stuff added ; the main menu now works except Help/Help
1485 item.
1486
1487 2005-04-21 08:57 thassine
1488
1489 * aclocal.m4, configure, configure.in, src/Makefile.in,
1490 src/glade/Makefile.in, src/glade/file_export_dialog.cpp,
1491 src/glade/file_export_dialog.glade,
1492 src/glade/file_import_dialog.cpp,
1493 src/glade/file_import_dialog.glade, src/glade/geomopt_dialog.cpp,
1494 src/glade/moldyn_dialog.cpp, src/glade/moldyn_dialog.glade,
1495 src/glade/setup_druid.cpp, src/glade/setup_druid.h,
1496 src/gnome_project.cpp, src/gnome_project.h,
1497 src/gtk_graphics_view.cpp, src/gtk_graphics_view.h,
1498 src/gtk_plot_views.cpp, src/gtk_plot_views.h,
1499 src/gtk_project_view.cpp, src/gtk_project_view.h,
1500 src/gtk_views.cpp, src/gtk_views.h, src/main.cpp, src/main.h,
1501 src/project.cpp, src/project.h, src/surface.h, src/views.cpp,
1502 src/views.h: added the next round of changes ; compiles and works
1503 but the menus are still incomplete.
1504
1505 2005-04-15 13:51 thassine
1506
1507 * src/Makefile.in, src/appconfig.h.in, src/fileio.cpp,
1508 src/gnome_dialog.h, src/gnome_project.cpp, src/gnome_views.cpp,
1509 src/gnome_views.h, src/main.cpp, src/main.h, src/notice.cpp:
1510 started adding the popup menu for gtk_graphics_view.
1511
1512 2005-04-15 11:36 thassine
1513
1514 * src/gnome_dialog.cpp, src/gnome_project.cpp, src/gnome_project.h,
1515 src/gnome_views.cpp, src/gnome_views.h, src/main.cpp, src/main.h,
1516 src/pixmaps/bondtype.xpm, src/pixmaps/measure.xpm,
1517 src/pixmaps/orb_xy.xpm, src/pixmaps/orb_z.xpm,
1518 src/pixmaps/orbit_xy.xpm, src/pixmaps/orbit_z.xpm,
1519 src/pixmaps/rot_xy.xpm, src/pixmaps/rot_z.xpm,
1520 src/pixmaps/rotate_xy.xpm, src/pixmaps/rotate_z.xpm,
1521 src/pixmaps/setup.xpm, src/pixmaps/trans_xy.xpm,
1522 src/pixmaps/trans_z.xpm, src/pixmaps/transl_xy.xpm,
1523 src/pixmaps/transl_z.xpm: major changes in GUI code ; uses
1524 GtkUIManager now (GTK+-2.4) ; menus still not ready yet.
1525
1526 2005-03-23 14:06 thassine
1527
1528 * src/gnome_dialog.cpp, src/gnome_dialog.h, src/gnome_project.cpp,
1529 src/gnome_views.cpp, src/main.cpp, src/main.h: bad problems
1530 because the popup menus still are generated using gnome-1 code in
1531 a gtk2 app ; crashes but started to add fixes ; still not OK.
1532
1533 2005-03-21 09:37 thassine
1534
1535 * Makefile.in, configure, configure.in, src/Makefile.in,
1536 src/appconfig.h.in, src/glade_dialog.cpp, src/gnome_dialog.cpp,
1537 src/gnome_dialog.h, src/gnome_project.cpp, src/main.cpp,
1538 src/main.h, src/views.h: added many improvements ; the GTK2
1539 version is now built by default (--enable-bonobo changes this)
1540 and it's quite usable now...
1541
1542 2005-02-03 12:16 thassine
1543
1544 * src/spline.cpp: minor changes to make it compile in FC3.
1545
1546 2004-12-23 14:12 thassine
1547
1548 * bin/ghemical-ui.xml, configure, configure.in, src/appconfig.h.in,
1549 src/ghemical-server.cpp, src/ghemical-server.h, src/ghemical.cpp,
1550 src/ghemical.h, src/gnome_project.cpp, src/gnome_project.h,
1551 src/main.cpp, src/main.h, src/simple_test/container-ui.xml,
1552 src/simple_test/container.cpp: continued to implement separate
1553 gtk+/bonobo modes.
1554
1555 2004-12-23 11:33 thassine
1556
1557 * GNOME_Ghemical.server, Makefile.in, src/Makefile.in,
1558 src/gnome_project.cpp, src/gnome_project.h,
1559 src/simple_test/Makefile, src/simple_test/README,
1560 src/simple_test/container-ui.xml, src/simple_test/container.c,
1561 src/simple_test/container.cpp, src/simple_test/container.h:
1562 started creating a single ghemical/ghemical-server executable
1563 that uses either gtk+ or bonobo.
1564
1565 2004-12-21 14:46 thassine
1566
1567 * src/camera.cpp, src/gnome_project.cpp, src/gnome_views.cpp,
1568 src/gnome_views.h, src/project.cpp, src/project.h: fixes added
1569 for stereo display modes (especially red/blue mode).
1570
1571 2004-12-10 15:22 thassine
1572
1573 * configure, configure.in, src/gnome_views.cpp, src/mtools.cpp,
1574 src/project.cpp, src/project.h: many small fixes added.
1575
1576 2004-09-06 10:51 thassine
1577
1578 * configure, configure.in: configure.in updated (still needs
1579 similar fixes ; see also Makefiles.
1580
1581 2004-08-30 09:36 thassine
1582
1583 * src/color.h, src/fileio.cpp, src/filetrans.cpp,
1584 src/glade/geomopt_dialog.h, src/glade/moldyn_dialog.h,
1585 src/glade/setup_druid.cpp, src/gnome_dialog.cpp,
1586 src/gnome_project.cpp, src/gnome_project.h, src/gnome_views.cpp,
1587 src/notice.cpp, src/objects.cpp, src/objects.h, src/project.cpp,
1588 src/project.h, src/ribbon.cpp, src/spline.h, src/views.cpp:
1589 changed the include directory of libghemical.
1590
1591 2004-08-25 11:28 thassine
1592
1593 * src/appdefine.h, src/project.cpp, src/project.h: minor changes in
1594 labels etc (not yet same as in BBB).
1595
1596 2004-05-13 11:51 thassine
1597
1598 * acinclude.m4, aclocal.m4, configure, configure.in,
1599 src/glade/setup_druid.cpp: libmopac7, OpenBabel and libghemical
1600 now properly detected in configure.in
1601
1602 2004-03-17 14:26 thassine
1603
1604 * Makefile.in: changed VERSION into APPVERSION in Makefile.in
1605
1606 2004-02-18 11:54 thassine
1607
1608 * Makefile.in, configure, configure.in, src/Makefile.in,
1609 src/appconfig.h.in, src/glade/Makefile.in: now properly reads
1610 settings from libghemical.pc using pkg-config.
1611
1612 2004-02-17 14:49 thassine
1613
1614 * Makefile.in, configure, configure.in, openbabel, src/Makefile.in,
1615 src/glade/Makefile.in, src/project.cpp: now uses an external
1616 OpenBabel library ; make install should now properly install both
1617 executables and files.
1618
1619 2004-02-11 09:40 thassine
1620
1621 * src/fileio.cpp, src/project.h: added setlocale() calls into
1622 fileio.cpp ; also added formal charges into the file format
1623 (version string now 111)
1624
1625 2004-02-11 09:06 thassine
1626
1627 * src/Makefile.in, src/gnome_project.cpp, src/gnome_project.h,
1628 src/project.cpp: added -lmopac7 into src/Makefile.in
1629 (temporarily) and other minor changes.
1630
1631 2003-11-06 12:22 thassine
1632
1633 * src/fileio.cpp: a minor fix in file-IO; still need to save
1634 secondary structures for SF?
1635
1636 2003-10-10 08:53 thassine
1637
1638 * src/gnome_project.cpp, src/gnome_views.cpp, src/gnome_views.h:
1639 added a new (experimental) menu item.
1640
1641 2003-10-03 13:29 thassine
1642
1643 * src/project.cpp: fixed a drawing tool bug.
1644
1645 2003-09-12 10:34 thassine
1646
1647 * src/gnome_project.cpp, src/plane.cpp, src/plane.h,
1648 src/project.cpp, src/surface.cpp, src/surface.h: improved
1649 planes/surfaces ; now adapt better for charged molecules.
1650
1651 2003-09-10 12:04 thassine
1652
1653 * src/appdefine.h, src/gnome_project.cpp, src/gnome_project.h,
1654 src/project.cpp: a rendering bug was fixed, and LABEL_RESIDUE was
1655 implemented.
1656
1657 2003-09-01 09:43 thassine
1658
1659 * src/project.cpp: added some bugfixes/comments
1660
1661 2003-08-08 06:55 thassine
1662
1663 * src/fileio.cpp, src/gnome_project.cpp, src/project.cpp,
1664 src/project.h: the Solvate??() functions have changed.
1665
1666 2003-08-01 11:05 thassine
1667
1668 * src/glade/file_export_dialog.cpp,
1669 src/glade/file_import_dialog.cpp, src/glade/geomopt_dialog.cpp,
1670 src/glade/moldyn_dialog.cpp: fixed the dialogs by changing
1671 gnome_dialog -> gtk_dialog.
1672
1673 2003-07-30 10:11 thassine
1674
1675 * src/camera.cpp, src/gnome_dialog.cpp, src/gnome_project.cpp,
1676 src/gnome_project.h, src/project.cpp, src/project.h: a few more
1677 changes added ; now the bonobo-component seems to work pretty
1678 well and is usable, but the toolbar buttons (mouse tool, element,
1679 bondtype) are still missing.
1680
1681 2003-07-29 13:48 thassine
1682
1683 * src/camera.cpp, src/camera.h, src/gnome_views.cpp,
1684 src/gnome_views.h, src/objects.cpp, src/objects.h, src/plane.cpp,
1685 src/plane.h, src/project.cpp, src/project.h, src/ribbon.cpp,
1686 src/ribbon.h, src/surface.cpp, src/surface.h, src/views.cpp,
1687 src/views.h: the project_view now works reasonably well ; also
1688 popup-menus added to project_view pages.
1689
1690 2003-07-24 10:12 thassine
1691
1692 * src/gnome_project.cpp, src/gnome_project.h, src/gnome_views.cpp,
1693 src/gnome_views.h, src/project.cpp, src/project.h, src/views.h:
1694 the popup-menu, text buffer, and the project view seems to work
1695 quite reasonably now ; in project view only atoms and bonds pages
1696 are ok, others still have many problems.
1697
1698 2003-07-15 12:18 thassine
1699
1700 * src/gnome_project.cpp, src/gnome_project.h, src/gnome_views.cpp,
1701 src/gnome_views.h, src/project.cpp, src/project.h, src/views.cpp,
1702 src/views.h: the message log now works (more or less) and
1703 project_view work started.
1704
1705 2003-07-14 09:20 thassine
1706
1707 * src/glade/file_export_dialog.glade,
1708 src/glade/file_import_dialog.glade,
1709 src/glade/geomopt_dialog.glade, src/glade/moldyn_dialog.glade,
1710 src/glade/setup_druid.glade, src/glade/trajview_dialog.glade,
1711 src/gnome_dialog.cpp, src/gnome_project.cpp, src/gnome_project.h,
1712 src/gnome_views.cpp, src/gnome_views.h: the .glade files are
1713 updated for libglade-2 (using libglade-convert) glade-dialogs are
1714 displayed correctly but handlers still not updated ; the
1715 gnome-dialogs should work also now ; added (temporary) CURRENT
1716 submenu into ppoup-menu for accesssing mouse tool and other
1717 settings.
1718
1719 2003-07-12 09:28 thassine
1720
1721 * GNOME_Ghemical.server: added the .server file
1722 (bonobo-activation).
1723
1724 2003-07-11 13:01 thassine
1725
1726 * bin/ghemical-ui.xml, configure, configure.in, src/Makefile.in,
1727 src/fileio.cpp, src/filetrans.cpp, src/filetrans.h,
1728 src/ghemical-server.cpp, src/ghemical-server.h, src/ghemical.cpp,
1729 src/ghemical.h, src/glade/Makefile.in,
1730 src/glade/geomopt_dialog.cpp, src/glade/moldyn_dialog.cpp,
1731 src/glade/setup_druid.cpp, src/glade_dialog.cpp,
1732 src/gnome_dialog.cpp, src/gnome_project.cpp, src/gnome_project.h,
1733 src/gnome_views.cpp, src/gnome_views.h, src/main.cpp, src/main.h,
1734 src/notice.cpp, src/notice.h, src/plane.h, src/project.cpp,
1735 src/project.h, src/ribbon.cpp, src/ribbon.h, src/simple_test,
1736 src/simple_test/Makefile, src/simple_test/container-ui.xml,
1737 src/simple_test/container.c, src/surface.h, src/views.cpp,
1738 src/views.h: started porting to gnome2 and converting into
1739 bonobo.
1740
1741 2003-06-13 10:18 thassine
1742
1743 * AUTHORS, acconfig.h, src/Doxyfile, src/camera.cpp,
1744 src/gnome_project.cpp, src/project.cpp: more checks added for
1745 atom_list sorting. also misc cleanups.
1746
1747 2003-06-12 13:12 thassine
1748
1749 * bin/examples/transition_state_search,
1750 bin/examples/transition_state_search/E2-reaction,
1751 bin/examples/transition_state_search/E2-reaction/products.gpr,
1752 bin/examples/transition_state_search/E2-reaction/reactants.gpr,
1753 bin/examples/transition_state_search/E2-reaction/ts.gpr,
1754 bin/examples/transition_state_search/SN2-reaction,
1755 bin/examples/transition_state_search/SN2-reaction/products.gpr,
1756 bin/examples/transition_state_search/SN2-reaction/reactants.gpr,
1757 bin/examples/transition_state_search/SN2-reaction/ts.gpr,
1758 bin/examples/transition_state_search/carbocation_rearrangement_hydride_shift,
1759 bin/examples/transition_state_search/carbocation_rearrangement_hydride_shift/products.gpr,
1760 bin/examples/transition_state_search/carbocation_rearrangement_hydride_shift/reactants.gpr,
1761 bin/examples/transition_state_search/carbocation_rearrangement_hydride_shift/ts.gpr,
1762 bin/examples/transition_state_search/carbocation_rearrangement_methide_shift,
1763 bin/examples/transition_state_search/carbocation_rearrangement_methide_shift/products.gpr,
1764 bin/examples/transition_state_search/carbocation_rearrangement_methide_shift/reactants.gpr,
1765 bin/examples/transition_state_search/carbocation_rearrangement_methide_shift/ts.gpr,
1766 bin/examples/transition_state_search/cycloaddition_Diels-Alder,
1767 bin/examples/transition_state_search/cycloaddition_Diels-Alder/products.gpr,
1768 bin/examples/transition_state_search/cycloaddition_Diels-Alder/reactants.gpr,
1769 bin/examples/transition_state_search/cycloaddition_Diels-Alder/ts.gpr,
1770 bin/examples/transition_state_search/sigmatropic_rearrangement_Cope,
1771 bin/examples/transition_state_search/sigmatropic_rearrangement_Cope/products.gpr,
1772 bin/examples/transition_state_search/sigmatropic_rearrangement_Cope/reactants.gpr,
1773 bin/examples/transition_state_search/sigmatropic_rearrangement_Cope/ts.gpr,
1774 bin/examples/transition_state_search/tautomeric_shift_keto_enol,
1775 bin/examples/transition_state_search/tautomeric_shift_keto_enol/products.gpr,
1776 bin/examples/transition_state_search/tautomeric_shift_keto_enol/reactants.gpr,
1777 bin/examples/transition_state_search/tautomeric_shift_keto_enol/ts.gpr,
1778 src/gnome_views.cpp, src/gnome_views.h, src/project.cpp,
1779 src/views.cpp, src/views.h: added imrovements to
1780 transition_state_search + other search tools, and added examples
1781 for TSS.
1782
1783 2003-06-11 11:06 thassine
1784
1785 * src/glade/setup_druid.cpp, src/gnome_project.cpp,
1786 src/gnome_project.h, src/gnome_views.cpp, src/gnome_views.h,
1787 src/project.cpp, src/project.h, src/views.cpp, src/views.h: added
1788 transition_state_search and stationary_state_search ; user-docs
1789 and examples will follow in a few days.
1790
1791 2003-05-19 07:09 thassine
1792
1793 * src/project.cpp: some debugging-label options added.
1794
1795 2003-05-13 13:44 thassine
1796
1797 * src/gnome_project.cpp: removed some redundant
1798 DefineSecondaryStructure() runs.
1799
1800 2003-05-12 09:13 thassine
1801
1802 * src/project.cpp, src/ribbon.cpp, src/ribbon.h: minor changes in
1803 ribbon object.
1804
1805 2003-04-29 10:22 thassine
1806
1807 * src/gnome_project.cpp, src/project.cpp, src/project.h,
1808 src/ribbon.cpp: many changes in lib, adaptaptations to those
1809 added.
1810
1811 2003-04-17 07:37 thassine
1812
1813 * src/gnome_project.cpp: added better defaults for glade dialogs.
1814
1815 2003-04-16 13:46 thassine
1816
1817 * src/glade/moldyn_dialog.cpp, src/glade/moldyn_dialog.glade,
1818 src/glade/moldyn_dialog.h, src/glade/setup_druid.cpp,
1819 src/glade/setup_druid.glade, src/gnome_project.cpp,
1820 src/gnome_views.cpp, src/gnome_views.h, src/project.cpp: many
1821 small changes (including trajectory reading).
1822
1823 2003-04-10 14:02 thassine
1824
1825 * Makefile.in, configure, configure.in, src/appconfig.h.in,
1826 src/appdefine.h, src/gnome_project.cpp, src/gnome_project.h,
1827 src/project.cpp: changes in configure script (now tested to work
1828 with --enable-mpqc).
1829
1830 2003-04-02 06:14 thassine
1831
1832 * src/ribbon.cpp: changes in ribbon due to changes in atom class.
1833
1834 2003-03-07 11:37 thassine
1835
1836 * src/fileio.cpp: a minor addition to fileio.cpp
1837
1838 2003-03-07 09:11 thassine
1839
1840 * src/fileio.cpp: the functions in fileio.cpp now handle data using
1841 member functions, not direclty (so that they now are more
1842 portable).
1843
1844 2003-03-05 12:20 thassine
1845
1846 * src/gnome_project.cpp, src/main.cpp: added some changes related
1847 to gcc-3.2
1848
1849 2003-02-14 14:51 thassine
1850
1851 * src/fileio.cpp: just cleanups, no real changes.
1852
1853 2003-02-14 08:02 thassine
1854
1855 * src/project.cpp: sf virtual bonds now rendered also using
1856 wireframes.
1857
1858 2003-02-06 14:53 thassine
1859
1860 * src/gnome_project.cpp, src/main.cpp, src/notice.cpp,
1861 src/project.cpp: many changes; for example added tool for adding
1862 solvent (not ready yet).
1863
1864 2003-02-03 09:54 thassine
1865
1866 * src/gnome_project.cpp, src/gnome_project.h: added tools for
1867 solvation (using H2O).
1868
1869 2003-01-31 12:06 thassine
1870
1871 * src/filetrans.cpp, src/project.cpp, src/project.h: some bugfixes
1872 were added; mostly because of changes in model::GetAtomCount()
1873 and engine::GetAtomCount().
1874
1875 2003-01-30 08:31 thassine
1876
1877 * src/Makefile.in, src/fileio.cpp, src/glade/Makefile.in,
1878 src/gnome_project.cpp, src/project.cpp, src/project.h: changes in
1879 SF-stuff rendering and file operations.
1880
1881 2003-01-27 13:45 thassine
1882
1883 * src/fileio.cpp, src/glade/setup_druid.cpp, src/project.cpp,
1884 src/project.h, src/ribbon.cpp: some additions to graphics code
1885 (how the new flags work).
1886
1887 2003-01-23 13:02 thassine
1888
1889 * src/camera.cpp, src/camera.h, src/gnome_project.cpp,
1890 src/gnome_views.cpp, src/gnome_views.h, src/main.cpp, src/main.h,
1891 src/mtools.cpp, src/mtools.h, src/pixmaps/clipping.xpm,
1892 src/project.cpp, src/project.h, src/views.cpp, src/views.h: added
1893 a new clipping mtool, the selections by atm/res/chn/mol is added,
1894 and a new tool delete selected atoms is added.
1895
1896 2003-01-22 11:25 thassine
1897
1898 * Makefile.in: make install also works now.
1899
1900 2003-01-22 11:11 thassine
1901
1902 * src, src/.cvsignore: minor cleanups added.
1903
1904 2003-01-22 11:06 thassine
1905
1906 * Makefile.in, configure, configure.in, src/Makefile.in,
1907 src/appconfig.h.in, src/appdefine.h, src/camera.cpp,
1908 src/camera.h, src/color.h, src/config.h.in, src/fileio.cpp,
1909 src/filetrans.cpp, src/filetrans.h, src/glade,
1910 src/glade/.cvsignore, src/glade/Makefile.in, src/glade/README,
1911 src/glade/file_export_dialog.cpp,
1912 src/glade/file_export_dialog.glade,
1913 src/glade/file_export_dialog.h, src/glade/file_import_dialog.cpp,
1914 src/glade/file_import_dialog.glade,
1915 src/glade/file_import_dialog.h, src/glade/geomopt_dialog.cpp,
1916 src/glade/geomopt_dialog.glade, src/glade/geomopt_dialog.h,
1917 src/glade/moldyn_dialog.cpp, src/glade/moldyn_dialog.glade,
1918 src/glade/moldyn_dialog.h, src/glade/setup_druid.cpp,
1919 src/glade/setup_druid.glade, src/glade/setup_druid.h,
1920 src/glade/trajview_dialog.cpp, src/glade/trajview_dialog.glade,
1921 src/glade/trajview_dialog.h, src/glade_dialog.cpp,
1922 src/glade_dialog.h, src/gnome_dialog.cpp, src/gnome_dialog.h,
1923 src/gnome_project.cpp, src/gnome_project.h, src/gnome_views.cpp,
1924 src/gnome_views.h, src/main.cpp, src/main.h, src/mtools.cpp,
1925 src/mtools.h, src/notice.cpp, src/notice.h, src/objects.cpp,
1926 src/objects.h, src/pixmaps, src/pixmaps/.cvsignore,
1927 src/pixmaps/angle.xpm, src/pixmaps/bond.xpm,
1928 src/pixmaps/chain.xpm, src/pixmaps/dihedral.xpm,
1929 src/pixmaps/distance.xpm, src/pixmaps/draw.xpm,
1930 src/pixmaps/element.xpm, src/pixmaps/erase.xpm,
1931 src/pixmaps/invert.xpm, src/pixmaps/molecule.xpm,
1932 src/pixmaps/orb_xy.xpm, src/pixmaps/orb_z.xpm,
1933 src/pixmaps/residue.xpm, src/pixmaps/rot_xy.xpm,
1934 src/pixmaps/rot_z.xpm, src/pixmaps/select.xpm,
1935 src/pixmaps/trans_xy.xpm, src/pixmaps/trans_z.xpm,
1936 src/pixmaps/zoom.xpm, src/plane.cpp, src/plane.h,
1937 src/project.cpp, src/project.h, src/ribbon.cpp, src/ribbon.h,
1938 src/spline.cpp, src/spline.h, src/surface.cpp, src/surface.h,
1939 src/views.cpp, src/views.h: added the missing files; some changes
1940 have happened in the filenames.
1941
1942 2003-01-21 10:05 thassine
1943
1944 * bin/parameters: removed bin/prameters since it is now contained
1945 in libghemical.
1946
1947 2003-01-20 14:08 thassine
1948
1949 * configure, configure.in: many changes all over the tree; does not
1950 compile yet...
1951
1952 2003-01-20 09:22 thassine
1953
1954 * src/graphics, src/target3: moved the contents of src/graphics and
1955 src/target3 to src/.
1956
1957 2003-01-20 09:17 thassine
1958
1959 * src/target3/pixmaps: moved the src/target3/pixmaps to
1960 src/pixmaps.
1961
1962 2003-01-20 09:13 thassine
1963
1964 * Makefile.in, src/target3/glade: moved the /src/target3/glade to
1965 /src/glade.
1966
1967 2003-01-20 09:05 thassine
1968
1969 * src/common: removed the common-directory (now in libghemical).
1970
1971 2003-01-20 08:50 thassine
1972
1973 * BUGLIST, Makefile.in, PROJECT, configure.in, miniMOPAC,
1974 src/Makefile.OLD, src/common/Makefile.in,
1975 src/graphics/Makefile.in, src/some-extra-files, src/target1,
1976 src/target2, src/target3/Makefile.in,
1977 src/target3/glade/Makefile.in: some directories removed; this
1978 stuff is either moved into the new libghemical library, or
1979 (target1/target2) is discarded.
1980
1981 2003-01-15 15:35 thassine
1982
1983 * src/common/matrix.h: added matrix.h back (from v1.0 source tree).
1984
1985 2003-01-03 11:11 thassine
1986
1987 * src/common/utility.cpp, src/common/utility.h: superimpose is no
1988 longer a virtual class; only one class needed since there's only
1989 one model class.
1990
1991 2003-01-02 13:55 thassine
1992
1993 * src/common/moldyn.h: minor improvements to MD.
1994
1995 2002-12-12 07:34 thassine
1996
1997 * src/common/model.cpp: some extra checks were added (for
1998 simplified force field, does not affect all-atom stuff).
1999
2000 2002-12-11 13:12 thassine
2001
2002 * src/common/model.cpp, src/common/seqbuild.cpp: bugfix; adding
2003 ribbons re-ordered the atoms (via seqbuild::Identify()) but this
2004 is now fixed.
2005
2006 2002-12-09 09:01 thassine
2007
2008 * src/common/eng1_qm_mopac.cpp, src/common/eng1_qm_mpqc.cpp,
2009 src/target3/glade/Makefile.in: added a bugfix (now builds with
2010 --enable-mpqc) and added some comments about MPQC/MOPAC output.
2011
2012 2002-12-05 11:44 thassine
2013
2014 * configure, configure.in, src/common/define.h: changed the version
2015 number to 1.51
2016
2017 2002-12-04 07:47 thassine
2018
2019 * CHANGES: updated the changelog
2020
2021 2002-12-04 07:45 thassine
2022
2023 * INSTALL, bin/user-docs/images/aa_builder_ci.png,
2024 bin/user-docs/images/aa_builder_menu.png,
2025 bin/user-docs/images/aa_builder_note.png,
2026 bin/user-docs/images/aa_builder_w_h.png,
2027 bin/user-docs/images/aa_builder_wo_h.png,
2028 bin/user-docs/images/ci_plane.png,
2029 bin/user-docs/images/ribbon.png, bin/user-docs/ribbon.html,
2030 ghemical.spec: final fixes before release as v1.50
2031
2032 2002-12-03 07:50 thassine
2033
2034 * Makefile.in: minor fixes to make install.
2035
2036 2002-12-03 07:42 thassine
2037
2038 * bin/user-docs/geometry_optimization.html,
2039 bin/user-docs/images/geometry_opimization_console.png,
2040 bin/user-docs/images/sequence_builder_console.png,
2041 bin/user-docs/index.html, bin/user-docs/introduction.html,
2042 bin/user-docs/measure.html, bin/user-docs/references.html,
2043 bin/user-docs/sequence_builder.html, bin/user-docs/using_mm.html,
2044 bin/user-docs/using_qm.html, bin/user-docs/using_sf.html,
2045 bin/user-docs/visualization.html: added the improved docs from
2046 Christopher also here.
2047
2048 2002-11-22 09:02 thassine
2049
2050 * ., .cvsignore, miniMOPAC, miniMOPAC/.cvsignore, openbabel,
2051 openbabel/.cvsignore, openbabel/aromatic.h,
2052 openbabel/aromatic.txt, openbabel/extable.h,
2053 openbabel/extable.txt, src/common/model.cpp, src/target3/glade,
2054 src/target3/glade/.cvsignore: synchronized openbabel with the
2055 v1.0 tree, and added a notice about incompleteness of the file
2056 format.
2057
2058 2002-11-20 15:54 thassine
2059
2060 * bin/examples, bin/examples/2-chlorobutane.gpr,
2061 bin/examples/3-phenylpropanal.gpr,
2062 bin/examples/PeriodicTable.gpr,
2063 bin/examples/acetylsalicylic_acid.gpr,
2064 bin/examples/alpha-pinene.gpr, bin/examples/bromobenzene.gpr,
2065 bin/examples/camphor.gpr, bin/examples/cinnamaldehyde.gpr,
2066 bin/examples/cis-2-pentene.gpr, bin/examples/cyclohexane.gpr,
2067 bin/examples/naphtalene.gpr: added also the new example files.
2068
2069 2002-11-20 15:53 thassine
2070
2071 * bin/examples, openbabel/extable.h, openbabel/extable.txt,
2072 openbabel/ghemical.cpp, src/common/model.cpp, src/common/model.h,
2073 src/common/oldfiles.cpp, src/common/tab_mm_prmfit.cpp,
2074 src/graphics/project.cpp, src/target1/t1m_param_mm_cpp.h,
2075 src/target1/t1main.cpp, src/target3/t3dialog.cpp,
2076 src/target3/t3main.cpp, src/target3/t3project.cpp,
2077 src/target3/t3project.h: the file format detection is now fixed;
2078 now can read the current (.gpr) and old (.mm1gp) v1.0 files.
2079
2080 2002-11-20 10:38 thassine
2081
2082 * Makefile.in: make install now installs the docs correctly.
2083
2084 2002-11-14 13:00 thassine
2085
2086 * bin/user-docs/MD.html, bin/user-docs/MD_viewer.html,
2087 bin/user-docs/aa_table.html, bin/user-docs/add_hydrogens.html,
2088 bin/user-docs/basic_mm.html,
2089 bin/user-docs/conf_search_tools.html,
2090 bin/user-docs/energy_vs_torsion.html,
2091 bin/user-docs/enlevdiag.jpg, bin/user-docs/filetypes.html,
2092 bin/user-docs/formula.html,
2093 bin/user-docs/geometry_optimization.html,
2094 bin/user-docs/images/energy_vs_torsion1.png,
2095 bin/user-docs/images/energy_vs_torsion2.png,
2096 bin/user-docs/images/energy_vs_torsion3.png,
2097 bin/user-docs/images/energy_vs_torsion4.png,
2098 bin/user-docs/images/enlevdiag.png,
2099 bin/user-docs/images/esp-plane_mm.png,
2100 bin/user-docs/images/esp-plane_qm.png,
2101 bin/user-docs/images/esp-plane_select.png,
2102 bin/user-docs/images/esp-plane_select_obj.png,
2103 bin/user-docs/index.html, bin/user-docs/labels.html,
2104 bin/user-docs/mdi_mode.html, bin/user-docs/measure.html,
2105 bin/user-docs/perspective.html, bin/user-docs/references.html,
2106 bin/user-docs/sequence_builder.html,
2107 bin/user-docs/using_cs_tools.html,
2108 bin/user-docs/using_cs_tools01.jpg,
2109 bin/user-docs/using_cs_tools02.jpg,
2110 bin/user-docs/using_cs_tools03.jpg,
2111 bin/user-docs/using_cs_tools04.jpg,
2112 bin/user-docs/using_cs_tools05.jpg, bin/user-docs/using_mm.html,
2113 bin/user-docs/using_qm.html, bin/user-docs/using_sf.html,
2114 bin/user-docs/visualization.html: updated the documentation.
2115
2116 2002-11-14 09:16 thassine
2117
2118 * bin/user-docs/basic_mm.html, bin/user-docs/images/mainmenu.png,
2119 bin/user-docs/images/maintools.png, bin/user-docs/index.html,
2120 bin/user-docs/introduction.html, bin/user-docs/maintools.jpg: the
2121 chapter 1. introduction seems to be ok now.
2122
2123 2002-11-14 07:59 thassine
2124
2125 * bin/user-docs/index.html: oops! fixed the absolute links from
2126 index.html
2127
2128 2002-11-13 08:32 thassine
2129
2130 * bin/parameters/param_mm/default/parameters1.txt,
2131 bin/parameters/param_mm/default/parameters2.txt, configure,
2132 configure.in, src/common/define.h: added some halogen MM
2133 parameters, and changed the version number.
2134
2135 2002-11-11 09:22 thassine
2136
2137 * src/Doxyfile, src/graphics/views.cpp: changed doxygen settings,
2138 and added some fixes for gcc-3.2
2139
2140 2002-11-11 09:21 thassine
2141
2142 * openbabel/Makefile.in, openbabel/Vector.cpp, openbabel/Vector.h,
2143 openbabel/alchemy.cpp, openbabel/aromatic.h, openbabel/atom.cpp,
2144 openbabel/atomtyp.h, openbabel/atomtyp.txt, openbabel/balst.cpp,
2145 openbabel/base.h, openbabel/bin2hex.pl, openbabel/binary.h,
2146 openbabel/binary_io.h, openbabel/bitgrid.h, openbabel/bitvec.h,
2147 openbabel/bond.txt, openbabel/c3d.cpp, openbabel/cacao.cpp,
2148 openbabel/chains.cpp, openbabel/chains.h, openbabel/chiral.h,
2149 openbabel/commandline.h, openbabel/ctransform.h,
2150 openbabel/cwrap.cpp, openbabel/cwrap.h, openbabel/data.cpp,
2151 openbabel/data.h, openbabel/element.h, openbabel/element.txt,
2152 openbabel/extable.h, openbabel/extable.txt,
2153 openbabel/fileformat.cpp, openbabel/fileformat.h,
2154 openbabel/generic.cpp, openbabel/generic.h, openbabel/grid.h,
2155 openbabel/main.cpp, openbabel/matrix.h, openbabel/mol.cpp,
2156 openbabel/mol.h, openbabel/mol2.cpp, openbabel/molchrg.h,
2157 openbabel/molvector.cpp, openbabel/molvector.h,
2158 openbabel/obifstream.h, openbabel/obutil.cpp, openbabel/obutil.h,
2159 openbabel/parsmart.cpp, openbabel/parsmart.h, openbabel/patty.h,
2160 openbabel/pdb.cpp, openbabel/phmodel.cpp, openbabel/phmodel.h,
2161 openbabel/phmodeldata.h, openbabel/resdata.h, openbabel/ring.h,
2162 openbabel/rotor.h, openbabel/smarts.cpp, openbabel/smarts.h,
2163 openbabel/smi.h, openbabel/typer.cpp, openbabel/typer.h,
2164 openbabel/types.h, openbabel/types.txt: the openbabel tree is now
2165 in sync with v1.00
2166
2167 2002-11-06 10:29 thassine
2168
2169 * bin/user-docs/MD.html, bin/user-docs/MD_viewer.html,
2170 bin/user-docs/aa_table.html, bin/user-docs/add_hydrogens.html,
2171 bin/user-docs/basic_mm.html, bin/user-docs/documentation.css,
2172 bin/user-docs/filetypes.html, bin/user-docs/formula.html,
2173 bin/user-docs/geometry_optimization.html, bin/user-docs/images,
2174 bin/user-docs/images/2atoms_bond.png,
2175 bin/user-docs/images/2atoms_unbonded.png,
2176 bin/user-docs/images/add_hydrogens.png,
2177 bin/user-docs/images/add_hydrogens_select.png,
2178 bin/user-docs/images/change_bond_dialog.png,
2179 bin/user-docs/images/change_bond_select.png,
2180 bin/user-docs/images/cyclohexane1.png,
2181 bin/user-docs/images/cyclohexane2.png,
2182 bin/user-docs/images/cyclohexane_optimized.png,
2183 bin/user-docs/images/cyclohexane_unoptimized.png,
2184 bin/user-docs/images/draw_button.png,
2185 bin/user-docs/images/draw_hydrogens.png,
2186 bin/user-docs/images/first_atom.png,
2187 bin/user-docs/images/formula.png,
2188 bin/user-docs/images/formula_select.png,
2189 bin/user-docs/images/geometry_op_dialog.png,
2190 bin/user-docs/images/geometry_opimization_console.png,
2191 bin/user-docs/images/geometry_optimization_select.png,
2192 bin/user-docs/images/labels_menu.png,
2193 bin/user-docs/images/md_dialog.png,
2194 bin/user-docs/images/modal.png, bin/user-docs/images/new_mm.png,
2195 bin/user-docs/images/notebook.png,
2196 bin/user-docs/images/optimized_ethane.png,
2197 bin/user-docs/images/periodic_button.png,
2198 bin/user-docs/images/periodic_table.png,
2199 bin/user-docs/images/remove_hydrogens.png,
2200 bin/user-docs/images/sequence_builder.png,
2201 bin/user-docs/images/sequence_builder_console.png,
2202 bin/user-docs/images/toplevel.png,
2203 bin/user-docs/images/traj_dialog.png,
2204 bin/user-docs/images/window.png, bin/user-docs/import_types.html,
2205 bin/user-docs/index.html, bin/user-docs/introduction.html,
2206 bin/user-docs/labels.html, bin/user-docs/mdi_mode.html,
2207 bin/user-docs/measure.html, bin/user-docs/perspective.html,
2208 bin/user-docs/references.html,
2209 bin/user-docs/sequence_builder.html: added the Christopher's new
2210 docs.
2211
2212 2002-11-05 08:48 thassine
2213
2214 * AUTHORS, src/target2/Makefile.OLD, src/target3/Makefile.OLD,
2215 src/target3/t3main.cpp: added some new libs (reported that a
2216 modified RedHat7.3 needed these; should be added to configure
2217 system as well) : -lXt -lSM -lICE
2218
2219 2002-10-31 14:09 thassine
2220
2221 * src/graphics/project.cpp, src/graphics/surface.cpp,
2222 src/graphics/surface.h, src/target2/t2project.cpp: various small
2223 fixes added to plane/surface/etc objects.
2224
2225 2002-10-31 10:27 thassine
2226
2227 * bin/user-docs/index.html, src/common/eng1_sf.h,
2228 src/target1/t1m_param_sf_h.h: just terminology changes: reduced
2229 now changed to simplified in strings.
2230
2231 2002-10-29 10:11 thassine
2232
2233 * src/common/model.cpp: a bugfix added that makes model.cpp compile
2234 with the configure script.
2235
2236 2002-10-28 13:38 thassine
2237
2238 * src/common/model.cpp, src/target3/glade/trajview_dialog.cpp,
2239 src/target3/t3dialog.cpp: moldyn now also uses logbox.
2240
2241 2002-10-28 12:45 thassine
2242
2243 * src/common/eng1_mm.cpp, src/common/eng1_qm.cpp,
2244 src/common/eng1_sf.cpp, src/graphics/project.cpp: bugfixes added.
2245
2246 2002-10-25 13:02 thassine
2247
2248 * src/target3/t3project.cpp: optimized the default settings for
2249 planes/surfaces etc.
2250
2251 2002-10-24 13:02 thassine
2252
2253 * src/graphics/project.cpp, src/target3/t3project.cpp,
2254 src/target3/t3project.h: seq-builder now has a command string.
2255
2256 2002-10-24 12:01 thassine
2257
2258 * src/graphics/project.cpp, src/graphics/project.h,
2259 src/graphics/views.cpp, src/target3/t3project.cpp: the 1d and 2d
2260 plots now have command strings.
2261
2262 2002-10-23 14:38 thassine
2263
2264 * src/common/model.cpp, src/graphics/project.cpp,
2265 src/graphics/project.h, src/target3/t3project.cpp,
2266 src/target3/t3project.h, src/target3/t3views.cpp: qm-related
2267 planes/surfaces added, enlev-diagram addded.
2268
2269 2002-10-22 15:40 thassine
2270
2271 * src/graphics/project.cpp, src/target3/t3project.cpp:
2272 plane/volrend/surface command strings added.
2273
2274 2002-10-21 10:43 thassine
2275
2276 * src/common/model.cpp, src/common/model.h, src/common/search.cpp,
2277 src/graphics/project.cpp, src/target2/t2project.cpp,
2278 src/target3/t3project.cpp: added the random/systematic/montecarlo
2279 conformational search commands.
2280
2281 2002-10-21 07:53 thassine
2282
2283 * src/graphics/project.cpp, src/target3/t3project.cpp,
2284 src/target3/t3views.cpp: the add light-operation is a bit
2285 improved.
2286
2287 2002-10-17 14:17 thassine
2288
2289 * src/graphics/project.cpp, src/graphics/project.h,
2290 src/target3/t3dialog.cpp, src/target3/t3dialog.h,
2291 src/target3/t3project.cpp, src/target3/t3project.h,
2292 src/target3/t3views.cpp: the command interpreter added; now
2293 initially only commands help and add light works.
2294
2295 2002-10-16 08:08 thassine
2296
2297 * src/common/eng1_mm_default.cpp, src/common/eng1_mm_prmfit.cpp,
2298 src/common/tab_mm_default.cpp, src/common/tab_mm_prmfit.cpp,
2299 src/target3/glade/setup_druid.cpp, src/target3/t3project.cpp,
2300 src/target3/t3project.h: setup changes and possible mol.mech.
2301 error messages are now displayed in the new logbox.
2302
2303 2002-10-15 08:46 thassine
2304
2305 * src/common/model.cpp, src/target3/t3project.cpp: moved output
2306 from console to output box; CalcEnergy and GeomOpt.
2307
2308 2002-10-14 12:55 thassine
2309
2310 * src/common/model.cpp, src/common/model.h,
2311 src/target3/t3project.cpp, src/target3/t3project.h,
2312 src/target3/t3views.cpp: a text log box was added to the GUI.
2313 works now for CalcEnergy and GeomOpt operations.
2314
2315 2002-10-05 08:31 thassine
2316
2317 * src/common/model.cpp, src/target3/t3dialog.cpp: after the aa2sf
2318 conversion, the setup is automatically set suitable for doing
2319 calculations with the simplified model.
2320
2321 2002-10-04 12:18 thassine
2322
2323 * src/common/eng1_sf.cpp, src/common/model.cpp: the values of
2324 model::sf_types array are now the same as those in the
2325 atom::sf_atmtp records.
2326
2327 2002-10-04 10:52 thassine
2328
2329 * src/common/eng1_sf.cpp, src/common/eng1_sf.h,
2330 src/common/typedef.h, src/graphics/plane.cpp,
2331 src/graphics/plane.h, src/graphics/project.cpp,
2332 src/graphics/project.h, src/graphics/ribbon.cpp,
2333 src/graphics/ribbon.h, src/graphics/spline.cpp,
2334 src/graphics/spline.h: the use of typedef- or template-based
2335 arrays (see typedef.h) seems to be a continuous source of
2336 memory-handling bugs. therefore removed all such constructs and
2337 banned their future use as well (removed from typedef.h).
2338
2339 2002-10-04 08:10 thassine
2340
2341 * src/common/model.cpp: more fixes to aa2sf conversion (temporary
2342 coordinate handling).
2343
2344 2002-10-04 07:20 thassine
2345
2346 * src/common/model.cpp, src/common/model.h: a potential bug related
2347 to aa2sf conversion is fixed.
2348
2349 2002-10-03 12:12 thassine
2350
2351 * src/common/model.cpp, src/common/utility.cpp: a few changes here
2352 and there...
2353
2354 2002-10-03 09:09 thassine
2355
2356 * src/common/oldfiles.cpp: the oldfiles.cpp file was added.
2357
2358 2002-10-03 08:27 thassine
2359
2360 * src/common/Makefile.OLD, src/common/Makefile.in,
2361 src/common/eng1_mm.cpp, src/common/eng1_mm.h,
2362 src/common/eng1_qm.cpp, src/common/eng1_qm.h,
2363 src/common/eng1_sf.cpp, src/common/eng1_sf.h,
2364 src/common/eng2_mm_sf.cpp, src/common/eng2_mm_sf.h,
2365 src/common/eng2_qm_mm.cpp, src/common/eng2_qm_mm.h,
2366 src/common/engine.h, src/common/model.cpp, src/common/model.h,
2367 src/target3/glade/setup_druid.cpp: an initial version of the new
2368 file format is now added; needs some futher testing however.
2369
2370 2002-09-12 10:50 thassine
2371
2372 * src/target3/t3dialog.cpp: a warning message was added (readpdb).
2373
2374 2002-09-11 14:35 thassine
2375
2376 * src/graphics/ribbon.cpp, src/target3/t3dialog.cpp,
2377 src/target3/t3project.cpp, src/target3/t3project.h: the ribbon
2378 object now can handle both all-atom and simplified
2379 peptides/proteins. set #define ENABLE_SIMPLIFIED in config.h
2380 before compiling. how to use/try: first use
2381 File/ExtraTools/ImportPDB to read the file in and then
2382 File/ExtraTools/Convert_aa2sf for getting the simplified
2383 presentation (you can't save it yet). then Objects/Ribbon.
2384
2385 2002-09-10 14:36 thassine
2386
2387 * bin/parameters/builder/amino.txt, src/common/seqbuild.cpp,
2388 src/common/utility.cpp: the DefineSecondaryStructure() function
2389 now works with simplified residues as well; also a ribbon bug is
2390 fixed.
2391
2392 2002-09-10 08:47 thassine
2393
2394 * src/common/model.cpp, src/common/seqbuild.cpp,
2395 src/common/seqbuild.h: the seqbuilder::Identify() now handles
2396 correctly also the simplified chains.
2397
2398 2002-09-08 10:05 thassine
2399
2400 * src/Doxyfile, src/Makefile.OLD, src/common/atom.h,
2401 src/common/bond.h, src/common/conjgrad.h, src/common/eng1_sf.h,
2402 src/common/engine.h, src/common/model.h: changed the docs system
2403 into a doxygen-based one. now using /// as a brief comment /**
2404 and this as a detailed comment. */ int example; ///< this is for
2405 comments at end of statements.
2406
2407 2002-09-07 08:25 thassine
2408
2409 * src/target1/t1m_mm2param_cpp.h, src/target1/t1m_mm2param_h.h:
2410 removed some old files from the console target.
2411
2412 2002-09-07 08:24 thassine
2413
2414 * src/target1/t1m_mm1param_cpp.h, src/target1/t1m_mm1param_h.h,
2415 src/target1/t1m_param_mm_cpp.h, src/target1/t1m_param_mm_h.h,
2416 src/target1/t1m_param_sf_cpp.h, src/target1/t1m_param_sf_h.h,
2417 src/target1/t1main.cpp, src/target1/t1main.h: some filenames
2418 changed at the console target...
2419
2420 2002-09-06 09:07 thassine
2421
2422 * src/common/atom.cpp, src/common/atom.h, src/common/eng1_sf.cpp,
2423 src/common/model.cpp: the sf is now in sync with the version in
2424 MANY_PROJECTS_BRANCH.
2425
2426 2002-09-05 13:47 thassine
2427
2428 * src/common/eng1_sf.cpp, src/common/eng1_sf.h: in sf, all terms
2429 except the solvation one works like before.
2430
2431 2002-09-05 10:18 thassine
2432
2433 * src/common/eng1_sf.cpp, src/common/eng1_sf.h: the nbt1 terms work
2434 now in sf.
2435
2436 2002-09-05 07:26 thassine
2437
2438 * src/common/eng1_sf.cpp: minor bugs fixed in bonded-term creation
2439 in the sf.
2440
2441 2002-09-04 13:56 thassine
2442
2443 * src/common/eng1_sf.cpp, src/common/eng1_sf.h: continued to port
2444 the sf stuff.
2445
2446 2002-09-03 10:45 thassine
2447
2448 * src/common/atom.cpp, src/common/eng1_mm.cpp,
2449 src/common/eng1_mm_default.cpp, src/common/eng1_mm_prmfit.cpp,
2450 src/common/eng1_qm.cpp, src/common/eng1_qm.h,
2451 src/common/eng1_qm_mopac.cpp, src/common/eng1_qm_mpqc.cpp,
2452 src/common/eng1_sf.h, src/common/eng2_mm_sf.h,
2453 src/common/eng2_qm_mm.h, src/common/engine.cpp,
2454 src/common/filetrans.cpp, src/common/intcrd.cpp,
2455 src/common/model.cpp, src/common/seqbuild.cpp,
2456 src/common/tab_mm_prmfit.cpp, src/graphics/project.cpp,
2457 src/graphics/ribbon.cpp, src/target1/t1m_mm1param_cpp.h,
2458 src/target1/t1m_mm2param_cpp.h,
2459 src/target3/glade/setup_druid.cpp, src/target3/glade_dialog.cpp,
2460 src/target3/t3dialog.cpp, src/target3/t3main.cpp,
2461 src/target3/t3project.cpp: checked the bug report messages in
2462 various little run-time tests; they now all carry a BUG: tag.
2463
2464 2002-09-03 09:39 thassine
2465
2466 * src/common/atom.h, src/common/bond.cpp, src/common/bond.h,
2467 src/common/eng1_sf.cpp, src/common/eng1_sf.h,
2468 src/common/engine.cpp, src/common/model.cpp,
2469 src/graphics/project.cpp: some improvements added to sf.
2470
2471 2002-09-02 13:28 thassine
2472
2473 * src/common/bond.cpp, src/common/bond.h, src/common/eng1_sf.cpp,
2474 src/common/eng1_sf.h, src/common/model.cpp,
2475 src/graphics/project.cpp: the all-atoms -> simplified conversion
2476 seems to work now.
2477
2478 2002-08-31 09:57 thassine
2479
2480 * src/common/eng1_qm_mpqc.cpp, src/common/eng2_qm_mm.cpp,
2481 src/common/eng2_qm_mm.h, src/target3/glade/setup_druid.cpp,
2482 src/target3/glade/setup_druid.glade: updated the mpqc-related
2483 stuff; now there are qm/mm engine classes for both mopac and
2484 mpqc. they seem to work technically fine, but without any glue
2485 code the qm and mm parts are not interacting at all. yet.
2486
2487 2002-08-31 08:39 thassine
2488
2489 * src/common/eng1_mm.cpp, src/common/eng1_mm.h,
2490 src/common/eng1_mm_default.cpp, src/common/eng1_mm_prmfit.cpp:
2491 the qm_mm bug was because connectivity records used (global)
2492 indices. now the connectivity records use pointers instead of
2493 indices and now eng2_qm_mm works like expected (when there is no
2494 glue code between the mm and qm parts).
2495
2496 2002-08-30 15:33 thassine
2497
2498 * src/common/eng1_mm.cpp, src/common/eng1_mm.h,
2499 src/common/eng1_mm_default.cpp, src/common/eng1_mm_prmfit.cpp,
2500 src/common/eng1_qm.cpp, src/common/eng1_qm.h,
2501 src/common/eng1_qm_mopac.cpp, src/common/eng1_qm_mopac.h,
2502 src/common/eng1_sf.cpp, src/common/eng1_sf.h,
2503 src/common/eng2_qm_mm.cpp, src/common/engine.cpp,
2504 src/common/engine.h, src/common/model.h,
2505 src/common/tab_mm_default.cpp, src/common/tab_mm_prmfit.cpp,
2506 src/target2/t2project.cpp: the eng classes now use local instead
2507 of global atom numbering (more like the old system). there is a
2508 nonbonded-term bug in qmmm but otherwise it looks good. sf only
2509 compiles.
2510
2511 2002-08-30 10:54 thassine
2512
2513 * src/common/eng1_mm.cpp, src/common/eng1_mm.h,
2514 src/common/eng1_qm.cpp, src/common/eng1_qm.h,
2515 src/common/eng1_sf.cpp, src/common/eng1_sf.h,
2516 src/common/eng2_mm_sf.cpp, src/common/eng2_mm_sf.h,
2517 src/common/eng2_qm_mm.cpp, src/common/eng2_qm_mm.h,
2518 src/common/engine.cpp, src/common/engine.h,
2519 src/target2/t2project.cpp, src/target2/t2project.h,
2520 src/target3/glade/setup_druid.cpp: the setup classes are now
2521 initialized correctly. setup::GetMaxEngineIndex() renamed to
2522 setup::GetEngineCount().
2523
2524 2002-08-30 09:36 thassine
2525
2526 * src/common/Makefile.OLD, src/common/Makefile.in,
2527 src/common/eng1_sf.cpp, src/common/eng1_sf.h,
2528 src/common/eng2_mm_sf.cpp, src/common/eng2_mm_sf.h,
2529 src/target3/glade/setup_druid.cpp: ok, everything compiles now,
2530 including the simplified forcefield stuff.
2531
2532 2002-08-30 06:27 thassine
2533
2534 * src/common/atom.cpp, src/common/atom.h, src/common/eng1_sf.cpp,
2535 src/common/eng1_sf.h, src/common/engine.cpp,
2536 src/common/model.cpp, src/common/model.h,
2537 src/common/seqbuild.cpp, src/common/tab_mm_default.cpp,
2538 src/common/tab_mm_prmfit.cpp, src/graphics/project.cpp,
2539 src/target1/t1m_mm2param_cpp.h: continued porting the simplified
2540 forcefield here (not ready yet, doesn't compile, and needs file
2541 format changes). modified seqbuider::Indentify() so that it would
2542 also detect simplified protein/peptide chains (not ready yet).
2543 converted the bool atom::selected flag into i32u atom::flags that
2544 can carry more information.
2545
2546 2002-08-29 06:30 thassine
2547
2548 * src/common/model.cpp, src/common/seqbuild.cpp,
2549 src/target1/Makefile.OLD, src/target1/t1m_mm1param_cpp.h,
2550 src/target1/t1m_mm1param_h.h, src/target1/t1main.cpp,
2551 src/target2/t2project.cpp, src/target3/t3project.cpp: the new
2552 model::UpdateChains() function now updates the chain/residue
2553 information. all targets brought up-to-date again.
2554
2555 2002-08-28 14:40 thassine
2556
2557 * src/common/atom.cpp, src/common/atom.h, src/common/eng1_mm.cpp,
2558 src/common/model.cpp, src/common/model.h, src/common/search.cpp,
2559 src/common/seqbuild.cpp, src/graphics/project.cpp,
2560 src/target2/t2project.cpp, src/target3/glade/setup_druid.glade:
2561 many changes added. GatherGroups() renamed to UpdateGroups().
2562 is_index_clean and is_groups_clean flags are added so that it
2563 would be better defined whether groups/chains/etc information is
2564 up-to-date or not.
2565
2566 2002-08-28 09:59 thassine
2567
2568 * src/common/eng1_mm.cpp, src/common/eng1_mm.h,
2569 src/common/eng1_qm.cpp, src/common/eng1_qm.h,
2570 src/common/eng1_sf.cpp, src/common/eng1_sf.h,
2571 src/common/eng2_qm_mm.cpp, src/common/eng2_qm_mm.h,
2572 src/common/engine.h, src/common/model.h,
2573 src/target3/glade/setup_druid.cpp,
2574 src/target3/glade/setup_druid.glade,
2575 src/target3/glade/setup_druid.h: the setup_druid now works, with
2576 minimal functionality so that one can select between an MM and QM
2577 model.
2578
2579 2002-08-27 14:54 thassine
2580
2581 * src/common/atom.cpp, src/common/eng1_sf.h, src/common/intcrd.cpp,
2582 src/common/model.cpp: some bugfixes added; the conformational
2583 search tools should work now.
2584
2585 2002-08-27 11:41 thassine
2586
2587 * src/target3/glade/file_import_dialog.cpp,
2588 src/target3/t3dialog.cpp, src/target3/t3dialog.h,
2589 src/target3/t3project.cpp, src/target3/t3project.h: added the
2590 File/ExtraTools also here.
2591
2592 2002-08-21 07:32 thassine
2593
2594 * src/common/eng1_sf.cpp, src/common/model.cpp, src/common/model.h,
2595 src/common/seqbuild.cpp, src/common/seqbuild.h,
2596 src/graphics/ribbon.cpp, src/target2/t2project.cpp,
2597 src/target3/t3project.cpp: improvements added to the seqbuilder
2598 and chn_info classes.
2599
2600 2002-08-01 07:31 thassine
2601
2602 * src/common/engine.cpp, src/common/intcrd.cpp,
2603 src/common/model.cpp: bounds checking added to CopyCRD()
2604 functions; bugs fixed from the new crd_set data storage system;
2605 WARNING there still is something wrong with the intcrd class
2606 (geometries get distorted).
2607
2608 2002-07-31 10:09 thassine
2609
2610 * src/graphics/camera.cpp: the fps counter added also to HEAD.
2611
2612 2002-07-30 07:07 thassine
2613
2614 * src/common/atom.cpp, src/common/atom.h, src/common/eng1_mm.cpp,
2615 src/common/eng1_qm.cpp, src/common/eng1_qm_mopac.cpp,
2616 src/common/engine.cpp, src/common/filetrans.cpp,
2617 src/common/intcrd.cpp, src/common/intcrd.h, src/common/model.cpp,
2618 src/common/model.h, src/common/seqbuild.cpp,
2619 src/common/tab_mm_prmfit.cpp, src/common/utility.cpp,
2620 src/graphics/project.cpp, src/graphics/ribbon.cpp,
2621 src/graphics/views.cpp: the coordinate data storage at atom class
2622 is converted into a less error-prone system. it's no more
2623 possible to access the data directly, but only using the
2624 atom::GetCRD() and atom::SetCRD() member functions.
2625
2626 2002-07-23 12:27 thassine
2627
2628 * src/common/model.cpp, src/common/model.h,
2629 src/graphics/project.cpp, src/target2/t2project.cpp: the memory
2630 management scheme of crd_set objects is now simpler.
2631
2632 2002-07-23 09:34 thassine
2633
2634 * src/common/engine.h, src/common/model.cpp, src/common/model.h,
2635 src/common/search.cpp, src/common/search.h,
2636 src/target2/t2project.cpp, src/target3/t3project.cpp,
2637 src/target3/t3project.h: the search tool improvements ported also
2638 here.
2639
2640 2002-07-23 09:04 thassine
2641
2642 * src/common/eng1_sf.cpp, src/common/eng1_sf.h,
2643 src/common/engine.h: added some fixes to SF, althought it does
2644 not even compile yet; therefore the ENABLE_SIMPLIFIED macro is
2645 disabled at config.h
2646
2647 2002-06-20 13:48 thassine
2648
2649 * src/common/prefs.h, src/target3/t3prefs.cpp,
2650 src/target3/t3prefs.h, src/target3/t3project.cpp: added the v0.90
2651 bugfixes also to HEAD.
2652
2653 2002-06-19 12:56 thassine
2654
2655 * src/common/Makefile.OLD, src/common/Makefile.in,
2656 src/common/atom.cpp, src/common/atom.h, src/common/eng1_mm.h,
2657 src/common/eng1_sf.cpp, src/common/eng1_sf.h,
2658 src/common/engine.h, src/common/model.cpp, src/common/moldyn.cpp,
2659 src/common/seqbuild.h, src/graphics/project.cpp,
2660 src/target1/config.h.OLD, src/target2/config.h.OLD,
2661 src/target2/t2project.cpp, src/target3/config.h.OLD: added some
2662 changes that were needed to port the simplified forcefield of
2663 mine to HEAD. it's not working yet and not even compile yet, but
2664 it doesn't matter since one have to set the ENABLE_SIMPLIFIED
2665 macro to compile that stuff in...
2666
2667 2002-06-17 10:40 thassine
2668
2669 * Makefile.in, src/common/define.h, src/common/eng1_sf.cpp,
2670 src/common/model.cpp, src/common/model.h,
2671 src/common/tab_mm_default.cpp,
2672 src/target3/glade/file_export_dialog.cpp,
2673 src/target3/glade/file_export_dialog.h,
2674 src/target3/glade/file_import_dialog.cpp,
2675 src/target3/glade/file_import_dialog.h,
2676 src/target3/glade/geomopt_dialog.cpp,
2677 src/target3/glade/geomopt_dialog.h,
2678 src/target3/glade/moldyn_dialog.cpp,
2679 src/target3/glade/moldyn_dialog.h,
2680 src/target3/glade/setup_druid.cpp,
2681 src/target3/glade/setup_druid.h,
2682 src/target3/glade/trajview_dialog.cpp,
2683 src/target3/glade/trajview_dialog.h,
2684 src/target3/glade_dialog.cpp, src/target3/glade_dialog.h,
2685 src/target3/t3dialog.cpp, src/target3/t3project.cpp: the glade
2686 files are now installed correctly by make install.
2687
2688 2002-06-14 11:47 thassine
2689
2690 * src/Makefile.OLD: fixed src/Makefile.OLD clean: also in HEAD.
2691
2692 2002-06-13 13:09 thassine
2693
2694 * src/common/conjgrad.cpp, src/common/conjgrad.h: also copied
2695 conjgrad changes to HEAD.
2696
2697 2002-06-08 09:01 thassine
2698
2699 * src/target3/glade/setup_druid.cpp,
2700 src/target3/glade/setup_druid.glade,
2701 src/target3/glade/setup_druid.h, src/target3/t3main.cpp: the
2702 setup_druid can now correctly change the pages with prev/next
2703 buttons.
2704
2705 2002-06-07 12:49 thassine
2706
2707 * src/target3/glade/Makefile.OLD, src/target3/glade/Makefile.in,
2708 src/target3/glade/setup_druid.cpp,
2709 src/target3/glade/setup_druid.glade,
2710 src/target3/glade/setup_druid.h, src/target3/t3project.cpp: added
2711 an initial version of the setup druid (nothing except cancel
2712 works).
2713
2714 2002-06-07 08:26 thassine
2715
2716 * src/target3/glade/Makefile.OLD, src/target3/glade/Makefile.in,
2717 src/target3/glade/file_export_dialog.cpp,
2718 src/target3/glade/file_export_dialog.glade,
2719 src/target3/glade/file_export_dialog.h,
2720 src/target3/glade/file_import_dialog.cpp,
2721 src/target3/glade/file_import_dialog.glade,
2722 src/target3/glade/file_import_dialog.h,
2723 src/target3/t3project.cpp: added the file import/export dialogs.
2724
2725 2002-06-07 06:38 thassine
2726
2727 * src/target3/glade/Makefile.OLD, src/target3/glade/Makefile.in,
2728 src/target3/glade/geomopt_dialog.cpp,
2729 src/target3/glade/geomopt_dialog.glade,
2730 src/target3/glade/geomopt_dialog.h,
2731 src/target3/glade/moldyn_dialog.cpp,
2732 src/target3/glade/moldyn_dialog.glade,
2733 src/target3/glade/moldyn_dialog.h,
2734 src/target3/glade/trajview_dialog.cpp,
2735 src/target3/glade/trajview_dialog.glade,
2736 src/target3/glade/trajview_dialog.h, src/target3/t3dialog.cpp,
2737 src/target3/t3dialog.h, src/target3/t3main.cpp,
2738 src/target3/t3project.cpp, src/target3/t3project.h: new dialogs
2739 added, and dialog memory leaks fixed (hopefully). the dialogs are
2740 now always created with new, and delete is always called at
2741 destroy signal handler of the dialog.
2742
2743 2002-06-05 11:39 thassine
2744
2745 * src/Makefile.OLD: added some Makefile tweaks.
2746
2747 2002-06-05 10:25 thassine
2748
2749 * src/target3/glade/Makefile.OLD,
2750 src/target3/glade/geomopt_dialog.cpp,
2751 src/target3/glade/geomopt_dialog.glade,
2752 src/target3/glade/geomopt_dialog.h, src/target3/glade_dialog.h,
2753 src/target3/t3project.cpp: the geomopt dialog now works using
2754 libglade.
2755
2756 2002-06-03 10:23 thassine
2757
2758 * openbabel/fileformat.h: oops, my mistake. of course there were
2759 nothing wrong with fileformat.h but I had an obsolete Makefile.
2760 the changes are reverted.
2761
2762 2002-06-03 09:50 thassine
2763
2764 * openbabel/fileformat.h: there were some undefined functions at
2765 fileformat.cpp; just made some dummy functions in fileformat.h so
2766 that OB can be compiled...
2767
2768 2002-05-31 16:34 hutchisn
2769
2770 * configure, configure.in, miniMOPAC/Makefile.in,
2771 src/common/Makefile.in, src/graphics/Makefile.in,
2772 src/target3/Makefile.in, src/target3/glade/Makefile.in,
2773 src/target3/glade/geomopt_dialog.h: Updated makefiles for
2774 libglade, etc.
2775
2776 2002-05-31 16:31 hutchisn
2777
2778 * openbabel/Makefile.in, openbabel/Vector.cpp, openbabel/Vector.h,
2779 openbabel/alchemy.cpp, openbabel/amber.cpp, openbabel/aromatic.h,
2780 openbabel/aromatic.txt, openbabel/atom.cpp, openbabel/atomtyp.h,
2781 openbabel/atomtyp.txt, openbabel/balst.cpp, openbabel/base.cpp,
2782 openbabel/base.h, openbabel/bgf.cpp, openbabel/bin2hex.pl,
2783 openbabel/binary.cpp, openbabel/binary.h,
2784 openbabel/binary_io.cpp, openbabel/binary_io.h,
2785 openbabel/bitgrid.cpp, openbabel/bitgrid.h, openbabel/bitvec.h,
2786 openbabel/bond.cpp, openbabel/bond.txt, openbabel/box.cpp,
2787 openbabel/c3d.cpp, openbabel/cacao.cpp, openbabel/cache.cpp,
2788 openbabel/car.cpp, openbabel/chains.cpp, openbabel/chdrw.cpp,
2789 openbabel/chiral.cpp, openbabel/chiral.h, openbabel/cml.cpp,
2790 openbabel/commandline.h, openbabel/csr.cpp, openbabel/cssr.cpp,
2791 openbabel/ctransform.cpp, openbabel/ctransform.h,
2792 openbabel/data.cpp, openbabel/data.h, openbabel/dmol.cpp,
2793 openbabel/element.h, openbabel/extable.h, openbabel/extable.txt,
2794 openbabel/feat.cpp, openbabel/fh.cpp, openbabel/fileformat.cpp,
2795 openbabel/fileformat.h, openbabel/gamess.cpp,
2796 openbabel/gaussian.cpp, openbabel/generic.cpp,
2797 openbabel/generic.h, openbabel/ghemical.cpp, openbabel/grid.h,
2798 openbabel/gromos96.cpp, openbabel/hin.cpp, openbabel/jaguar.cpp,
2799 openbabel/main.cpp, openbabel/matrix.cpp, openbabel/matrix.h,
2800 openbabel/mmod.cpp, openbabel/mol.cpp, openbabel/mol.h,
2801 openbabel/molchrg.cpp, openbabel/molchrg.h,
2802 openbabel/molvector.cpp, openbabel/molvector.h,
2803 openbabel/mopac.cpp, openbabel/mpqc.cpp, openbabel/nwchem.cpp,
2804 openbabel/obifstream.h, openbabel/oblib.dsp,
2805 openbabel/obutil.cpp, openbabel/obutil.h, openbabel/parsmart.cpp,
2806 openbabel/parsmart.h, openbabel/parsmi.cpp, openbabel/patty.cpp,
2807 openbabel/patty.h, openbabel/pdb.cpp, openbabel/phmodel.cpp,
2808 openbabel/phmodel.h, openbabel/phmodel.txt,
2809 openbabel/phmodeldata.h, openbabel/qchem.cpp,
2810 openbabel/report.cpp, openbabel/resdata.h, openbabel/ring.cpp,
2811 openbabel/ring.h, openbabel/rotor.cpp, openbabel/rotor.h,
2812 openbabel/smarts.cpp, openbabel/smarts.h, openbabel/smi.cpp,
2813 openbabel/smi.h, openbabel/tinker.cpp, openbabel/tokenst.cpp,
2814 openbabel/typer.cpp, openbabel/typer.h, openbabel/types.h,
2815 openbabel/unichem.cpp, openbabel/viewmol.cpp, openbabel/xed.cpp,
2816 openbabel/xyz.cpp: Merge in current Open Babel (w/ CML and proper
2817 namespace support).
2818
2819 2002-05-31 08:12 thassine
2820
2821 * src/common/Makefile.in, src/graphics/Makefile.in,
2822 src/target3/Makefile.in, src/target3/glade/Makefile.in: fixes
2823 added to makefiles; now the configuration works otherwise except
2824 that libglade incs and libs are missing.
2825
2826 2002-05-30 12:43 thassine
2827
2828 * configure, configure.in, src/common/define.h: promoted the
2829 version number to 0.85 in the HEAD branch.
2830
2831 2002-05-30 11:07 thassine
2832
2833 * Makefile.in, configure, configure.in, src/common/Makefile.in,
2834 src/common/eng1_sf.cpp, src/common/tab_mm_default.cpp,
2835 src/graphics/Makefile.in, src/target3/Makefile.in,
2836 src/target3/glade/Makefile.in: minor fixes like changed
2837 directories etc added.
2838
2839 2002-05-30 09:39 thassine
2840
2841 * bin/parameters/param_mm, bin/parameters/param_mm/default,
2842 bin/parameters/param_mm/default/atomtypes.txt,
2843 bin/parameters/param_mm/default/parameters1.txt,
2844 bin/parameters/param_mm/default/parameters2.txt,
2845 bin/parameters/param_mm/default/parameters3.txt,
2846 bin/parameters/param_mm/default/parameters4.txt,
2847 bin/parameters/param_mm/default/parameters5.txt,
2848 bin/parameters/param_sf, bin/parameters/param_sf/default,
2849 bin/parameters/param_sf/default/loopdip.txt,
2850 bin/parameters/param_sf/default/looptor.txt,
2851 bin/parameters/param_sf/default/nonbonded.txt,
2852 src/some-extra-files/newfile.cpp, src/some-extra-files/newfile.h:
2853 added new files to bin/parameters and some minor stuff.
2854
2855 2002-05-30 09:34 thassine
2856
2857 * bin/parameters/mm1param, bin/parameters/mm2param: removed old
2858 files under bin/parameters.
2859
2860 2002-05-30 09:29 thassine
2861
2862 * src/common/atom.cpp, src/common/atom.h, src/common/bond.cpp,
2863 src/common/bond.h, src/common/define.h, src/common/eng1_mm.cpp,
2864 src/common/eng1_mm.h, src/common/eng1_mm_default.cpp,
2865 src/common/eng1_mm_default.h, src/common/eng1_mm_prmfit.cpp,
2866 src/common/eng1_mm_prmfit.h, src/common/eng1_qm.cpp,
2867 src/common/eng1_qm.h, src/common/eng1_qm_mopac.cpp,
2868 src/common/eng1_qm_mopac.h, src/common/eng1_qm_mpqc.cpp,
2869 src/common/eng1_qm_mpqc.h, src/common/eng1_sf.cpp,
2870 src/common/eng1_sf.h, src/common/eng2_qm_mm.cpp,
2871 src/common/eng2_qm_mm.h, src/common/engine.cpp,
2872 src/common/engine.h, src/common/filetrans.cpp,
2873 src/common/filetrans.h, src/common/geomopt.cpp,
2874 src/common/geomopt.h, src/common/intcrd.cpp, src/common/intcrd.h,
2875 src/common/model.cpp, src/common/model.h, src/common/moldyn.cpp,
2876 src/common/moldyn.h, src/common/search.cpp, src/common/search.h,
2877 src/common/seqbuild.cpp, src/common/seqbuild.h,
2878 src/common/tab_mm_default.cpp, src/common/tab_mm_default.h,
2879 src/common/tab_mm_prmfit.cpp, src/common/tab_mm_prmfit.h,
2880 src/common/typedef.h, src/common/typerule.cpp,
2881 src/common/typerule.h, src/common/utility.cpp,
2882 src/common/utility.h, src/graphics/camera.cpp,
2883 src/graphics/camera.h, src/graphics/color.h,
2884 src/graphics/mtools.cpp, src/graphics/plane.cpp,
2885 src/graphics/plane.h, src/graphics/project.cpp,
2886 src/graphics/project.h, src/graphics/ribbon.cpp,
2887 src/graphics/ribbon.h, src/graphics/surface.cpp,
2888 src/graphics/surface.h, src/graphics/views.cpp,
2889 src/graphics/views.h, src/target1/t1main.cpp,
2890 src/target2/t2main.cpp, src/target2/t2main.h,
2891 src/target2/t2project.cpp, src/target2/t2project.h,
2892 src/target2/t2views.cpp, src/target2/t2views.h,
2893 src/target3/glade_dialog.cpp, src/target3/glade_dialog.h,
2894 src/target3/t3dialog.cpp, src/target3/t3dialog.h,
2895 src/target3/t3main.cpp, src/target3/t3main.h,
2896 src/target3/t3project.cpp, src/target3/t3project.h,
2897 src/target3/t3views.cpp, src/target3/t3views.h: added the new
2898 files.
2899
2900 2002-05-30 09:18 thassine
2901
2902 * src/common/interface.cpp, src/common/interface.h,
2903 src/common/matrix.h, src/common/mm1alg.cpp, src/common/mm1alg.h,
2904 src/common/mm1eng.cpp, src/common/mm1eng.h,
2905 src/common/mm1eng1.cpp, src/common/mm1eng1.h,
2906 src/common/mm1eng9.cpp, src/common/mm1eng9.h,
2907 src/common/mm1ic.cpp, src/common/mm1ic.h, src/common/mm1mdl.cpp,
2908 src/common/mm1mdl.h, src/common/mm1tab1.cpp,
2909 src/common/mm1tab1.h, src/common/mm1tab9.cpp,
2910 src/common/mm1tab9.h, src/common/mm1util.cpp,
2911 src/common/mm1util.h, src/common/mm2alg.cpp, src/common/mm2alg.h,
2912 src/common/mm2eng.cpp, src/common/mm2eng.h,
2913 src/common/mm2mdl.cpp, src/common/mm2mdl.h,
2914 src/common/mm2util.cpp, src/common/mm2util.h,
2915 src/common/mm3mdl.cpp, src/common/mm3mdl.h,
2916 src/common/qm1alg.cpp, src/common/qm1alg.h,
2917 src/common/qm1e_mopac.cpp, src/common/qm1e_mopac.h,
2918 src/common/qm1e_mpqc.cpp, src/common/qm1e_mpqc.h,
2919 src/common/qm1eng.cpp, src/common/qm1eng.h,
2920 src/common/qm1mdl.cpp, src/common/qm1mdl.h,
2921 src/common/qm2eng.cpp, src/common/qm2eng.h,
2922 src/common/qm2mdl.cpp, src/common/qm2mdl.h,
2923 src/graphics/docview.cpp, src/graphics/docview.h,
2924 src/graphics/io-jpg.cpp, src/graphics/io-jpg.h,
2925 src/graphics/io-png.cpp, src/graphics/io-png.h,
2926 src/graphics/mm1docv.cpp, src/graphics/mm1docv.h,
2927 src/graphics/mm1rbn.cpp, src/graphics/mm1rbn.h,
2928 src/graphics/mm2docv.cpp, src/graphics/mm2docv.h,
2929 src/graphics/mm2rbn.cpp, src/graphics/mm2rbn.h,
2930 src/graphics/mm3docv.cpp, src/graphics/mm3docv.h,
2931 src/graphics/qm1docv.cpp, src/graphics/qm1docv.h,
2932 src/graphics/qm2docv.cpp, src/graphics/qm2docv.h,
2933 src/target2/t2docv.cpp, src/target2/t2docv.h,
2934 src/target2/t2mm1docv.cpp, src/target2/t2mm1docv.h,
2935 src/target2/t2mm2docv.cpp, src/target2/t2mm2docv.h,
2936 src/target2/t2mm3docv.cpp, src/target2/t2mm3docv.h,
2937 src/target2/t2qm1docv.cpp, src/target2/t2qm1docv.h,
2938 src/target2/t2qm2docv.cpp, src/target2/t2qm2docv.h,
2939 src/target3/glade_callbacks.cpp, src/target3/glade_callbacks.h,
2940 src/target3/glade_interface.cpp, src/target3/glade_interface.h,
2941 src/target3/glade_support.cpp, src/target3/glade_support.h,
2942 src/target3/t3docv.cpp, src/target3/t3docv.h,
2943 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
2944 src/target3/t3mm2docv.cpp, src/target3/t3mm2docv.h,
2945 src/target3/t3qm1docv.cpp, src/target3/t3qm1docv.h,
2946 src/target3/t3qm2docv.cpp, src/target3/t3qm2docv.h: the
2947 old/renamed files are removed.
2948
2949 2002-05-30 08:29 thassine
2950
2951 * src/target3/glade/README: update the glade README
2952
2953 2002-05-30 08:27 thassine
2954
2955 * src/target1/config.h.OLD, src/target2/config.h.OLD,
2956 src/target3/config.h.OLD, src/target3/glade/Makefile.OLD,
2957 src/target3/glade/Makefile.in,
2958 src/target3/glade/geomopt_dialog.cpp,
2959 src/target3/glade/geomopt_dialog.glade,
2960 src/target3/glade/geomopt_dialog.h,
2961 src/target3/glade/ghemical.glade, src/target3/glade/src: added
2962 changes to config.h.OLD files and src/target3/glade dir.
2963
2964 2002-05-30 08:17 thassine
2965
2966 * src/Makefile.OLD, src/common/Makefile.OLD,
2967 src/common/Makefile.in, src/graphics/Makefile.OLD,
2968 src/graphics/Makefile.in, src/target2/Makefile.OLD,
2969 src/target3/Makefile.OLD, src/target3/Makefile.in: the makefiles
2970 are updated.
2971
2972 2002-05-30 07:40 thassine
2973
2974 * CHANGES: the changelog is updated.
2975
2976 2002-05-30 07:35 thassine
2977
2978 * src/Makefile.OLD: test; this goes to HEAD branch...
2979
2980 2002-05-29 08:11 thassine
2981
2982 * CHANGES: again testing that the OSP_BRANCH is separate; seems to
2983 be but cvs2cl picks all commits to the log; I'll start using OSP:
2984 identifier when working with the branch in the future.
2985
2986 2002-05-28 09:03 thassine
2987
2988 * CHANGES: updated the changelog (using cvs2cl again).
2989
2990 2002-05-28 07:57 thassine
2991
2992 * src/common/define.h: ooop, reverted the previous.
2993
2994 2002-05-28 07:55 thassine
2995
2996 * src/common/define.h: just testing how the branches work.
2997
2998 2002-05-27 13:36 thassine
2999
3000 * bin/parameters/mm2param/loopdip.txt,
3001 bin/parameters/mm2param/looptor.txt,
3002 bin/parameters/mm2param/nonbonded.txt,
3003 small-utilities/getpdb_cd.cpp, small-utilities/getpdb_ftp.cpp,
3004 src/common/Makefile.OLD, src/common/Makefile.in,
3005 src/common/mm1mdl.h, src/common/mm1util.h, src/common/mm2alg.h,
3006 src/common/mm2eng.cpp, src/common/mm2eng.h,
3007 src/common/mm2mdl.cpp, src/common/mm2mdl.h,
3008 src/common/mm2util.cpp, src/common/mm2util.h,
3009 src/common/mm3mdl.cpp, src/common/mm3mdl.h,
3010 src/graphics/Makefile.OLD, src/graphics/Makefile.in,
3011 src/graphics/mm2docv.cpp, src/graphics/mm3docv.cpp,
3012 src/graphics/mm3docv.h, src/graphics/views.h,
3013 src/target1/Makefile.OLD, src/target1/t1m_mm2param_cpp.h,
3014 src/target2/Makefile.OLD, src/target2/t2main.cpp,
3015 src/target2/t2main.h, src/target2/t2mm2docv.cpp,
3016 src/target2/t2mm3docv.cpp, src/target2/t2mm3docv.h,
3017 src/target3/Makefile.OLD, src/target3/Makefile.in: added some of
3018 my own works; not all of this stuff is ready, but I need to start
3019 converting them to fit into single-project environment.
3020
3021 2002-05-22 07:23 thassine
3022
3023 * Makefile.in, configure, configure.in: configure script now
3024 updated, scripts now compatible with autoconf 2.53
3025
3026 2002-05-21 11:06 thassine
3027
3028 * aclocal.m4, configure.in, src/common/Makefile.OLD,
3029 src/common/qm1e_mpqc.cpp, src/common/qm1e_mpqc.h,
3030 src/config.h.in, src/graphics/Makefile.OLD,
3031 src/graphics/Makefile.in, src/target1/Makefile.OLD,
3032 src/target1/config.h.OLD, src/target2/Makefile.OLD,
3033 src/target2/config.h.OLD, src/target3/Makefile.OLD,
3034 src/target3/Makefile.in, src/target3/config.h.OLD: added the
3035 configuration system for MPQC v1/v2 (thanks to Michael); BTW you
3036 still have to run autoconf to update the configure script.
3037
3038 2002-05-20 07:45 thassine
3039
3040 * src/common/Makefile.OLD, src/common/qm1e_mpqc.cpp,
3041 src/common/qm1e_mpqc.h, src/graphics/Makefile.OLD,
3042 src/target1/Makefile.OLD, src/target2/Makefile.OLD,
3043 src/target3/Makefile.OLD: support for MPQC v2 was added (but
3044 ./configure still needs update).
3045
3046 2002-05-20 06:17 thassine
3047
3048 * src/target1/t1m_mm1param_cpp.h, src/target1/t1m_mm1param_h.h:
3049 oops, forgot to add some files last time.
3050
3051 2002-05-17 07:30 thassine
3052
3053 * src/common/mm1eng9.cpp, src/common/mm1eng9.h,
3054 src/common/mm1mdl.cpp, src/common/mm1mdl.h,
3055 src/common/mm1tab9.cpp, src/common/mm1tab9.h,
3056 src/target1/t1main.cpp, src/target1/t1main.h,
3057 src/target2/t2mm1docv.cpp: added my (so far incomplete) system
3058 for fitting MM force field parameters; this stuff is not really
3059 working yet.
3060
3061 2002-04-29 14:03 thassine
3062
3063 * src/common/define.h, src/graphics/mm2docv.cpp,
3064 src/target2/t2mm2docv.cpp, src/target3/t3mm2docv.cpp,
3065 src/target3/t3mm2docv.h: added LABEL_RESIDUE for mm2_docv.
3066
3067 2002-04-17 10:24 thassine
3068
3069 * src/common/mm2util.cpp, src/common/model.cpp: a few bugs that
3070 freed memory multiple times were fixed. there still remains
3071 maaany memory leaks, but they are less dangerous than these.
3072
3073 2002-04-16 06:56 thassine
3074
3075 * src/common/mm2mdl.cpp, src/graphics/mm2docv.cpp: some comments
3076 and minor fixes added to mm2_mdl.
3077
3078 2002-04-09 10:18 thassine
3079
3080 * src/graphics/mm2docv.cpp, src/target3/t3mm1docv.cpp,
3081 src/target3/t3mm1docv.h, src/target3/t3mm2docv.cpp,
3082 src/target3/t3mm2docv.h, src/target3/t3qm1docv.cpp,
3083 src/target3/t3qm1docv.h: some colour/label mode improvements
3084 added.
3085
3086 2002-04-08 14:32 thassine
3087
3088 * src/graphics/mm2docv.cpp, src/graphics/mm2docv.h,
3089 src/graphics/mm2rbn.cpp: some cleanups added to the mm2_docv
3090 rendering code - should not change the looks/anything.
3091
3092 2002-04-04 12:18 thassine
3093
3094 * BUGLIST, TODO: the BUGLIST and TODO files are now CSV text files
3095 - use a spreadsheet program like Gnumeric or StarOffice/Calc to
3096 read and/or modify them.
3097
3098 2002-04-04 08:43 thassine
3099
3100 * src/graphics/camera.cpp: some cleanups done for the stereo modes;
3101 now the effect seems to be independent of orientation.
3102
3103 2002-03-26 18:27 hutchisn
3104
3105 * openbabel/mol.cpp, openbabel/pdb.cpp: Fixes OpenBabel PDB import
3106 problems (PR #529744 for OpenBabel).
3107
3108 2002-02-28 11:43 thassine
3109
3110 * ghemical.spec: the .spec file updated; the RPM now does the
3111 installation with prefix /usr instead of /usr/local.
3112
3113 2002-02-27 09:26 thassine
3114
3115 * miniMOPAC/Makefile.in: modified miniMOPAC/Makefile.in so that -O
3116 optimization is forced in the miniMOPAC directory.
3117
3118 2002-02-26 08:28 thassine
3119
3120 * ghemical.spec: some updates added to .spec file.
3121
3122 2002-02-25 11:29 thassine
3123
3124 * AUTHORS, bin/ghemical.xpm, ghemical.spec: added the files for
3125 building RedHat binary packages, contributed by Radek Liboska.
3126
3127 2002-02-22 14:09 thassine
3128
3129 * configure, configure.in, src/common/define.h,
3130 src/common/notice.cpp: switch back to development settings.
3131
3132 2002-02-22 10:36 thassine
3133
3134 * CHANGES, INSTALL, src/common/define.h: changelog updated and all
3135 settings are now ready for release as v0.82
3136
3137 2002-02-22 08:29 thassine
3138
3139 * src/target3/t3mm1docv.cpp: a small fix added to the library
3140 widget generation code.
3141
3142 2002-02-21 14:26 thassine
3143
3144 * bin/user-docs/index.html, bin/user-docs/using_cs_tools.html,
3145 bin/user-docs/using_cs_tools01.jpg,
3146 bin/user-docs/using_cs_tools02.jpg,
3147 bin/user-docs/using_cs_tools03.jpg,
3148 bin/user-docs/using_cs_tools04.jpg,
3149 bin/user-docs/using_cs_tools05.jpg: user's manual is enhanced; it
3150 now contains a section about 1D and 2D energy plots.
3151
3152 2002-02-20 10:34 thassine
3153
3154 * INSTALL, src/common/mm1alg.h, src/common/mm1mdl.cpp,
3155 src/common/mm2alg.h, src/common/mm2mdl.cpp, src/common/qm1alg.h,
3156 src/common/qm1mdl.cpp, src/target1/Makefile.OLD,
3157 src/target2/Makefile.OLD, src/target2/t2mm1docv.cpp,
3158 src/target2/t2mm2docv.cpp, src/target2/t2qm1docv.cpp,
3159 src/target3/Makefile.OLD, src/target3/glade_callbacks.cpp,
3160 src/target3/glade_interface.cpp, src/target3/t3mm1docv.cpp,
3161 src/target3/t3mm2docv.cpp, src/target3/t3qm1docv.cpp: old
3162 makefiles updated, and the code added for geomopt dialogs +
3163 calculations that separates the different termination criteria
3164 and makes them optional. it also prints out which criteria was
3165 used to terminate the optimization.
3166
3167 2002-02-18 17:06 hutchisn
3168
3169 * openbabel/pdb.cpp: Don't try to run PerceiveBondOrders yet...
3170 this seems to be very buggy.
3171
3172 2002-02-18 16:53 hutchisn
3173
3174 * openbabel/Makefile.in, openbabel/alchemy.cpp,
3175 openbabel/amber.cpp, openbabel/aromatic.txt, openbabel/atom.cpp,
3176 openbabel/balst.cpp, openbabel/box.cpp, openbabel/c3d.cpp,
3177 openbabel/cacao.cpp, openbabel/car.cpp, openbabel/ccc.cpp,
3178 openbabel/commandline.h, openbabel/ctransform.h,
3179 openbabel/data.cpp, openbabel/data.h, openbabel/dmol.cpp,
3180 openbabel/element.h, openbabel/element.txt, openbabel/extable.h,
3181 openbabel/extable.txt, openbabel/feat.cpp, openbabel/gamess.cpp,
3182 openbabel/gaussian.cpp, openbabel/ghemical.cpp, openbabel/grid.h,
3183 openbabel/hin.cpp, openbabel/jaguar.cpp, openbabel/main.cpp,
3184 openbabel/mol.cpp, openbabel/mol.h, openbabel/mopac.cpp,
3185 openbabel/mpqc.cpp, openbabel/nwchem.cpp, openbabel/obutil.cpp,
3186 openbabel/obutil.h, openbabel/patty.cpp, openbabel/pdb.cpp,
3187 openbabel/phmodel.cpp, openbabel/qchem.cpp, openbabel/report.cpp,
3188 openbabel/rotor.cpp, openbabel/smarts.h, openbabel/typer.cpp,
3189 openbabel/unichem.cpp, openbabel/version.h.in, openbabel/xyz.cpp:
3190 Updated Open Babel code, including preliminary bond-order
3191 perception.
3192
3193 2002-01-31 13:50 thassine
3194
3195 * miniMOPAC/README: some documentation fixes for miniMOPAC.
3196
3197 2002-01-31 12:25 thassine
3198
3199 * src/target3/glade/ghemical.glade,
3200 src/target3/glade/src/glade_interface.cpp,
3201 src/target3/glade_interface.cpp: the check boxes for different
3202 termination criteria were added to the geomopt GLADE dialog;
3203 their states are not yet checked however.
3204
3205 2002-01-25 16:09 hutchisn
3206
3207 * small-utilities/Makefile, small-utilities/README,
3208 small-utilities/symmetry.c: Add Symmetry program (from Sergei
3209 Pachkovsky, who gave OK to use in Ghemical)
3210
3211 2002-01-25 13:42 thassine
3212
3213 * src/common/Makefile.OLD, src/common/define.h,
3214 src/common/qm1mdl.cpp, src/graphics/Makefile.OLD,
3215 src/target1/Makefile.OLD, src/target2/Makefile.OLD,
3216 src/target3/Makefile.OLD: some comments added, and old makefiles
3217 are fixed/updated.
3218
3219 2002-01-25 04:39 hutchisn
3220
3221 * src/target3/glade_callbacks.cpp, src/target3/t3mm1docv.cpp: Make
3222 sure we actually set the optimization limits after the dialog
3223 completes...
3224
3225 2002-01-25 04:35 hutchisn
3226
3227 * openbabel/unichem.cpp: Fix unichem XYZ support (read should
3228 expect atomic numbers in Unichem files).
3229
3230 2002-01-22 15:27 thassine
3231
3232 * src/target3/glade_interface.h, src/target3/glade_support.cpp:
3233 verified that /target3 and /target3/glade/src keep in sync...
3234
3235 2002-01-21 22:23 hutchisn
3236
3237 * src/common/mm1alg.h, src/common/mm1mdl.cpp, src/common/mm2alg.h,
3238 src/common/qm1alg.h, src/common/qm1mdl.cpp,
3239 src/target3/glade/ghemical.glade,
3240 src/target3/glade/src/glade_interface.cpp,
3241 src/target3/glade/src/glade_support.cpp,
3242 src/target3/glade_interface.cpp, src/target3/t3mm1docv.cpp,
3243 src/target3/t3mm2docv.cpp, src/target3/t3qm1docv.cpp: Add support
3244 for terminating geometry optimizations "early" based on delta E
3245 or
3246 small gradient. Currently does not have a UI for termination
3247 based on small
3248 step, and this is set to 1.0e-12 so this should never happen.
3249
3250 2002-01-21 11:45 thassine
3251
3252 * src/common/mm1mdl.cpp, src/common/qm1mdl.cpp: the geomopt output
3253 now displays accurate gradient vector lengths.
3254
3255 2002-01-21 07:44 thassine
3256
3257 * INSTALL, oelib: removed .cvsignore from the oelib directory.
3258
3259 2002-01-18 19:59 hutchisn
3260
3261 * src/common/mm1mdl.cpp, src/common/qm1mdl.cpp: Added user-friendly
3262 display of the step-size, displacement and delta E
3263 in geom opt.
3264 Seems to indicate that most geom opt can quit early with tests
3265 for displ. and/or delta E.
3266
3267 2002-01-15 09:12 thassine
3268
3269 * src/graphics/mm1docv.cpp: in the 1D and 2D energy plotting tools
3270 of mm1_docv it is now possible to select a smaller range of
3271 angles if needed, and the final energy can be calculated also
3272 using QM methods (so now it's possible to compare MM results
3273 against QM results as well as compare different QM results).
3274
3275 2002-01-14 19:10 thassine
3276
3277 * src/common/Makefile.OLD, src/graphics/Makefile.OLD,
3278 src/target1/Makefile.OLD, src/target2/Makefile.OLD,
3279 src/target3/Makefile.OLD: converted the old makefiles to use the
3280 new openbabel-paths.
3281
3282 2002-01-14 18:12 hutchisn
3283
3284 * src/common/filetrans.cpp: Delete filename at appropriate
3285 time--Babel uses it for a Title when exporting.
3286
3287 2002-01-14 03:57 hutchisn
3288
3289 * configure, configure.in: Add almost-forgotten configure tests
3290 contributed by Michael Banck--check for f2c if g2c is not found
3291 (and give an error if neither is found).
3292
3293 2002-01-11 15:20 hutchisn
3294
3295 * src/common/Makefile.in, src/graphics/Makefile.in,
3296 src/target3/Makefile.in: Makefile fixes.
3297
3298 2002-01-10 23:04 hutchisn
3299
3300 * configure, configure.in, src/common/Makefile.in,
3301 src/target3/Makefile.in: Added support for Michael Banck's SC
3302 autoconf macros to simplify building MPQC.
3303
3304 2002-01-10 22:45 hutchisn
3305
3306 * Makefile.in, PROJECT, config.guess, config.sub, configure,
3307 configure.in, oelib/GNULICENSE.txt, oelib/Makefile.in,
3308 oelib/OELibPrimer.html, oelib/StdAfx.cpp, oelib/StdAfx.h,
3309 oelib/Vector.cpp, oelib/Vector.h, oelib/alchemy.cpp,
3310 oelib/amber.cpp, oelib/aromatic.h, oelib/aromatic.txt,
3311 oelib/atom.cpp, oelib/atomtyp.h, oelib/atomtyp.txt,
3312 oelib/balst.cpp, oelib/base.cpp, oelib/base.h, oelib/bgf.cpp,
3313 oelib/bin2hex.pl, oelib/binary.cpp, oelib/binary.h,
3314 oelib/binary_io.cpp, oelib/binary_io.h, oelib/bitgrid.cpp,
3315 oelib/bitgrid.h, oelib/bitvec.cpp, oelib/bitvec.h,
3316 oelib/bond.cpp, oelib/box.cpp, oelib/c3d.cpp, oelib/cacao.cpp,
3317 oelib/cache.cpp, oelib/car.cpp, oelib/ccc.cpp, oelib/chains.cpp,
3318 oelib/chains.h, oelib/chdrw.cpp, oelib/chiral.cpp,
3319 oelib/chiral.h, oelib/commandline.cpp, oelib/commandline.h,
3320 oelib/configure, oelib/csr.cpp, oelib/cssr.cpp,
3321 oelib/ctransform.cpp, oelib/ctransform.h, oelib/cwrap.cpp,
3322 oelib/cwrap.h, oelib/data.cpp, oelib/data.h, oelib/dmol.cpp,
3323 oelib/element.h, oelib/element.txt, oelib/extable.h,
3324 oelib/extable.txt, oelib/feat.cpp, oelib/fh.cpp,
3325 oelib/fileformat.cpp, oelib/fileformat.h, oelib/gamess.cpp,
3326 oelib/gaussian.cpp, oelib/generic.cpp, oelib/generic.h,
3327 oelib/ghemical.cpp, oelib/globals.cpp, oelib/grid.cpp,
3328 oelib/grid.h, oelib/gromos96.cpp, oelib/hin.cpp,
3329 oelib/jaguar.cpp, oelib/main.cpp, oelib/matrix.cpp,
3330 oelib/matrix.h, oelib/mdl.cpp, oelib/mmod.cpp, oelib/mol.cpp,
3331 oelib/mol.h, oelib/mol2.cpp, oelib/molchrg.cpp, oelib/molchrg.h,
3332 oelib/molvector.cpp, oelib/molvector.h, oelib/mopac.cpp,
3333 oelib/mpqc.cpp, oelib/nwchem.cpp, oelib/oeifstream.h,
3334 oelib/oelib.dsp, oelib/oelib.dsw, oelib/oeutil.cpp,
3335 oelib/oeutil.h, oelib/parsmart.cpp, oelib/parsmart.h,
3336 oelib/parsmi.cpp, oelib/patty.cpp, oelib/patty.h, oelib/pdb.cpp,
3337 oelib/phmodel.cpp, oelib/phmodel.h, oelib/phmodel.txt,
3338 oelib/phmodeldata.h, oelib/qchem.cpp, oelib/quat.c,
3339 oelib/rand.cpp, oelib/report.cpp, oelib/resdata.h,
3340 oelib/resdata.txt, oelib/ring.cpp, oelib/ring.h, oelib/rotor.cpp,
3341 oelib/rotor.h, oelib/smarts.cpp, oelib/smarts.h, oelib/smi.cpp,
3342 oelib/smi.h, oelib/tinker.cpp, oelib/tokenst.cpp,
3343 oelib/typer.cpp, oelib/typer.h, oelib/types.h, oelib/types.txt,
3344 oelib/unichem.cpp, oelib/version.h, oelib/xed.cpp, oelib/xyz.cpp,
3345 openbabel, openbabel/Makefile.in, openbabel/StdAfx.cpp,
3346 openbabel/StdAfx.h, openbabel/Vector.cpp, openbabel/Vector.h,
3347 openbabel/alchemy.cpp, openbabel/amber.cpp, openbabel/aromatic.h,
3348 openbabel/aromatic.txt, openbabel/atom.cpp, openbabel/atomtyp.h,
3349 openbabel/atomtyp.txt, openbabel/balst.cpp, openbabel/base.cpp,
3350 openbabel/base.h, openbabel/bgf.cpp, openbabel/bin2hex.pl,
3351 openbabel/binary.cpp, openbabel/binary.h,
3352 openbabel/binary_io.cpp, openbabel/binary_io.h,
3353 openbabel/bitgrid.cpp, openbabel/bitgrid.h, openbabel/bitvec.cpp,
3354 openbabel/bitvec.h, openbabel/bond.cpp, openbabel/box.cpp,
3355 openbabel/c3d.cpp, openbabel/cacao.cpp, openbabel/cache.cpp,
3356 openbabel/car.cpp, openbabel/ccc.cpp, openbabel/chains.cpp,
3357 openbabel/chains.h, openbabel/chdrw.cpp, openbabel/chiral.cpp,
3358 openbabel/chiral.h, openbabel/commandline.cpp,
3359 openbabel/commandline.h, openbabel/csr.cpp, openbabel/cssr.cpp,
3360 openbabel/ctransform.cpp, openbabel/ctransform.h,
3361 openbabel/cwrap.cpp, openbabel/cwrap.h, openbabel/data.cpp,
3362 openbabel/data.h, openbabel/dmol.cpp, openbabel/element.h,
3363 openbabel/element.txt, openbabel/extable.h,
3364 openbabel/extable.txt, openbabel/feat.cpp, openbabel/fh.cpp,
3365 openbabel/fileformat.cpp, openbabel/fileformat.h,
3366 openbabel/gamess.cpp, openbabel/gaussian.cpp,
3367 openbabel/generic.cpp, openbabel/generic.h,
3368 openbabel/ghemical.cpp, openbabel/grid.cpp, openbabel/grid.h,
3369 openbabel/gromos96.cpp, openbabel/hin.cpp, openbabel/jaguar.cpp,
3370 openbabel/main.cpp, openbabel/matrix.cpp, openbabel/matrix.h,
3371 openbabel/mdl.cpp, openbabel/mmod.cpp, openbabel/mol.cpp,
3372 openbabel/mol.h, openbabel/mol2.cpp, openbabel/molchrg.cpp,
3373 openbabel/molchrg.h, openbabel/molvector.cpp,
3374 openbabel/molvector.h, openbabel/mopac.cpp, openbabel/mpqc.cpp,
3375 openbabel/nwchem.cpp, openbabel/obifstream.h,
3376 openbabel/oblib.dsp, openbabel/oblib.dsw, openbabel/obutil.cpp,
3377 openbabel/obutil.h, openbabel/parsmart.cpp, openbabel/parsmart.h,
3378 openbabel/parsmi.cpp, openbabel/patty.cpp, openbabel/patty.h,
3379 openbabel/pdb.cpp, openbabel/phmodel.cpp, openbabel/phmodel.h,
3380 openbabel/phmodel.txt, openbabel/phmodeldata.h,
3381 openbabel/qchem.cpp, openbabel/quat.c, openbabel/rand.cpp,
3382 openbabel/report.cpp, openbabel/resdata.h, openbabel/resdata.txt,
3383 openbabel/ring.cpp, openbabel/ring.h, openbabel/rotor.cpp,
3384 openbabel/rotor.h, openbabel/smarts.cpp, openbabel/smarts.h,
3385 openbabel/smi.cpp, openbabel/smi.h, openbabel/tinker.cpp,
3386 openbabel/tokenst.cpp, openbabel/typer.cpp, openbabel/typer.h,
3387 openbabel/types.h, openbabel/types.txt, openbabel/unichem.cpp,
3388 openbabel/version.h, openbabel/xed.cpp, openbabel/xyz.cpp,
3389 src/common/Makefile.in, src/common/filetrans.cpp,
3390 src/common/filetrans.h, src/common/mm1mdl.cpp,
3391 src/common/mm1mdl.h, src/common/notice.cpp,
3392 src/common/utility.cpp, src/graphics/Makefile.in,
3393 src/graphics/docview.cpp, src/target3/Makefile.in: Updated with
3394 OpenBabel replacing OELib.
3395
3396 2002-01-10 18:28 hutchisn
3397
3398 * src/graphics/mtools.h, src/graphics/views.cpp,
3399 src/graphics/views.h: Add data types for select modes and measure
3400 modes.
3401
3402 2002-01-10 18:20 hutchisn
3403
3404 * oelib/gamess.cpp: Small fix for GAMESS file format.
3405 (this is a temporary issue until OpenBabel is imported in a day
3406 or so.)
3407
3408 2002-01-07 13:51 thassine
3409
3410 * src/common/mm1mdl.cpp, src/common/mm1mdl.h,
3411 src/common/mm2mdl.cpp, src/common/mm2mdl.h,
3412 src/common/qm1mdl.cpp, src/common/qm1mdl.h: some cleanups for the
3413 model classes, plus some documentation updates.
3414
3415 2002-01-05 23:00 hutchisn
3416
3417 * aclocal.m4: Added Michael Banck's contributed SC tests. These
3418 have not yet been implemented into configure.in yet.
3419
3420 2002-01-02 14:40 thassine
3421
3422 * INSTALL, src/common/Makefile.OLD, src/graphics/Makefile.OLD,
3423 src/target1/Makefile.OLD, src/target2/Makefile.OLD,
3424 src/target3/Makefile.OLD: converted the old makefiles to use the
3425 Scientific Computation toolkit (SC toolkit) of MPQC, instead of
3426 the MPQC object files and headers directly.
3427
3428 2001-12-31 13:19 thassine
3429
3430 * src/common/interface.cpp, src/common/interface.h,
3431 src/common/mm1mdl.cpp, src/common/mm1mdl.h,
3432 src/common/qm1mdl.cpp, src/common/qm1mdl.h,
3433 src/target3/t3mm1docv.cpp, src/target3/t3qm1docv.cpp: the
3434 all_atoms_interface is now implemented. it works as a bridge
3435 between MM and QM models, and offers a stadard set of functions
3436 to access atoms and bonds in them. the convert-to-MM/QM feature
3437 is now implemented using all_atoms_interface, and also the
3438 OELib/OpenBabel complatibility methods might fit into it.
3439
3440 2001-12-29 14:56 thassine
3441
3442 * src/graphics/camera.cpp, src/graphics/camera.h,
3443 src/graphics/docview.cpp, src/graphics/objects.cpp,
3444 src/graphics/objects.h, src/graphics/views.h,
3445 src/target3/t3mm1docv.cpp, src/target3/t3qm1docv.cpp,
3446 src/target3/t3views.cpp: the convert-project-to-QM/MM and
3447 attach/detach-this-view operations now retain the graphics
3448 settings.
3449
3450 2001-12-29 11:51 thassine
3451
3452 * src/graphics/views.cpp: the GLUT stroke fonts now make readable
3453 text in all cases, but 3D text (as in labels) is still
3454 misaligned.
3455
3456 2001-12-28 13:43 thassine
3457
3458 * src/graphics/camera.cpp, src/graphics/mm1docv.cpp,
3459 src/graphics/mm2docv.cpp, src/graphics/qm1docv.cpp,
3460 src/graphics/views.cpp, src/graphics/views.h: tried to simplify
3461 the text rendering functions; also an initial support for
3462 line-based font rendering (using glutStrokeBitmap()) but it's
3463 still quite broken.
3464
3465 2001-12-20 11:11 thassine
3466
3467 * src/graphics/mm1docv.cpp, src/graphics/views.cpp,
3468 src/graphics/views.h: the plots are now checked and commented;
3469 should work but UI is still console-based.
3470
3471 2001-12-19 14:47 thassine
3472
3473 * src/graphics/mm1docv.cpp, src/graphics/mtools.cpp,
3474 src/graphics/views.cpp, src/graphics/views.h: now it's possible
3475 to scale colors of plot2d_view (using zoom mousetool), and the
3476 plot views now store and display the strcutures (using
3477 select/orbit/rotate tools); still need to do some testing for the
3478 plots but they look good for symmterical molecules.
3479
3480 2001-12-19 11:45 thassine
3481
3482 * src/graphics/docview.cpp, src/graphics/docview.h,
3483 src/graphics/mtools.cpp, src/graphics/qm1docv.cpp,
3484 src/graphics/qm1docv.h, src/graphics/views.cpp,
3485 src/graphics/views.h: moved the enlevdiag_view class to the newly
3486 created plotting_view class family; now there is a consistent way
3487 to handle non-graphics (energy-level diagram, plot1d, plot2d)
3488 views.
3489
3490 2001-12-18 15:20 thassine
3491
3492 * src/common/mm1eng1.cpp, src/common/mm1eng9.cpp: just docs
3493 clarified a bit...
3494
3495 2001-12-18 12:43 thassine
3496
3497 * src/common/mm1eng1.cpp, src/common/mm1eng9.cpp,
3498 src/common/mm1mdl.cpp, src/graphics/mm1docv.cpp: a better
3499 tor-constraints added to mm1_eng classes for the 1d and 2d plots.
3500
3501 2001-12-18 07:53 thassine
3502
3503 * INSTALL: updated the installation docs.
3504
3505 2001-12-17 15:17 thassine
3506
3507 * src/common/intcrd.cpp, src/common/intcrd.h,
3508 src/common/mm1mdl.cpp, src/common/mm1mdl.h,
3509 src/graphics/docview.h, src/graphics/mm1docv.cpp,
3510 src/graphics/mm1docv.h, src/graphics/views.cpp,
3511 src/graphics/views.h, src/target2/t2mm1docv.cpp,
3512 src/target2/t2views.cpp, src/target2/t2views.h,
3513 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
3514 src/target3/t3views.cpp, src/target3/t3views.h: added 1D and 2D
3515 energy vs. torsion angles-plotting feature; it compiles and even
3516 more or less works, but it still needs a lot of finishing.
3517
3518 2001-12-12 12:35 thassine
3519
3520 * bin/user-docs/index.html, src/graphics/docview.cpp,
3521 src/graphics/docview.h, src/graphics/views.cpp,
3522 src/graphics/views.h, src/target2/t2qm1docv.cpp,
3523 src/target2/t2views.cpp, src/target2/t2views.h,
3524 src/target3/t3docv.cpp, src/target3/t3docv.h,
3525 src/target3/t3mm1docv.cpp, src/target3/t3mm2docv.cpp,
3526 src/target3/t3qm1docv.cpp, src/target3/t3views.cpp,
3527 src/target3/t3views.h: added attach/detach feature for
3528 gnome_graphics_views. earlier it was somewhat difficult to use
3529 multiple views, because only one at a time could be looked at the
3530 GtkNotebook. now the views can be detached from the notebook to
3531 separate windows, and attached back to notebook as well. also
3532 some GLUT and plotting improvements are added.
3533
3534 2001-12-10 13:27 thassine
3535
3536 * src/common/mm1mdl.cpp, src/common/mm1mdl.h, src/common/model.cpp,
3537 src/common/model.h, src/common/qm1alg.cpp, src/common/qm1alg.h,
3538 src/common/qm1e_mopac.cpp, src/common/qm1eng.h,
3539 src/common/qm1mdl.cpp, src/common/qm1mdl.h,
3540 src/target2/t2mm1docv.cpp, src/target2/t2qm1docv.cpp: a simple
3541 transition state search tool added for qm1_mdl; at the moment
3542 it's badly documented and only works in the GLUT user interface
3543 (target2).
3544
3545 2001-12-07 13:56 thassine
3546
3547 * src/common/model.h, src/common/qm1mdl.cpp,
3548 src/graphics/qm1docv.cpp, src/target2/t2mm1docv.cpp,
3549 src/target2/t2mm2docv.cpp, src/target2/t2qm1docv.cpp: some t2
3550 cleanups added, and improved qm1_mdl support for multiple
3551 crd-sets.
3552
3553 2001-12-05 16:11 thassine
3554
3555 * src/common/mm1eng.h, src/common/mm1eng1.cpp,
3556 src/common/mm1eng1.h, src/common/mm1eng9.cpp,
3557 src/common/mm1eng9.h: added an initial framework for adding
3558 torsional constraints in molecular mechanics force fields; the
3559 old stuff should work as usual.
3560
3561 2001-12-05 14:53 thassine
3562
3563 * src/common/errutil.cpp, src/common/notice.h,
3564 src/common/typedef.h, src/graphics/mm2rbn.cpp: added some Alpha
3565 platform fixes from Bob Williams.
3566
3567 2001-11-27 05:35 hutchisn
3568
3569 * Makefile.in: Added distclean target and changed help destination
3570 to smooth with Debian package.
3571
3572 2001-11-27 05:32 hutchisn
3573
3574 * src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
3575 src/target3/t3prefs.cpp: Added Selection Mode submenu (w/radio
3576 items) and fixed library error message.
3577
3578 2001-11-26 23:31 hutchisn
3579
3580 * src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h: Updated
3581 library feature to be fully user-configurable (# levels,
3582 directory path)
3583 Now also add submenus for subdirectories!
3584
3585 2001-11-26 09:05 thassine
3586
3587 * src/target3/t3mm1docv.cpp, src/target3/t3views.h: minor fixes for
3588 'Library', and some cleanups.
3589
3590 2001-11-21 05:28 hutchisn
3591
3592 * src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
3593 src/target3/t3views.h: Add "library submenu" as a first
3594 draft--still needs to be user-configurable
3595 (recursive function to establish the menu) and still buggy.
3596
3597 2001-11-13 12:27 thassine
3598
3599 * INSTALL, src/common/mm1mdl.h, src/common/mm2mdl.h,
3600 src/common/qm1mdl.h, src/common/qm2mdl.h, src/graphics/docview.h,
3601 src/graphics/mm1docv.cpp, src/graphics/mm1docv.h,
3602 src/graphics/mm2docv.cpp, src/graphics/mm2docv.h,
3603 src/graphics/qm1docv.cpp, src/graphics/qm1docv.h,
3604 src/target3/t3main.cpp, src/target3/t3mm1docv.cpp,
3605 src/target3/t3qm1docv.cpp, src/target3/t3views.cpp: made the
3606 SelectNone feature as a combination of SelectAll and
3607 InvertSelection (less code this way), and added some enhancements
3608 to FileOpen (graphics update forced, and possibly selected new
3609 atoms now replace the old selection).
3610
3611 2001-11-12 16:20 hutchisn
3612
3613 * src/common/mm1mdl.cpp, src/common/mm1mdl.h,
3614 src/common/mm2mdl.cpp, src/common/mm2mdl.h, src/common/model.h,
3615 src/common/qm1mdl.h, src/graphics/docview.h,
3616 src/graphics/mm1docv.cpp, src/graphics/mm1docv.h,
3617 src/graphics/mm2docv.cpp, src/graphics/mm2docv.h,
3618 src/graphics/qm1docv.cpp, src/graphics/qm1docv.h,
3619 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
3620 src/target3/t3qm1docv.cpp, src/target3/t3views.cpp,
3621 src/target3/t3views.h: Added SelectNone() and support for
3622 "inserting" files (open with molecules selected).
3623
3624 2001-11-09 18:32 hutchisn
3625
3626 * oelib/mol.cpp, src/common/filetrans.cpp: Fix bug with OELib
3627 making Kekule structures. OELib now no longer clears flags
3628 for perceived Aromatic bonds and atoms. Our code makes bonds
3629 conjugated if
3630 OE has marked the bond as aromatic.
3631
3632 2001-11-08 10:19 thassine
3633
3634 * configure, configure.in, src/common/define.h: back to devel
3635 settings, version number changed to 0.82.
3636
3637 2001-11-08 07:51 thassine
3638
3639 * CHANGES, src/common/define.h: some final changes for the new
3640 release; this is released as 0.81.
3641
3642 2001-11-07 09:43 thassine
3643
3644 * CHANGES, INSTALL, bin/user-docs/index.html: some documentation
3645 updates added.
3646
3647 2001-10-29 15:48 thassine
3648
3649 * src/common/define.h, src/common/mm2mdl.cpp, src/common/mm2mdl.h,
3650 src/common/qm1mdl.cpp, src/common/qm1mdl.h,
3651 src/graphics/mm1docv.cpp, src/target2/t2mm1docv.cpp,
3652 src/target2/t2mm2docv.cpp, src/target3/t3docv.h,
3653 src/target3/t3main.cpp, src/target3/t3main.h,
3654 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
3655 src/target3/t3mm2docv.cpp, src/target3/t3mm2docv.h,
3656 src/target3/t3qm1docv.cpp: some generic improvements added: some
3657 t3 file operations added and mm1_mdl labels feature improved.
3658
3659 2001-10-23 13:10 thassine
3660
3661 * src/common/mm1eng.cpp, src/common/mm1eng.h,
3662 src/common/mm1eng1.cpp, src/common/mm1eng1.h,
3663 src/common/mm1eng9.cpp, src/common/mm1eng9.h,
3664 src/common/mm1mdl.cpp, src/common/mm1tab1.cpp,
3665 src/common/mm1tab1.h, src/common/mm1tab9.cpp,
3666 src/common/mm1tab9.h, src/common/mm1util.cpp,
3667 src/common/mm2eng.cpp, src/common/mm2eng.h,
3668 src/common/mm2mdl.cpp, src/common/model.cpp,
3669 src/graphics/mm2docv.cpp, src/graphics/plane.cpp,
3670 src/graphics/surface.cpp, src/target1/t1m_mm2param_cpp.h,
3671 src/target1/t1main.cpp, src/target3/t3mm1docv.cpp,
3672 src/target3/t3mm1docv.h: did some cleanups for eng-classes
3673 (removed some old unnecessary parts); nothing should have changed
3674 in how the classes actually work. also tried to improve code
3675 readability generally. in summary: everything should still work
3676 as it used to...
3677
3678 2001-10-18 15:01 thassine
3679
3680 * src/common/mm1eng.cpp, src/common/mm1eng.h,
3681 src/common/mm1eng1.cpp, src/common/mm1eng1.h,
3682 src/common/mm1eng9.cpp, src/common/mm1eng9.h: a new energy term
3683 for out of plane bending must be added soon to forcefield; added
3684 an empty framework for the new term.
3685
3686 2001-10-08 14:39 thassine
3687
3688 * bin/parameters/mm1param/stable/atomtypes.txt,
3689 bin/parameters/mm1param/stable/parameters1.txt,
3690 bin/parameters/mm1param/stable/parameters2.txt,
3691 bin/parameters/mm1param/stable/parameters3.txt,
3692 bin/parameters/mm1param/stable/parameters4.txt,
3693 bin/parameters/mm1param/stable/parameters5.txt,
3694 bin/parameters/mm1param/unstable/atomtypes.txt,
3695 bin/parameters/mm1param/unstable/parameters1.txt,
3696 bin/parameters/mm1param/unstable/parameters2.txt,
3697 bin/parameters/mm1param/unstable/parameters3.txt,
3698 bin/parameters/mm1param/unstable/parameters4.txt,
3699 bin/parameters/mm1param/unstable/parameters5.txt,
3700 src/common/mm1eng1.h, src/common/mm1eng9.h,
3701 src/common/mm1mdl.cpp, src/common/mm1tab1.cpp,
3702 src/common/mm1tab1.h, src/common/mm1tab9.cpp,
3703 src/common/mm1tab9.h: made some rearrangements at mm1_eng classes
3704 that make expermimentation with the classes easier; also the
3705 parameter files have been changed so you should do the #make
3706 install# for this version.
3707
3708 2001-10-03 10:56 thassine
3709
3710 * CHANGES, PROJECT: changed the old manually maintained
3711 changes-file to a newer log that is maintained using a cvs2cl.pl
3712 utility; it makes a logfile using cvs log information; see
3713 http://www.red-bean.com/cvs2cl/
3714
3715 2001-10-03 10:47 thassine
3716
3717 * src/common/mm2mdl.h, src/common/qm2mdl.h, src/target3/t3main.cpp,
3718 src/target3/t3prefs.cpp: a temporary modification done for colour
3719 prefs at t3prefs.cpp where the default values are just quickly
3720 returned (a quick fix to improve graphics performance of 0.80
3721 compared to 0.42).
3722
3723 2001-10-01 03:50 hutchisn
3724
3725 * src/common/mm1mdl.cpp, src/common/mm1mdl.h, src/common/mm2mdl.h,
3726 src/common/model.h, src/common/qm1mdl.h,
3727 src/target3/glade_callbacks.cpp, src/target3/t3main.cpp: Moved
3728 import code into mm1model so it can be called from other parts of
3729 the code.
3730 Added support for command-line flags, e.g. -f opens a ghemical
3731 file, -i imports a file.
3732 And any remaining arguments are assumed to be filenames to
3733 import.
3734 (Keep in mind that we can import a .mm1gp or .qm1gp anyway.)
3735
3736 Allows $PATH/ghemical to be used as a web helper application.
3737
3738 2001-10-01 03:42 hutchisn
3739
3740 * oelib/data.cpp: Fix bugs with extension handling--make sure to
3741 lowercase before comparisons.
3742 Fixes problems, e.g. .PDB = .pdb
3743
3744 2001-10-01 03:39 hutchisn
3745
3746 * oelib/element.txt: Fix max valence on P to allow PF6, etc.
3747
3748 2001-09-27 12:57 thassine
3749
3750 * src/common/define.h: changed the main web address to
3751 www.bioinformatics.org
3752
3753 2001-09-27 12:14 thassine
3754
3755 * CHANGES, miniMOPAC/README, miniMOPAC/fortran/iter.f,
3756 miniMOPAC/iter.c: mopac iter.f changed so that the program is not
3757 closed even if SCF convergence problems; the mopac geometry
3758 optimization is now much more resistant to crashes.
3759
3760 2001-09-26 14:35 thassine
3761
3762 * CHANGES, INSTALL, miniMOPAC/README, miniMOPAC/esp.c,
3763 miniMOPAC/fortran/esp.f, miniMOPAC/fortran/iter.f,
3764 miniMOPAC/fortran/minimopac.f, miniMOPAC/fortran/mopac.f,
3765 miniMOPAC/iter.c, miniMOPAC/minimopac.c,
3766 src/common/qm1e_mopac.cpp: some MOPAC fortran code cleanups;
3767 unnecessary file operations removed, and output is now directed
3768 to console. now works also with redhat 7.1???
3769
3770 2001-09-24 14:21 thassine
3771
3772 * src/graphics/docview.cpp, src/graphics/docview.h,
3773 src/graphics/mm1docv.cpp, src/graphics/qm1docv.cpp: added to
3774 measure tool a set if model-independent measurement functions in
3775 an effort to make it simpler.
3776
3777 2001-09-24 13:10 thassine
3778
3779 * BUGLIST, src/target2/t2qm1docv.cpp,
3780 src/target3/glade_callbacks.cpp, src/target3/glade_interface.cpp,
3781 src/target3/t3qm1docv.cpp, src/target3/t3qm1docv.h: a new known
3782 bug was added; qm1 geomopt dialog was added for gnome version.
3783
3784 2001-09-14 21:17 hutchisn
3785
3786 * Makefile.in, bin/ghemical.png, src/common/Makefile.in,
3787 src/graphics/Makefile.in, src/target3/Makefile.in: Add distclean
3788 targets to Makefiles
3789
3790 2001-09-14 13:08 thassine
3791
3792 * src/graphics/views.cpp: the energy level diagram now tries to
3793 detect degenerate energy levels (like in N2 or F2) and draw them
3794 side by side rather than overlapped.
3795
3796 2001-09-14 10:44 thassine
3797
3798 * src/graphics/docview.cpp, src/graphics/mm1docv.cpp: completed the
3799 fixes for known mem leaks at docview.cpp
3800
3801 2001-09-07 23:20 hutchisn
3802
3803 * oelib, oelib/.cvsignore, oelib/configure, oelib/dmol.cpp,
3804 src/common/filetrans.cpp, src/graphics/docview.cpp,
3805 src/graphics/mm1docv.cpp, src/graphics/views.cpp,
3806 src/target3/t3prefs.cpp: Fix a few memory leaks and bugs.
3807
3808 2001-09-07 13:22 thassine
3809
3810 * CHANGES, configure, configure.in, src/common/define.h:
3811 development starts again, promoted version number to 0.81
3812
3813 2001-09-06 07:21 thassine
3814
3815 * CHANGES, INSTALL, bin/user-docs/index.html,
3816 src/common/mm1mdl.cpp, src/common/mm1mdl.h,
3817 src/target2/t2mm1docv.cpp, src/target3/t3mm1docv.cpp,
3818 src/target3/t3mm1docv.h: did a last-minute addition of random
3819 conformational search; this is released as version 0.80
3820
3821 2001-09-05 13:37 thassine
3822
3823 * CHANGES, INSTALL, bin/user-docs/index.html: final fixes to
3824 documentation etc...
3825
3826 2001-09-04 09:38 thassine
3827
3828 * src/common/mm1eng1.cpp, src/common/mm1eng9.cpp,
3829 src/common/mm1mdl.h, src/common/mm1tab1.cpp,
3830 src/common/mm1tab9.cpp: some cleanups at MM eng/tab classes.
3831
3832 2001-09-04 08:07 thassine
3833
3834 * src/common/mm1eng.h, src/common/mm1tab1.cpp,
3835 src/common/mm1tab9.cpp: minor changes and cleanups.
3836
3837 2001-09-03 10:01 thassine
3838
3839 * src/common/mm1tab1.cpp, src/common/mm1tab9.cpp,
3840 src/common/mm1util.cpp, src/common/mm1util.h: a minor cleanup for
3841 mm1_typerule.
3842
3843 2001-09-03 07:06 thassine
3844
3845 * miniMOPAC/README, src/common/mm1mdl.h: minor additions to mm1_mdl
3846 and MOPAC docs.
3847
3848 2001-08-30 04:22 hutchisn
3849
3850 * oelib/Makefile.in, oelib/atom.cpp, oelib/base.cpp, oelib/base.h,
3851 oelib/binary.cpp, oelib/binary_io.cpp, oelib/binary_io.h,
3852 oelib/bitgrid.cpp, oelib/bond.cpp, oelib/chains.cpp,
3853 oelib/chiral.cpp, oelib/ctransform.cpp, oelib/ctransform.h,
3854 oelib/data.cpp, oelib/data.h, oelib/element.h, oelib/element.txt,
3855 oelib/gamess.cpp, oelib/generic.cpp, oelib/generic.h,
3856 oelib/jaguar.cpp, oelib/main.cpp, oelib/mdl.cpp, oelib/mol.cpp,
3857 oelib/mol.h, oelib/oeutil.cpp, oelib/oeutil.h,
3858 oelib/parsmart.cpp, oelib/parsmart.h, oelib/parsmi.cpp,
3859 oelib/patty.cpp, oelib/patty.h, oelib/phmodel.cpp,
3860 oelib/phmodel.txt, oelib/ring.cpp, oelib/ring.h,
3861 oelib/smarts.cpp, oelib/smarts.h, oelib/smi.cpp,
3862 oelib/tokenst.cpp, oelib/typer.cpp, src/common/filetrans.cpp:
3863 Update with new OELib code -- a few new filetypes, cleanups and
3864 better bonding
3865 for QM files.
3866
3867 2001-08-29 13:21 thassine
3868
3869 * AUTHORS, src/graphics/camera.cpp, src/graphics/camera.h,
3870 src/target3/t3main.cpp, src/target3/t3mm1docv.cpp,
3871 src/target3/t3mm2docv.cpp, src/target3/t3qm1docv.cpp,
3872 src/target3/t3views.cpp, src/target3/t3views.h: added an
3873 alternative way for camera setup in stereo viewing modes;
3874 copyright notices etc updated.
3875
3876 2001-08-29 10:18 thassine
3877
3878 * src/target3/t3mm1docv.cpp, src/target3/t3views.cpp,
3879 src/target3/t3views.h: added Mike's stereo code (under target3).
3880
3881 2001-08-29 10:18 thassine
3882
3883 * src/graphics/camera.cpp, src/graphics/camera.h: added Mike's
3884 stereo code (under graphics).
3885
3886 2001-08-29 07:08 thassine
3887
3888 * configure, configure.in, src/common/define.h,
3889 src/common/qm1e_mopac.cpp, src/common/qm1e_mopac.h,
3890 src/common/qm1mdl.cpp: a safer mopac locking mechanism added,
3891 version number promoted to 0.80.
3892
3893 2001-08-28 07:04 thassine
3894
3895 * INSTALL, miniMOPAC/README, miniMOPAC/fortran/minimopac.f,
3896 miniMOPAC/minimopac.c, src/common/qm1e_mopac.cpp: mopac engine
3897 now survives from change of molecule (the fortran variables
3898 NUMCAL and ISOK were handled wrong), and some docs updated.
3899
3900 2001-08-27 12:35 thassine
3901
3902 * bin/user-docs/enlevdiag.jpg, bin/user-docs/index.html,
3903 bin/user-docs/maintools.jpg: user's manual quickly updated.
3904
3905 2001-08-27 09:26 thassine
3906
3907 * src/common/qm1e_mopac.cpp: added comments about a specifig bug in
3908 mopac.
3909
3910 2001-08-27 08:13 thassine
3911
3912 * src/common/mm1mdl.cpp, src/common/mm1mdl.h,
3913 src/common/mm2mdl.cpp, src/common/qm1e_mopac.cpp,
3914 src/common/qm1e_mopac.h, src/common/qm1e_mpqc.cpp,
3915 src/common/qm1e_mpqc.h, src/common/qm1mdl.cpp,
3916 src/common/qm1mdl.h: hamiltonian/basis set selection added for QM
3917 engs.
3918
3919 2001-08-26 09:45 thassine
3920
3921 * src/common/mm1alg.cpp, src/common/mm2alg.cpp,
3922 src/common/qm1alg.cpp, src/common/qm1e_mopac.cpp,
3923 src/common/qm1mdl.cpp: minor bugs fixed in
3924 mm1/qm1_geomopt::GetValue() where it calculated gradient when
3925 only energy was needed. also qm1_eng_mopac and qm1_geomopt
3926 settings are optimized for speed/stability (now simple molecules
3927 with good starting geometries are quite safe).
3928
3929 2001-08-25 14:48 thassine
3930
3931 * src/common/qm1e_mopac.cpp, src/common/qm1e_mpqc.cpp,
3932 src/common/qm1mdl.cpp, src/common/qm1mdl.h,
3933 src/target3/glade/ghemical.glade,
3934 src/target3/glade/src/glade_interface.cpp,
3935 src/target3/glade_callbacks.cpp, src/target3/glade_interface.cpp:
3936 now the total charge can be specified in QM models; also checking
3937 added for QM setup.
3938
3939 2001-08-25 11:50 thassine
3940
3941 * src/common/qm1e_mpqc.cpp: energy level diagram now works for ab
3942 initio as well.
3943
3944 2001-08-24 13:12 thassine
3945
3946 * src/common/qm1e_mopac.cpp, src/common/qm1e_mpqc.cpp,
3947 src/common/qm1e_mpqc.h: force calculations + algorithms added for
3948 MPQC.
3949
3950 2001-08-24 08:34 thassine
3951
3952 * src/common/qm1e_mopac.cpp, src/common/qm1mdl.cpp: fixed a
3953 gradient scaling bug in MOPAC engine; the geometry optimization
3954 is much more robust now.
3955
3956 2001-08-23 18:06 hutchisn
3957
3958 * src/graphics/mm1docv.cpp, src/graphics/mm2docv.cpp,
3959 src/graphics/qm1docv.cpp, src/graphics/views.cpp,
3960 src/target3/t3mm1docv.cpp, src/target3/t3mm2docv.cpp,
3961 src/target3/t3qm1docv.cpp: Migrate general "Graphics" prefs
3962 section to MM1Graphics, etc.
3963
3964 2001-08-23 12:38 thassine
3965
3966 * src/common/engine.h, src/common/mm1eng.cpp, src/common/mm1eng.h,
3967 src/common/mm2eng.cpp, src/common/mm2eng.h,
3968 src/common/qm1e_mopac.cpp, src/common/qm1e_mopac.h,
3969 src/common/qm1e_mpqc.cpp, src/common/qm1e_mpqc.h,
3970 src/common/qm1eng.cpp, src/common/qm1eng.h,
3971 src/common/qm1mdl.cpp, src/graphics/views.cpp,
3972 src/target2/t2mm1docv.cpp, src/target2/t2qm1docv.cpp: many
3973 smaller cleanups/fixes...
3974
3975 2001-08-22 22:21 hutchisn
3976
3977 * src/graphics/mm1docv.cpp, src/graphics/qm1docv.cpp: add QM
3978 measure functionality
3979
3980 2001-08-22 22:20 hutchisn
3981
3982 * src/common/mm1mdl.cpp, src/common/mm2mdl.cpp,
3983 src/common/qm1mdl.cpp: Use sprintf to give a standardized output
3984 to the geometry opt. output.
3985
3986 2001-08-22 16:31 hutchisn
3987
3988 * src/common/qm1mdl.cpp, src/target3/t3qm1docv.cpp: Use the same
3989 methods for ImportMM command as "convert" routines--and make sure
3990 we update the title!
3991
3992 2001-08-22 13:27 thassine
3993
3994 * src/common/mm1mdl.h, src/common/qm1mdl.cpp, src/common/qm1mdl.h,
3995 src/graphics/docview.cpp, src/graphics/docview.h,
3996 src/graphics/mm1docv.cpp, src/graphics/qm1docv.cpp,
3997 src/target3/t3docv.cpp, src/target3/t3mm1docv.cpp,
3998 src/target3/t3qm1docv.cpp: various smaller changes...
3999
4000 2001-08-22 11:18 thassine
4001
4002 * CHANGES, src/common/qm1e_mopac.cpp, src/common/qm1e_mopac.h,
4003 src/common/qm1e_mpqc.cpp, src/common/qm1e_mpqc.h,
4004 src/common/qm1eng.h, src/common/qm1mdl.cpp, src/common/qm1mdl.h,
4005 src/graphics/mtools.cpp, src/graphics/mtools.h,
4006 src/graphics/qm1docv.cpp, src/graphics/qm1docv.h,
4007 src/graphics/views.cpp, src/graphics/views.h,
4008 src/target2/t2qm1docv.cpp, src/target2/t2views.cpp,
4009 src/target2/t2views.h, src/target3/t3qm1docv.cpp,
4010 src/target3/t3qm1docv.h, src/target3/t3views.cpp,
4011 src/target3/t3views.h: an initial version of energy-level
4012 diagrams for QM models added (now works for mopac only).
4013
4014 2001-08-21 15:07 hutchisn
4015
4016 * src/graphics/mm2docv.cpp, src/target3/t3qm1docv.cpp: Add more
4017 config use in QM and MM2 modes.
4018
4019 2001-08-21 15:07 hutchisn
4020
4021 * src/target3/t3mm1docv.cpp: Add minimal MM -> QM conversion code.
4022 Doesn't quite set the filename correctly
4023 but otherwise pretty much correct.
4024
4025 2001-08-20 11:03 thassine
4026
4027 * CHANGES, miniMOPAC/esp.c, miniMOPAC/fortran/esp.f,
4028 src/common/qm1e_mopac.cpp, src/common/qm1e_mpqc.cpp,
4029 src/graphics/qm1docv.cpp, src/target2/t2qm1docv.cpp,
4030 src/target3/t3qm1docv.cpp, src/target3/t3qm1docv.h: the rest of
4031 qm1_eng_mopac plots added, and a scaling bug in MO plots fixed.
4032
4033 2001-08-18 09:45 thassine
4034
4035 * CHANGES, miniMOPAC/README, miniMOPAC/fortran/minimopac.f,
4036 miniMOPAC/minimopac.c, src/common/qm1e_mopac.cpp: some cleanups
4037 done in qm1_eng_mopac (the fortran and C code are now better
4038 separated, easier to maintain).
4039
4040 2001-08-18 07:01 thassine
4041
4042 * miniMOPAC/fortran/SIZES: ooops, forgot to add the SIZES file.
4043
4044 2001-08-17 17:17 thassine
4045
4046 * miniMOPAC/fortran/esp.f, miniMOPAC/fortran/minimopac.f: added all
4047 changes to mopac fortran source before 2001-08-17.
4048
4049 2001-08-17 17:12 thassine
4050
4051 * miniMOPAC/fortran, miniMOPAC/fortran/aababc.f,
4052 miniMOPAC/fortran/addfck.f, miniMOPAC/fortran/addhcr.f,
4053 miniMOPAC/fortran/addnuc.f, miniMOPAC/fortran/analyt.f,
4054 miniMOPAC/fortran/anavib.f, miniMOPAC/fortran/axis.f,
4055 miniMOPAC/fortran/block.f, miniMOPAC/fortran/bonds.f,
4056 miniMOPAC/fortran/brlzon.f, miniMOPAC/fortran/btoc.f,
4057 miniMOPAC/fortran/calpar.f, miniMOPAC/fortran/capcor.f,
4058 miniMOPAC/fortran/cdiag.f, miniMOPAC/fortran/chrge.f,
4059 miniMOPAC/fortran/cnvg.f, miniMOPAC/fortran/compfg.f,
4060 miniMOPAC/fortran/consts.f, miniMOPAC/fortran/cqden.f,
4061 miniMOPAC/fortran/datin.f, miniMOPAC/fortran/dcart.f,
4062 miniMOPAC/fortran/delmol.f, miniMOPAC/fortran/delri.f,
4063 miniMOPAC/fortran/denrot.f, miniMOPAC/fortran/densit.f,
4064 miniMOPAC/fortran/depvar.f, miniMOPAC/fortran/deri0.f,
4065 miniMOPAC/fortran/deri1.f, miniMOPAC/fortran/deri2.f,
4066 miniMOPAC/fortran/deri21.f, miniMOPAC/fortran/deri22.f,
4067 miniMOPAC/fortran/deri23.f, miniMOPAC/fortran/deritr.f,
4068 miniMOPAC/fortran/deriv.f, miniMOPAC/fortran/dernvo.f,
4069 miniMOPAC/fortran/ders.f, miniMOPAC/fortran/dfock2.f,
4070 miniMOPAC/fortran/dfpsav.f, miniMOPAC/fortran/dgemm.f,
4071 miniMOPAC/fortran/dgemv.f, miniMOPAC/fortran/dger.f,
4072 miniMOPAC/fortran/dgetf2.f, miniMOPAC/fortran/dgetrf.f,
4073 miniMOPAC/fortran/dgetri.f, miniMOPAC/fortran/diag.f,
4074 miniMOPAC/fortran/diat.f, miniMOPAC/fortran/diat2.f,
4075 miniMOPAC/fortran/diegrd.f, miniMOPAC/fortran/dielen.f,
4076 miniMOPAC/fortran/diis.f, miniMOPAC/fortran/dijkl1.f,
4077 miniMOPAC/fortran/dijkl2.f, miniMOPAC/fortran/dipind.f,
4078 miniMOPAC/fortran/dipole.f, miniMOPAC/fortran/dlaswp.f,
4079 miniMOPAC/fortran/dofs.f, miniMOPAC/fortran/dot.f,
4080 miniMOPAC/fortran/drc.f, miniMOPAC/fortran/drcout.f,
4081 miniMOPAC/fortran/dtrmm.f, miniMOPAC/fortran/dtrmv.f,
4082 miniMOPAC/fortran/dtrsm.f, miniMOPAC/fortran/dtrti2.f,
4083 miniMOPAC/fortran/dtrtri.f, miniMOPAC/fortran/dvfill.f,
4084 miniMOPAC/fortran/ef.f, miniMOPAC/fortran/enpart.f,
4085 miniMOPAC/fortran/esp.f, miniMOPAC/fortran/etime.c,
4086 miniMOPAC/fortran/exchng.f, miniMOPAC/fortran/fdate.c,
4087 miniMOPAC/fortran/ffhpol.f, miniMOPAC/fortran/flepo.f,
4088 miniMOPAC/fortran/fmat.f, miniMOPAC/fortran/fock1.f,
4089 miniMOPAC/fortran/fock2.f, miniMOPAC/fortran/force.f,
4090 miniMOPAC/fortran/formxy.f, miniMOPAC/fortran/forsav.f,
4091 miniMOPAC/fortran/frame.f, miniMOPAC/fortran/freqcy.f,
4092 miniMOPAC/fortran/geout.f, miniMOPAC/fortran/geoutg.f,
4093 miniMOPAC/fortran/getgeg.f, miniMOPAC/fortran/getgeo.f,
4094 miniMOPAC/fortran/getsym.f, miniMOPAC/fortran/gettxt.f,
4095 miniMOPAC/fortran/gmetry.f, miniMOPAC/fortran/gover.f,
4096 miniMOPAC/fortran/greenf.f, miniMOPAC/fortran/grid.f,
4097 miniMOPAC/fortran/h1elec.f, miniMOPAC/fortran/haddon.f,
4098 miniMOPAC/fortran/hcore.f, miniMOPAC/fortran/helect.f,
4099 miniMOPAC/fortran/hqrii.f, miniMOPAC/fortran/ijkl.f,
4100 miniMOPAC/fortran/ilaenv.f, miniMOPAC/fortran/initsv.f,
4101 miniMOPAC/fortran/interp.f, miniMOPAC/fortran/iter.f,
4102 miniMOPAC/fortran/jcarin.f, miniMOPAC/fortran/linmin.f,
4103 miniMOPAC/fortran/local.f, miniMOPAC/fortran/locmin.f,
4104 miniMOPAC/fortran/lsame.f, miniMOPAC/fortran/makpol.f,
4105 miniMOPAC/fortran/mamult.f, miniMOPAC/fortran/matou1.f,
4106 miniMOPAC/fortran/matout.f, miniMOPAC/fortran/matpak.f,
4107 miniMOPAC/fortran/meci.f, miniMOPAC/fortran/mecid.f,
4108 miniMOPAC/fortran/mecih.f, miniMOPAC/fortran/mecip.f,
4109 miniMOPAC/fortran/moldat.f, miniMOPAC/fortran/molval.f,
4110 miniMOPAC/fortran/mopac.f, miniMOPAC/fortran/mullik.f,
4111 miniMOPAC/fortran/mult.f, miniMOPAC/fortran/nllsq.f,
4112 miniMOPAC/fortran/nuchar.f, miniMOPAC/fortran/parsav.f,
4113 miniMOPAC/fortran/partxy.f, miniMOPAC/fortran/pathk.f,
4114 miniMOPAC/fortran/paths.f, miniMOPAC/fortran/perm.f,
4115 miniMOPAC/fortran/polar.f, miniMOPAC/fortran/powsav.f,
4116 miniMOPAC/fortran/powsq.f, miniMOPAC/fortran/prtdrc.f,
4117 miniMOPAC/fortran/quadr.f, miniMOPAC/fortran/react1.f,
4118 miniMOPAC/fortran/reada.f, miniMOPAC/fortran/readmo.f,
4119 miniMOPAC/fortran/refer.f, miniMOPAC/fortran/repp.f,
4120 miniMOPAC/fortran/rotat.f, miniMOPAC/fortran/rotate.f,
4121 miniMOPAC/fortran/rsp.f, miniMOPAC/fortran/search.f,
4122 miniMOPAC/fortran/second.f, miniMOPAC/fortran/setupg.f,
4123 miniMOPAC/fortran/solrot.f, miniMOPAC/fortran/swap.f,
4124 miniMOPAC/fortran/sympro.f, miniMOPAC/fortran/symtry.f,
4125 miniMOPAC/fortran/symtrz.f, miniMOPAC/fortran/thermo.f,
4126 miniMOPAC/fortran/timer.f, miniMOPAC/fortran/timout.f,
4127 miniMOPAC/fortran/update.f, miniMOPAC/fortran/upsurf.f,
4128 miniMOPAC/fortran/vecprt.f, miniMOPAC/fortran/writmo.f,
4129 miniMOPAC/fortran/wrtkey.f, miniMOPAC/fortran/wrttxt.f,
4130 miniMOPAC/fortran/xerbla.f, miniMOPAC/fortran/xyzint.f: added the
4131 original mopac-7.01-4 fortran source, since it seems to be
4132 impossible to maintain this stuff from f2c'd source.
4133
4134 2001-08-17 13:44 thassine
4135
4136 * miniMOPAC/esp.c, src/common/qm1e_mopac.cpp: miniMOPAC tweaks; ESP
4137 plot drawing is now faster, plus MO plotting added.
4138
4139 2001-08-16 10:40 thassine
4140
4141 * CHANGES, miniMOPAC/README: added some documentation about the
4142 mopac ESP plots.
4143
4144 2001-08-15 13:04 thassine
4145
4146 * miniMOPAC/esp.c, src/common/qm1e_mopac.cpp: ESP plotting added to
4147 MOPAC-engine (1st working version).
4148
4149 2001-08-13 13:14 thassine
4150
4151 * src/common/Makefile.OLD, src/common/Makefile.in,
4152 src/common/interface.cpp, src/common/interface.h,
4153 src/common/mm1mdl.cpp, src/common/mm1mdl.h,
4154 src/common/mm2mdl.cpp, src/common/mm2mdl.h,
4155 src/target2/t2mm2docv.cpp, src/target3/glade_callbacks.cpp,
4156 src/target3/t3mm1docv.cpp, src/target3/t3mm2docv.cpp,
4157 src/target3/t3mm2docv.h: trajectory viewer for mm2_mdl added (and
4158 fixed the timestep of MD).
4159
4160 2001-08-09 08:30 thassine
4161
4162 * CHANGES, src/target3/t3mm2docv.cpp, src/target3/t3mm2docv.h: the
4163 plotting stuff for mm2_mdl is now also added.
4164
4165 2001-08-08 13:29 thassine
4166
4167 * CHANGES, src/common/mm2mdl.cpp, src/target2/t2mm1docv.cpp,
4168 src/target2/t2mm1docv.h, src/target2/t2mm2docv.cpp,
4169 src/target2/t2mm2docv.h, src/target3/glade_callbacks.cpp,
4170 src/target3/glade_interface.cpp, src/target3/t3mm1docv.cpp,
4171 src/target3/t3mm1docv.h, src/target3/t3mm2docv.cpp,
4172 src/target3/t3mm2docv.h: algorithms for mm2_mdl are added.
4173
4174 2001-08-08 10:36 thassine
4175
4176 * src/target3/glade_callbacks.cpp, src/target3/glade_interface.cpp,
4177 src/target3/t3docv.cpp, src/target3/t3docv.h,
4178 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
4179 src/target3/t3qm1docv.cpp, src/target3/t3qm1docv.h:
4180 glade_modal_dialog_owner moved into glade_docv class, in order to
4181 make the dialogs work with multiple mdl-classes.
4182
4183 2001-08-03 21:04 hutchisn
4184
4185 * src/graphics/docview.cpp, src/graphics/docview.h,
4186 src/graphics/mm1docv.cpp, src/graphics/mm2docv.cpp,
4187 src/graphics/mm2docv.h, src/graphics/qm1docv.cpp,
4188 src/graphics/qm1docv.h, src/graphics/qm2docv.cpp,
4189 src/graphics/qm2docv.h: Moved InitGL() to parent DocumentView
4190 class--allows all classes to inherit config code easily.
4191
4192 2001-08-03 13:09 thassine
4193
4194 * src/target3/glade/README, src/target3/glade/ghemical.glade,
4195 src/target3/glade/src/Makefile,
4196 src/target3/glade/src/glade_callbacks.cpp,
4197 src/target3/glade/src/glade_callbacks.h,
4198 src/target3/glade/src/glade_interface.cpp,
4199 src/target3/glade/src/glade_interface.h,
4200 src/target3/glade/src/glade_support.cpp,
4201 src/target3/glade/src/main.cpp, src/target3/glade_callbacks.cpp,
4202 src/target3/glade_callbacks.h, src/target3/glade_interface.cpp,
4203 src/target3/glade_interface.h, src/target3/t3mm1docv.cpp: rebuilt
4204 the glade code; some docs added for the glade stuff.
4205
4206 2001-08-02 11:36 thassine
4207
4208 * src/common/qm1e_mpqc.cpp, src/target2/t2mm1docv.cpp,
4209 src/target2/t2mm2docv.cpp, src/target2/t2qm1docv.cpp,
4210 src/target3/t3mm1docv.cpp, src/target3/t3qm1docv.cpp,
4211 src/target3/t3qm1docv.h: ESP plotting added to qm1_eng_mpqc.
4212
4213 2001-08-01 13:46 thassine
4214
4215 * CHANGES, src/common/mm1mdl.cpp, src/common/mm1mdl.h,
4216 src/common/mm2alg.h, src/common/mm2mdl.cpp, src/common/mm2mdl.h,
4217 src/common/qm1e_mpqc.cpp, src/common/qm1eng.cpp,
4218 src/common/qm1eng.h, src/target2/t2mm1docv.cpp,
4219 src/target2/t2mm2docv.cpp, src/target2/t2qm1docv.cpp: small
4220 improvements for mm2_mdl and qm1_eng_mpqc but nothing ready yet.
4221
4222 2001-07-30 12:07 thassine
4223
4224 * src/graphics/mm1docv.cpp, src/graphics/mm2docv.cpp,
4225 src/graphics/qm1docv.cpp, src/target3/t3main.cpp,
4226 src/target3/t3main.h, src/target3/t3mm1docv.cpp,
4227 src/target3/t3mm1docv.h, src/target3/t3qm1docv.cpp,
4228 src/target3/t3qm1docv.h: the 4 first shortcut buttons work now.
4229
4230 2001-07-30 08:14 thassine
4231
4232 * src/graphics/mm1docv.cpp, src/graphics/mm2docv.cpp,
4233 src/graphics/qm2docv.cpp, src/graphics/qm2docv.h: added
4234 MeasureEvent() also to (obsolete) qm2_mdl.
4235
4236 2001-07-28 18:46 hutchisn
4237
4238 * src/graphics/camera.cpp, src/graphics/docview.h,
4239 src/graphics/mm1docv.cpp, src/graphics/mm1docv.h,
4240 src/graphics/mm1rbn.cpp, src/graphics/mm2docv.cpp,
4241 src/graphics/mm2docv.h, src/graphics/qm1docv.cpp,
4242 src/graphics/qm1docv.h, src/target3/t3mm1docv.cpp: Add
4243 preliminary measure tool code. Works well--need to add "modes"
4244
4245 2001-07-24 17:04 hutchisn
4246
4247 * src/graphics/docview.h, src/graphics/mm1docv.cpp,
4248 src/graphics/mm1docv.h, src/graphics/mtools.cpp: Change rendering
4249 to support more prefs--including passing prefs for element
4250 colors.
4251
4252 2001-07-24 17:00 hutchisn
4253
4254 * src/graphics/camera.cpp, src/graphics/camera.h: Improve selection
4255 with wireframe slightly and add Measure enum.
4256
4257 2001-07-24 16:56 hutchisn
4258
4259 * src/common/utility.cpp, src/common/utility.h: Change elements to
4260 allow prefs class to override colors and VdW radii.
4261
4262 2001-07-24 16:55 hutchisn
4263
4264 * src/common/prefs.cpp, src/common/prefs.h,
4265 src/target3/t3prefs.cpp, src/target3/t3prefs.h: Add Color methods
4266
4267 2001-07-24 16:55 hutchisn
4268
4269 * src/common/filetrans.cpp, src/common/mm1mdl.cpp: Fix OELib bond
4270 synchronization and switch hydrogens to use OELib method.
4271
4272 2001-07-23 23:10 hutchisn
4273
4274 * src/target3/pixmaps/bond.xpm, src/target3/pixmaps/chain.xpm,
4275 src/target3/pixmaps/element.xpm, src/target3/pixmaps/invert.xpm,
4276 src/target3/pixmaps/molecule.xpm,
4277 src/target3/pixmaps/residue.xpm, src/target3/t3main.cpp: Added
4278 sample pixmaps for shortcut bar.
4279
4280 2001-07-22 14:28 thassine
4281
4282 * src/target1/t1m_mm2param_cpp.h, src/target1/t1m_mm2param_h.h:
4283 added some files for mm2_mdl.
4284
4285 2001-07-22 13:37 thassine
4286
4287 * miniMOPAC/README, miniMOPAC/dgetf2.c, miniMOPAC/dgetri.c,
4288 miniMOPAC/dlaswp.c, miniMOPAC/dtrti2.c, miniMOPAC/ef.c,
4289 src/common/Makefile.OLD, src/common/factory.cpp,
4290 src/common/factory.h, src/common/prefs.cpp, src/common/prefs.h,
4291 src/common/qm1e_mopac.cpp, src/common/qm1e_mopac.h,
4292 src/common/qm1e_mpqc.cpp, src/graphics/Makefile.OLD,
4293 src/target1/Makefile.OLD, src/target2/Makefile.OLD,
4294 src/target2/t2views.cpp, src/target2/t2views.h,
4295 src/target3/Makefile.OLD, src/target3/t3mm1docv.cpp,
4296 src/target3/t3prefs.cpp, src/target3/t3prefs.h,
4297 src/target3/t3qm1docv.cpp, src/target3/t3views.h: some mopac/mpqc
4298 conflicts fixed, and mopac intermediate files FOR005 FOR006
4299 SHUTDOWN cleaned.
4300
4301 2001-07-20 19:30 hutchisn
4302
4303 * src/common/factory.h, src/common/model.cpp, src/common/model.h,
4304 src/graphics/mm1docv.cpp, src/target3/t3prefs.cpp,
4305 src/target3/t3prefs.h, src/target3/t3views.cpp,
4306 src/target3/t3views.h: Finished implementation of prefs class
4307 through GNOME config classes. Currently nothing sets prefs from
4308 the code, and rendering is an example of accessing pref values.
4309
4310 2001-07-09 13:07 thassine
4311
4312 * src/common/mm1mdl.cpp, src/common/mm1mdl.h,
4313 src/common/mm2mdl.cpp, src/common/mm2mdl.h, src/common/model.cpp,
4314 src/common/model.h, src/common/qm1mdl.cpp,
4315 src/graphics/camera.cpp, src/graphics/mm1docv.cpp,
4316 src/graphics/mm1docv.h, src/graphics/mm2docv.cpp,
4317 src/graphics/mm2docv.h, src/graphics/qm1docv.cpp,
4318 src/graphics/views.cpp, src/target2/t2mm1docv.cpp: some comments
4319 added and arrangements done for stereo image viewing.
4320
4321 2001-06-29 12:15 thassine
4322
4323 * src/common/intcrd.cpp, src/common/intcrd.h, src/common/mm1ic.cpp,
4324 src/common/mm1ic.h: ooops, forgot to add some files in the last
4325 commit.
4326
4327 2001-06-29 12:12 thassine
4328
4329 * src/common/Makefile.OLD, src/common/Makefile.in,
4330 src/common/mm1alg.cpp, src/common/mm1alg.h,
4331 src/common/mm1mdl.cpp, src/common/mm1mdl.h,
4332 src/common/mm2mdl.cpp, src/common/model.cpp, src/common/model.h,
4333 src/common/qm1mdl.cpp, src/target2/t2mm1docv.cpp: some groundwork
4334 added for mm1_mdl multiple crd_sets and conformational search
4335 tools.
4336
4337 2001-06-25 11:21 thassine
4338
4339 * bin/user-docs/index.html, src/common/notice.cpp,
4340 src/common/notice.h, src/target3/t3main.cpp: minor updates in
4341 user's manual and copyright notices (MOPAC included).
4342
4343 2001-06-21 08:49 thassine
4344
4345 * CHANGES, src/graphics/camera.cpp, src/graphics/docview.cpp,
4346 src/graphics/docview.h, src/target3/t3docv.cpp,
4347 src/target3/t3docv.h, src/target3/t3main.cpp,
4348 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
4349 src/target3/t3mm2docv.cpp, src/target3/t3mm2docv.h,
4350 src/target3/t3qm1docv.cpp, src/target3/t3qm1docv.h,
4351 src/target3/t3views.cpp, src/target3/t3views.h: gnome MDI system
4352 revised; one view/child (GtkNotebook container), project views
4353 now grouped together.
4354
4355 2001-06-19 13:15 thassine
4356
4357 * miniMOPAC/etime.c, src/common/conjgrad.h, src/common/errutil.cpp,
4358 src/common/factory.cpp, src/common/filetrans.cpp,
4359 src/common/filetrans.h, src/common/mm1eng.cpp,
4360 src/common/mm1eng.h, src/common/mm1eng1.cpp,
4361 src/common/mm1eng1.h, src/common/mm1eng9.cpp,
4362 src/common/mm1eng9.h, src/common/mm1mdl.cpp, src/common/mm1mdl.h,
4363 src/common/mm1tab1.cpp, src/common/mm1tab1.h,
4364 src/common/mm1tab9.cpp, src/common/mm1tab9.h,
4365 src/common/mm1util.cpp, src/common/mm1util.h,
4366 src/common/mm2eng.cpp, src/common/mm2eng.h, src/common/mm2mdl.h,
4367 src/common/mm2util.h, src/common/model.cpp, src/common/model.h,
4368 src/common/notice.cpp, src/common/notice.h, src/common/prefs.cpp,
4369 src/common/qm1e_mopac.cpp, src/common/qm1e_mpqc.cpp,
4370 src/common/qm1e_mpqc.h, src/common/qm1mdl.cpp,
4371 src/common/qm1mdl.h, src/common/typedef.h,
4372 src/common/utility.cpp, src/common/v3d.h,
4373 src/graphics/docview.cpp, src/graphics/docview.h,
4374 src/graphics/mm1docv.cpp, src/graphics/mm2docv.cpp,
4375 src/graphics/objects.cpp, src/graphics/objects.h,
4376 src/graphics/plane.cpp, src/graphics/surface.cpp,
4377 src/graphics/surface.h, src/target2/t2main.h,
4378 src/target2/t2mm1docv.cpp, src/target2/t2mm2docv.cpp,
4379 src/target2/t2views.cpp, src/target2/t2views.h,
4380 src/target3/glade_callbacks.cpp, src/target3/glade_interface.cpp,
4381 src/target3/t3dialog.cpp, src/target3/t3docv.cpp,
4382 src/target3/t3docv.h, src/target3/t3errutil.cpp,
4383 src/target3/t3main.cpp, src/target3/t3mm1docv.cpp,
4384 src/target3/t3mm2docv.cpp, src/target3/t3prefs.cpp,
4385 src/target3/t3qm1docv.cpp, src/target3/t3views.cpp,
4386 src/target3/t3views.h: some cleanups done for redhat7.1 (seems to
4387 work) and gcc3.0 (still some stl/namespace problems?).
4388
4389 2001-06-13 13:30 thassine
4390
4391 * src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
4392 src/target3/t3mm2docv.cpp, src/target3/t3mm2docv.h,
4393 src/target3/t3qm1docv.cpp, src/target3/t3qm1docv.h: some
4394 menuitems added, and an initial mm1gp <-> qm1gp conversion
4395 feature
4396
4397 2001-05-28 12:47 thassine
4398
4399 * src/common/filetrans.cpp: some comments added
4400
4401 2001-05-23 13:28 thassine
4402
4403 * src/common/factory.h, src/common/mm1mdl.cpp, src/common/mm1mdl.h,
4404 src/common/mm2mdl.cpp, src/target2/t2views.h,
4405 src/target3/t3views.h: just some cleanups here and there
4406
4407 2001-05-21 14:45 thassine
4408
4409 * src/common/mm1mdl.cpp: again some readpdb tweaks.
4410
4411 2001-05-21 10:39 thassine
4412
4413 * src/common/mm1mdl.cpp, src/common/mm1mdl.h: some readpdb changes
4414 again
4415
4416 2001-05-18 13:09 thassine
4417
4418 * src/common/factory.cpp, src/common/factory.h: ooops, forgot to
4419 add the class_factory files...
4420
4421 2001-05-18 13:07 thassine
4422
4423 * CHANGES, src/common/Makefile.OLD, src/common/Makefile.in,
4424 src/common/errutil.cpp, src/common/errutil.h,
4425 src/common/mm1mdl.cpp, src/common/mm1mdl.h,
4426 src/common/mm2mdl.cpp, src/common/mm2mdl.h, src/common/model.cpp,
4427 src/common/model.h, src/common/qm1mdl.cpp, src/common/qm1mdl.h,
4428 src/common/qm2mdl.cpp, src/common/qm2mdl.h,
4429 src/graphics/docview.cpp, src/graphics/docview.h,
4430 src/graphics/mm1docv.cpp, src/graphics/mm1docv.h,
4431 src/graphics/mm2docv.cpp, src/graphics/mm2docv.h,
4432 src/graphics/qm1docv.cpp, src/graphics/qm1docv.h,
4433 src/graphics/qm2docv.cpp, src/graphics/qm2docv.h,
4434 src/graphics/views.h, src/target1/t1main.cpp,
4435 src/target2/t2docv.cpp, src/target2/t2docv.h,
4436 src/target2/t2main.cpp, src/target2/t2mm1docv.cpp,
4437 src/target2/t2mm1docv.h, src/target2/t2mm2docv.cpp,
4438 src/target2/t2mm2docv.h, src/target2/t2qm1docv.cpp,
4439 src/target2/t2qm1docv.h, src/target2/t2qm2docv.cpp,
4440 src/target2/t2qm2docv.h, src/target2/t2views.cpp,
4441 src/target2/t2views.h, src/target3/t3docv.cpp,
4442 src/target3/t3docv.h, src/target3/t3errutil.cpp,
4443 src/target3/t3errutil.h, src/target3/t3main.cpp,
4444 src/target3/t3main.h, src/target3/t3mm1docv.cpp,
4445 src/target3/t3mm1docv.h, src/target3/t3mm2docv.cpp,
4446 src/target3/t3mm2docv.h, src/target3/t3qm1docv.cpp,
4447 src/target3/t3qm1docv.h, src/target3/t3qm2docv.cpp,
4448 src/target3/t3qm2docv.h, src/target3/t3views.cpp,
4449 src/target3/t3views.h: many factory classes combined to
4450 class_factory.
4451
4452 2001-05-16 11:30 thassine
4453
4454 * src/target3/t3main.cpp: just added some buttons, to see what it
4455 looks like...
4456
4457 2001-05-16 03:56 hutchisn
4458
4459 * src/common/Makefile.in, src/common/prefs.cpp, src/common/prefs.h,
4460 src/target3/Makefile.in, src/target3/t3prefs.cpp,
4461 src/target3/t3prefs.h: Add new "prefs" class to interface with
4462 gnome-config
4463 to allow user-config for various things.
4464
4465 2001-05-15 11:57 thassine
4466
4467 * src/common/mm1mdl.cpp: again some fixes to readpdb
4468
4469 2001-05-15 08:49 thassine
4470
4471 * src/common/mm1mdl.cpp: just some fixes added to readpdb
4472
4473 2001-05-14 09:10 thassine
4474
4475 * src/common/mm1mdl.cpp, src/target3/t3mm1docv.cpp: organized menus
4476 a bit, some changes to readpdb
4477
4478 2001-05-11 15:18 hutchisn
4479
4480 * src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h: Add stubs for
4481 export graphics, as well as "zap all" and "compute formula"
4482
4483 2001-05-11 12:10 thassine
4484
4485 * src/graphics/mtools.cpp, src/graphics/mtools.h,
4486 src/graphics/views.cpp, src/graphics/views.h,
4487 src/target3/t3main.cpp, src/target3/t3main.h: switched to a
4488 single measure tool, multiple toolbars added.
4489
4490 2001-05-08 11:25 thassine
4491
4492 * miniMOPAC/Makefile: miniMOPAC/Makefile removed; configure will
4493 update it.
4494
4495 2001-05-08 11:22 thassine
4496
4497 * miniMOPAC/Makefile, miniMOPAC/Makefile.OLD, src/Makefile.OLD,
4498 src/common/mm1mdl.cpp, src/common/mm1mdl.h,
4499 src/common/mm2mdl.cpp, src/common/mm2mdl.h, src/common/model.h,
4500 src/target2/t2mm2docv.cpp: some improvements to readpdb; it now
4501 reads multiple crd-sets present in NMR entries
4502
4503 2001-05-07 14:33 hutchisn
4504
4505 * src/graphics/Makefile.in: Remove io-* from build list until GNOME
4506 catches up (!)
4507
4508 2001-05-04 20:32 hutchisn
4509
4510 * src/target3/t3main.cpp, src/target3/t3main.h: Add buttons for
4511 measure tools.
4512
4513 2001-05-04 20:31 hutchisn
4514
4515 * src/graphics/mtools.cpp, src/graphics/mtools.h,
4516 src/graphics/views.cpp, src/graphics/views.h: Add tools for
4517 measurements.
4518
4519 2001-05-04 20:30 hutchisn
4520
4521 * src/target3/pixmaps, src/target3/pixmaps/.cvsignore,
4522 src/target3/pixmaps/angle.xpm, src/target3/pixmaps/dihedral.xpm,
4523 src/target3/pixmaps/distance.xpm, src/target3/pixmaps/draw.xpm,
4524 src/target3/pixmaps/erase.xpm, src/target3/pixmaps/orb_xy.xpm,
4525 src/target3/pixmaps/orb_z.xpm, src/target3/pixmaps/rot_xy.xpm,
4526 src/target3/pixmaps/rot_z.xpm, src/target3/pixmaps/select.xpm,
4527 src/target3/pixmaps/trans_xy.xpm,
4528 src/target3/pixmaps/trans_z.xpm, src/target3/pixmaps/zoom.xpm:
4529 Add transparency to button pics and buttons for measure tools.
4530
4531 2001-05-04 18:28 hutchisn
4532
4533 * src/graphics/docview.cpp, src/graphics/docview.h,
4534 src/target3/t3docv.cpp, src/target3/t3docv.h: Changes to make
4535 sure window titles update when importing.
4536
4537 2001-05-04 18:27 hutchisn
4538
4539 * src/target3/Makefile.in: Make sure miniMOPAC is compiled in.
4540
4541 2001-05-04 18:26 hutchisn
4542
4543 * src/graphics/Makefile.in: Compile io-* for exporting.
4544
4545 2001-05-04 16:39 hutchisn
4546
4547 * src/common/mm1mdl.cpp, src/common/mm1mdl.h: Added CLear and
4548 DoFormula methods.
4549
4550 2001-05-04 16:38 hutchisn
4551
4552 * src/common/Makefile.in: Remove EXTERN_GLOBALS -- not needed
4553
4554 2001-05-04 16:37 hutchisn
4555
4556 * src/graphics/io-jpg.cpp, src/graphics/io-jpg.h,
4557 src/graphics/io-png.cpp, src/graphics/io-png.h: Add GNOME code
4558 for exporting GdkPixbuf -> PNG or JPEG files.
4559
4560 2001-05-04 15:51 hutchisn
4561
4562 * oelib/aromatic.h, oelib/atom.cpp, oelib/atomtyp.h,
4563 oelib/bin2hex.pl, oelib/binary.cpp, oelib/binary.h,
4564 oelib/binary_io.cpp, oelib/binary_io.h, oelib/chains.cpp,
4565 oelib/chains.h, oelib/configure, oelib/ctransform.cpp,
4566 oelib/ctransform.h, oelib/data.cpp, oelib/data.h, oelib/dmol.cpp,
4567 oelib/element.h, oelib/extable.h, oelib/extable.txt,
4568 oelib/fileformat.cpp, oelib/fileformat.h, oelib/gaussian.cpp,
4569 oelib/generic.cpp, oelib/generic.h, oelib/ghemical.cpp,
4570 oelib/jaguar.cpp, oelib/main.cpp, oelib/matrix.cpp,
4571 oelib/matrix.h, oelib/mdl.cpp, oelib/mol.cpp, oelib/mol.h,
4572 oelib/mol2.cpp, oelib/mopac.cpp, oelib/nwchem.cpp,
4573 oelib/oelib.dsp, oelib/oeutil.cpp, oelib/oeutil.h,
4574 oelib/parsmart.cpp, oelib/parsmi.cpp, oelib/phmodel.cpp,
4575 oelib/phmodeldata.h, oelib/report.cpp, oelib/resdata.h,
4576 oelib/rotor.cpp, oelib/smi.cpp, oelib/typer.cpp, oelib/types.h:
4577 Update with current OELib version.
4578
4579 2001-05-03 16:52 hutchisn
4580
4581 * Makefile.in, configure, configure.in, miniMOPAC/Makefile.in,
4582 oelib/Makefile.in: Update for miniMOPAC, test for g2c/f2c library
4583 (hopefully).
4584
4585 2001-05-03 16:50 hutchisn
4586
4587 * src/target3/glade/ghemical.glade,
4588 src/target3/glade/src/glade_interface.cpp,
4589 src/target3/glade/src/glade_interface.h,
4590 src/target3/glade/src/glade_support.cpp: Add Element options
4591 dialog to glade.
4592
4593 2001-05-02 09:31 thassine
4594
4595 * src/common/mm1mdl.cpp: added a small fix to readpdb so that it
4596 can read also NMR entries.
4597
4598 2001-04-30 10:58 thassine
4599
4600 * src/common/mm1mdl.cpp, src/common/mm1mdl.h: some improvements to
4601 readpdb-functions.
4602
4603 2001-04-27 12:40 thassine
4604
4605 * src/common/mm1mdl.cpp, src/common/mm1mdl.h,
4606 src/target2/t2mm1docv.cpp, src/target2/t2mm2docv.cpp: revived
4607 ImportENT_OLD and changed them to readpdb-functions (for advanced
4608 PDB file imports)
4609
4610 2001-04-24 11:10 thassine
4611
4612 * INSTALL, src/common/Makefile.OLD, src/target3/t3dialog.cpp:
4613 documentation, old makefile, t3 bondtype dialog fixed a bit.
4614
4615 2001-04-20 10:11 thassine
4616
4617 * src/common/Makefile.OLD, src/common/Makefile.in,
4618 src/common/mm1mdl.cpp, src/common/mm1mdl.h,
4619 src/common/mm2alg.cpp, src/common/mm2alg.h, src/common/mm2mdl.h,
4620 src/common/model.h, src/target2/t2mm2docv.cpp: continued merging
4621 the mm2_mdl.
4622
4623 2001-04-19 10:16 thassine
4624
4625 * src/common/mm1mdl.h, src/common/mm2eng.h, src/common/mm2mdl.cpp,
4626 src/common/mm2mdl.h, src/common/mm2util.cpp,
4627 src/common/mm2util.h, src/common/model.cpp, src/common/model.h,
4628 src/common/qm1mdl.h, src/graphics/mm2docv.cpp,
4629 src/graphics/mm2docv.h, src/graphics/qm2docv.h,
4630 src/target2/t2mm1docv.h, src/target2/t2mm2docv.cpp,
4631 src/target2/t2qm1docv.h, src/target2/t2qm2docv.h: continued
4632 merging the mm2_mdl, plus some cleanups.
4633
4634 2001-04-18 11:04 thassine
4635
4636 * CHANGES, bin/parameters/mm2param,
4637 bin/parameters/mm2param/loopdip.txt,
4638 bin/parameters/mm2param/looptor.txt, src/common/Makefile.OLD,
4639 src/common/Makefile.in, src/common/mm1mdl.h,
4640 src/common/mm1util.h, src/common/mm2eng.cpp, src/common/mm2eng.h,
4641 src/common/mm2mdl.cpp, src/common/mm2mdl.h,
4642 src/graphics/mm2docv.cpp, src/graphics/mm2docv.h,
4643 src/target2/t2mm1docv.cpp, src/target2/t2mm2docv.cpp,
4644 src/target2/t2mm2docv.h, src/target3/t3mm2docv.cpp,
4645 src/target3/t3mm2docv.h: started merging the mm2_mdl code
4646 (accepted for publication :)
4647
4648 2001-04-18 08:22 thassine
4649
4650 * CHANGES, miniMOPAC, miniMOPAC/Makefile, miniMOPAC/Makefile.OLD,
4651 miniMOPAC/README, miniMOPAC/aababc.c, miniMOPAC/addfck.c,
4652 miniMOPAC/addhcr.c, miniMOPAC/addnuc.c, miniMOPAC/analyt.c,
4653 miniMOPAC/anavib.c, miniMOPAC/axis.c, miniMOPAC/block.c,
4654 miniMOPAC/bonds.c, miniMOPAC/brlzon.c, miniMOPAC/btoc.c,
4655 miniMOPAC/calpar.c, miniMOPAC/capcor.c, miniMOPAC/cdiag.c,
4656 miniMOPAC/chrge.c, miniMOPAC/cnvg.c, miniMOPAC/compfg.c,
4657 miniMOPAC/consts.c, miniMOPAC/cqden.c, miniMOPAC/datin.c,
4658 miniMOPAC/dcart.c, miniMOPAC/delmol.c, miniMOPAC/delri.c,
4659 miniMOPAC/denrot.c, miniMOPAC/densit.c, miniMOPAC/depvar.c,
4660 miniMOPAC/deri0.c, miniMOPAC/deri1.c, miniMOPAC/deri2.c,
4661 miniMOPAC/deri21.c, miniMOPAC/deri22.c, miniMOPAC/deri23.c,
4662 miniMOPAC/deritr.c, miniMOPAC/deriv.c, miniMOPAC/dernvo.c,
4663 miniMOPAC/ders.c, miniMOPAC/dfock2.c, miniMOPAC/dfpsav.c,
4664 miniMOPAC/dgemm.c, miniMOPAC/dgemv.c, miniMOPAC/dger.c,
4665 miniMOPAC/dgetf2.c, miniMOPAC/dgetrf.c, miniMOPAC/dgetri.c,
4666 miniMOPAC/diag.c, miniMOPAC/diat.c, miniMOPAC/diat2.c,
4667 miniMOPAC/diegrd.c, miniMOPAC/dielen.c, miniMOPAC/diis.c,
4668 miniMOPAC/dijkl1.c, miniMOPAC/dijkl2.c, miniMOPAC/dipind.c,
4669 miniMOPAC/dipole.c, miniMOPAC/dlaswp.c, miniMOPAC/dofs.c,
4670 miniMOPAC/dot.c, miniMOPAC/drc.c, miniMOPAC/drcout.c,
4671 miniMOPAC/dtrmm.c, miniMOPAC/dtrmv.c, miniMOPAC/dtrsm.c,
4672 miniMOPAC/dtrti2.c, miniMOPAC/dtrtri.c, miniMOPAC/dvfill.c,
4673 miniMOPAC/ef.c, miniMOPAC/enpart.c, miniMOPAC/esp.c,
4674 miniMOPAC/etime.c, miniMOPAC/exchng.c, miniMOPAC/fdate.c,
4675 miniMOPAC/ffhpol.c, miniMOPAC/flepo.c, miniMOPAC/fmat.c,
4676 miniMOPAC/fock1.c, miniMOPAC/fock2.c, miniMOPAC/force.c,
4677 miniMOPAC/formxy.c, miniMOPAC/forsav.c, miniMOPAC/frame.c,
4678 miniMOPAC/freqcy.c, miniMOPAC/geout.c, miniMOPAC/geoutg.c,
4679 miniMOPAC/getgeg.c, miniMOPAC/getgeo.c, miniMOPAC/getsym.c,
4680 miniMOPAC/gettxt.c, miniMOPAC/gmetry.c, miniMOPAC/gover.c,
4681 miniMOPAC/greenf.c, miniMOPAC/grid.c, miniMOPAC/h1elec.c,
4682 miniMOPAC/haddon.c, miniMOPAC/hcore.c, miniMOPAC/helect.c,
4683 miniMOPAC/hqrii.c, miniMOPAC/ijkl.c, miniMOPAC/ilaenv.c,
4684 miniMOPAC/initsv.c, miniMOPAC/interp.c, miniMOPAC/iter.c,
4685 miniMOPAC/jcarin.c, miniMOPAC/linmin.c, miniMOPAC/local.c,
4686 miniMOPAC/locmin.c, miniMOPAC/lsame.c, miniMOPAC/makpol.c,
4687 miniMOPAC/mamult.c, miniMOPAC/matou1.c, miniMOPAC/matout.c,
4688 miniMOPAC/matpak.c, miniMOPAC/meci.c, miniMOPAC/mecid.c,
4689 miniMOPAC/mecih.c, miniMOPAC/mecip.c, miniMOPAC/minimopac.c,
4690 miniMOPAC/moldat.c, miniMOPAC/molval.c, miniMOPAC/mullik.c,
4691 miniMOPAC/mult.c, miniMOPAC/nllsq.c, miniMOPAC/nuchar.c,
4692 miniMOPAC/parsav.c, miniMOPAC/partxy.c, miniMOPAC/pathk.c,
4693 miniMOPAC/paths.c, miniMOPAC/perm.c, miniMOPAC/polar.c,
4694 miniMOPAC/powsav.c, miniMOPAC/powsq.c, miniMOPAC/prtdrc.c,
4695 miniMOPAC/quadr.c, miniMOPAC/react1.c, miniMOPAC/reada.c,
4696 miniMOPAC/readmo.c, miniMOPAC/refer.c, miniMOPAC/repp.c,
4697 miniMOPAC/rotat.c, miniMOPAC/rotate.c, miniMOPAC/rsp.c,
4698 miniMOPAC/search.c, miniMOPAC/second.c, miniMOPAC/setupg.c,
4699 miniMOPAC/solrot.c, miniMOPAC/swap.c, miniMOPAC/sympro.c,
4700 miniMOPAC/symtry.c, miniMOPAC/symtrz.c, miniMOPAC/thermo.c,
4701 miniMOPAC/timer.c, miniMOPAC/timout.c, miniMOPAC/update.c,
4702 miniMOPAC/upsurf.c, miniMOPAC/vecprt.c, miniMOPAC/writmo.c,
4703 miniMOPAC/wrtkey.c, miniMOPAC/wrttxt.c, miniMOPAC/xerbla.c,
4704 miniMOPAC/xyzint.c, src/common/Makefile.OLD,
4705 src/common/Makefile.in, src/common/errutil.cpp,
4706 src/common/qm1alg.cpp, src/common/qm1alg.h,
4707 src/common/qm1e_mopac.cpp, src/common/qm1e_mopac.h,
4708 src/common/qm1e_mpqc.cpp, src/common/qm1e_mpqc.h,
4709 src/common/qm1eng.cpp, src/common/qm1eng.h,
4710 src/common/qm1eng1.cpp, src/common/qm1eng1.h,
4711 src/common/qm1eng9.cpp, src/common/qm1eng9.h,
4712 src/common/qm1mdl.cpp, src/common/qm1mdl.h,
4713 src/graphics/camera.h, src/graphics/mm1docv.cpp,
4714 src/graphics/qm1docv.cpp, src/graphics/qm1docv.h,
4715 src/target1/Makefile.OLD, src/target2/Makefile.OLD,
4716 src/target2/t2mm1docv.h, src/target2/t2qm1docv.cpp,
4717 src/target2/t2qm1docv.h, src/target3/Makefile.OLD,
4718 src/target3/t3qm1docv.cpp, src/target3/t3qm1docv.h: added
4719 miniMOPAC and QM geometry optimization.
4720
4721 2001-03-30 10:21 thassine
4722
4723 * configure, configure.in, src/common/define.h: switched back to
4724 devel settings; the version number is now 0.43
4725
4726 2001-03-30 08:30 thassine
4727
4728 * CHANGES, src/common/define.h, src/common/notice.cpp,
4729 src/target3/t3main.cpp, src/target3/t3mm1docv.cpp,
4730 src/target3/t3mm2docv.cpp, src/target3/t3qm1docv.cpp: minor
4731 cleanups; this is released as 0.42
4732
4733 2001-03-28 11:08 thassine
4734
4735 * src/common/model.cpp, src/common/typedef.h,
4736 src/graphics/mm1docv.cpp, src/target1/Makefile.OLD,
4737 src/target2/Makefile.OLD, src/target3/Makefile.OLD: some comments
4738 added, X11/ogl headers and libs removed from TARGET1.
4739
4740 2001-03-23 22:33 hutchisn
4741
4742 * oelib/jaguar.cpp: Fix problems with Jaguar translator.
4743
4744 2001-03-22 16:43 hutchisn
4745
4746 * src/graphics/mm1docv.cpp: Add new multiple-bond rendering. Now
4747 uses line stipple to render conjugated bonds fairly well.
4748
4749 2001-03-22 16:42 hutchisn
4750
4751 * oelib/Makefile, oelib/Makefile.in, oelib/data.cpp, oelib/data.h,
4752 oelib/dmol.cpp, oelib/extable.txt, oelib/fileformat.cpp,
4753 oelib/fileformat.h, oelib/gamess.cpp, oelib/ghemical.cpp: Added
4754 Dmol format and cleanups.
4755
4756 2001-03-22 15:51 thassine
4757
4758 * src/common/mm1util.h, src/graphics/mm1rbn.cpp,
4759 src/target2/t2mm1docv.cpp, src/target3/t3mm1docv.cpp: the bug
4760 with ribbon objects should now be fixed.
4761
4762 2001-03-19 11:46 thassine
4763
4764 * oelib/Makefile, src/common/filetrans.cpp, src/common/filetrans.h:
4765 added syncronization for bonds into file_trans::Synchronize().
4766
4767 2001-03-16 12:17 thassine
4768
4769 * oelib/Makefile, src/common/filetrans.cpp, src/common/mm1mdl.cpp,
4770 src/common/utility.cpp, src/common/utility.h,
4771 src/target2/t2mm1docv.cpp: oelib syncronization and other small
4772 improvements.
4773
4774 2001-03-15 19:53 hutchisn
4775
4776 * oelib/ghemical.cpp, oelib/xyz.cpp: Fix minor bugs in file
4777 translators.
4778
4779 2001-03-15 18:50 hutchisn
4780
4781 * src/common/filetrans.cpp: Fix "the bug" with calling extab before
4782 it was properly set.
4783
4784 2001-03-15 18:49 hutchisn
4785
4786 * oelib/alchemy.cpp, oelib/amber.cpp, oelib/atomtyp.h,
4787 oelib/atomtyp.txt, oelib/element.h, oelib/element.txt,
4788 oelib/extable.h, oelib/ghemical.cpp, oelib/hin.cpp,
4789 oelib/jaguar.cpp, oelib/mpqc.cpp, oelib/oelib.dsp,
4790 oelib/phmodeldata.h, oelib/qchem.cpp, oelib/tinker.cpp,
4791 oelib/types.h, oelib/types.txt, oelib/unichem.cpp, oelib/xyz.cpp:
4792 Added fixes to the translators--now much better about getting
4793 elements correct for rare atoms (e.g. Pb).
4794
4795 2001-03-15 11:15 thassine
4796
4797 * oelib/Makefile, oelib/atom.cpp, oelib/mol.h,
4798 src/common/filetrans.cpp, src/common/filetrans.h: switched to a
4799 less complicated way to do oelib compatibility
4800
4801 2001-03-14 16:40 hutchisn
4802
4803 * bin/examples/PeriodicTable.mm1gp, src/common/utility.cpp,
4804 src/common/utility.h: Fixed atom colors and add example Periodic
4805 Table.
4806
4807 2001-03-14 13:00 thassine
4808
4809 * CHANGES, configure, configure.in, oelib/atom.cpp, oelib/mol.h,
4810 src/common/define.h, src/common/filetrans.cpp,
4811 src/common/filetrans.h, src/common/mm1mdl.cpp,
4812 src/common/mm1mdl.h, src/common/utility.cpp,
4813 src/common/utility.h, src/graphics/Makefile.OLD,
4814 src/graphics/Makefile.in, src/target1/Makefile.OLD,
4815 src/target2/Makefile.OLD, src/target2/t2mm1docv.cpp,
4816 src/target3/Makefile.OLD, src/target3/Makefile.in: some mm1_mdl
4817 <=> oelib compatibility features started.
4818
4819 2001-03-12 12:00 thassine
4820
4821 * BUGLIST, CHANGES, INSTALL, PROJECT,
4822 bin/examples/2-chlorobutane.mm1gp,
4823 bin/examples/3-phenylpropanal.mm1gp,
4824 bin/examples/acetylsalicylic_acid.mm1gp,
4825 bin/examples/alpha-pinene.mm1gp, bin/examples/bromobenzene.mm1gp,
4826 bin/examples/camphor.mm1gp, bin/examples/cinnamaldehyde.mm1gp,
4827 bin/examples/cis-2-pentene.mm1gp, bin/examples/cyclohexane.mm1gp,
4828 bin/examples/naphtalene.mm1gp, oelib/Makefile,
4829 src/common/mm1mdl.cpp, src/graphics/docview.cpp,
4830 src/graphics/docview.h, src/target3/t3docv.h,
4831 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
4832 src/target3/t3qm1docv.cpp, src/target3/t3qm1docv.h,
4833 src/target3/t3views.cpp: this is released as version 0.41
4834
4835 2001-03-08 22:54 hutchisn
4836
4837 * src/common/define.h, src/graphics/mm1docv.cpp,
4838 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h: Add support
4839 for label Atom IDs
4840
4841 2001-03-08 22:53 hutchisn
4842
4843 * src/common/mm1mdl.cpp: ReadStream changes to support reading
4844 charges
4845
4846 2001-03-08 22:53 hutchisn
4847
4848 * src/common/notice.cpp: Update copyright with OELib info.
4849
4850 2001-03-08 22:51 hutchisn
4851
4852 * src/common/filetrans.cpp: Update for new OELib changes.
4853
4854 2001-03-08 22:49 hutchisn
4855
4856 * Makefile.in: Add target for help files.
4857
4858 2001-03-08 22:47 hutchisn
4859
4860 * oelib/Makefile.in, oelib/Vector.cpp, oelib/Vector.h,
4861 oelib/alchemy.cpp, oelib/amber.cpp, oelib/aromatic.h,
4862 oelib/aromatic.txt, oelib/atom.cpp, oelib/atomtyp.h,
4863 oelib/atomtyp.txt, oelib/balst.cpp, oelib/bgf.cpp,
4864 oelib/bin2hex.pl, oelib/binary.cpp, oelib/binary.h,
4865 oelib/bitgrid.cpp, oelib/bitgrid.h, oelib/bitvec.cpp,
4866 oelib/bitvec.h, oelib/bond.cpp, oelib/box.cpp, oelib/c3d.cpp,
4867 oelib/cacao.cpp, oelib/cache.cpp, oelib/car.cpp, oelib/ccc.cpp,
4868 oelib/chdrw.cpp, oelib/chiral.cpp, oelib/chiral.h,
4869 oelib/commandline.cpp, oelib/commandline.h, oelib/configure,
4870 oelib/csr.cpp, oelib/cssr.cpp, oelib/cwrap.cpp, oelib/cwrap.h,
4871 oelib/data.cpp, oelib/data.h, oelib/element.h, oelib/extable.h,
4872 oelib/extable.txt, oelib/feat.cpp, oelib/fh.cpp,
4873 oelib/fileformat.cpp, oelib/fileformat.h, oelib/gamess.cpp,
4874 oelib/ghemical.cpp, oelib/grid.cpp, oelib/grid.h,
4875 oelib/gromos96.cpp, oelib/hin.cpp, oelib/jaguar.cpp,
4876 oelib/main.cpp, oelib/matrix.cpp, oelib/matrix.h, oelib/mdl.cpp,
4877 oelib/mmod.cpp, oelib/mol.cpp, oelib/mol.h, oelib/mol2.cpp,
4878 oelib/molchrg.cpp, oelib/molchrg.h, oelib/molvector.cpp,
4879 oelib/molvector.h, oelib/mpqc.cpp, oelib/oeifstream.h,
4880 oelib/oelib.dsp, oelib/oeutil.cpp, oelib/oeutil.h,
4881 oelib/parsmart.cpp, oelib/parsmart.h, oelib/parsmi.cpp,
4882 oelib/patty.cpp, oelib/patty.h, oelib/pdb.cpp, oelib/phmodel.cpp,
4883 oelib/phmodel.h, oelib/phmodel.txt, oelib/phmodeldata.h,
4884 oelib/qchem.cpp, oelib/rand.cpp, oelib/resdata.h, oelib/ring.cpp,
4885 oelib/ring.h, oelib/rotor.cpp, oelib/rotor.h, oelib/smi.cpp,
4886 oelib/smi.h, oelib/tokenst.cpp, oelib/typer.cpp, oelib/typer.h,
4887 oelib/types.h, oelib/version.h, oelib/xed.cpp: Updates to oelib
4888 files.
4889
4890 2001-03-08 14:59 thassine
4891
4892 * CHANGES, src/common/notice.cpp, src/common/notice.h,
4893 src/target3/t3main.cpp, src/target3/t3main.h: added the Help/Help
4894 item to the main menu, copyright notices updated to include OELib
4895
4896 2001-03-08 13:51 thassine
4897
4898 * bin/user-docs/index.html, bin/user-docs/maintools.jpg: updated
4899 the user's manual
4900
4901 2001-02-16 15:14 thassine
4902
4903 * src/Makefile.OLD: this will make quick test builds easier.
4904
4905 2001-02-16 14:29 thassine
4906
4907 * bin/user-docs, bin/user-docs/index.html: added some framework for
4908 the user manual
4909
4910 2001-02-13 14:32 thassine
4911
4912 * INSTALL, src/target3/t3main.cpp, src/target3/t3qm1docv.cpp,
4913 src/target3/t3qm1docv.h: added some quick improvements to
4914 qm1-model to boost its ease of use.
4915
4916 2001-02-12 17:07 hutchisn
4917
4918 * configure, configure.in: Solved configure problems with MPQC and
4919 oelib.
4920
4921 2001-02-12 16:25 hutchisn
4922
4923 * configure, configure.in: Fix problem with configure in srcdir.
4924
4925 2001-02-12 09:41 thassine
4926
4927 * src/common/Makefile.OLD, src/common/qm1eng1.cpp,
4928 src/common/qm1mdl.cpp, src/graphics/Makefile.OLD,
4929 src/graphics/camera.cpp, src/graphics/docview.cpp,
4930 src/graphics/mm1docv.cpp, src/graphics/mm1rbn.cpp,
4931 src/graphics/mm2docv.cpp, src/graphics/mm2rbn.cpp,
4932 src/graphics/mtools.cpp, src/graphics/objects.cpp,
4933 src/graphics/plane.cpp, src/graphics/qm1docv.cpp,
4934 src/graphics/qm2docv.cpp, src/graphics/surface.cpp,
4935 src/graphics/views.cpp, src/target1/Makefile.OLD,
4936 src/target1/config.h.OLD, src/target2/Makefile.OLD,
4937 src/target2/config.h.OLD, src/target3/Makefile.OLD,
4938 src/target3/config.h.OLD: a bug that affected MPQC front end
4939 compilation is now fixed (thanks Mark).
4940
4941 2001-02-11 14:36 thassine
4942
4943 * CHANGES, bin/examples/1gar.mm2gp, bin/examples/1hcl.mm2gp,
4944 bin/examples/4rhn.mm2gp, src/common/Makefile.OLD,
4945 src/common/Makefile.in, src/common/mm2mdl.cpp,
4946 src/common/mm2mdl.h, src/common/mm2util.cpp,
4947 src/common/mm2util.h, src/common/model.h,
4948 src/graphics/Makefile.OLD, src/graphics/Makefile.in,
4949 src/graphics/mm2docv.cpp, src/graphics/mm2docv.h,
4950 src/graphics/mm2rbn.cpp, src/graphics/mm2rbn.h,
4951 src/graphics/views.h, src/target2/Makefile.OLD,
4952 src/target2/t2main.cpp, src/target2/t2main.h,
4953 src/target2/t2mm2docv.cpp, src/target2/t2mm2docv.h,
4954 src/target3/Makefile.OLD, src/target3/Makefile.in,
4955 src/target3/t3docv.h, src/target3/t3main.cpp,
4956 src/target3/t3main.h, src/target3/t3mm2docv.cpp,
4957 src/target3/t3mm2docv.h, src/target3/t3views.h: tadaall added a
4958 preview version of the reduced protein modelling thing.
4959
4960 2001-02-10 15:09 thassine
4961
4962 * INSTALL, configure, configure.in, src/common/define.h,
4963 src/common/engine.h, src/common/mm1mdl.cpp,
4964 src/common/qm1mdl.cpp, src/target3/t3views.cpp: changed back to
4965 devel settings (version number, releasedate); small fixes appled
4966 here and there.
4967
4968 2001-02-07 09:24 thassine
4969
4970 * small-utilities/README, small-utilities/gp2mpqc.cpp,
4971 src/graphics/spline.h, src/graphics/views.h: added some final
4972 fixes to documentation; this is released as 0.40
4973
4974 2001-02-06 18:24 hutchisn
4975
4976 * oelib/extable.txt: Add sorted extable to make menus more
4977 user-friendly.
4978
4979 2001-02-06 18:24 hutchisn
4980
4981 * src/common/filetrans.cpp: Fix bug with GetImportDescription.
4982
4983 2001-02-06 18:05 hutchisn
4984
4985 * oelib/data.cpp: Fix problem with GetType from an integer--table
4986 lookup was in the wrong place!
4987
4988 2001-02-06 13:10 thassine
4989
4990 * src/common/mm1mdl.cpp, src/common/mm1mdl.h,
4991 src/graphics/docview.h, src/graphics/mm1docv.cpp,
4992 src/graphics/mm1docv.h, src/target2/t2docv.h,
4993 src/target3/t3docv.h, src/target3/t3errutil.h,
4994 src/target3/t3main.h, src/target3/t3mm1docv.h,
4995 src/target3/t3qm1docv.h, src/target3/t3views.h: added some more
4996 DOC++ style documentation.
4997
4998 2001-02-06 09:21 thassine
4999
5000 * AUTHORS, CHANGES, INSTALL, PROJECT: revised/updated some
5001 documentation.
5002
5003 2001-02-06 08:44 thassine
5004
5005 * configure, configure.in, oelib/Makefile, src/common/define.h,
5006 src/common/notice.cpp, src/target3/glade_callbacks.cpp,
5007 src/target3/glade_interface.cpp, src/target3/glade_interface.h:
5008 some cleanups at glade optionmenus; the version number promoted
5009 to 0.40
5010
5011 2001-02-06 06:17 hutchisn
5012
5013 * src/target3/glade_callbacks.cpp: Use file_trans methods to
5014 specifically request a file type when the user picks it or
5015 "Automatic" based on the file name.
5016
5017 2001-02-06 06:16 hutchisn
5018
5019 * src/common/filetrans.cpp, src/common/filetrans.h: Add support for
5020 specifically requesting an import or export type (by index #).
5021
5022 2001-02-06 06:16 hutchisn
5023
5024 * oelib/Makefile.in: Add target to rebuild Makefile if Makefile.in
5025 or configure script changes.
5026
5027 2001-02-05 15:26 thassine
5028
5029 * src/target3/glade_callbacks.cpp: the file import/export dialogs
5030 seem to work now...
5031
5032 2001-02-05 14:48 thassine
5033
5034 * oelib/data.cpp, oelib/extable.txt, oelib/ghemical.cpp,
5035 oelib/mol.cpp, src/target3/glade_callbacks.cpp,
5036 src/target3/glade_interface.cpp, src/target3/glade_interface.h:
5037 the filename change is done also in oelib; the file import/export
5038 dialogs almost work now.
5039
5040 2001-02-05 13:55 thassine
5041
5042 * src/target3/glade/ghemical.glade,
5043 src/target3/glade/src/glade_callbacks.cpp,
5044 src/target3/glade/src/glade_callbacks.h,
5045 src/target3/glade/src/glade_interface.cpp,
5046 src/target3/glade/src/glade_interface.h,
5047 src/target3/glade/src/main.cpp, src/target3/glade_callbacks.cpp,
5048 src/target3/glade_callbacks.h, src/target3/glade_interface.cpp,
5049 src/target3/glade_interface.h, src/target3/t3mm1docv.cpp,
5050 src/target3/t3qm1docv.cpp: changed the glade project and code so
5051 that each dialog (and most important widgets) have their own
5052 simple namespace.
5053
5054 2001-02-04 18:30 thassine
5055
5056 * src/common/qm1eng.cpp, src/common/qm1eng.h,
5057 src/common/qm1mdl.cpp, src/common/qm1mdl.h,
5058 src/common/qm2eng.cpp, src/common/qm2eng.h,
5059 src/common/qm2mdl.cpp, src/common/qm2mdl.h,
5060 src/graphics/qm1docv.cpp, src/graphics/qm1docv.h,
5061 src/graphics/qm2docv.cpp, src/graphics/qm2docv.h,
5062 src/target2/t2qm1docv.cpp, src/target2/t2qm1docv.h,
5063 src/target2/t2qm2docv.cpp, src/target2/t2qm2docv.h,
5064 src/target3/t3qm1docv.cpp, src/target3/t3qm1docv.h,
5065 src/target3/t3qm2docv.cpp, src/target3/t3qm2docv.h: some files
5066 were lost in the last commit; added them back...
5067
5068 2001-02-04 18:11 thassine
5069
5070 * CHANGES, INSTALL, bin/examples/2-chlorobutane.gpMM,
5071 bin/examples/2-chlorobutane.mm1gp,
5072 bin/examples/3-phenylpropanal.gpMM,
5073 bin/examples/3-phenylpropanal.mm1gp,
5074 bin/examples/acetylsalicylic_acid.gpMM,
5075 bin/examples/acetylsalicylic_acid.mm1gp,
5076 bin/examples/alpha-pinene.gpMM, bin/examples/alpha-pinene.mm1gp,
5077 bin/examples/bromobenzene.gpMM, bin/examples/bromobenzene.mm1gp,
5078 bin/examples/camphor.gpMM, bin/examples/camphor.mm1gp,
5079 bin/examples/cinnamaldehyde.gpMM,
5080 bin/examples/cinnamaldehyde.mm1gp,
5081 bin/examples/cis-2-pentene.gpMM,
5082 bin/examples/cis-2-pentene.mm1gp, bin/examples/cyclohexane.gpMM,
5083 bin/examples/cyclohexane.mm1gp, bin/examples/naphtalene.gpMM,
5084 bin/examples/naphtalene.mm1gp, src/common/Makefile.OLD,
5085 src/common/Makefile.in, src/common/mm1mdl.cpp,
5086 src/common/mm1mdl.h, src/common/model.h, src/common/qm1eng.cpp,
5087 src/common/qm1eng.h, src/common/qm1eng1.cpp,
5088 src/common/qm1eng1.h, src/common/qm1eng9.cpp,
5089 src/common/qm1eng9.h, src/common/qm1mdl.cpp, src/common/qm1mdl.h,
5090 src/common/qm2eng.cpp, src/common/qm2eng.h,
5091 src/common/qm2eng1.cpp, src/common/qm2eng1.h,
5092 src/common/qm2eng9.cpp, src/common/qm2eng9.h,
5093 src/common/qm2mdl.cpp, src/common/qm2mdl.h,
5094 src/graphics/qm1docv.cpp, src/graphics/qm1docv.h,
5095 src/graphics/qm2docv.cpp, src/graphics/qm2docv.h,
5096 src/target1/t1main.cpp, src/target2/t2main.cpp,
5097 src/target2/t2qm1docv.cpp, src/target2/t2qm1docv.h,
5098 src/target2/t2qm2docv.cpp, src/target2/t2qm2docv.h,
5099 src/target3/glade/ghemical.glade,
5100 src/target3/glade/src/glade_interface.cpp,
5101 src/target3/glade/src/glade_interface.h,
5102 src/target3/glade/src/main.cpp, src/target3/glade_callbacks.cpp,
5103 src/target3/glade_interface.cpp, src/target3/glade_interface.h,
5104 src/target3/t3docv.h, src/target3/t3main.cpp,
5105 src/target3/t3main.h, src/target3/t3mm1docv.cpp,
5106 src/target3/t3mm1docv.h, src/target3/t3qm1docv.cpp,
5107 src/target3/t3qm1docv.h, src/target3/t3qm2docv.cpp,
5108 src/target3/t3qm2docv.h, src/target3/t3views.h: swapped the
5109 classnames qm1* and qm2 (as well as filenames) in an effort to
5110 make the class naming scheme more reasonnable (now we have a
5111 clear division in mm/qm, and the all-atoms classes (most used)
5112 have numbers 1); also changed nicer filename extensions.
5113
5114 2001-02-02 16:27 thassine
5115
5116 * src/common/mm1alg.h, src/common/mm1mdl.cpp,
5117 src/target2/t2mm1docv.cpp, src/target3/glade/ghemical.glade,
5118 src/target3/glade/src/glade_interface.cpp,
5119 src/target3/glade_callbacks.cpp, src/target3/glade_interface.cpp,
5120 src/target3/t3dialog.h, src/target3/t3mm1docv.cpp,
5121 src/target3/t3mm1docv.h: the trajectory viewer works now (as a
5122 modal dialog, but anyway).
5123
5124 2001-01-31 17:32 thassine
5125
5126 * CHANGES, src/common/errutil.cpp, src/common/errutil.h,
5127 src/common/mm1alg.h, src/common/mm1mdl.cpp, src/common/mm1mdl.h,
5128 src/common/model.h, src/common/qm2mdl.cpp, src/common/qm2mdl.h,
5129 src/graphics/docview.h, src/graphics/mm1docv.cpp,
5130 src/graphics/mm1docv.h, src/graphics/qm2docv.cpp,
5131 src/graphics/qm2docv.h, src/target2/t2mm1docv.cpp,
5132 src/target2/t2mm1docv.h, src/target2/t2qm2docv.cpp,
5133 src/target2/t2qm2docv.h, src/target3/t3errutil.cpp,
5134 src/target3/t3errutil.h, src/target3/t3mm1docv.cpp,
5135 src/target3/t3mm1docv.h, src/target3/t3qm2docv.cpp,
5136 src/target3/t3qm2docv.h: changed MM trajectory file format; some
5137 Do???-functions moved to model (and are now accessible in TARGET1
5138 also).
5139
5140 2001-01-30 19:44 hutchisn
5141
5142 * src/common/filetrans.cpp, src/common/filetrans.h,
5143 src/common/utility.cpp, src/target3/glade_interface.cpp,
5144 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h: Switch to new
5145 GLADE-designed import/export boxes.
5146
5147 2001-01-30 19:41 hutchisn
5148
5149 * oelib/aromatic.txt, oelib/atom.cpp, oelib/atomtyp.txt,
5150 oelib/binary.cpp, oelib/bond.cpp, oelib/csr.cpp, oelib/data.cpp,
5151 oelib/data.h, oelib/extable.txt, oelib/fileformat.cpp,
5152 oelib/fileformat.h, oelib/gamess.cpp, oelib/ghemical.cpp,
5153 oelib/hin.cpp, oelib/main.cpp, oelib/mdl.cpp, oelib/mol.cpp,
5154 oelib/mol.h, oelib/mpqc.cpp, oelib/oeutil.cpp,
5155 oelib/parsmart.cpp, oelib/patty.cpp, oelib/patty.h,
5156 oelib/pdb.cpp, oelib/quat.c, oelib/ring.cpp, oelib/ring.h,
5157 oelib/rotor.cpp, oelib/smi.cpp, oelib/typer.cpp, oelib/typer.h,
5158 oelib/types.txt: Synch with current OELib code.
5159
5160 2001-01-30 15:21 thassine
5161
5162 * src/common/mm1alg.h, src/graphics/mm1docv.cpp,
5163 src/graphics/mm1docv.h, src/target2/t2mm1docv.cpp,
5164 src/target2/t2mm1docv.h, src/target3/glade/ghemical.glade,
5165 src/target3/glade/src/Makefile,
5166 src/target3/glade/src/glade_callbacks.cpp,
5167 src/target3/glade/src/glade_callbacks.h,
5168 src/target3/glade/src/glade_interface.cpp,
5169 src/target3/glade_callbacks.cpp, src/target3/glade_callbacks.h,
5170 src/target3/glade_interface.cpp, src/target3/glade_interface.h,
5171 src/target3/glade_support.cpp, src/target3/t3mm1docv.cpp,
5172 src/target3/t3mm1docv.h: the geomopt/moldyn dialogs should now
5173 mostly work (except the traj filename).
5174
5175 2001-01-29 15:54 thassine
5176
5177 * src/target3/glade/ghemical.glade,
5178 src/target3/glade/src/glade_interface.cpp,
5179 src/target3/glade/src/glade_interface.h,
5180 src/target3/glade/src/glade_support.cpp,
5181 src/target3/glade/src/main.cpp, src/target3/glade_interface.cpp,
5182 src/target3/glade_interface.h, src/target3/t3mm1docv.cpp: added
5183 geomopt and moldyn dialogs, but wont work yet (just press cancel)
5184
5185 2001-01-25 13:45 thassine
5186
5187 * src/common/conjgrad.h, src/common/define.h, src/common/engine.h,
5188 src/common/errutil.h, src/common/mm1alg.h, src/common/mm1eng.h,
5189 src/common/mm1eng1.cpp, src/common/mm1eng1.h,
5190 src/common/mm1eng9.cpp, src/common/mm1eng9.h,
5191 src/common/mm1mdl.h, src/common/mm1tab1.cpp,
5192 src/common/mm1tab1.h, src/common/mm1tab9.cpp,
5193 src/common/mm1tab9.h, src/common/mm1util.h, src/common/model.h,
5194 src/common/qm1eng.h, src/common/qm1mdl.h, src/common/qm2eng.h,
5195 src/common/qm2eng1.h, src/common/qm2mdl.h, src/common/typedef.h,
5196 src/common/utility.h, src/common/v3d.h, src/graphics/camera.h,
5197 src/graphics/color.h, src/graphics/docview.cpp,
5198 src/graphics/docview.h, src/graphics/mm1docv.cpp,
5199 src/graphics/mm1docv.h, src/graphics/mm1rbn.cpp,
5200 src/graphics/mm1rbn.h, src/graphics/mtools.cpp,
5201 src/graphics/mtools.h, src/graphics/objects.cpp,
5202 src/graphics/objects.h, src/graphics/plane.cpp,
5203 src/graphics/plane.h, src/graphics/qm1docv.cpp,
5204 src/graphics/qm1docv.h, src/graphics/qm2docv.cpp,
5205 src/graphics/qm2docv.h, src/graphics/spline.cpp,
5206 src/graphics/spline.h, src/graphics/surface.cpp,
5207 src/graphics/surface.h, src/graphics/views.cpp,
5208 src/graphics/views.h, src/target1/config.h.OLD,
5209 src/target1/t1main.cpp, src/target1/t1main.h,
5210 src/target2/config.h.OLD, src/target2/t2docv.cpp,
5211 src/target2/t2docv.h, src/target2/t2main.cpp,
5212 src/target2/t2main.h, src/target2/t2mm1docv.cpp,
5213 src/target2/t2mm1docv.h, src/target2/t2qm1docv.cpp,
5214 src/target2/t2qm1docv.h, src/target2/t2qm2docv.cpp,
5215 src/target2/t2qm2docv.h, src/target2/t2views.cpp,
5216 src/target2/t2views.h, src/target3/config.h.OLD,
5217 src/target3/glade_callbacks.cpp, src/target3/glade_interface.cpp,
5218 src/target3/t3dialog.cpp, src/target3/t3dialog.h,
5219 src/target3/t3docv.cpp, src/target3/t3docv.h,
5220 src/target3/t3errutil.cpp, src/target3/t3errutil.h,
5221 src/target3/t3main.cpp, src/target3/t3main.h,
5222 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
5223 src/target3/t3qm1docv.cpp, src/target3/t3qm1docv.h,
5224 src/target3/t3qm2docv.cpp, src/target3/t3qm2docv.h,
5225 src/target3/t3views.cpp, src/target3/t3views.h: all documentation
5226 is now in DOC++ form, it's a bit sparse, but usable.
5227
5228 2001-01-24 14:08 thassine
5229
5230 * oelib/Makefile, oelib/data.cpp, oelib/mpqc.cpp,
5231 src/common/qm1eng.cpp, src/common/qm1eng.h,
5232 src/common/qm1mdl.cpp, src/common/qm1mdl.h,
5233 src/common/qm2eng.cpp, src/common/qm2eng.h,
5234 src/common/qm2eng1.cpp, src/common/qm2eng1.h,
5235 src/common/qm2eng9.cpp, src/common/qm2eng9.h,
5236 src/common/qm2mdl.cpp, src/common/qm2mdl.h, src/common/typedef.h,
5237 src/common/utility.cpp, src/common/utility.h, src/common/v3d.h,
5238 src/graphics/camera.cpp, src/graphics/camera.h,
5239 src/graphics/color.h: some more documentation converted into
5240 DOC++ form
5241
5242 2001-01-22 18:43 hutchisn
5243
5244 * oelib/Makefile.in, oelib/data.cpp, oelib/data.h,
5245 oelib/extable.txt, oelib/fileformat.cpp, oelib/fileformat.h,
5246 oelib/mpqc.cpp, oelib/tinker.cpp, oelib/unichem.cpp: Added
5247 unichem and mpqc formats.
5248
5249 2001-01-22 07:52 thassine
5250
5251 * oelib/Makefile, oelib/tinker.cpp, src/Makefile.OLD,
5252 src/common/conjgrad.cpp, src/common/conjgrad.h,
5253 src/common/define.h, src/common/engine.cpp, src/common/engine.h,
5254 src/common/errutil.cpp, src/common/errutil.h,
5255 src/common/filetrans.cpp, src/common/filetrans.h,
5256 src/common/matrix.h, src/common/mm1alg.cpp, src/common/mm1alg.h,
5257 src/common/mm1eng.cpp, src/common/mm1eng.h,
5258 src/common/mm1eng1.cpp, src/common/mm1eng1.h,
5259 src/common/mm1eng9.cpp, src/common/mm1eng9.h,
5260 src/common/mm1mdl.cpp, src/common/mm1mdl.h,
5261 src/common/mm1tab1.cpp, src/common/mm1tab1.h,
5262 src/common/mm1tab9.cpp, src/common/mm1tab9.h,
5263 src/common/mm1util.cpp, src/common/mm1util.h,
5264 src/common/model.cpp, src/common/model.h, src/common/notice.cpp,
5265 src/common/notice.h, src/graphics/objects.cpp,
5266 src/graphics/objects.h, src/target3/t3mm1docv.cpp: started to
5267 convert comments into a form suitable to DOC++
5268
5269 2001-01-20 06:19 hutchisn
5270
5271 * PROJECT, oelib/Makefile.in, oelib/data.cpp, oelib/tinker.cpp,
5272 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h: *** empty log
5273 message ***
5274
5275 2001-01-20 06:19 hutchisn
5276
5277 * src/target3/glade/ghemical.glade,
5278 src/target3/glade/src/glade_callbacks.cpp,
5279 src/target3/glade/src/glade_callbacks.h,
5280 src/target3/glade/src/glade_interface.cpp,
5281 src/target3/glade/src/glade_interface.h,
5282 src/target3/glade/src/glade_support.cpp,
5283 src/target3/glade/src/main.cpp, src/target3/glade_callbacks.cpp,
5284 src/target3/glade_callbacks.h, src/target3/glade_interface.cpp,
5285 src/target3/glade_interface.h, src/target3/glade_support.cpp:
5286 Added new import/export dialogues using Glade.
5287 (Still need to figure out how to update the option menu
5288 appropriately.)
5289
5290 2001-01-20 06:18 hutchisn
5291
5292 * oelib/data.h, oelib/extable.txt: Added all options from Babel 1.6
5293
5294 2001-01-19 04:22 hutchisn
5295
5296 * oelib/Makefile.in, oelib/fileformat.cpp, oelib/qchem.cpp: Added
5297 export to QChem input files.
5298
5299 2001-01-16 17:51 hutchisn
5300
5301 * oelib/data.cpp, oelib/data.h, oelib/extable.txt,
5302 oelib/fileformat.cpp, oelib/fileformat.h, oelib/qchem.cpp: Added
5303 a QChem file export translator.
5304
5305 2001-01-16 16:24 hutchisn
5306
5307 * oelib/data.cpp, oelib/data.h, oelib/extable.txt,
5308 oelib/fileformat.cpp, oelib/fileformat.h: More OELib
5309 updates--removing incomplete formats for now.
5310
5311 2001-01-16 16:00 hutchisn
5312
5313 * oelib/extable.txt, oelib/fileformat.cpp, oelib/gamess.cpp,
5314 oelib/hin.cpp: More OELib cleanups.
5315
5316 2001-01-13 21:31 hutchisn
5317
5318 * oelib/Makefile.in, oelib/data.cpp, oelib/data.h,
5319 oelib/extable.txt, oelib/fileformat.cpp, oelib/fileformat.h,
5320 oelib/gamess.cpp, oelib/ghemical.cpp, oelib/hin.cpp,
5321 oelib/main.cpp, oelib/mol.h, oelib/mpqc.cpp, oelib/oelib.dsp,
5322 oelib/oelib.dsw, oelib/pdb.cpp, oelib/quat.c, oelib/rotor.cpp,
5323 oelib/typer.cpp, oelib/xyz.cpp: Added new translators, updated to
5324 be in sync with OpenEyes code.
5325
5326 2001-01-13 21:29 hutchisn
5327
5328 * src/common/utility.cpp: Small modifications to vdW radii to be
5329 closer to literature (Bondi) values
5330
5331 2001-01-13 21:28 hutchisn
5332
5333 * src/common/filetrans.cpp: Use filename for molecule title -- we
5334 don't currently have another way of titling.
5335
5336 2001-01-05 22:38 hutchisn
5337
5338 * acconfig.h, configure, configure.in, src/config.h.in,
5339 src/target3/Makefile.in: Fix build environment
5340
5341 2001-01-05 15:34 thassine
5342
5343 * src/common/mm1mdl.cpp, src/common/mm1mdl.h, src/common/qm2eng.h,
5344 src/common/qm2eng1.h, src/common/qm2eng9.cpp,
5345 src/common/qm2mdl.cpp, src/common/qm2mdl.h,
5346 src/graphics/docview.h, src/graphics/mm1docv.cpp,
5347 src/graphics/mm1docv.h, src/graphics/plane.cpp,
5348 src/graphics/plane.h, src/graphics/qm2docv.cpp,
5349 src/graphics/qm2docv.h, src/graphics/surface.cpp,
5350 src/graphics/surface.h, src/target1/Makefile.OLD,
5351 src/target1/t1main.cpp, src/target2/t2qm2docv.cpp,
5352 src/target3/glade_callbacks.cpp, src/target3/t3qm2docv.cpp: added
5353 a simple TARGET1 example, the QM setup dialog should also now
5354 work.
5355
5356 2001-01-03 17:09 thassine
5357
5358 * src/common/mm1mdl.cpp, src/graphics/mm1docv.cpp,
5359 src/graphics/mm1docv.h, src/graphics/qm2docv.cpp,
5360 src/graphics/qm2docv.h, src/target3/glade/ghemical.glade,
5361 src/target3/glade/src/Makefile,
5362 src/target3/glade/src/glade_callbacks.cpp,
5363 src/target3/glade/src/glade_callbacks.h,
5364 src/target3/glade/src/glade_interface.cpp,
5365 src/target3/glade_callbacks.cpp, src/target3/glade_callbacks.h,
5366 src/target3/glade_interface.cpp, src/target3/glade_interface.h,
5367 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
5368 src/target3/t3qm2docv.cpp, src/target3/t3qm2docv.h: the setup
5369 dialog should now work for MM.
5370
5371 2001-01-03 10:03 thassine
5372
5373 * CHANGES, src/target3/glade/ghemical.glade,
5374 src/target3/glade/src/Makefile,
5375 src/target3/glade/src/glade_callbacks.cpp,
5376 src/target3/glade/src/glade_callbacks.h,
5377 src/target3/glade/src/glade_interface.cpp,
5378 src/target3/glade/src/glade_interface.h,
5379 src/target3/glade/src/glade_support.cpp,
5380 src/target3/glade/src/glade_support.h,
5381 src/target3/glade/src/main.cpp, src/target3/glade_callbacks.cpp,
5382 src/target3/glade_interface.cpp, src/target3/glade_interface.h:
5383 dialogs; read from glade/src/Makefile how to retain your changes
5384 in GLADE code.
5385
5386 2001-01-02 16:00 thassine
5387
5388 * src/common/mm1mdl.cpp, src/common/mm1mdl.h,
5389 src/common/qm2mdl.cpp, src/common/qm2mdl.h,
5390 src/graphics/mm1docv.cpp, src/graphics/mm1docv.h: some
5391 preliminary stuff for the setup dialogs
5392
5393 2001-01-02 12:42 thassine
5394
5395 * INSTALL, PROJECT, src/target3/Makefile.OLD, src/target3/glade,
5396 src/target3/glade/ghemical.glade, src/target3/glade/src,
5397 src/target3/glade/src/Makefile, src/target3/glade_callbacks.cpp,
5398 src/target3/glade_callbacks.h, src/target3/glade_interface.cpp,
5399 src/target3/glade_interface.h, src/target3/glade_support.cpp,
5400 src/target3/glade_support.h, src/target3/t3dialog.cpp: started
5401 making some dialogs using GLADE...
5402
5403 2001-01-01 13:53 thassine
5404
5405 * AUTHORS, INSTALL, PROJECT, src/common/Makefile.OLD,
5406 src/common/mm1mdl.h, src/common/qm1eng.cpp, src/common/qm1eng.h,
5407 src/common/qm2eng.h, src/common/qm2eng1.h, src/common/qm2mdl.h,
5408 src/graphics/Makefile.OLD, src/target1/Makefile.OLD,
5409 src/target2/Makefile.OLD, src/target3/Makefile.OLD: just some
5410 cleanups and some improvements to documentation
5411
5412 2001-01-01 11:30 thassine
5413
5414 * small-utilities, small-utilities/Makefile,
5415 small-utilities/getpdb_cd.cpp, small-utilities/getpdb_ftp.cpp,
5416 small-utilities/gp2mpqc.cpp: HAPPY NEW YEAR; some small-utilities
5417 added...
5418
5419 2000-12-27 13:59 thassine
5420
5421 * src/graphics/camera.cpp, src/graphics/docview.cpp,
5422 src/graphics/docview.h, src/graphics/mm1docv.cpp,
5423 src/graphics/views.h, src/target2/t2docv.cpp,
5424 src/target2/t2docv.h, src/target2/t2main.cpp,
5425 src/target2/t2mm1docv.cpp, src/target2/t2mm1docv.h,
5426 src/target2/t2qm1docv.cpp, src/target2/t2qm1docv.h,
5427 src/target2/t2qm2docv.cpp, src/target2/t2qm2docv.h,
5428 src/target2/t2views.cpp, src/target2/t2views.h,
5429 src/target3/t3docv.cpp, src/target3/t3docv.h,
5430 src/target3/t3main.cpp, src/target3/t3main.h,
5431 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
5432 src/target3/t3qm1docv.cpp, src/target3/t3qm1docv.h,
5433 src/target3/t3qm2docv.cpp, src/target3/t3qm2docv.h,
5434 src/target3/t3views.cpp, src/target3/t3views.h: some cleanups;
5435 status bars now work in the GNOME version
5436
5437 2000-12-22 15:09 thassine
5438
5439 * src/target3/t3docv.cpp, src/target3/t3docv.h: added some missing
5440 files...
5441
5442 2000-12-22 14:47 thassine
5443
5444 * CHANGES, src/graphics/camera.cpp, src/graphics/docview.cpp,
5445 src/graphics/docview.h, src/graphics/mm1docv.cpp,
5446 src/graphics/mm1docv.h, src/graphics/mtools.cpp,
5447 src/graphics/qm1docv.h, src/graphics/qm2docv.h,
5448 src/graphics/views.cpp, src/graphics/views.h,
5449 src/target2/Makefile.OLD, src/target2/t2docv.cpp,
5450 src/target2/t2docv.h, src/target2/t2mm1docv.cpp,
5451 src/target2/t2mm1docv.h, src/target2/t2qm1docv.cpp,
5452 src/target2/t2qm1docv.h, src/target2/t2qm2docv.cpp,
5453 src/target2/t2qm2docv.h, src/target2/t2views.cpp,
5454 src/target2/t2views.h, src/target3/Makefile.OLD,
5455 src/target3/t3main.cpp, src/target3/t3main.h,
5456 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
5457 src/target3/t3qm1docv.cpp, src/target3/t3qm1docv.h,
5458 src/target3/t3qm2docv.cpp, src/target3/t3qm2docv.h,
5459 src/target3/t3views.cpp, src/target3/t3views.h: added
5460 target-dependent middle classes for docviews and views;
5461 simplifies the base-classes a bit
5462
5463 2000-12-22 11:34 thassine
5464
5465 * BUGLIST, src/graphics/docview.cpp, src/target3/t3main.cpp,
5466 src/target3/t3main.h, src/target3/t3mm1docv.cpp,
5467 src/target3/t3qm2docv.cpp, src/target3/t3views.cpp: treelist
5468 works now pretty well (see BUGLIST for some details)
5469
5470 2000-12-21 17:16 thassine
5471
5472 * src/graphics/docview.cpp, src/graphics/docview.h,
5473 src/target3/t3main.cpp, src/target3/t3main.h,
5474 src/target3/t3mm1docv.cpp, src/target3/t3qm2docv.cpp,
5475 src/target3/t3views.cpp, src/target3/t3views.h: improved proper
5476 model closing/cleanup in GNOME version, but still problems (try
5477 File/Close and File/Exit)
5478
5479 2000-12-21 13:19 thassine
5480
5481 * src/graphics/docview.cpp, src/graphics/docview.h,
5482 src/graphics/views.h, src/target3/t3views.cpp,
5483 src/target3/t3views.h: treelist (now actually works) - added
5484 subtrees and lights
5485
5486 2000-12-20 15:01 thassine
5487
5488 * src/graphics/docview.cpp, src/graphics/views.h,
5489 src/target3/t3main.h, src/target3/t3views.cpp,
5490 src/target3/t3views.h: treelist - now shows objects (planes etc),
5491 and selection is possible
5492
5493 2000-12-19 16:57 thassine
5494
5495 * CHANGES, src/graphics/docview.cpp, src/graphics/docview.h,
5496 src/graphics/views.cpp, src/graphics/views.h,
5497 src/target2/t2main.cpp, src/target2/t2views.cpp,
5498 src/target2/t2views.h, src/target3/t3main.cpp,
5499 src/target3/t3main.h, src/target3/t3mm1docv.cpp,
5500 src/target3/t3mm1docv.h, src/target3/t3qm2docv.cpp,
5501 src/target3/t3views.cpp, src/target3/t3views.h: added framework
5502 for tree/list views, and smaller changes
5503
5504 2000-12-19 12:45 thassine
5505
5506 * src/common/notice.cpp, src/graphics/docview.h,
5507 src/target3/t3main.cpp, src/target3/t3main.h,
5508 src/target3/t3mm1docv.cpp, src/target3/t3qm2docv.cpp,
5509 src/target3/t3views.cpp: the toolbar buttons work again as toggle
5510 buttons
5511
5512 2000-12-18 15:24 thassine
5513
5514 * oelib/Makefile, src/common/filetrans.cpp, src/target3/t3main.cpp:
5515 changes for old makefiles, and a statusbar added (which is empty
5516 so far)
5517
5518 2000-12-08 17:22 hutchisn
5519
5520 * src/common/filetrans.cpp, src/common/filetrans.h,
5521 src/target3/t3mm1docv.cpp: Use new OEFileFormat code to check if
5522 formats are valid.
5523
5524 2000-12-08 17:21 hutchisn
5525
5526 * oelib/Makefile, oelib/Makefile.in, oelib/aromatic.txt,
5527 oelib/binary.cpp, oelib/data.cpp, oelib/data.h,
5528 oelib/extable.txt, oelib/fileformat.cpp, oelib/fileformat.h,
5529 oelib/globals.cpp, oelib/main.cpp, oelib/mol.cpp, oelib/mol.h,
5530 oelib/molvector.cpp, oelib/oeutil.h, oelib/rotor.cpp,
5531 oelib/rotor.h, oelib/typer.cpp, oelib/xyz.cpp: Synched with
5532 current oelib version--fixed bugs finding data files.
5533
5534 2000-12-08 16:41 thassine
5535
5536 * oelib/Makefile, oelib/mol.h, src/common/filetrans.cpp,
5537 src/graphics/camera.cpp, src/graphics/docview.cpp,
5538 src/graphics/docview.h, src/graphics/mm1docv.cpp,
5539 src/graphics/mtools.cpp, src/graphics/qm2docv.cpp,
5540 src/target2/t2mm1docv.cpp, src/target2/t2qm2docv.cpp,
5541 src/target2/t2views.cpp, src/target3/t3main.cpp,
5542 src/target3/t3main.h, src/target3/t3mm1docv.cpp,
5543 src/target3/t3qm2docv.cpp, src/target3/t3views.cpp: various fixes
5544 (like exit-command) - oelib?
5545
5546 2000-12-02 00:29 hutchisn
5547
5548 * src/target3/t3mm1docv.cpp: OKEvent should return true for now.
5549
5550 2000-12-02 00:28 hutchisn
5551
5552 * src/target3/t3dialog.cpp, src/target3/t3dialog.h,
5553 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
5554 src/target3/t3qm2docv.cpp, src/target3/t3qm2docv.h: OKEvent
5555 should return bool in case there's a problem
5556 (e.g. file doesn't exist, save might overwrite a file, format is
5557 not supported, etc.)
5558
5559 2000-12-02 00:27 hutchisn
5560
5561 * oelib/data.cpp, oelib/mol.h, oelib/pdb.cpp, oelib/rotor.cpp,
5562 oelib/typer.cpp, src/common/Makefile.in: One more bug fix--really
5563 get the logic in initialization correct!
5564
5565 2000-12-01 22:38 hutchisn
5566
5567 * oelib/data.cpp, oelib/pdb.cpp, oelib/rotor.cpp, oelib/typer.cpp:
5568 Ensure that the directory is checked AND the environment variable
5569 is checked
5570 when initializing.
5571
5572 2000-12-01 21:49 hutchisn
5573
5574 * Makefile.in, configure, configure.in, oelib/Makefile,
5575 oelib/Vector.cpp, oelib/configure, oelib/data.cpp, oelib/data.h,
5576 oelib/extable.txt, oelib/gromos96.cpp, oelib/main.cpp,
5577 oelib/mol.cpp, oelib/mol.h, oelib/oeutil.cpp, oelib/pdb.cpp,
5578 oelib/rotor.cpp, oelib/rotor.h, oelib/typer.cpp, oelib/typer.h,
5579 src/common/Makefile.in, src/common/filetrans.cpp: Update OELib to
5580 use GHEMICAL_DIR environment variable or specified directories
5581 installed by "make install" target.
5582
5583 2000-12-01 13:27 thassine
5584
5585 * oelib/Makefile, src/common/Makefile.OLD,
5586 src/target1/Makefile.OLD, src/target2/Makefile.OLD,
5587 src/target3/Makefile.OLD: updated the old makefiles...
5588
5589 2000-12-01 00:13 hutchisn
5590
5591 * src/common/Makefile.in, src/common/define.h,
5592 src/common/filetrans.cpp, src/common/filetrans.h,
5593 src/common/model.cpp, src/graphics/Makefile.in,
5594 src/target3/Makefile.in, src/target3/t3main.cpp,
5595 src/target3/t3mm1docv.cpp: add support for import/export methods
5596 using oelib
5597
5598 2000-11-30 12:18 thassine
5599
5600 * src/common/Makefile.OLD, src/common/qm2mdl.h,
5601 src/graphics/Makefile.OLD, src/graphics/mm1docv.h,
5602 src/target3/t3main.cpp, src/target3/t3main.h,
5603 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
5604 src/target3/t3qm2docv.cpp, src/target3/t3qm2docv.h: GNOME
5605 erase-tool fixed, STATICpopupmenu removed, all popup-items
5606 enabled again
5607
5608 2000-11-29 17:18 thassine
5609
5610 * src/graphics/docview.h, src/graphics/views.h,
5611 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
5612 src/target3/t3qm1docv.cpp, src/target3/t3qm1docv.h,
5613 src/target3/t3qm2docv.cpp, src/target3/t3qm2docv.h,
5614 src/target3/t3views.cpp, src/target3/t3views.h: GNOME popup menu
5615 callbacks finished - but some items are still disabled
5616
5617 2000-11-29 14:43 thassine
5618
5619 * src/target3/t3mm1docv.cpp, src/target3/t3qm2docv.cpp,
5620 src/target3/t3views.cpp, src/target3/t3views.h: popup-menu
5621 callbacks changed (for model-independent items)
5622
5623 2000-11-29 13:10 thassine
5624
5625 * src/common/model.cpp, src/common/model.h, src/graphics/views.cpp,
5626 src/graphics/views.h, src/target2/t2views.cpp,
5627 src/target2/t2views.h, src/target3/t3main.cpp,
5628 src/target3/t3views.cpp, src/target3/t3views.h: OpenGL
5629 initialization in GNOME fixed (so that we have colors back).
5630
5631 2000-11-28 17:43 hutchisn
5632
5633 * src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
5634 src/target3/t3views.cpp: Add import/export menu items, center
5635 command and move things to "build" submenu.
5636
5637 2000-11-28 17:42 hutchisn
5638
5639 * src/target3/t3main.cpp: Can't pass VERSION since it's a double.
5640 Run it through sprintf first.
5641
5642 2000-11-28 17:40 hutchisn
5643
5644 * acconfig.h, configure, configure.in, src/config.h.in,
5645 src/graphics/Makefile.in: Fix build environment to define
5646 appropriate flags, etc.
5647
5648 2000-11-28 17:39 hutchisn
5649
5650 * oelib/quat.c: fixed problem with undeclared memset
5651
5652 2000-11-28 15:41 thassine
5653
5654 * CHANGES, src/common/conjgrad.h, src/common/errutil.h,
5655 src/common/mm1alg.h, src/common/mm1eng.h, src/common/mm1eng1.h,
5656 src/common/mm1mdl.h, src/common/mm1util.h, src/common/model.h,
5657 src/common/qm2eng.h, src/common/qm2eng9.h, src/common/qm2mdl.h,
5658 src/common/v3d.h, src/graphics/mtools.h, src/graphics/views.h,
5659 src/target2/t2mm1docv.cpp, src/target2/t2views.cpp,
5660 src/target2/t2views.h, src/target3/t3main.h,
5661 src/target3/t3qm2docv.cpp, src/target3/t3views.cpp,
5662 src/target3/t3views.h: some cleanups : public data changed
5663 protected in many classes
5664
5665 2000-11-28 12:18 thassine
5666
5667 * CHANGES, src/common/define.h, src/graphics/Makefile.OLD,
5668 src/graphics/docview.cpp, src/graphics/docview.h,
5669 src/graphics/views.h, src/target2/t2views.cpp,
5670 src/target3/t3main.cpp, src/target3/t3main.h,
5671 src/target3/t3mm1docv.cpp, src/target3/t3views.cpp,
5672 src/target3/t3views.h: any things broken/mixed up, but we have a
5673 standard GNOME MDI app now
5674
5675 2000-11-27 16:50 hutchisn
5676
5677 * src/target3/t3dialog.cpp, src/target3/t3dialog.h: Modify dialog
5678 to show which element is currently selected.
5679
5680 2000-11-27 16:48 hutchisn
5681
5682 * src/common/filetrans.cpp, src/common/filetrans.h,
5683 src/common/mm1mdl.cpp, src/common/mm1mdl.h: Remove import
5684 functions from mm1mdl and use new filetrans code through OELib.
5685
5686 2000-11-27 16:47 hutchisn
5687
5688 * Makefile.in, acconfig.h, configure, configure.in,
5689 oelib/Makefile.in, oelib/configure, src/common/Makefile.in,
5690 src/config.h.in, src/graphics/Makefile.in,
5691 src/target3/Makefile.in: Add changes to support linking in OELib
5692 and slightly cleaned up build system.
5693
5694 2000-11-27 08:51 thassine
5695
5696 * configure, configure.in, src/common/Makefile.in,
5697 src/graphics/Makefile.in, src/target3/Makefile.in: Makefile.in
5698 -files updated (configure still broken)
5699
5700 2000-11-26 13:05 thassine
5701
5702 * CHANGES, src/graphics/camera.cpp, src/graphics/camera.h,
5703 src/graphics/docview.cpp, src/graphics/docview.h,
5704 src/graphics/mm1docv.cpp, src/graphics/mm1docv.h,
5705 src/graphics/mm1rbn.cpp, src/graphics/mm1rbn.h,
5706 src/graphics/mtools.cpp, src/graphics/mtools.h,
5707 src/graphics/objects.cpp, src/graphics/objects.h,
5708 src/graphics/plane.cpp, src/graphics/plane.h,
5709 src/graphics/qm1docv.cpp, src/graphics/qm1docv.h,
5710 src/graphics/qm2docv.cpp, src/graphics/qm2docv.h,
5711 src/graphics/surface.cpp, src/graphics/surface.h,
5712 src/graphics/views.cpp, src/graphics/views.h,
5713 src/target2/config.h.OLD, src/target2/t2mm1docv.cpp,
5714 src/target2/t2qm1docv.cpp, src/target2/t2qm2docv.cpp,
5715 src/target2/t2views.cpp, src/target3/config.h.OLD,
5716 src/target3/t3mm1docv.cpp, src/target3/t3qm1docv.cpp,
5717 src/target3/t3qm2docv.cpp, src/target3/t3views.cpp: 3rd stage of
5718 doc/view changes
5719
5720 2000-11-24 13:36 thassine
5721
5722 * CHANGES, src/graphics/camera.cpp, src/graphics/camera.h,
5723 src/graphics/docview.cpp, src/graphics/docview.h,
5724 src/graphics/mm1docv.cpp, src/graphics/mm1docv.h,
5725 src/graphics/mm1rbn.cpp, src/graphics/mm1rbn.h,
5726 src/graphics/mtools.cpp, src/graphics/mtools.h,
5727 src/graphics/plane.cpp, src/graphics/plane.h,
5728 src/graphics/qm1docv.cpp, src/graphics/qm1docv.h,
5729 src/graphics/qm2docv.cpp, src/graphics/qm2docv.h,
5730 src/graphics/surface.cpp, src/graphics/surface.h,
5731 src/graphics/views.cpp, src/graphics/views.h,
5732 src/target2/t2main.cpp, src/target2/t2mm1docv.cpp,
5733 src/target2/t2mm1docv.h, src/target2/t2qm1docv.cpp,
5734 src/target2/t2qm1docv.h, src/target2/t2qm2docv.cpp,
5735 src/target2/t2qm2docv.h, src/target2/t2views.cpp,
5736 src/target2/t2views.h, src/target3/t3main.cpp,
5737 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
5738 src/target3/t3qm1docv.cpp, src/target3/t3qm1docv.h,
5739 src/target3/t3qm2docv.cpp, src/target3/t3qm2docv.h,
5740 src/target3/t3views.cpp, src/target3/t3views.h: 2nd stage of
5741 doc/view reorganization
5742
5743 2000-11-23 15:07 thassine
5744
5745 * CHANGES, src/common/Makefile.OLD, src/common/conjgrad.h,
5746 src/common/engbase.cpp, src/common/engbase.h,
5747 src/common/engine.cpp, src/common/engine.h,
5748 src/common/mdlbase.cpp, src/common/mdlbase.h,
5749 src/common/mm1eng.cpp, src/common/mm1eng.h,
5750 src/common/mm1mdl.cpp, src/common/mm1mdl.h,
5751 src/common/mm1tab1.cpp, src/common/mm1tab9.cpp,
5752 src/common/mm1util.cpp, src/common/model.cpp, src/common/model.h,
5753 src/common/qm1eng.cpp, src/common/qm1eng.h,
5754 src/common/qm1mdl.cpp, src/common/qm1mdl.h,
5755 src/common/qm2eng.cpp, src/common/qm2eng.h,
5756 src/common/qm2mdl.cpp, src/common/qm2mdl.h,
5757 src/graphics/Makefile.OLD, src/graphics/camera.cpp,
5758 src/graphics/camera.h, src/graphics/docview.cpp,
5759 src/graphics/docview.h, src/graphics/guibase.cpp,
5760 src/graphics/guibase.h, src/graphics/mm1docv.cpp,
5761 src/graphics/mm1docv.h, src/graphics/mm1gui.cpp,
5762 src/graphics/mm1gui.h, src/graphics/mm1rbn.cpp,
5763 src/graphics/mm1rbn.h, src/graphics/mtools.cpp,
5764 src/graphics/mtools.h, src/graphics/objects.cpp,
5765 src/graphics/objects.h, src/graphics/plane.cpp,
5766 src/graphics/plane.h, src/graphics/qm1docv.cpp,
5767 src/graphics/qm1docv.h, src/graphics/qm1gui.cpp,
5768 src/graphics/qm1gui.h, src/graphics/qm2docv.cpp,
5769 src/graphics/qm2docv.h, src/graphics/qm2gui.cpp,
5770 src/graphics/qm2gui.h, src/graphics/surface.cpp,
5771 src/graphics/surface.h, src/graphics/viewing.cpp,
5772 src/graphics/viewing.h, src/graphics/views.cpp,
5773 src/graphics/views.h, src/graphics/window.cpp,
5774 src/graphics/window.h, src/target1/Makefile.OLD,
5775 src/target2/Makefile.OLD, src/target2/t2main.h,
5776 src/target2/t2mm1docv.cpp, src/target2/t2mm1docv.h,
5777 src/target2/t2mm1gui.cpp, src/target2/t2mm1gui.h,
5778 src/target2/t2qm1docv.cpp, src/target2/t2qm1docv.h,
5779 src/target2/t2qm1gui.cpp, src/target2/t2qm1gui.h,
5780 src/target2/t2qm2docv.cpp, src/target2/t2qm2docv.h,
5781 src/target2/t2qm2gui.cpp, src/target2/t2qm2gui.h,
5782 src/target2/t2views.cpp, src/target2/t2views.h,
5783 src/target2/t2window.cpp, src/target2/t2window.h,
5784 src/target3/Makefile.OLD, src/target3/t3main.h,
5785 src/target3/t3mm1docv.cpp, src/target3/t3mm1docv.h,
5786 src/target3/t3mm1gui.cpp, src/target3/t3mm1gui.h,
5787 src/target3/t3qm1docv.cpp, src/target3/t3qm1docv.h,
5788 src/target3/t3qm1gui.cpp, src/target3/t3qm1gui.h,
5789 src/target3/t3qm2docv.cpp, src/target3/t3qm2docv.h,
5790 src/target3/t3qm2gui.cpp, src/target3/t3qm2gui.h,
5791 src/target3/t3views.cpp, src/target3/t3views.h,
5792 src/target3/t3window.cpp, src/target3/t3window.h: 1st round of
5793 doc/view changes (will break the configure-script)
5794
5795 2000-11-20 10:18 thassine
5796
5797 * src/common/qm2mdl.cpp, src/graphics/guibase.h,
5798 src/graphics/mm1gui.cpp, src/graphics/mm1gui.h,
5799 src/graphics/mm1rbn.cpp, src/graphics/qm2gui.cpp,
5800 src/graphics/qm2gui.h: fixed QM import bug + some potential
5801 graphics bugs
5802
5803 2000-11-16 15:06 hutchisn
5804
5805 * Makefile.in: Removed configure target--something is strange with
5806 the timestamps.
5807
5808 2000-11-16 11:55 thassine
5809
5810 * src/common/Makefile.OLD, src/common/errorutil.cpp,
5811 src/common/errorutil.h, src/common/errutil.cpp,
5812 src/common/errutil.h, src/common/mdlbase.cpp,
5813 src/common/mdlbase.h, src/common/mm1mdl.cpp, src/common/mm1mdl.h,
5814 src/common/qm1mdl.cpp, src/common/qm1mdl.h,
5815 src/common/qm2mdl.cpp, src/common/qm2mdl.h,
5816 src/graphics/Makefile.OLD, src/graphics/guibase.cpp,
5817 src/graphics/guibase.h, src/graphics/mm1gui.cpp,
5818 src/graphics/mm1gui.h, src/graphics/qm1gui.cpp,
5819 src/graphics/qm1gui.h, src/graphics/qm2gui.cpp,
5820 src/graphics/qm2gui.h, src/target2/Makefile.OLD,
5821 src/target2/t2main.cpp, src/target2/t2mm1gui.cpp,
5822 src/target2/t2mm1gui.h, src/target2/t2qm1gui.cpp,
5823 src/target2/t2qm1gui.h, src/target2/t2qm2gui.cpp,
5824 src/target2/t2qm2gui.h, src/target2/t2window.cpp,
5825 src/target3/Makefile.OLD, src/target3/t3errorutil.cpp,
5826 src/target3/t3errorutil.h, src/target3/t3errutil.cpp,
5827 src/target3/t3errutil.h, src/target3/t3main.cpp,
5828 src/target3/t3mm1gui.cpp, src/target3/t3mm1gui.h,
5829 src/target3/t3qm1gui.cpp, src/target3/t3qm1gui.h,
5830 src/target3/t3qm2gui.cpp, src/target3/t3qm2gui.h,
5831 src/target3/t3window.cpp: added err_util for all models
5832
5833 2000-11-15 15:01 hutchisn
5834
5835 * src/common/Makefile.in, src/common/errorutil.cpp,
5836 src/common/errorutil.h, src/target3/Makefile.in,
5837 src/target3/t3errorutil.cpp, src/target3/t3errorutil.h: Add
5838 error-handling classes with support for GNOME.
5839
5840 2000-11-15 15:00 hutchisn
5841
5842 * oelib/Makefile, oelib/Makefile.in, oelib/data.cpp, oelib/data.h,
5843 oelib/extable.txt, oelib/ghemical.cpp, oelib/mol.cpp,
5844 oelib/mol.h: Add read/write for ghemical file format.
5845
5846 2000-11-14 21:52 hutchisn
5847
5848 * oelib, oelib/.cvsignore, oelib/GNULICENSE.txt, oelib/Makefile,
5849 oelib/Makefile.in, oelib/OELibPrimer.html, oelib/StdAfx.cpp,
5850 oelib/StdAfx.h, oelib/Vector.cpp, oelib/Vector.h,
5851 oelib/alchemy.cpp, oelib/aromatic.txt, oelib/atom.cpp,
5852 oelib/atomtyp.txt, oelib/balst.cpp, oelib/bgf.cpp,
5853 oelib/binary.cpp, oelib/binary.h, oelib/bitgrid.cpp,
5854 oelib/bitgrid.h, oelib/bitvec.cpp, oelib/bitvec.h,
5855 oelib/bond.cpp, oelib/box.cpp, oelib/c3d.cpp, oelib/cacao.cpp,
5856 oelib/cache.cpp, oelib/ccc.cpp, oelib/chdrw.cpp,
5857 oelib/chiral.cpp, oelib/chiral.h, oelib/commandline.cpp,
5858 oelib/commandline.h, oelib/configure, oelib/csr.cpp,
5859 oelib/cssr.cpp, oelib/cwrap.cpp, oelib/cwrap.h, oelib/data.cpp,
5860 oelib/data.h, oelib/element.txt, oelib/extable.txt,
5861 oelib/feat.cpp, oelib/fh.cpp, oelib/grid.cpp, oelib/grid.h,
5862 oelib/gromos96.cpp, oelib/main.cpp, oelib/matrix.cpp,
5863 oelib/matrix.h, oelib/mdl.cpp, oelib/mmod.cpp, oelib/mol.cpp,
5864 oelib/mol.h, oelib/mol2.cpp, oelib/molchrg.cpp, oelib/molchrg.h,
5865 oelib/molvector.cpp, oelib/molvector.h, oelib/oeutil.cpp,
5866 oelib/oeutil.h, oelib/parsmart.cpp, oelib/parsmart.h,
5867 oelib/parsmi.cpp, oelib/patty.cpp, oelib/patty.h, oelib/pdb.cpp,
5868 oelib/quat.c, oelib/rand.cpp, oelib/resdata.txt, oelib/ring.cpp,
5869 oelib/ring.h, oelib/rotor.cpp, oelib/rotor.h, oelib/smi.cpp,
5870 oelib/smi.h, oelib/tokenst.cpp, oelib/typer.cpp, oelib/typer.h,
5871 oelib/types.txt, oelib/version.h: Initial revision
5872
5873 2000-11-14 21:32 hutchisn
5874
5875 * src/target3/t3mm1gui.cpp, src/target3/t3mm1gui.h,
5876 src/target3/t3window.cpp: Added menu items and user-visible
5877 feedback for menu choices.
5878
5879 2000-11-14 21:23 hutchisn
5880
5881 * Makefile.in, configure.in: Add makefile targets to ensure
5882 configure script and Makefiles are updated properly.
5883 Also add AC_PREREQ to configure.in to ensure configure script
5884 isn't updated by
5885 an old version of autoconf.
5886
5887 2000-11-10 19:56 hutchisn
5888
5889 * src/target3/t3mm1gui.cpp, src/target3/t3mm1gui.h,
5890 src/target3/t3window.cpp: Remove menu items for import HIN and
5891 PDB files (soon to be done through OELib)
5892 Add menu items and support for render labels and coloring and
5893 quick update mode.
5894
5895 2000-11-10 16:48 hutchisn
5896
5897 * bin/examples/2-chlorobutane.gpMM,
5898 bin/examples/3-phenylpropanal.gpMM,
5899 bin/examples/acetylsalicylic_acid.gpMM,
5900 bin/examples/alpha-pinene.gpMM, bin/examples/bromobenzene.gpMM,
5901 bin/examples/camphor.gpMM, bin/examples/cinnamaldehyde.gpMM,
5902 bin/examples/cis-2-pentene.gpMM, bin/examples/cyclohexane.gpMM,
5903 bin/examples/naphtalene.gpMM: Update examples to new file format
5904 (read in and re-saved).
5905
5906 2000-11-10 12:46 thassine
5907
5908 * CHANGES, src/common/mdlbase.h, src/common/mm1mdl.cpp,
5909 src/common/mm1mdl.h, src/common/mm1util.cpp, src/common/qm1mdl.h,
5910 src/common/qm2mdl.h: 1st round of mm1_mdl file format revision
5911
5912 2000-11-09 12:42 thassine
5913
5914 * BUGLIST, CHANGES, src/Makefile.OLD, src/common/typedef.h,
5915 src/common/utility.cpp, src/graphics/color.h,
5916 src/graphics/guibase.cpp, src/graphics/guibase.h,
5917 src/graphics/mm1gui.cpp, src/graphics/mm1rbn.h,
5918 src/graphics/objects.cpp, src/graphics/objects.h,
5919 src/graphics/plane.cpp, src/graphics/plane.h,
5920 src/graphics/qm1gui.cpp, src/graphics/qm2gui.cpp,
5921 src/graphics/surface.cpp, src/graphics/surface.h,
5922 src/graphics/viewing.cpp, src/graphics/viewing.h,
5923 src/target2/t2mm1gui.cpp, src/target2/t2qm2gui.cpp,
5924 src/target3/t3mm1gui.cpp, src/target3/t3mm1gui.h,
5925 src/target3/t3qm2gui.cpp, src/target3/t3window.cpp: graphics
5926 improvements, volume rendering added
5927
5928 2000-11-08 21:30 hutchisn
5929
5930 * src/common/utility.cpp, src/common/utility.h: Add back correct
5931 symbol for element 110. This may cause problems with atom
5932 type rules, but how many rules involve element 110 anyway?
5933
5934 2000-11-07 20:00 hutchisn
5935
5936 * src/target3/t3dialog.cpp: Add feedback for currently selected
5937 bondtype and element in dialogues.
5938
5939 2000-11-07 19:59 hutchisn
5940
5941 * src/target3/t3mm1gui.cpp, src/target3/t3qm2gui.cpp: Temporarily
5942 fix bug for open file filters--don't supply a filter until GTK is
5943 fixed.
5944
5945 2000-11-02 14:34 thassine
5946
5947 * src/common/define.h, src/target3/t3main.cpp: fixed those
5948 about-dialog crashes...
5949
5950 2000-11-01 12:43 thassine
5951
5952 * CHANGES, src/common/define.h, src/common/mdlbase.cpp,
5953 src/common/mdlbase.h, src/common/mm1mdl.cpp,
5954 src/common/mm1tab1.cpp, src/common/mm1tab9.cpp,
5955 src/common/mm1util.cpp, src/target3/Makefile.OLD: added
5956 primary/secondary paths for parameter files
5957
5958 2000-10-31 22:37 hutchisn
5959
5960 * src/common/utility.cpp, src/graphics/mm1gui.cpp: Enter real vdW
5961 radii from several sources and update GUI to draw accordingly
5962
5963 2000-10-31 22:34 hutchisn
5964
5965 * src/target3/t3dialog.cpp: Fixed bug with elements beyond #105.
5966
5967 2000-10-31 17:55 hutchisn
5968
5969 * configure, configure.in: Another attempt to pick up Xmu and glut
5970 appropirately.
5971
5972 2000-10-31 08:17 thassine
5973
5974 * src/Makefile.OLD: revieved the /src/Makefile.OLD
5975
5976 2000-10-30 16:41 hutchisn
5977
5978 * configure, configure.in, src/Makefile.OLD,
5979 src/target3/Makefile.in: Bugfixes for the autoconf
5980 changes--should now work on systems needing -Xmu.
5981
5982 2000-10-30 15:10 thassine
5983
5984 * src/Makefile.OLD: added yet another Makefile.OLD
5985
5986 2000-10-30 13:50 hutchisn
5987
5988 * INSTALL, Makefile.in, acconfig.h, aclocal.m4, configure,
5989 configure.in, install-sh, mkinstalldirs, src/Makefile,
5990 src/common/Makefile.in, src/common/define.h, src/config.h.in,
5991 src/graphics/Makefile.in, src/target3/Makefile.in,
5992 src/target3/t3main.cpp: Changes to move to an autoconf-derived
5993 configure script.
5994
5995 2000-10-25 09:06 thassine
5996
5997 * src/common/conjgrad.cpp, src/common/utility.cpp: added some
5998 missing header files
5999
6000 2000-10-25 08:45 thassine
6001
6002 * CHANGES, src/common/conjgrad.cpp, src/common/utility.cpp,
6003 src/target3/t3main.cpp, src/target3/t3mm1gui.cpp,
6004 src/target3/t3qm2gui.cpp: better GnomeUIInfo initialization (the
6005 RH7-patch from GH)
6006
6007 2000-10-25 07:47 thassine
6008
6009 * CHANGES, src/graphics/guibase.cpp, src/graphics/mm1gui.cpp: the
6010 multiple view management bug fixed (at last)
6011
6012 2000-10-25 00:03 hutchisn
6013
6014 * src/common/conjgrad.cpp, src/common/utility.cpp,
6015 src/target3/t3main.cpp, src/target3/t3mm1gui.cpp,
6016 src/target3/t3qm2gui.cpp: Minor changes to allow compilation on
6017 RH7.
6018
6019 2000-10-25 00:02 hutchisn
6020
6021 * bin, bin/.cvsignore, src, src/.cvsignore, src/common,
6022 src/common/.cvsignore, src/graphics, src/graphics/.cvsignore,
6023 src/target2, src/target2/.cvsignore, src/target3,
6024 src/target3/.cvsignore: CVS ignore files to remove common build
6025 objects, etc.
6026
6027 2000-10-24 09:28 thassine
6028
6029 * src/graphics/mm1gui.cpp, src/graphics/mm1gui.h,
6030 src/target2/t2mm1gui.cpp, src/target3/t3mm1gui.cpp: cleaned some
6031 graphics code
6032
6033 2000-10-23 14:20 thassine
6034
6035 * src/new.cpp, src/new.h, src/some-extra-files,
6036 src/some-extra-files/newfile.cpp, src/some-extra-files/newfile.h:
6037 moved some conflicting files to some-extra-files
6038
6039 2000-10-23 08:59 thassine
6040
6041 * CHANGES, src/common/mm1mdl.cpp, src/common/mm1mdl.h,
6042 src/common/mm1util.cpp, src/common/mm1util.h,
6043 src/graphics/mm1rbn.cpp: improved mm1_chn_info
6044
6045 2000-10-21 10:14 thassine
6046
6047 * src/common/Makefile, src/common/color.h, src/common/config.h,
6048 src/common/guibase.cpp, src/common/guibase.h,
6049 src/common/mm1gui.cpp, src/common/mm1gui.h,
6050 src/common/mm1rbn.cpp, src/common/mm1rbn.h,
6051 src/common/mtools.cpp, src/common/mtools.h,
6052 src/common/objects.cpp, src/common/objects.h,
6053 src/common/plane.cpp, src/common/plane.h, src/common/qm1gui.cpp,
6054 src/common/qm1gui.h, src/common/qm2gui.cpp, src/common/qm2gui.h,
6055 src/common/spline.cpp, src/common/spline.h,
6056 src/common/surface.cpp, src/common/surface.h,
6057 src/common/viewing.cpp, src/common/viewing.h,
6058 src/common/window.cpp, src/common/window.h: removed some
6059 duplicate files
6060
6061 2000-10-21 10:02 thassine
6062
6063 * src/common/library: removed library-dir
6064
6065 2000-10-21 09:42 thassine
6066
6067 * CHANGES, src/Makefile, src/common/Makefile.OLD,
6068 src/common/conjgrad.cpp, src/common/conjgrad.h,
6069 src/common/define.h, src/common/engbase.cpp,
6070 src/common/engbase.h, src/common/mdlbase.cpp,
6071 src/common/mdlbase.h, src/common/mm1alg.cpp, src/common/mm1alg.h,
6072 src/common/mm1eng.cpp, src/common/mm1eng.h,
6073 src/common/mm1eng1.cpp, src/common/mm1eng1.h,
6074 src/common/mm1eng9.cpp, src/common/mm1eng9.h,
6075 src/common/mm1mdl.cpp, src/common/mm1mdl.h,
6076 src/common/mm1tab1.cpp, src/common/mm1tab1.h,
6077 src/common/mm1tab9.cpp, src/common/mm1tab9.h,
6078 src/common/mm1util.cpp, src/common/mm1util.h,
6079 src/common/qm1eng.cpp, src/common/qm1eng.h,
6080 src/common/qm1mdl.cpp, src/common/qm1mdl.h,
6081 src/common/qm2eng.cpp, src/common/qm2eng.h,
6082 src/common/qm2eng1.cpp, src/common/qm2eng1.h,
6083 src/common/qm2eng9.cpp, src/common/qm2eng9.h,
6084 src/common/qm2mdl.cpp, src/common/qm2mdl.h, src/common/typedef.h,
6085 src/common/utility.cpp, src/common/utility.h, src/common/v3d.h,
6086 src/graphics, src/graphics/Makefile.OLD, src/graphics/color.h,
6087 src/graphics/guibase.cpp, src/graphics/guibase.h,
6088 src/graphics/mm1gui.cpp, src/graphics/mm1gui.h,
6089 src/graphics/mm1rbn.cpp, src/graphics/mm1rbn.h,
6090 src/graphics/mtools.cpp, src/graphics/mtools.h,
6091 src/graphics/objects.cpp, src/graphics/objects.h,
6092 src/graphics/plane.cpp, src/graphics/plane.h,
6093 src/graphics/qm1gui.cpp, src/graphics/qm1gui.h,
6094 src/graphics/qm2gui.cpp, src/graphics/qm2gui.h,
6095 src/graphics/spline.cpp, src/graphics/spline.h,
6096 src/graphics/surface.cpp, src/graphics/surface.h,
6097 src/graphics/viewing.cpp, src/graphics/viewing.h,
6098 src/graphics/window.cpp, src/graphics/window.h,
6099 src/target1/Makefile, src/target1/Makefile.OLD,
6100 src/target1/config.h, src/target1/config.h.OLD,
6101 src/target2/Makefile, src/target2/Makefile.OLD,
6102 src/target2/config.h, src/target2/config.h.OLD,
6103 src/target3/Makefile, src/target3/Makefile.OLD,
6104 src/target3/config.h, src/target3/config.h.OLD: new source tree
6105 with old makefiles
6106
6107 2000-10-21 08:16 thassine
6108
6109 * CHANGES, src/common/guibase.cpp, src/common/guibase.h,
6110 src/common/library/define.h, src/common/library/mdlbase.cpp,
6111 src/common/library/mdlbase.h, src/common/viewing.cpp,
6112 src/target3/t3dialog.cpp, src/target3/t3dialog.h,
6113 src/target3/t3mm1gui.cpp, src/target3/t3mm1gui.h,
6114 src/target3/t3qm2gui.cpp, src/target3/t3qm2gui.h,
6115 src/target3/t3window.cpp: file save dialogs added, selection bug
6116 fixed
6117
6118 2000-10-18 14:13 thassine
6119
6120 * CHANGES, bin/examples/2-chlorobutane.gpMM,
6121 bin/examples/2-chlorobutane.mm1gp,
6122 bin/examples/3-phenylpropanal.gpMM,
6123 bin/examples/3-phenylpropanal.mm1gp,
6124 bin/examples/acetylsalicylic_acid.gpMM,
6125 bin/examples/acetylsalicylic_acid.mm1gp,
6126 bin/examples/alpha-pinene.gpMM, bin/examples/alpha-pinene.mm1gp,
6127 bin/examples/bromobenzene.gpMM, bin/examples/bromobenzene.mm1gp,
6128 bin/examples/camphor.gpMM, bin/examples/camphor.mm1gp,
6129 bin/examples/cinnamaldehyde.gpMM,
6130 bin/examples/cinnamaldehyde.mm1gp,
6131 bin/examples/cis-2-pentene.gpMM,
6132 bin/examples/cis-2-pentene.mm1gp, bin/examples/cyclohexane.gpMM,
6133 bin/examples/cyclohexane.mm1gp, bin/examples/naphtalene.gpMM,
6134 bin/examples/naphtalene.mm1gp, src/common/guibase.cpp,
6135 src/common/guibase.h, src/common/library/mm1mdl.cpp,
6136 src/common/library/qm1mdl.cpp, src/common/library/qm2mdl.cpp,
6137 src/common/mm1gui.cpp, src/common/mm1gui.h,
6138 src/common/qm1gui.cpp, src/common/qm1gui.h,
6139 src/common/qm2gui.cpp, src/common/qm2gui.h,
6140 src/target2/t2main.cpp, src/target3/t3dialog.cpp,
6141 src/target3/t3dialog.h, src/target3/t3main.cpp,
6142 src/target3/t3main.h, src/target3/t3mm1gui.cpp,
6143 src/target3/t3mm1gui.h, src/target3/t3qm2gui.cpp,
6144 src/target3/t3qm2gui.h, src/target3/t3window.cpp,
6145 src/target3/t3window.h: added file dialogs for GNOME version,
6146 changed examples
6147
6148 2000-10-16 07:07 thassine
6149
6150 * src/common/config.h, src/common/library/config.h,
6151 src/common/library/mm1mdl.cpp, src/common/library/mm1util.cpp,
6152 src/common/library/utility.cpp, src/common/library/utility.h:
6153 merged the patches from GH
6154
6155 2000-09-09 14:49 thassine
6156
6157 * CHANGES, src/common/config.h, src/common/library/config.h,
6158 src/common/library/define.h, src/target1/Makefile: just a few
6159 minor changes
6160
6161 2000-09-09 12:17 thassine
6162
6163 * BUGLIST, CHANGES, INSTALL, PROJECT, src/common/Makefile,
6164 src/common/library/Makefile, src/common/library/define.h,
6165 src/common/qm2gui.cpp, src/new.h, src/target2/Makefile,
6166 src/target3/Makefile, src/target3/t3main.cpp,
6167 src/target3/t3mm1gui.cpp, src/target3/t3qm2gui.cpp,
6168 src/target3/t3qm2gui.h, src/target3/t3window.cpp: improvements in
6169 gt3. this is released as 0.2.2
6170
6171 2000-09-06 09:02 thassine
6172
6173 * src/Makefile: made some changes in makefiles
6174
6175 2000-09-06 08:38 thassine
6176
6177 * AUTHORS, BUGLIST, CHANGES, COPYING, INSTALL, PROJECT, bin,
6178 bin/examples, bin/examples/2-chlorobutane.mm1gp,
6179 bin/examples/3-phenylpropanal.mm1gp,
6180 bin/examples/acetylsalicylic_acid.mm1gp,
6181 bin/examples/alpha-pinene.mm1gp, bin/examples/bromobenzene.mm1gp,
6182 bin/examples/camphor.mm1gp, bin/examples/cinnamaldehyde.mm1gp,
6183 bin/examples/cis-2-pentene.mm1gp, bin/examples/cyclohexane.mm1gp,
6184 bin/examples/naphtalene.mm1gp, bin/parameters,
6185 bin/parameters/builder, bin/parameters/builder/amino.txt,
6186 bin/parameters/builder/nucleic.txt, bin/parameters/mm1param,
6187 bin/parameters/mm1param/stable,
6188 bin/parameters/mm1param/stable/atomtypes.txt,
6189 bin/parameters/mm1param/stable/parameters1.txt,
6190 bin/parameters/mm1param/stable/parameters2.txt,
6191 bin/parameters/mm1param/stable/parameters3.txt,
6192 bin/parameters/mm1param/stable/parameters4.txt,
6193 bin/parameters/mm1param/stable/parameters5.txt,
6194 bin/parameters/mm1param/unstable,
6195 bin/parameters/mm1param/unstable/atomtypes.txt,
6196 bin/parameters/mm1param/unstable/parameters1.txt,
6197 bin/parameters/mm1param/unstable/parameters2.txt,
6198 bin/parameters/mm1param/unstable/parameters3.txt,
6199 bin/parameters/mm1param/unstable/parameters4.txt,
6200 bin/parameters/mm1param/unstable/parameters5.txt, src,
6201 src/Makefile, src/common, src/common/Makefile,
6202 src/common/color.h, src/common/config.h, src/common/guibase.cpp,
6203 src/common/guibase.h, src/common/library,
6204 src/common/library/Makefile, src/common/library/config.h,
6205 src/common/library/conjgrad.cpp, src/common/library/conjgrad.h,
6206 src/common/library/define.h, src/common/library/engbase.cpp,
6207 src/common/library/engbase.h, src/common/library/mdlbase.cpp,
6208 src/common/library/mdlbase.h, src/common/library/mm1alg.cpp,
6209 src/common/library/mm1alg.h, src/common/library/mm1eng.cpp,
6210 src/common/library/mm1eng.h, src/common/library/mm1eng1.cpp,
6211 src/common/library/mm1eng1.h, src/common/library/mm1eng9.cpp,
6212 src/common/library/mm1eng9.h, src/common/library/mm1mdl.cpp,
6213 src/common/library/mm1mdl.h, src/common/library/mm1tab1.cpp,
6214 src/common/library/mm1tab1.h, src/common/library/mm1tab9.cpp,
6215 src/common/library/mm1tab9.h, src/common/library/mm1util.cpp,
6216 src/common/library/mm1util.h, src/common/library/qm1eng.cpp,
6217 src/common/library/qm1eng.h, src/common/library/qm1mdl.cpp,
6218 src/common/library/qm1mdl.h, src/common/library/qm2eng.cpp,
6219 src/common/library/qm2eng.h, src/common/library/qm2eng1.cpp,
6220 src/common/library/qm2eng1.h, src/common/library/qm2eng9.cpp,
6221 src/common/library/qm2eng9.h, src/common/library/qm2mdl.cpp,
6222 src/common/library/qm2mdl.h, src/common/library/typedef.h,
6223 src/common/library/utility.cpp, src/common/library/utility.h,
6224 src/common/library/v3d.h, src/common/matrix.h,
6225 src/common/mm1gui.cpp, src/common/mm1gui.h,
6226 src/common/mm1rbn.cpp, src/common/mm1rbn.h,
6227 src/common/mtools.cpp, src/common/mtools.h,
6228 src/common/notice.cpp, src/common/notice.h,
6229 src/common/objects.cpp, src/common/objects.h,
6230 src/common/plane.cpp, src/common/plane.h, src/common/qm1gui.cpp,
6231 src/common/qm1gui.h, src/common/qm2gui.cpp, src/common/qm2gui.h,
6232 src/common/spline.cpp, src/common/spline.h,
6233 src/common/surface.cpp, src/common/surface.h,
6234 src/common/viewing.cpp, src/common/viewing.h,
6235 src/common/window.cpp, src/common/window.h, src/new.cpp,
6236 src/new.h, src/target1, src/target1/Makefile,
6237 src/target1/config.h, src/target1/t1main.cpp,
6238 src/target1/t1main.h, src/target2, src/target2/Makefile,
6239 src/target2/config.h, src/target2/t2main.cpp,
6240 src/target2/t2main.h, src/target2/t2mm1gui.cpp,
6241 src/target2/t2mm1gui.h, src/target2/t2qm1gui.cpp,
6242 src/target2/t2qm1gui.h, src/target2/t2qm2gui.cpp,
6243 src/target2/t2qm2gui.h, src/target2/t2window.cpp,
6244 src/target2/t2window.h, src/target3, src/target3/Makefile,
6245 src/target3/config.h, src/target3/pixmaps,
6246 src/target3/pixmaps/draw.xpm, src/target3/pixmaps/erase.xpm,
6247 src/target3/pixmaps/orb_xy.xpm, src/target3/pixmaps/orb_z.xpm,
6248 src/target3/pixmaps/rot_xy.xpm, src/target3/pixmaps/rot_z.xpm,
6249 src/target3/pixmaps/select.xpm, src/target3/pixmaps/trans_xy.xpm,
6250 src/target3/pixmaps/trans_z.xpm, src/target3/pixmaps/zoom.xpm,
6251 src/target3/t3dialog.cpp, src/target3/t3dialog.h,
6252 src/target3/t3main.cpp, src/target3/t3main.h,
6253 src/target3/t3mm1gui.cpp, src/target3/t3mm1gui.h,
6254 src/target3/t3qm1gui.cpp, src/target3/t3qm1gui.h,
6255 src/target3/t3qm2gui.cpp, src/target3/t3qm2gui.h,
6256 src/target3/t3window.cpp, src/target3/t3window.h: Initial
6257 revision
6258
6259 2000-09-06 08:38
6260
6261 * .: New repository initialized by cvs2svn.
6262
0 REQUIREMENTS:
1 -------------
2
3 The ghemical package is dependent on "libghemical" package, in addition
4 to the packages/files that are needed to compile and run programs at
5 the GTK2 platform. Also ghemical is optionally dependent on "OpenBabel"
6 packages (for file import/export features).
7
8 You can get "libghemical-2.95.tgz" or newer from
9
10 http://bioinformatics.org/ghemical/download.html
11
12 You can get "openbabel-2.0.0.tar.gz" or newer from
13
14 http://openbabel.sourceforge.net/
15
16 Other software/packages that are needed to compile and run this program
17 are:
18
19 g++ gcc version 4.1.2 or later
20 make GNU Make version 3.76.1
21 pkg-config pkg-config-0.15
22
23 glib glib-2.0 version 2.6.0 or newer
24 gtk+ gtk+-2.0 version 2.6.0 or newer
25 gtkglext gtkglext-1.0 version 1.0.5 or newer
26 libglade libglade-2.0 version 2.4.0 or newer
27 gthread gthread-2.0 version 2.6.0 or newer (optional)
28
29 In short, any up-to-date Linux installation like Redhat, Mandrake
30 or Debian should work, if the necessary development packages (that
31 contain the header files) are also present, in addition to the standard
32 packages (that contain the libraries).
33
34
35 INSTALLATION:
36 -------------
37
38 Simple set of commands
39
40 ./autogen.sh
41 ./configure
42 make
43 make install [run as root user]
44
45 will produce an executable program in which all the optional dependencies
46 mentioned above are disabled. You can enable the options by adding the
47 following statements to the configuration script command line:
48
49 ./configure --enable-openbabel
50
51 If you wish to disable multithreading you may use:
52
53 ./configure --enable-threads=no
54
55 For more options and information you can try
56
57 ./configure --help
58
59 If at configuration step you get stuck and see some error messages about
60 PKG_CONFIG, please try the following tricks (and re-try ./configure):
61
62 export PKG_CONFIG=pkg-config
63 export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
64
65 Also if problems appear you might want to try updating the configuration
66 files using commands at the top of the source tree (and re-try ./configure):
67
68 aclocal
69 autoconf
70 autoheader
71
72 This is an example how to set different compiler versions in Makefiles:
73
74 CC=gcc-3.4 CXX=g++-3.4 ./configure
75
76 The "make install"-command will copy the executable and some extra files to
77 their proper places so that the program can be run anywhere. After you have
78 installed the program you can click the item "Help/Help" from the main menu
79 to read the User's Manual (highly recommended).
80
81 In the "examples"-directory there are some useful example molecules, and
82 in the "small-utilities"-directory there are... well, some small utilities.
83
84 Enjoy!!!
85
0 SUBDIRS = docs examples src po
1
2 EXTRA_DIST = autogen.sh ghemical.spec
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16 VPATH = @srcdir@
17 pkgdatadir = $(datadir)/@PACKAGE@
18 pkgincludedir = $(includedir)/@PACKAGE@
19 pkglibdir = $(libdir)/@PACKAGE@
20 pkglibexecdir = $(libexecdir)/@PACKAGE@
21 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
22 install_sh_DATA = $(install_sh) -c -m 644
23 install_sh_PROGRAM = $(install_sh) -c
24 install_sh_SCRIPT = $(install_sh) -c
25 INSTALL_HEADER = $(INSTALL_DATA)
26 transform = $(program_transform_name)
27 NORMAL_INSTALL = :
28 PRE_INSTALL = :
29 POST_INSTALL = :
30 NORMAL_UNINSTALL = :
31 PRE_UNINSTALL = :
32 POST_UNINSTALL = :
33 build_triplet = @build@
34 host_triplet = @host@
35 subdir = .
36 DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
37 $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \
38 ChangeLog INSTALL NEWS TODO config.guess config.sub depcomp \
39 install-sh ltmain.sh missing mkinstalldirs
40 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
41 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
42 $(top_srcdir)/configure.ac
43 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
44 $(ACLOCAL_M4)
45 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
46 configure.lineno config.status.lineno
47 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
48 CONFIG_HEADER = $(top_builddir)/src/ghemicalconfig.h
49 CONFIG_CLEAN_FILES =
50 CONFIG_CLEAN_VPATH_FILES =
51 SOURCES =
52 DIST_SOURCES =
53 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
54 html-recursive info-recursive install-data-recursive \
55 install-dvi-recursive install-exec-recursive \
56 install-html-recursive install-info-recursive \
57 install-pdf-recursive install-ps-recursive install-recursive \
58 installcheck-recursive installdirs-recursive pdf-recursive \
59 ps-recursive uninstall-recursive
60 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
61 distclean-recursive maintainer-clean-recursive
62 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
63 $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
64 distdir dist dist-all distcheck
65 ETAGS = etags
66 CTAGS = ctags
67 DIST_SUBDIRS = $(SUBDIRS)
68 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
69 distdir = $(PACKAGE)-$(VERSION)
70 top_distdir = $(distdir)
71 am__remove_distdir = \
72 { test ! -d "$(distdir)" \
73 || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
74 && rm -fr "$(distdir)"; }; }
75 am__relativize = \
76 dir0=`pwd`; \
77 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
78 sed_rest='s,^[^/]*/*,,'; \
79 sed_last='s,^.*/\([^/]*\)$$,\1,'; \
80 sed_butlast='s,/*[^/]*$$,,'; \
81 while test -n "$$dir1"; do \
82 first=`echo "$$dir1" | sed -e "$$sed_first"`; \
83 if test "$$first" != "."; then \
84 if test "$$first" = ".."; then \
85 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
86 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
87 else \
88 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
89 if test "$$first2" = "$$first"; then \
90 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
91 else \
92 dir2="../$$dir2"; \
93 fi; \
94 dir0="$$dir0"/"$$first"; \
95 fi; \
96 fi; \
97 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
98 done; \
99 reldir="$$dir2"
100 DIST_ARCHIVES = $(distdir).tar.gz
101 GZIP_ENV = --best
102 distuninstallcheck_listfiles = find . -type f -print
103 distcleancheck_listfiles = find . -type f -print
104 ACLOCAL = @ACLOCAL@
105 ALL_LINGUAS = @ALL_LINGUAS@
106 AMTAR = @AMTAR@
107 APPRELEASEDATE = @APPRELEASEDATE@
108 APPVERSION = @APPVERSION@
109 AR = @AR@
110 AUTOCONF = @AUTOCONF@
111 AUTOHEADER = @AUTOHEADER@
112 AUTOMAKE = @AUTOMAKE@
113 AWK = @AWK@
114 CATALOGS = @CATALOGS@
115 CATOBJEXT = @CATOBJEXT@
116 CC = @CC@
117 CCDEPMODE = @CCDEPMODE@
118 CFLAGS = @CFLAGS@
119 CPP = @CPP@
120 CPPFLAGS = @CPPFLAGS@
121 CXX = @CXX@
122 CXXCPP = @CXXCPP@
123 CXXDEPMODE = @CXXDEPMODE@
124 CXXFLAGS = @CXXFLAGS@
125 CYGPATH_W = @CYGPATH_W@
126 DATADIRNAME = @DATADIRNAME@
127 DEFS = @DEFS@
128 DEPDIR = @DEPDIR@
129 DSYMUTIL = @DSYMUTIL@
130 DUMPBIN = @DUMPBIN@
131 ECHO_C = @ECHO_C@
132 ECHO_N = @ECHO_N@
133 ECHO_T = @ECHO_T@
134 EGREP = @EGREP@
135 EXEEXT = @EXEEXT@
136 FGREP = @FGREP@
137 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
138 GMOFILES = @GMOFILES@
139 GMSGFMT = @GMSGFMT@
140 GREP = @GREP@
141 GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
142 GTHREAD_LIBS = @GTHREAD_LIBS@
143 GTK_CFLAGS = @GTK_CFLAGS@
144 GTK_LIBS = @GTK_LIBS@
145 INSTALL = @INSTALL@
146 INSTALL_DATA = @INSTALL_DATA@
147 INSTALL_PROGRAM = @INSTALL_PROGRAM@
148 INSTALL_SCRIPT = @INSTALL_SCRIPT@
149 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
150 INSTOBJEXT = @INSTOBJEXT@
151 INTLLIBS = @INTLLIBS@
152 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
153 INTLTOOL_MERGE = @INTLTOOL_MERGE@
154 INTLTOOL_PERL = @INTLTOOL_PERL@
155 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
156 LD = @LD@
157 LDFLAGS = @LDFLAGS@
158 LIBGHEMICAL_CFLAGS = @LIBGHEMICAL_CFLAGS@
159 LIBGHEMICAL_LIBS = @LIBGHEMICAL_LIBS@
160 LIBOBJS = @LIBOBJS@
161 LIBS = @LIBS@
162 LIBTOOL = @LIBTOOL@
163 LIPO = @LIPO@
164 LN_S = @LN_S@
165 LTLIBOBJS = @LTLIBOBJS@
166 MAKEINFO = @MAKEINFO@
167 MKDIR_P = @MKDIR_P@
168 MKINSTALLDIRS = @MKINSTALLDIRS@
169 MSGFMT = @MSGFMT@
170 MSGFMT_OPTS = @MSGFMT_OPTS@
171 MSGMERGE = @MSGMERGE@
172 NM = @NM@
173 NMEDIT = @NMEDIT@
174 OBJDUMP = @OBJDUMP@
175 OBJEXT = @OBJEXT@
176 OPENBABEL_CFLAGS = @OPENBABEL_CFLAGS@
177 OPENBABEL_LIBS = @OPENBABEL_LIBS@
178 OTOOL = @OTOOL@
179 OTOOL64 = @OTOOL64@
180 PACKAGE = @PACKAGE@
181 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
182 PACKAGE_NAME = @PACKAGE_NAME@
183 PACKAGE_STRING = @PACKAGE_STRING@
184 PACKAGE_TARNAME = @PACKAGE_TARNAME@
185 PACKAGE_URL = @PACKAGE_URL@
186 PACKAGE_VERSION = @PACKAGE_VERSION@
187 PATH_SEPARATOR = @PATH_SEPARATOR@
188 PKG_CONFIG = @PKG_CONFIG@
189 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
190 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
191 POFILES = @POFILES@
192 POSUB = @POSUB@
193 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
194 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
195 RANLIB = @RANLIB@
196 SED = @SED@
197 SET_MAKE = @SET_MAKE@
198 SHELL = @SHELL@
199 STRIP = @STRIP@
200 USE_NLS = @USE_NLS@
201 VERSION = @VERSION@
202 XGETTEXT = @XGETTEXT@
203 abs_builddir = @abs_builddir@
204 abs_srcdir = @abs_srcdir@
205 abs_top_builddir = @abs_top_builddir@
206 abs_top_srcdir = @abs_top_srcdir@
207 ac_ct_CC = @ac_ct_CC@
208 ac_ct_CXX = @ac_ct_CXX@
209 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
210 am__include = @am__include@
211 am__leading_dot = @am__leading_dot@
212 am__quote = @am__quote@
213 am__tar = @am__tar@
214 am__untar = @am__untar@
215 bindir = @bindir@
216 build = @build@
217 build_alias = @build_alias@
218 build_cpu = @build_cpu@
219 build_os = @build_os@
220 build_vendor = @build_vendor@
221 builddir = @builddir@
222 datadir = @datadir@
223 datarootdir = @datarootdir@
224 docdir = @docdir@
225 dvidir = @dvidir@
226 exec_prefix = @exec_prefix@
227 host = @host@
228 host_alias = @host_alias@
229 host_cpu = @host_cpu@
230 host_os = @host_os@
231 host_vendor = @host_vendor@
232 htmldir = @htmldir@
233 includedir = @includedir@
234 infodir = @infodir@
235 install_sh = @install_sh@
236 libdir = @libdir@
237 libexecdir = @libexecdir@
238 localedir = @localedir@
239 localstatedir = @localstatedir@
240 lt_ECHO = @lt_ECHO@
241 mandir = @mandir@
242 mkdir_p = @mkdir_p@
243 oldincludedir = @oldincludedir@
244 pdfdir = @pdfdir@
245 prefix = @prefix@
246 program_transform_name = @program_transform_name@
247 psdir = @psdir@
248 sbindir = @sbindir@
249 sharedstatedir = @sharedstatedir@
250 srcdir = @srcdir@
251 sysconfdir = @sysconfdir@
252 target_alias = @target_alias@
253 top_build_prefix = @top_build_prefix@
254 top_builddir = @top_builddir@
255 top_builddir_ = @top_builddir_@
256 top_srcdir = @top_srcdir@
257 SUBDIRS = docs examples src po
258 EXTRA_DIST = autogen.sh ghemical.spec
259 all: all-recursive
260
261 .SUFFIXES:
262 am--refresh:
263 @:
264 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
265 @for dep in $?; do \
266 case '$(am__configure_deps)' in \
267 *$$dep*) \
268 echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
269 $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
270 && exit 0; \
271 exit 1;; \
272 esac; \
273 done; \
274 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
275 $(am__cd) $(top_srcdir) && \
276 $(AUTOMAKE) --gnu Makefile
277 .PRECIOUS: Makefile
278 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
279 @case '$?' in \
280 *config.status*) \
281 echo ' $(SHELL) ./config.status'; \
282 $(SHELL) ./config.status;; \
283 *) \
284 echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
285 cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
286 esac;
287
288 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
289 $(SHELL) ./config.status --recheck
290
291 $(top_srcdir)/configure: $(am__configure_deps)
292 $(am__cd) $(srcdir) && $(AUTOCONF)
293 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
294 $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
295 $(am__aclocal_m4_deps):
296
297 mostlyclean-libtool:
298 -rm -f *.lo
299
300 clean-libtool:
301 -rm -rf .libs _libs
302
303 distclean-libtool:
304 -rm -f libtool config.lt
305
306 # This directory's subdirectories are mostly independent; you can cd
307 # into them and run `make' without going through this Makefile.
308 # To change the values of `make' variables: instead of editing Makefiles,
309 # (1) if the variable is set in `config.status', edit `config.status'
310 # (which will cause the Makefiles to be regenerated when you run `make');
311 # (2) otherwise, pass the desired values on the `make' command line.
312 $(RECURSIVE_TARGETS):
313 @fail= failcom='exit 1'; \
314 for f in x $$MAKEFLAGS; do \
315 case $$f in \
316 *=* | --[!k]*);; \
317 *k*) failcom='fail=yes';; \
318 esac; \
319 done; \
320 dot_seen=no; \
321 target=`echo $@ | sed s/-recursive//`; \
322 list='$(SUBDIRS)'; for subdir in $$list; do \
323 echo "Making $$target in $$subdir"; \
324 if test "$$subdir" = "."; then \
325 dot_seen=yes; \
326 local_target="$$target-am"; \
327 else \
328 local_target="$$target"; \
329 fi; \
330 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
331 || eval $$failcom; \
332 done; \
333 if test "$$dot_seen" = "no"; then \
334 $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
335 fi; test -z "$$fail"
336
337 $(RECURSIVE_CLEAN_TARGETS):
338 @fail= failcom='exit 1'; \
339 for f in x $$MAKEFLAGS; do \
340 case $$f in \
341 *=* | --[!k]*);; \
342 *k*) failcom='fail=yes';; \
343 esac; \
344 done; \
345 dot_seen=no; \
346 case "$@" in \
347 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
348 *) list='$(SUBDIRS)' ;; \
349 esac; \
350 rev=''; for subdir in $$list; do \
351 if test "$$subdir" = "."; then :; else \
352 rev="$$subdir $$rev"; \
353 fi; \
354 done; \
355 rev="$$rev ."; \
356 target=`echo $@ | sed s/-recursive//`; \
357 for subdir in $$rev; do \
358 echo "Making $$target in $$subdir"; \
359 if test "$$subdir" = "."; then \
360 local_target="$$target-am"; \
361 else \
362 local_target="$$target"; \
363 fi; \
364 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
365 || eval $$failcom; \
366 done && test -z "$$fail"
367 tags-recursive:
368 list='$(SUBDIRS)'; for subdir in $$list; do \
369 test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
370 done
371 ctags-recursive:
372 list='$(SUBDIRS)'; for subdir in $$list; do \
373 test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
374 done
375
376 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
377 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
378 unique=`for i in $$list; do \
379 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
380 done | \
381 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
382 END { if (nonempty) { for (i in files) print i; }; }'`; \
383 mkid -fID $$unique
384 tags: TAGS
385
386 TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
387 $(TAGS_FILES) $(LISP)
388 set x; \
389 here=`pwd`; \
390 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
391 include_option=--etags-include; \
392 empty_fix=.; \
393 else \
394 include_option=--include; \
395 empty_fix=; \
396 fi; \
397 list='$(SUBDIRS)'; for subdir in $$list; do \
398 if test "$$subdir" = .; then :; else \
399 test ! -f $$subdir/TAGS || \
400 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
401 fi; \
402 done; \
403 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
404 unique=`for i in $$list; do \
405 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
406 done | \
407 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
408 END { if (nonempty) { for (i in files) print i; }; }'`; \
409 shift; \
410 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
411 test -n "$$unique" || unique=$$empty_fix; \
412 if test $$# -gt 0; then \
413 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
414 "$$@" $$unique; \
415 else \
416 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
417 $$unique; \
418 fi; \
419 fi
420 ctags: CTAGS
421 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
422 $(TAGS_FILES) $(LISP)
423 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
424 unique=`for i in $$list; do \
425 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
426 done | \
427 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
428 END { if (nonempty) { for (i in files) print i; }; }'`; \
429 test -z "$(CTAGS_ARGS)$$unique" \
430 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
431 $$unique
432
433 GTAGS:
434 here=`$(am__cd) $(top_builddir) && pwd` \
435 && $(am__cd) $(top_srcdir) \
436 && gtags -i $(GTAGS_ARGS) "$$here"
437
438 distclean-tags:
439 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
440
441 distdir: $(DISTFILES)
442 $(am__remove_distdir)
443 test -d "$(distdir)" || mkdir "$(distdir)"
444 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
445 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
446 list='$(DISTFILES)'; \
447 dist_files=`for file in $$list; do echo $$file; done | \
448 sed -e "s|^$$srcdirstrip/||;t" \
449 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
450 case $$dist_files in \
451 */*) $(MKDIR_P) `echo "$$dist_files" | \
452 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
453 sort -u` ;; \
454 esac; \
455 for file in $$dist_files; do \
456 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
457 if test -d $$d/$$file; then \
458 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
459 if test -d "$(distdir)/$$file"; then \
460 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
461 fi; \
462 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
463 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
464 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
465 fi; \
466 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
467 else \
468 test -f "$(distdir)/$$file" \
469 || cp -p $$d/$$file "$(distdir)/$$file" \
470 || exit 1; \
471 fi; \
472 done
473 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
474 if test "$$subdir" = .; then :; else \
475 test -d "$(distdir)/$$subdir" \
476 || $(MKDIR_P) "$(distdir)/$$subdir" \
477 || exit 1; \
478 fi; \
479 done
480 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
481 if test "$$subdir" = .; then :; else \
482 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
483 $(am__relativize); \
484 new_distdir=$$reldir; \
485 dir1=$$subdir; dir2="$(top_distdir)"; \
486 $(am__relativize); \
487 new_top_distdir=$$reldir; \
488 echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
489 echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
490 ($(am__cd) $$subdir && \
491 $(MAKE) $(AM_MAKEFLAGS) \
492 top_distdir="$$new_top_distdir" \
493 distdir="$$new_distdir" \
494 am__remove_distdir=: \
495 am__skip_length_check=: \
496 am__skip_mode_fix=: \
497 distdir) \
498 || exit 1; \
499 fi; \
500 done
501 -test -n "$(am__skip_mode_fix)" \
502 || find "$(distdir)" -type d ! -perm -755 \
503 -exec chmod u+rwx,go+rx {} \; -o \
504 ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
505 ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
506 ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
507 || chmod -R a+r "$(distdir)"
508 dist-gzip: distdir
509 tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
510 $(am__remove_distdir)
511
512 dist-bzip2: distdir
513 tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
514 $(am__remove_distdir)
515
516 dist-lzma: distdir
517 tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
518 $(am__remove_distdir)
519
520 dist-xz: distdir
521 tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
522 $(am__remove_distdir)
523
524 dist-tarZ: distdir
525 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
526 $(am__remove_distdir)
527
528 dist-shar: distdir
529 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
530 $(am__remove_distdir)
531
532 dist-zip: distdir
533 -rm -f $(distdir).zip
534 zip -rq $(distdir).zip $(distdir)
535 $(am__remove_distdir)
536
537 dist dist-all: distdir
538 tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
539 $(am__remove_distdir)
540
541 # This target untars the dist file and tries a VPATH configuration. Then
542 # it guarantees that the distribution is self-contained by making another
543 # tarfile.
544 distcheck: dist
545 case '$(DIST_ARCHIVES)' in \
546 *.tar.gz*) \
547 GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
548 *.tar.bz2*) \
549 bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
550 *.tar.lzma*) \
551 lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
552 *.tar.xz*) \
553 xz -dc $(distdir).tar.xz | $(am__untar) ;;\
554 *.tar.Z*) \
555 uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
556 *.shar.gz*) \
557 GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
558 *.zip*) \
559 unzip $(distdir).zip ;;\
560 esac
561 chmod -R a-w $(distdir); chmod a+w $(distdir)
562 mkdir $(distdir)/_build
563 mkdir $(distdir)/_inst
564 chmod a-w $(distdir)
565 test -d $(distdir)/_build || exit 0; \
566 dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
567 && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
568 && am__cwd=`pwd` \
569 && $(am__cd) $(distdir)/_build \
570 && ../configure --srcdir=.. --prefix="$$dc_install_base" \
571 $(DISTCHECK_CONFIGURE_FLAGS) \
572 && $(MAKE) $(AM_MAKEFLAGS) \
573 && $(MAKE) $(AM_MAKEFLAGS) dvi \
574 && $(MAKE) $(AM_MAKEFLAGS) check \
575 && $(MAKE) $(AM_MAKEFLAGS) install \
576 && $(MAKE) $(AM_MAKEFLAGS) installcheck \
577 && $(MAKE) $(AM_MAKEFLAGS) uninstall \
578 && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
579 distuninstallcheck \
580 && chmod -R a-w "$$dc_install_base" \
581 && ({ \
582 (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
583 && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
584 && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
585 && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
586 distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
587 } || { rm -rf "$$dc_destdir"; exit 1; }) \
588 && rm -rf "$$dc_destdir" \
589 && $(MAKE) $(AM_MAKEFLAGS) dist \
590 && rm -rf $(DIST_ARCHIVES) \
591 && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
592 && cd "$$am__cwd" \
593 || exit 1
594 $(am__remove_distdir)
595 @(echo "$(distdir) archives ready for distribution: "; \
596 list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
597 sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
598 distuninstallcheck:
599 @$(am__cd) '$(distuninstallcheck_dir)' \
600 && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
601 || { echo "ERROR: files left after uninstall:" ; \
602 if test -n "$(DESTDIR)"; then \
603 echo " (check DESTDIR support)"; \
604 fi ; \
605 $(distuninstallcheck_listfiles) ; \
606 exit 1; } >&2
607 distcleancheck: distclean
608 @if test '$(srcdir)' = . ; then \
609 echo "ERROR: distcleancheck can only run from a VPATH build" ; \
610 exit 1 ; \
611 fi
612 @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
613 || { echo "ERROR: files left in build directory after distclean:" ; \
614 $(distcleancheck_listfiles) ; \
615 exit 1; } >&2
616 check-am: all-am
617 check: check-recursive
618 all-am: Makefile
619 installdirs: installdirs-recursive
620 installdirs-am:
621 install: install-recursive
622 install-exec: install-exec-recursive
623 install-data: install-data-recursive
624 uninstall: uninstall-recursive
625
626 install-am: all-am
627 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
628
629 installcheck: installcheck-recursive
630 install-strip:
631 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
632 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
633 `test -z '$(STRIP)' || \
634 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
635 mostlyclean-generic:
636
637 clean-generic:
638
639 distclean-generic:
640 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
641 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
642
643 maintainer-clean-generic:
644 @echo "This command is intended for maintainers to use"
645 @echo "it deletes files that may require special tools to rebuild."
646 clean: clean-recursive
647
648 clean-am: clean-generic clean-libtool mostlyclean-am
649
650 distclean: distclean-recursive
651 -rm -f $(am__CONFIG_DISTCLEAN_FILES)
652 -rm -f Makefile
653 distclean-am: clean-am distclean-generic distclean-libtool \
654 distclean-tags
655
656 dvi: dvi-recursive
657
658 dvi-am:
659
660 html: html-recursive
661
662 html-am:
663
664 info: info-recursive
665
666 info-am:
667
668 install-data-am:
669
670 install-dvi: install-dvi-recursive
671
672 install-dvi-am:
673
674 install-exec-am:
675
676 install-html: install-html-recursive
677
678 install-html-am:
679
680 install-info: install-info-recursive
681
682 install-info-am:
683
684 install-man:
685
686 install-pdf: install-pdf-recursive
687
688 install-pdf-am:
689
690 install-ps: install-ps-recursive
691
692 install-ps-am:
693
694 installcheck-am:
695
696 maintainer-clean: maintainer-clean-recursive
697 -rm -f $(am__CONFIG_DISTCLEAN_FILES)
698 -rm -rf $(top_srcdir)/autom4te.cache
699 -rm -f Makefile
700 maintainer-clean-am: distclean-am maintainer-clean-generic
701
702 mostlyclean: mostlyclean-recursive
703
704 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
705
706 pdf: pdf-recursive
707
708 pdf-am:
709
710 ps: ps-recursive
711
712 ps-am:
713
714 uninstall-am:
715
716 .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
717 install-am install-strip tags-recursive
718
719 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
720 all all-am am--refresh check check-am clean clean-generic \
721 clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
722 dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
723 distcheck distclean distclean-generic distclean-libtool \
724 distclean-tags distcleancheck distdir distuninstallcheck dvi \
725 dvi-am html html-am info info-am install install-am \
726 install-data install-data-am install-dvi install-dvi-am \
727 install-exec install-exec-am install-html install-html-am \
728 install-info install-info-am install-man install-pdf \
729 install-pdf-am install-ps install-ps-am install-strip \
730 installcheck installcheck-am installdirs installdirs-am \
731 maintainer-clean maintainer-clean-generic mostlyclean \
732 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
733 tags tags-recursive uninstall uninstall-am
734
735
736 # Tell versions [3.59,3.63) of GNU make to not export all variables.
737 # Otherwise a system limit (for SysV at least) may be exceeded.
738 .NOEXPORT:
(New empty file)
(New empty file)
0 "This file was created with a spreadsheet program and saved as CSV text using comma as a field delimiter and quotation mark as a text delimiter.",,,
1 "Priority (1-5):","What is planned:","Who's working on it:",Comments:
2 1,"improve the project view",th,"This might eventually remove the console dependence."
3 1,"port to gnome 2",th,"Not much choice here -- need to stay current! :)"
4 2,"a CORBA interface to Gnumeric",th,"It would be nice to send some data to a Gnumeric (or any GNOME spreadsheet program), allow a user to inspect/modifit, and then read it back..."
5 2,"better MM forcefield",th,"I'm working for some improvements for molecular mechanics force field and it's parameters. So, I expect that some improvements could appear soon."
6 2,"input file generators",th(?),"Offer users an easy way to generate input files for other programs (mpqc, gaussian, mopac, gromacs?, EGO?, etc...)"
7 2,"multiple coordinate sets",th(?),"The file format currently supports having multiple coordinate sets in the same project. Ideally, the interface should support this as well--it might make copy/paste and other features easier."
8 3,"calculate properties",-,"Like in Spartan, which has a dialog with: formula, molecular weight, surface area, volume, total energy, HOMO/LUMO energy, dipole, etc..."
9 3,"calculate symmetry",-,"I actually have code to do this--calculate the symmetry of any given set of coords. Need to import and tie in."
10 3,centroids,-,"For measuring, it's sometimes useful to define a temporary dummy atom as a centroid. (Either cartesian or mass-weighted)"
11 3,"constrained geometry search",-,"Similar to setting an angle, bond length, etc. it's useful to do a geometry optimization with certain values fixed. Maybe a simple way of doing this is to keep a list of contstraints and ensuring these are set after every step."
12 3,"detect bonds",-,"Currently the file import doesn't attempt to determine double bonds, etc. This would be useful."
13 3,"draw dipole vector",-,"Maybe a Draw_Vector object that illustrates the dipole vector including scaling to the appropriate magnitude."
14 3,"export graphics",-,"Ideally, the engine should allow exporting the graphics--e.g. create an offscreen buffer that's potentially larger than the screen and then save it to a file. Mesa off sceeen rendering??? RayTracing???"
15 3,"file format",-,"New sections for the file format (previous versions would just ignore them): !UnitCell !Charge !Hamiltonian !Basis etc..."
16 3,"file operations in QM",-,"Not much to say. These need to work--maybe through an all_atoms interface class."
17 3,"import trajectory files",-,"Trajectory format should allow importing trajectories from other programs (VMD pops to mind)."
18 3,library,-,"The library/ directory could have one level of directories, then a bunch of Ghemical files. So a menu could contain items for each of the directories and these would list the files. Choosing a file would Open/Insert it into the current project."
19 3,plugins,-,"We need a way of allowing plugins written in scripting languages like Perl or Python. These could interface with other programs, perform various changes on the molecules, etc."
20 3,preferences,-,"Need a preferences dialog box and the ability to save settings to project files as well."
21 3,"QM file import",-,"Ideally, the QM mode should be able to read output from other popular programs (e.g. Gaussian, Q-Chem, Jaguar, HyperChem...) -- maybe this could work by translating the eigenvectors to MPQC format?"
22 3,save,-,"The SaveAs menu item should also have a Save for just saving the file to the current filename/path (if it exists.) If no path exists, this should work like the SaveAs."
23 3,"set length, angle, torsion",-,"Some tools to set bond lengths, angles, torsions, etc. to particular values would be helpful."
24 3,vibrations,-,"It would be nice to animate vibrational modes based on QM output from other programs."
25 3,"volume / surface area",-,"Spartan calculates the volume and surface area of a model--this would be very useful for comparing solvent properties, crystal packing, etc."
26 4,"recently opened files",-,"We should use the gnome-history interface to have a list of recent documents."
27 4,"select lasso",-,"Ideally you should be able to drag the select tool around and select a region of space. This would be a bit like the lasso or rectangle tool in GIMP, etc."
28 5,copy/paste,-,"It would be great if the current selection could be copied/pasted. (Cut is probably not quite as useful.)"
29 5,revert,-,"A revert menu item would be nice--silently close the current buffer and open it again from disk."
30 5,undo/redo,-,"This is a bit complicated, but it would be fantastic to have an undo/redo feature to undo the last action. (This is especially a big deal if the geometry optimization screws up.)"
31 6,"new builders",-,"Additional builder features besides DNA and peptide, e.g. polysaccharide"
0 # Michael Banck 12/26/01
1 # Adapted from the GTK+ work done by Owen Taylor
2
3 ######################################################################
4
5 dnl @synopsis AC_DEFINE_DIR(VARNAME, DIR [, DESCRIPTION])
6 dnl
7 dnl This macro _AC_DEFINEs VARNAME to the expansion of the DIR
8 dnl variable, taking care of fixing up ${prefix} and such.
9 dnl
10 dnl Note that the 3 argument form is only supported with autoconf 2.13 and
11 dnl later (i.e. only where _AC_DEFINE supports 3 arguments).
12 dnl
13 dnl Examples:
14 dnl
15 dnl AC_DEFINE_DIR(DATADIR, datadir)
16 dnl AC_DEFINE_DIR(PROG_PATH, bindir, [Location of installed binaries])
17 dnl
18 dnl @version $Id: acinclude.m4 709 2005-06-30 13:04:14Z thassine $
19 dnl @author Guido Draheim <guidod@gmx.de>, original by Alexandre Oliva
20
21 AC_DEFUN([AC_DEFINE_DIR], [
22 test "x$prefix" = xNONE && prefix="$ac_default_prefix"
23 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
24 ac_define_dir=`eval echo [$]$2`
25 ac_define_dir=`eval echo [$]ac_define_dir`
26 ifelse($3, ,
27 AC_DEFINE_UNQUOTED($1, "$ac_define_dir"),
28 AC_DEFINE_UNQUOTED($1, "$ac_define_dir", $3))
29 ])
30
31 ######################################################################
32
33 #
34 # Check to make sure that the build environment is sane.
35 #
36
37 AC_DEFUN(AM_SANITY_CHECK,
38 [AC_MSG_CHECKING([whether build environment is sane])
39 # Just in case
40 sleep 1
41 echo timestamp > conftestfile
42 # Do `set' in a subshell so we don't clobber the current shell's
43 # arguments. Must try -L first in case configure is actually a
44 # symlink; some systems play weird games with the mod time of symlinks
45 # (eg FreeBSD returns the mod time of the symlink's containing
46 # directory).
47 if (
48 set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
49 if test "[$]*" = "X"; then
50 # -L didn't work.
51 set X `ls -t $srcdir/configure conftestfile`
52 fi
53 if test "[$]*" != "X $srcdir/configure conftestfile" \
54 && test "[$]*" != "X conftestfile $srcdir/configure"; then
55
56 # If neither matched, then we have a broken ls. This can happen
57 # if, for instance, CONFIG_SHELL is bash and it inherits a
58 # broken ls alias from the environment. This has actually
59 # happened. Such a system could not be considered "sane".
60 AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
61 alias in your environment])
62 fi
63
64 test "[$]2" = conftestfile
65 )
66 then
67 # Ok.
68 :
69 else
70 AC_MSG_ERROR([newly created file is older than distributed files!
71 Check your system clock])
72 fi
73 rm -f conftest*
74 AC_MSG_RESULT(yes)])
75
76 ######################################################################
0 # generated automatically by aclocal 1.11.1 -*- Autoconf -*-
1
2 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
3 # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
4 # This file is free software; the Free Software Foundation
5 # gives unlimited permission to copy and/or distribute it,
6 # with or without modifications, as long as this notice is preserved.
7
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
10 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
11 # PARTICULAR PURPOSE.
12
13 m4_ifndef([AC_AUTOCONF_VERSION],
14 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
15 m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],,
16 [m4_warning([this file was generated for autoconf 2.67.
17 You have another version of autoconf. It may work, but is not guaranteed to.
18 If you have problems, you may need to regenerate the build system entirely.
19 To do so, use the procedure documented by the package, typically `autoreconf'.])])
20
21 # Copyright (C) 1995-2002 Free Software Foundation, Inc.
22 # Copyright (C) 2001-2003,2004 Red Hat, Inc.
23 #
24 # This file is free software, distributed under the terms of the GNU
25 # General Public License. As a special exception to the GNU General
26 # Public License, this file may be distributed as part of a program
27 # that contains a configuration script generated by Autoconf, under
28 # the same distribution terms as the rest of that program.
29 #
30 # This file can be copied and used freely without restrictions. It can
31 # be used in projects which are not available under the GNU Public License
32 # but which still want to provide support for the GNU gettext functionality.
33 #
34 # Macro to add for using GNU gettext.
35 # Ulrich Drepper <drepper@cygnus.com>, 1995, 1996
36 #
37 # Modified to never use included libintl.
38 # Owen Taylor <otaylor@redhat.com>, 12/15/1998
39 #
40 # Major rework to remove unused code
41 # Owen Taylor <otaylor@redhat.com>, 12/11/2002
42 #
43 # Added better handling of ALL_LINGUAS from GNU gettext version
44 # written by Bruno Haible, Owen Taylor <otaylor.redhat.com> 5/30/3002
45 #
46 # Modified to require ngettext
47 # Matthias Clasen <mclasen@redhat.com> 08/06/2004
48 #
49 # We need this here as well, since someone might use autoconf-2.5x
50 # to configure GLib then an older version to configure a package
51 # using AM_GLIB_GNU_GETTEXT
52 AC_PREREQ(2.53)
53
54 dnl
55 dnl We go to great lengths to make sure that aclocal won't
56 dnl try to pull in the installed version of these macros
57 dnl when running aclocal in the glib directory.
58 dnl
59 m4_copy([AC_DEFUN],[glib_DEFUN])
60 m4_copy([AC_REQUIRE],[glib_REQUIRE])
61 dnl
62 dnl At the end, if we're not within glib, we'll define the public
63 dnl definitions in terms of our private definitions.
64 dnl
65
66 # GLIB_LC_MESSAGES
67 #--------------------
68 glib_DEFUN([GLIB_LC_MESSAGES],
69 [AC_CHECK_HEADERS([locale.h])
70 if test $ac_cv_header_locale_h = yes; then
71 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
72 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
73 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
74 if test $am_cv_val_LC_MESSAGES = yes; then
75 AC_DEFINE(HAVE_LC_MESSAGES, 1,
76 [Define if your <locale.h> file defines LC_MESSAGES.])
77 fi
78 fi])
79
80 # GLIB_PATH_PROG_WITH_TEST
81 #----------------------------
82 dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
83 dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
84 glib_DEFUN([GLIB_PATH_PROG_WITH_TEST],
85 [# Extract the first word of "$2", so it can be a program name with args.
86 set dummy $2; ac_word=[$]2
87 AC_MSG_CHECKING([for $ac_word])
88 AC_CACHE_VAL(ac_cv_path_$1,
89 [case "[$]$1" in
90 /*)
91 ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
92 ;;
93 *)
94 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
95 for ac_dir in ifelse([$5], , $PATH, [$5]); do
96 test -z "$ac_dir" && ac_dir=.
97 if test -f $ac_dir/$ac_word; then
98 if [$3]; then
99 ac_cv_path_$1="$ac_dir/$ac_word"
100 break
101 fi
102 fi
103 done
104 IFS="$ac_save_ifs"
105 dnl If no 4th arg is given, leave the cache variable unset,
106 dnl so AC_PATH_PROGS will keep looking.
107 ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
108 ])dnl
109 ;;
110 esac])dnl
111 $1="$ac_cv_path_$1"
112 if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
113 AC_MSG_RESULT([$]$1)
114 else
115 AC_MSG_RESULT(no)
116 fi
117 AC_SUBST($1)dnl
118 ])
119
120 # GLIB_WITH_NLS
121 #-----------------
122 glib_DEFUN([GLIB_WITH_NLS],
123 dnl NLS is obligatory
124 [USE_NLS=yes
125 AC_SUBST(USE_NLS)
126
127 gt_cv_have_gettext=no
128
129 CATOBJEXT=NONE
130 XGETTEXT=:
131 INTLLIBS=
132
133 AC_CHECK_HEADER(libintl.h,
134 [gt_cv_func_dgettext_libintl="no"
135 libintl_extra_libs=""
136
137 #
138 # First check in libc
139 #
140 AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc,
141 [AC_TRY_LINK([
142 #include <libintl.h>
143 ],
144 [return !ngettext ("","", 1)],
145 gt_cv_func_ngettext_libc=yes,
146 gt_cv_func_ngettext_libc=no)
147 ])
148
149 if test "$gt_cv_func_ngettext_libc" = "yes" ; then
150 AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc,
151 [AC_TRY_LINK([
152 #include <libintl.h>
153 ],
154 [return !dgettext ("","")],
155 gt_cv_func_dgettext_libc=yes,
156 gt_cv_func_dgettext_libc=no)
157 ])
158 fi
159
160 if test "$gt_cv_func_ngettext_libc" = "yes" ; then
161 AC_CHECK_FUNCS(bind_textdomain_codeset)
162 fi
163
164 #
165 # If we don't have everything we want, check in libintl
166 #
167 if test "$gt_cv_func_dgettext_libc" != "yes" \
168 || test "$gt_cv_func_ngettext_libc" != "yes" \
169 || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then
170
171 AC_CHECK_LIB(intl, bindtextdomain,
172 [AC_CHECK_LIB(intl, ngettext,
173 [AC_CHECK_LIB(intl, dgettext,
174 gt_cv_func_dgettext_libintl=yes)])])
175
176 if test "$gt_cv_func_dgettext_libintl" != "yes" ; then
177 AC_MSG_CHECKING([if -liconv is needed to use gettext])
178 AC_MSG_RESULT([])
179 AC_CHECK_LIB(intl, ngettext,
180 [AC_CHECK_LIB(intl, dcgettext,
181 [gt_cv_func_dgettext_libintl=yes
182 libintl_extra_libs=-liconv],
183 :,-liconv)],
184 :,-liconv)
185 fi
186
187 #
188 # If we found libintl, then check in it for bind_textdomain_codeset();
189 # we'll prefer libc if neither have bind_textdomain_codeset(),
190 # and both have dgettext and ngettext
191 #
192 if test "$gt_cv_func_dgettext_libintl" = "yes" ; then
193 glib_save_LIBS="$LIBS"
194 LIBS="$LIBS -lintl $libintl_extra_libs"
195 unset ac_cv_func_bind_textdomain_codeset
196 AC_CHECK_FUNCS(bind_textdomain_codeset)
197 LIBS="$glib_save_LIBS"
198
199 if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then
200 gt_cv_func_dgettext_libc=no
201 else
202 if test "$gt_cv_func_dgettext_libc" = "yes" \
203 && test "$gt_cv_func_ngettext_libc" = "yes"; then
204 gt_cv_func_dgettext_libintl=no
205 fi
206 fi
207 fi
208 fi
209
210 if test "$gt_cv_func_dgettext_libc" = "yes" \
211 || test "$gt_cv_func_dgettext_libintl" = "yes"; then
212 gt_cv_have_gettext=yes
213 fi
214
215 if test "$gt_cv_func_dgettext_libintl" = "yes"; then
216 INTLLIBS="-lintl $libintl_extra_libs"
217 fi
218
219 if test "$gt_cv_have_gettext" = "yes"; then
220 AC_DEFINE(HAVE_GETTEXT,1,
221 [Define if the GNU gettext() function is already present or preinstalled.])
222 GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
223 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
224 if test "$MSGFMT" != "no"; then
225 glib_save_LIBS="$LIBS"
226 LIBS="$LIBS $INTLLIBS"
227 AC_CHECK_FUNCS(dcgettext)
228 MSGFMT_OPTS=
229 AC_MSG_CHECKING([if msgfmt accepts -c])
230 GLIB_RUN_PROG([$MSGFMT -c -o /dev/null],[
231 msgid ""
232 msgstr ""
233 "Content-Type: text/plain; charset=UTF-8\n"
234 "Project-Id-Version: test 1.0\n"
235 "PO-Revision-Date: 2007-02-15 12:01+0100\n"
236 "Last-Translator: test <foo@bar.xx>\n"
237 "Language-Team: C <LL@li.org>\n"
238 "MIME-Version: 1.0\n"
239 "Content-Transfer-Encoding: 8bit\n"
240 ], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])])
241 AC_SUBST(MSGFMT_OPTS)
242 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
243 GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
244 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
245 AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
246 return _nl_msg_cat_cntr],
247 [CATOBJEXT=.gmo
248 DATADIRNAME=share],
249 [case $host in
250 *-*-solaris*)
251 dnl On Solaris, if bind_textdomain_codeset is in libc,
252 dnl GNU format message catalog is always supported,
253 dnl since both are added to the libc all together.
254 dnl Hence, we'd like to go with DATADIRNAME=share and
255 dnl and CATOBJEXT=.gmo in this case.
256 AC_CHECK_FUNC(bind_textdomain_codeset,
257 [CATOBJEXT=.gmo
258 DATADIRNAME=share],
259 [CATOBJEXT=.mo
260 DATADIRNAME=lib])
261 ;;
262 *)
263 CATOBJEXT=.mo
264 DATADIRNAME=lib
265 ;;
266 esac])
267 LIBS="$glib_save_LIBS"
268 INSTOBJEXT=.mo
269 else
270 gt_cv_have_gettext=no
271 fi
272 fi
273 ])
274
275 if test "$gt_cv_have_gettext" = "yes" ; then
276 AC_DEFINE(ENABLE_NLS, 1,
277 [always defined to indicate that i18n is enabled])
278 fi
279
280 dnl Test whether we really found GNU xgettext.
281 if test "$XGETTEXT" != ":"; then
282 dnl If it is not GNU xgettext we define it as : so that the
283 dnl Makefiles still can work.
284 if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
285 : ;
286 else
287 AC_MSG_RESULT(
288 [found xgettext program is not GNU xgettext; ignore it])
289 XGETTEXT=":"
290 fi
291 fi
292
293 # We need to process the po/ directory.
294 POSUB=po
295
296 AC_OUTPUT_COMMANDS(
297 [case "$CONFIG_FILES" in *po/Makefile.in*)
298 sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
299 esac])
300
301 dnl These rules are solely for the distribution goal. While doing this
302 dnl we only have to keep exactly one list of the available catalogs
303 dnl in configure.in.
304 for lang in $ALL_LINGUAS; do
305 GMOFILES="$GMOFILES $lang.gmo"
306 POFILES="$POFILES $lang.po"
307 done
308
309 dnl Make all variables we use known to autoconf.
310 AC_SUBST(CATALOGS)
311 AC_SUBST(CATOBJEXT)
312 AC_SUBST(DATADIRNAME)
313 AC_SUBST(GMOFILES)
314 AC_SUBST(INSTOBJEXT)
315 AC_SUBST(INTLLIBS)
316 AC_SUBST(PO_IN_DATADIR_TRUE)
317 AC_SUBST(PO_IN_DATADIR_FALSE)
318 AC_SUBST(POFILES)
319 AC_SUBST(POSUB)
320 ])
321
322 # AM_GLIB_GNU_GETTEXT
323 # -------------------
324 # Do checks necessary for use of gettext. If a suitable implementation
325 # of gettext is found in either in libintl or in the C library,
326 # it will set INTLLIBS to the libraries needed for use of gettext
327 # and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable
328 # gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST()
329 # on various variables needed by the Makefile.in.in installed by
330 # glib-gettextize.
331 dnl
332 glib_DEFUN([GLIB_GNU_GETTEXT],
333 [AC_REQUIRE([AC_PROG_CC])dnl
334 AC_REQUIRE([AC_HEADER_STDC])dnl
335
336 GLIB_LC_MESSAGES
337 GLIB_WITH_NLS
338
339 if test "$gt_cv_have_gettext" = "yes"; then
340 if test "x$ALL_LINGUAS" = "x"; then
341 LINGUAS=
342 else
343 AC_MSG_CHECKING(for catalogs to be installed)
344 NEW_LINGUAS=
345 for presentlang in $ALL_LINGUAS; do
346 useit=no
347 if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then
348 desiredlanguages="$LINGUAS"
349 else
350 desiredlanguages="$ALL_LINGUAS"
351 fi
352 for desiredlang in $desiredlanguages; do
353 # Use the presentlang catalog if desiredlang is
354 # a. equal to presentlang, or
355 # b. a variant of presentlang (because in this case,
356 # presentlang can be used as a fallback for messages
357 # which are not translated in the desiredlang catalog).
358 case "$desiredlang" in
359 "$presentlang"*) useit=yes;;
360 esac
361 done
362 if test $useit = yes; then
363 NEW_LINGUAS="$NEW_LINGUAS $presentlang"
364 fi
365 done
366 LINGUAS=$NEW_LINGUAS
367 AC_MSG_RESULT($LINGUAS)
368 fi
369
370 dnl Construct list of names of catalog files to be constructed.
371 if test -n "$LINGUAS"; then
372 for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
373 fi
374 fi
375
376 dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
377 dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
378 dnl Try to locate is.
379 MKINSTALLDIRS=
380 if test -n "$ac_aux_dir"; then
381 MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
382 fi
383 if test -z "$MKINSTALLDIRS"; then
384 MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
385 fi
386 AC_SUBST(MKINSTALLDIRS)
387
388 dnl Generate list of files to be processed by xgettext which will
389 dnl be included in po/Makefile.
390 test -d po || mkdir po
391 if test "x$srcdir" != "x."; then
392 if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
393 posrcprefix="$srcdir/"
394 else
395 posrcprefix="../$srcdir/"
396 fi
397 else
398 posrcprefix="../"
399 fi
400 rm -f po/POTFILES
401 sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
402 < $srcdir/po/POTFILES.in > po/POTFILES
403 ])
404
405 # AM_GLIB_DEFINE_LOCALEDIR(VARIABLE)
406 # -------------------------------
407 # Define VARIABLE to the location where catalog files will
408 # be installed by po/Makefile.
409 glib_DEFUN([GLIB_DEFINE_LOCALEDIR],
410 [glib_REQUIRE([GLIB_GNU_GETTEXT])dnl
411 glib_save_prefix="$prefix"
412 glib_save_exec_prefix="$exec_prefix"
413 glib_save_datarootdir="$datarootdir"
414 test "x$prefix" = xNONE && prefix=$ac_default_prefix
415 test "x$exec_prefix" = xNONE && exec_prefix=$prefix
416 datarootdir=`eval echo "${datarootdir}"`
417 if test "x$CATOBJEXT" = "x.mo" ; then
418 localedir=`eval echo "${libdir}/locale"`
419 else
420 localedir=`eval echo "${datadir}/locale"`
421 fi
422 prefix="$glib_save_prefix"
423 exec_prefix="$glib_save_exec_prefix"
424 datarootdir="$glib_save_datarootdir"
425 AC_DEFINE_UNQUOTED($1, "$localedir",
426 [Define the location where the catalogs will be installed])
427 ])
428
429 dnl
430 dnl Now the definitions that aclocal will find
431 dnl
432 ifdef(glib_configure_in,[],[
433 AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)])
434 AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)])
435 ])dnl
436
437 # GLIB_RUN_PROG(PROGRAM, TEST-FILE, [ACTION-IF-PASS], [ACTION-IF-FAIL])
438 #
439 # Create a temporary file with TEST-FILE as its contents and pass the
440 # file name to PROGRAM. Perform ACTION-IF-PASS if PROGRAM exits with
441 # 0 and perform ACTION-IF-FAIL for any other exit status.
442 AC_DEFUN([GLIB_RUN_PROG],
443 [cat >conftest.foo <<_ACEOF
444 $2
445 _ACEOF
446 if AC_RUN_LOG([$1 conftest.foo]); then
447 m4_ifval([$3], [$3], [:])
448 m4_ifvaln([$4], [else $4])dnl
449 echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD
450 sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD
451 fi])
452
453
454
455 dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml])
456 # serial 40 IT_PROG_INTLTOOL
457 AC_DEFUN([IT_PROG_INTLTOOL], [
458 AC_PREREQ([2.50])dnl
459 AC_REQUIRE([AM_NLS])dnl
460
461 case "$am__api_version" in
462 1.[01234])
463 AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool])
464 ;;
465 *)
466 ;;
467 esac
468
469 if test -n "$1"; then
470 AC_MSG_CHECKING([for intltool >= $1])
471
472 INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
473 INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3`
474 [INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
475 ]
476 AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found])
477 test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" ||
478 AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.])
479 fi
480
481 AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update])
482 AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge])
483 AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract])
484 if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then
485 AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.])
486 fi
487
488 INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
489 INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
490 INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
491 INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
492 INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< [$]@'
493 INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
494 INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
495 INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
496 INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
497 INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
498 INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
499 INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@'
500 INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
501 INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
502 INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
503 INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
504 INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
505 INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
506 INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
507
508 _IT_SUBST(INTLTOOL_DESKTOP_RULE)
509 _IT_SUBST(INTLTOOL_DIRECTORY_RULE)
510 _IT_SUBST(INTLTOOL_KEYS_RULE)
511 _IT_SUBST(INTLTOOL_PROP_RULE)
512 _IT_SUBST(INTLTOOL_OAF_RULE)
513 _IT_SUBST(INTLTOOL_PONG_RULE)
514 _IT_SUBST(INTLTOOL_SERVER_RULE)
515 _IT_SUBST(INTLTOOL_SHEET_RULE)
516 _IT_SUBST(INTLTOOL_SOUNDLIST_RULE)
517 _IT_SUBST(INTLTOOL_UI_RULE)
518 _IT_SUBST(INTLTOOL_XAM_RULE)
519 _IT_SUBST(INTLTOOL_KBD_RULE)
520 _IT_SUBST(INTLTOOL_XML_RULE)
521 _IT_SUBST(INTLTOOL_XML_NOMERGE_RULE)
522 _IT_SUBST(INTLTOOL_CAVES_RULE)
523 _IT_SUBST(INTLTOOL_SCHEMAS_RULE)
524 _IT_SUBST(INTLTOOL_THEME_RULE)
525 _IT_SUBST(INTLTOOL_SERVICE_RULE)
526 _IT_SUBST(INTLTOOL_POLICY_RULE)
527
528 # Check the gettext tools to make sure they are GNU
529 AC_PATH_PROG(XGETTEXT, xgettext)
530 AC_PATH_PROG(MSGMERGE, msgmerge)
531 AC_PATH_PROG(MSGFMT, msgfmt)
532 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
533 if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then
534 AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
535 fi
536 xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`"
537 mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`"
538 mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`"
539 if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then
540 AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
541 fi
542
543 AC_PATH_PROG(INTLTOOL_PERL, perl)
544 if test -z "$INTLTOOL_PERL"; then
545 AC_MSG_ERROR([perl not found])
546 fi
547 AC_MSG_CHECKING([for perl >= 5.8.1])
548 $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1
549 if test $? -ne 0; then
550 AC_MSG_ERROR([perl 5.8.1 is required for intltool])
551 else
552 IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`"
553 AC_MSG_RESULT([$IT_PERL_VERSION])
554 fi
555 if test "x$2" != "xno-xml"; then
556 AC_MSG_CHECKING([for XML::Parser])
557 if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
558 AC_MSG_RESULT([ok])
559 else
560 AC_MSG_ERROR([XML::Parser perl module is required for intltool])
561 fi
562 fi
563
564 # Substitute ALL_LINGUAS so we can use it in po/Makefile
565 AC_SUBST(ALL_LINGUAS)
566
567 # Set DATADIRNAME correctly if it is not set yet
568 # (copied from glib-gettext.m4)
569 if test -z "$DATADIRNAME"; then
570 AC_LINK_IFELSE(
571 [AC_LANG_PROGRAM([[]],
572 [[extern int _nl_msg_cat_cntr;
573 return _nl_msg_cat_cntr]])],
574 [DATADIRNAME=share],
575 [case $host in
576 *-*-solaris*)
577 dnl On Solaris, if bind_textdomain_codeset is in libc,
578 dnl GNU format message catalog is always supported,
579 dnl since both are added to the libc all together.
580 dnl Hence, we'd like to go with DATADIRNAME=share
581 dnl in this case.
582 AC_CHECK_FUNC(bind_textdomain_codeset,
583 [DATADIRNAME=share], [DATADIRNAME=lib])
584 ;;
585 *)
586 [DATADIRNAME=lib]
587 ;;
588 esac])
589 fi
590 AC_SUBST(DATADIRNAME)
591
592 IT_PO_SUBDIR([po])
593
594 ])
595
596
597 # IT_PO_SUBDIR(DIRNAME)
598 # ---------------------
599 # All po subdirs have to be declared with this macro; the subdir "po" is
600 # declared by IT_PROG_INTLTOOL.
601 #
602 AC_DEFUN([IT_PO_SUBDIR],
603 [AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS.
604 dnl
605 dnl The following CONFIG_COMMANDS should be executed at the very end
606 dnl of config.status.
607 AC_CONFIG_COMMANDS_PRE([
608 AC_CONFIG_COMMANDS([$1/stamp-it], [
609 if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then
610 AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.])
611 fi
612 rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp"
613 >"$1/stamp-it.tmp"
614 [sed '/^#/d
615 s/^[[].*] *//
616 /^[ ]*$/d
617 '"s|^| $ac_top_srcdir/|" \
618 "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES"
619 ]
620 [sed '/^POTFILES =/,/[^\\]$/ {
621 /^POTFILES =/!d
622 r $1/POTFILES
623 }
624 ' "$1/Makefile.in" >"$1/Makefile"]
625 rm -f "$1/Makefile.tmp"
626 mv "$1/stamp-it.tmp" "$1/stamp-it"
627 ])
628 ])dnl
629 ])
630
631 # _IT_SUBST(VARIABLE)
632 # -------------------
633 # Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST
634 #
635 AC_DEFUN([_IT_SUBST],
636 [
637 AC_SUBST([$1])
638 m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])])
639 ]
640 )
641
642 # deprecated macros
643 AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL])
644 # A hint is needed for aclocal from Automake <= 1.9.4:
645 # AC_DEFUN([AC_PROG_INTLTOOL], ...)
646
647
648 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
649 #
650 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
651 # 2006, 2007, 2008 Free Software Foundation, Inc.
652 # Written by Gordon Matzigkeit, 1996
653 #
654 # This file is free software; the Free Software Foundation gives
655 # unlimited permission to copy and/or distribute it, with or without
656 # modifications, as long as this notice is preserved.
657
658 m4_define([_LT_COPYING], [dnl
659 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
660 # 2006, 2007, 2008 Free Software Foundation, Inc.
661 # Written by Gordon Matzigkeit, 1996
662 #
663 # This file is part of GNU Libtool.
664 #
665 # GNU Libtool is free software; you can redistribute it and/or
666 # modify it under the terms of the GNU General Public License as
667 # published by the Free Software Foundation; either version 2 of
668 # the License, or (at your option) any later version.
669 #
670 # As a special exception to the GNU General Public License,
671 # if you distribute this file as part of a program or library that
672 # is built using GNU Libtool, you may include this file under the
673 # same distribution terms that you use for the rest of that program.
674 #
675 # GNU Libtool is distributed in the hope that it will be useful,
676 # but WITHOUT ANY WARRANTY; without even the implied warranty of
677 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
678 # GNU General Public License for more details.
679 #
680 # You should have received a copy of the GNU General Public License
681 # along with GNU Libtool; see the file COPYING. If not, a copy
682 # can be downloaded from http://www.gnu.org/licenses/gpl.html, or
683 # obtained by writing to the Free Software Foundation, Inc.,
684 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
685 ])
686
687 # serial 56 LT_INIT
688
689
690 # LT_PREREQ(VERSION)
691 # ------------------
692 # Complain and exit if this libtool version is less that VERSION.
693 m4_defun([LT_PREREQ],
694 [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
695 [m4_default([$3],
696 [m4_fatal([Libtool version $1 or higher is required],
697 63)])],
698 [$2])])
699
700
701 # _LT_CHECK_BUILDDIR
702 # ------------------
703 # Complain if the absolute build directory name contains unusual characters
704 m4_defun([_LT_CHECK_BUILDDIR],
705 [case `pwd` in
706 *\ * | *\ *)
707 AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
708 esac
709 ])
710
711
712 # LT_INIT([OPTIONS])
713 # ------------------
714 AC_DEFUN([LT_INIT],
715 [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
716 AC_BEFORE([$0], [LT_LANG])dnl
717 AC_BEFORE([$0], [LT_OUTPUT])dnl
718 AC_BEFORE([$0], [LTDL_INIT])dnl
719 m4_require([_LT_CHECK_BUILDDIR])dnl
720
721 dnl Autoconf doesn't catch unexpanded LT_ macros by default:
722 m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
723 m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
724 dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
725 dnl unless we require an AC_DEFUNed macro:
726 AC_REQUIRE([LTOPTIONS_VERSION])dnl
727 AC_REQUIRE([LTSUGAR_VERSION])dnl
728 AC_REQUIRE([LTVERSION_VERSION])dnl
729 AC_REQUIRE([LTOBSOLETE_VERSION])dnl
730 m4_require([_LT_PROG_LTMAIN])dnl
731
732 dnl Parse OPTIONS
733 _LT_SET_OPTIONS([$0], [$1])
734
735 # This can be used to rebuild libtool when needed
736 LIBTOOL_DEPS="$ltmain"
737
738 # Always use our own libtool.
739 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
740 AC_SUBST(LIBTOOL)dnl
741
742 _LT_SETUP
743
744 # Only expand once:
745 m4_define([LT_INIT])
746 ])# LT_INIT
747
748 # Old names:
749 AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
750 AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
751 dnl aclocal-1.4 backwards compatibility:
752 dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
753 dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
754
755
756 # _LT_CC_BASENAME(CC)
757 # -------------------
758 # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
759 m4_defun([_LT_CC_BASENAME],
760 [for cc_temp in $1""; do
761 case $cc_temp in
762 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
763 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
764 \-*) ;;
765 *) break;;
766 esac
767 done
768 cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
769 ])
770
771
772 # _LT_FILEUTILS_DEFAULTS
773 # ----------------------
774 # It is okay to use these file commands and assume they have been set
775 # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
776 m4_defun([_LT_FILEUTILS_DEFAULTS],
777 [: ${CP="cp -f"}
778 : ${MV="mv -f"}
779 : ${RM="rm -f"}
780 ])# _LT_FILEUTILS_DEFAULTS
781
782
783 # _LT_SETUP
784 # ---------
785 m4_defun([_LT_SETUP],
786 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
787 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
788 _LT_DECL([], [host_alias], [0], [The host system])dnl
789 _LT_DECL([], [host], [0])dnl
790 _LT_DECL([], [host_os], [0])dnl
791 dnl
792 _LT_DECL([], [build_alias], [0], [The build system])dnl
793 _LT_DECL([], [build], [0])dnl
794 _LT_DECL([], [build_os], [0])dnl
795 dnl
796 AC_REQUIRE([AC_PROG_CC])dnl
797 AC_REQUIRE([LT_PATH_LD])dnl
798 AC_REQUIRE([LT_PATH_NM])dnl
799 dnl
800 AC_REQUIRE([AC_PROG_LN_S])dnl
801 test -z "$LN_S" && LN_S="ln -s"
802 _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
803 dnl
804 AC_REQUIRE([LT_CMD_MAX_LEN])dnl
805 _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
806 _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
807 dnl
808 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
809 m4_require([_LT_CHECK_SHELL_FEATURES])dnl
810 m4_require([_LT_CMD_RELOAD])dnl
811 m4_require([_LT_CHECK_MAGIC_METHOD])dnl
812 m4_require([_LT_CMD_OLD_ARCHIVE])dnl
813 m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
814
815 _LT_CONFIG_LIBTOOL_INIT([
816 # See if we are running on zsh, and set the options which allow our
817 # commands through without removal of \ escapes INIT.
818 if test -n "\${ZSH_VERSION+set}" ; then
819 setopt NO_GLOB_SUBST
820 fi
821 ])
822 if test -n "${ZSH_VERSION+set}" ; then
823 setopt NO_GLOB_SUBST
824 fi
825
826 _LT_CHECK_OBJDIR
827
828 m4_require([_LT_TAG_COMPILER])dnl
829 _LT_PROG_ECHO_BACKSLASH
830
831 case $host_os in
832 aix3*)
833 # AIX sometimes has problems with the GCC collect2 program. For some
834 # reason, if we set the COLLECT_NAMES environment variable, the problems
835 # vanish in a puff of smoke.
836 if test "X${COLLECT_NAMES+set}" != Xset; then
837 COLLECT_NAMES=
838 export COLLECT_NAMES
839 fi
840 ;;
841 esac
842
843 # Sed substitution that helps us do robust quoting. It backslashifies
844 # metacharacters that are still active within double-quoted strings.
845 sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
846
847 # Same as above, but do not quote variable references.
848 double_quote_subst='s/\([["`\\]]\)/\\\1/g'
849
850 # Sed substitution to delay expansion of an escaped shell variable in a
851 # double_quote_subst'ed string.
852 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
853
854 # Sed substitution to delay expansion of an escaped single quote.
855 delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
856
857 # Sed substitution to avoid accidental globbing in evaled expressions
858 no_glob_subst='s/\*/\\\*/g'
859
860 # Global variables:
861 ofile=libtool
862 can_build_shared=yes
863
864 # All known linkers require a `.a' archive for static linking (except MSVC,
865 # which needs '.lib').
866 libext=a
867
868 with_gnu_ld="$lt_cv_prog_gnu_ld"
869
870 old_CC="$CC"
871 old_CFLAGS="$CFLAGS"
872
873 # Set sane defaults for various variables
874 test -z "$CC" && CC=cc
875 test -z "$LTCC" && LTCC=$CC
876 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
877 test -z "$LD" && LD=ld
878 test -z "$ac_objext" && ac_objext=o
879
880 _LT_CC_BASENAME([$compiler])
881
882 # Only perform the check for file, if the check method requires it
883 test -z "$MAGIC_CMD" && MAGIC_CMD=file
884 case $deplibs_check_method in
885 file_magic*)
886 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
887 _LT_PATH_MAGIC
888 fi
889 ;;
890 esac
891
892 # Use C for the default configuration in the libtool script
893 LT_SUPPORTED_TAG([CC])
894 _LT_LANG_C_CONFIG
895 _LT_LANG_DEFAULT_CONFIG
896 _LT_CONFIG_COMMANDS
897 ])# _LT_SETUP
898
899
900 # _LT_PROG_LTMAIN
901 # ---------------
902 # Note that this code is called both from `configure', and `config.status'
903 # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
904 # `config.status' has no value for ac_aux_dir unless we are using Automake,
905 # so we pass a copy along to make sure it has a sensible value anyway.
906 m4_defun([_LT_PROG_LTMAIN],
907 [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
908 _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
909 ltmain="$ac_aux_dir/ltmain.sh"
910 ])# _LT_PROG_LTMAIN
911
912
913
914 # So that we can recreate a full libtool script including additional
915 # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
916 # in macros and then make a single call at the end using the `libtool'
917 # label.
918
919
920 # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
921 # ----------------------------------------
922 # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
923 m4_define([_LT_CONFIG_LIBTOOL_INIT],
924 [m4_ifval([$1],
925 [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
926 [$1
927 ])])])
928
929 # Initialize.
930 m4_define([_LT_OUTPUT_LIBTOOL_INIT])
931
932
933 # _LT_CONFIG_LIBTOOL([COMMANDS])
934 # ------------------------------
935 # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
936 m4_define([_LT_CONFIG_LIBTOOL],
937 [m4_ifval([$1],
938 [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
939 [$1
940 ])])])
941
942 # Initialize.
943 m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
944
945
946 # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
947 # -----------------------------------------------------
948 m4_defun([_LT_CONFIG_SAVE_COMMANDS],
949 [_LT_CONFIG_LIBTOOL([$1])
950 _LT_CONFIG_LIBTOOL_INIT([$2])
951 ])
952
953
954 # _LT_FORMAT_COMMENT([COMMENT])
955 # -----------------------------
956 # Add leading comment marks to the start of each line, and a trailing
957 # full-stop to the whole comment if one is not present already.
958 m4_define([_LT_FORMAT_COMMENT],
959 [m4_ifval([$1], [
960 m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
961 [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
962 )])
963
964
965
966
967
968 # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
969 # -------------------------------------------------------------------
970 # CONFIGNAME is the name given to the value in the libtool script.
971 # VARNAME is the (base) name used in the configure script.
972 # VALUE may be 0, 1 or 2 for a computed quote escaped value based on
973 # VARNAME. Any other value will be used directly.
974 m4_define([_LT_DECL],
975 [lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
976 [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
977 [m4_ifval([$1], [$1], [$2])])
978 lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
979 m4_ifval([$4],
980 [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
981 lt_dict_add_subkey([lt_decl_dict], [$2],
982 [tagged?], [m4_ifval([$5], [yes], [no])])])
983 ])
984
985
986 # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
987 # --------------------------------------------------------
988 m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
989
990
991 # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
992 # ------------------------------------------------
993 m4_define([lt_decl_tag_varnames],
994 [_lt_decl_filter([tagged?], [yes], $@)])
995
996
997 # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
998 # ---------------------------------------------------------
999 m4_define([_lt_decl_filter],
1000 [m4_case([$#],
1001 [0], [m4_fatal([$0: too few arguments: $#])],
1002 [1], [m4_fatal([$0: too few arguments: $#: $1])],
1003 [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
1004 [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
1005 [lt_dict_filter([lt_decl_dict], $@)])[]dnl
1006 ])
1007
1008
1009 # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
1010 # --------------------------------------------------
1011 m4_define([lt_decl_quote_varnames],
1012 [_lt_decl_filter([value], [1], $@)])
1013
1014
1015 # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
1016 # ---------------------------------------------------
1017 m4_define([lt_decl_dquote_varnames],
1018 [_lt_decl_filter([value], [2], $@)])
1019
1020
1021 # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
1022 # ---------------------------------------------------
1023 m4_define([lt_decl_varnames_tagged],
1024 [m4_assert([$# <= 2])dnl
1025 _$0(m4_quote(m4_default([$1], [[, ]])),
1026 m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
1027 m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
1028 m4_define([_lt_decl_varnames_tagged],
1029 [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
1030
1031
1032 # lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
1033 # ------------------------------------------------
1034 m4_define([lt_decl_all_varnames],
1035 [_$0(m4_quote(m4_default([$1], [[, ]])),
1036 m4_if([$2], [],
1037 m4_quote(lt_decl_varnames),
1038 m4_quote(m4_shift($@))))[]dnl
1039 ])
1040 m4_define([_lt_decl_all_varnames],
1041 [lt_join($@, lt_decl_varnames_tagged([$1],
1042 lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
1043 ])
1044
1045
1046 # _LT_CONFIG_STATUS_DECLARE([VARNAME])
1047 # ------------------------------------
1048 # Quote a variable value, and forward it to `config.status' so that its
1049 # declaration there will have the same value as in `configure'. VARNAME
1050 # must have a single quote delimited value for this to work.
1051 m4_define([_LT_CONFIG_STATUS_DECLARE],
1052 [$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
1053
1054
1055 # _LT_CONFIG_STATUS_DECLARATIONS
1056 # ------------------------------
1057 # We delimit libtool config variables with single quotes, so when
1058 # we write them to config.status, we have to be sure to quote all
1059 # embedded single quotes properly. In configure, this macro expands
1060 # each variable declared with _LT_DECL (and _LT_TAGDECL) into:
1061 #
1062 # <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
1063 m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
1064 [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
1065 [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
1066
1067
1068 # _LT_LIBTOOL_TAGS
1069 # ----------------
1070 # Output comment and list of tags supported by the script
1071 m4_defun([_LT_LIBTOOL_TAGS],
1072 [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
1073 available_tags="_LT_TAGS"dnl
1074 ])
1075
1076
1077 # _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
1078 # -----------------------------------
1079 # Extract the dictionary values for VARNAME (optionally with TAG) and
1080 # expand to a commented shell variable setting:
1081 #
1082 # # Some comment about what VAR is for.
1083 # visible_name=$lt_internal_name
1084 m4_define([_LT_LIBTOOL_DECLARE],
1085 [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
1086 [description])))[]dnl
1087 m4_pushdef([_libtool_name],
1088 m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
1089 m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
1090 [0], [_libtool_name=[$]$1],
1091 [1], [_libtool_name=$lt_[]$1],
1092 [2], [_libtool_name=$lt_[]$1],
1093 [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
1094 m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
1095 ])
1096
1097
1098 # _LT_LIBTOOL_CONFIG_VARS
1099 # -----------------------
1100 # Produce commented declarations of non-tagged libtool config variables
1101 # suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
1102 # script. Tagged libtool config variables (even for the LIBTOOL CONFIG
1103 # section) are produced by _LT_LIBTOOL_TAG_VARS.
1104 m4_defun([_LT_LIBTOOL_CONFIG_VARS],
1105 [m4_foreach([_lt_var],
1106 m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
1107 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
1108
1109
1110 # _LT_LIBTOOL_TAG_VARS(TAG)
1111 # -------------------------
1112 m4_define([_LT_LIBTOOL_TAG_VARS],
1113 [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
1114 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
1115
1116
1117 # _LT_TAGVAR(VARNAME, [TAGNAME])
1118 # ------------------------------
1119 m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
1120
1121
1122 # _LT_CONFIG_COMMANDS
1123 # -------------------
1124 # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
1125 # variables for single and double quote escaping we saved from calls
1126 # to _LT_DECL, we can put quote escaped variables declarations
1127 # into `config.status', and then the shell code to quote escape them in
1128 # for loops in `config.status'. Finally, any additional code accumulated
1129 # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
1130 m4_defun([_LT_CONFIG_COMMANDS],
1131 [AC_PROVIDE_IFELSE([LT_OUTPUT],
1132 dnl If the libtool generation code has been placed in $CONFIG_LT,
1133 dnl instead of duplicating it all over again into config.status,
1134 dnl then we will have config.status run $CONFIG_LT later, so it
1135 dnl needs to know what name is stored there:
1136 [AC_CONFIG_COMMANDS([libtool],
1137 [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
1138 dnl If the libtool generation code is destined for config.status,
1139 dnl expand the accumulated commands and init code now:
1140 [AC_CONFIG_COMMANDS([libtool],
1141 [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
1142 ])#_LT_CONFIG_COMMANDS
1143
1144
1145 # Initialize.
1146 m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
1147 [
1148
1149 # The HP-UX ksh and POSIX shell print the target directory to stdout
1150 # if CDPATH is set.
1151 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
1152
1153 sed_quote_subst='$sed_quote_subst'
1154 double_quote_subst='$double_quote_subst'
1155 delay_variable_subst='$delay_variable_subst'
1156 _LT_CONFIG_STATUS_DECLARATIONS
1157 LTCC='$LTCC'
1158 LTCFLAGS='$LTCFLAGS'
1159 compiler='$compiler_DEFAULT'
1160
1161 # Quote evaled strings.
1162 for var in lt_decl_all_varnames([[ \
1163 ]], lt_decl_quote_varnames); do
1164 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
1165 *[[\\\\\\\`\\"\\\$]]*)
1166 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
1167 ;;
1168 *)
1169 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
1170 ;;
1171 esac
1172 done
1173
1174 # Double-quote double-evaled strings.
1175 for var in lt_decl_all_varnames([[ \
1176 ]], lt_decl_dquote_varnames); do
1177 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
1178 *[[\\\\\\\`\\"\\\$]]*)
1179 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
1180 ;;
1181 *)
1182 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
1183 ;;
1184 esac
1185 done
1186
1187 # Fix-up fallback echo if it was mangled by the above quoting rules.
1188 case \$lt_ECHO in
1189 *'\\\[$]0 --fallback-echo"')dnl "
1190 lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
1191 ;;
1192 esac
1193
1194 _LT_OUTPUT_LIBTOOL_INIT
1195 ])
1196
1197
1198 # LT_OUTPUT
1199 # ---------
1200 # This macro allows early generation of the libtool script (before
1201 # AC_OUTPUT is called), incase it is used in configure for compilation
1202 # tests.
1203 AC_DEFUN([LT_OUTPUT],
1204 [: ${CONFIG_LT=./config.lt}
1205 AC_MSG_NOTICE([creating $CONFIG_LT])
1206 cat >"$CONFIG_LT" <<_LTEOF
1207 #! $SHELL
1208 # Generated by $as_me.
1209 # Run this file to recreate a libtool stub with the current configuration.
1210
1211 lt_cl_silent=false
1212 SHELL=\${CONFIG_SHELL-$SHELL}
1213 _LTEOF
1214
1215 cat >>"$CONFIG_LT" <<\_LTEOF
1216 AS_SHELL_SANITIZE
1217 _AS_PREPARE
1218
1219 exec AS_MESSAGE_FD>&1
1220 exec AS_MESSAGE_LOG_FD>>config.log
1221 {
1222 echo
1223 AS_BOX([Running $as_me.])
1224 } >&AS_MESSAGE_LOG_FD
1225
1226 lt_cl_help="\
1227 \`$as_me' creates a local libtool stub from the current configuration,
1228 for use in further configure time tests before the real libtool is
1229 generated.
1230
1231 Usage: $[0] [[OPTIONS]]
1232
1233 -h, --help print this help, then exit
1234 -V, --version print version number, then exit
1235 -q, --quiet do not print progress messages
1236 -d, --debug don't remove temporary files
1237
1238 Report bugs to <bug-libtool@gnu.org>."
1239
1240 lt_cl_version="\
1241 m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
1242 m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
1243 configured by $[0], generated by m4_PACKAGE_STRING.
1244
1245 Copyright (C) 2008 Free Software Foundation, Inc.
1246 This config.lt script is free software; the Free Software Foundation
1247 gives unlimited permision to copy, distribute and modify it."
1248
1249 while test $[#] != 0
1250 do
1251 case $[1] in
1252 --version | --v* | -V )
1253 echo "$lt_cl_version"; exit 0 ;;
1254 --help | --h* | -h )
1255 echo "$lt_cl_help"; exit 0 ;;
1256 --debug | --d* | -d )
1257 debug=: ;;
1258 --quiet | --q* | --silent | --s* | -q )
1259 lt_cl_silent=: ;;
1260
1261 -*) AC_MSG_ERROR([unrecognized option: $[1]
1262 Try \`$[0] --help' for more information.]) ;;
1263
1264 *) AC_MSG_ERROR([unrecognized argument: $[1]
1265 Try \`$[0] --help' for more information.]) ;;
1266 esac
1267 shift
1268 done
1269
1270 if $lt_cl_silent; then
1271 exec AS_MESSAGE_FD>/dev/null
1272 fi
1273 _LTEOF
1274
1275 cat >>"$CONFIG_LT" <<_LTEOF
1276 _LT_OUTPUT_LIBTOOL_COMMANDS_INIT
1277 _LTEOF
1278
1279 cat >>"$CONFIG_LT" <<\_LTEOF
1280 AC_MSG_NOTICE([creating $ofile])
1281 _LT_OUTPUT_LIBTOOL_COMMANDS
1282 AS_EXIT(0)
1283 _LTEOF
1284 chmod +x "$CONFIG_LT"
1285
1286 # configure is writing to config.log, but config.lt does its own redirection,
1287 # appending to config.log, which fails on DOS, as config.log is still kept
1288 # open by configure. Here we exec the FD to /dev/null, effectively closing
1289 # config.log, so it can be properly (re)opened and appended to by config.lt.
1290 if test "$no_create" != yes; then
1291 lt_cl_success=:
1292 test "$silent" = yes &&
1293 lt_config_lt_args="$lt_config_lt_args --quiet"
1294 exec AS_MESSAGE_LOG_FD>/dev/null
1295 $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
1296 exec AS_MESSAGE_LOG_FD>>config.log
1297 $lt_cl_success || AS_EXIT(1)
1298 fi
1299 ])# LT_OUTPUT
1300
1301
1302 # _LT_CONFIG(TAG)
1303 # ---------------
1304 # If TAG is the built-in tag, create an initial libtool script with a
1305 # default configuration from the untagged config vars. Otherwise add code
1306 # to config.status for appending the configuration named by TAG from the
1307 # matching tagged config vars.
1308 m4_defun([_LT_CONFIG],
1309 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1310 _LT_CONFIG_SAVE_COMMANDS([
1311 m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
1312 m4_if(_LT_TAG, [C], [
1313 # See if we are running on zsh, and set the options which allow our
1314 # commands through without removal of \ escapes.
1315 if test -n "${ZSH_VERSION+set}" ; then
1316 setopt NO_GLOB_SUBST
1317 fi
1318
1319 cfgfile="${ofile}T"
1320 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
1321 $RM "$cfgfile"
1322
1323 cat <<_LT_EOF >> "$cfgfile"
1324 #! $SHELL
1325
1326 # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
1327 # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
1328 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
1329 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
1330 #
1331 _LT_COPYING
1332 _LT_LIBTOOL_TAGS
1333
1334 # ### BEGIN LIBTOOL CONFIG
1335 _LT_LIBTOOL_CONFIG_VARS
1336 _LT_LIBTOOL_TAG_VARS
1337 # ### END LIBTOOL CONFIG
1338
1339 _LT_EOF
1340
1341 case $host_os in
1342 aix3*)
1343 cat <<\_LT_EOF >> "$cfgfile"
1344 # AIX sometimes has problems with the GCC collect2 program. For some
1345 # reason, if we set the COLLECT_NAMES environment variable, the problems
1346 # vanish in a puff of smoke.
1347 if test "X${COLLECT_NAMES+set}" != Xset; then
1348 COLLECT_NAMES=
1349 export COLLECT_NAMES
1350 fi
1351 _LT_EOF
1352 ;;
1353 esac
1354
1355 _LT_PROG_LTMAIN
1356
1357 # We use sed instead of cat because bash on DJGPP gets confused if
1358 # if finds mixed CR/LF and LF-only lines. Since sed operates in
1359 # text mode, it properly converts lines to CR/LF. This bash problem
1360 # is reportedly fixed, but why not run on old versions too?
1361 sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
1362 || (rm -f "$cfgfile"; exit 1)
1363
1364 _LT_PROG_XSI_SHELLFNS
1365
1366 sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
1367 || (rm -f "$cfgfile"; exit 1)
1368
1369 mv -f "$cfgfile" "$ofile" ||
1370 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
1371 chmod +x "$ofile"
1372 ],
1373 [cat <<_LT_EOF >> "$ofile"
1374
1375 dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
1376 dnl in a comment (ie after a #).
1377 # ### BEGIN LIBTOOL TAG CONFIG: $1
1378 _LT_LIBTOOL_TAG_VARS(_LT_TAG)
1379 # ### END LIBTOOL TAG CONFIG: $1
1380 _LT_EOF
1381 ])dnl /m4_if
1382 ],
1383 [m4_if([$1], [], [
1384 PACKAGE='$PACKAGE'
1385 VERSION='$VERSION'
1386 TIMESTAMP='$TIMESTAMP'
1387 RM='$RM'
1388 ofile='$ofile'], [])
1389 ])dnl /_LT_CONFIG_SAVE_COMMANDS
1390 ])# _LT_CONFIG
1391
1392
1393 # LT_SUPPORTED_TAG(TAG)
1394 # ---------------------
1395 # Trace this macro to discover what tags are supported by the libtool
1396 # --tag option, using:
1397 # autoconf --trace 'LT_SUPPORTED_TAG:$1'
1398 AC_DEFUN([LT_SUPPORTED_TAG], [])
1399
1400
1401 # C support is built-in for now
1402 m4_define([_LT_LANG_C_enabled], [])
1403 m4_define([_LT_TAGS], [])
1404
1405
1406 # LT_LANG(LANG)
1407 # -------------
1408 # Enable libtool support for the given language if not already enabled.
1409 AC_DEFUN([LT_LANG],
1410 [AC_BEFORE([$0], [LT_OUTPUT])dnl
1411 m4_case([$1],
1412 [C], [_LT_LANG(C)],
1413 [C++], [_LT_LANG(CXX)],
1414 [Java], [_LT_LANG(GCJ)],
1415 [Fortran 77], [_LT_LANG(F77)],
1416 [Fortran], [_LT_LANG(FC)],
1417 [Windows Resource], [_LT_LANG(RC)],
1418 [m4_ifdef([_LT_LANG_]$1[_CONFIG],
1419 [_LT_LANG($1)],
1420 [m4_fatal([$0: unsupported language: "$1"])])])dnl
1421 ])# LT_LANG
1422
1423
1424 # _LT_LANG(LANGNAME)
1425 # ------------------
1426 m4_defun([_LT_LANG],
1427 [m4_ifdef([_LT_LANG_]$1[_enabled], [],
1428 [LT_SUPPORTED_TAG([$1])dnl
1429 m4_append([_LT_TAGS], [$1 ])dnl
1430 m4_define([_LT_LANG_]$1[_enabled], [])dnl
1431 _LT_LANG_$1_CONFIG($1)])dnl
1432 ])# _LT_LANG
1433
1434
1435 # _LT_LANG_DEFAULT_CONFIG
1436 # -----------------------
1437 m4_defun([_LT_LANG_DEFAULT_CONFIG],
1438 [AC_PROVIDE_IFELSE([AC_PROG_CXX],
1439 [LT_LANG(CXX)],
1440 [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
1441
1442 AC_PROVIDE_IFELSE([AC_PROG_F77],
1443 [LT_LANG(F77)],
1444 [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
1445
1446 AC_PROVIDE_IFELSE([AC_PROG_FC],
1447 [LT_LANG(FC)],
1448 [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
1449
1450 dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
1451 dnl pulling things in needlessly.
1452 AC_PROVIDE_IFELSE([AC_PROG_GCJ],
1453 [LT_LANG(GCJ)],
1454 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
1455 [LT_LANG(GCJ)],
1456 [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
1457 [LT_LANG(GCJ)],
1458 [m4_ifdef([AC_PROG_GCJ],
1459 [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
1460 m4_ifdef([A][M_PROG_GCJ],
1461 [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
1462 m4_ifdef([LT_PROG_GCJ],
1463 [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
1464
1465 AC_PROVIDE_IFELSE([LT_PROG_RC],
1466 [LT_LANG(RC)],
1467 [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
1468 ])# _LT_LANG_DEFAULT_CONFIG
1469
1470 # Obsolete macros:
1471 AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
1472 AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
1473 AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
1474 AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
1475 dnl aclocal-1.4 backwards compatibility:
1476 dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
1477 dnl AC_DEFUN([AC_LIBTOOL_F77], [])
1478 dnl AC_DEFUN([AC_LIBTOOL_FC], [])
1479 dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
1480
1481
1482 # _LT_TAG_COMPILER
1483 # ----------------
1484 m4_defun([_LT_TAG_COMPILER],
1485 [AC_REQUIRE([AC_PROG_CC])dnl
1486
1487 _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
1488 _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
1489 _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
1490 _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
1491
1492 # If no C compiler was specified, use CC.
1493 LTCC=${LTCC-"$CC"}
1494
1495 # If no C compiler flags were specified, use CFLAGS.
1496 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
1497
1498 # Allow CC to be a program name with arguments.
1499 compiler=$CC
1500 ])# _LT_TAG_COMPILER
1501
1502
1503 # _LT_COMPILER_BOILERPLATE
1504 # ------------------------
1505 # Check for compiler boilerplate output or warnings with
1506 # the simple compiler test code.
1507 m4_defun([_LT_COMPILER_BOILERPLATE],
1508 [m4_require([_LT_DECL_SED])dnl
1509 ac_outfile=conftest.$ac_objext
1510 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
1511 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
1512 _lt_compiler_boilerplate=`cat conftest.err`
1513 $RM conftest*
1514 ])# _LT_COMPILER_BOILERPLATE
1515
1516
1517 # _LT_LINKER_BOILERPLATE
1518 # ----------------------
1519 # Check for linker boilerplate output or warnings with
1520 # the simple link test code.
1521 m4_defun([_LT_LINKER_BOILERPLATE],
1522 [m4_require([_LT_DECL_SED])dnl
1523 ac_outfile=conftest.$ac_objext
1524 echo "$lt_simple_link_test_code" >conftest.$ac_ext
1525 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
1526 _lt_linker_boilerplate=`cat conftest.err`
1527 $RM -r conftest*
1528 ])# _LT_LINKER_BOILERPLATE
1529
1530 # _LT_REQUIRED_DARWIN_CHECKS
1531 # -------------------------
1532 m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
1533 case $host_os in
1534 rhapsody* | darwin*)
1535 AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
1536 AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
1537 AC_CHECK_TOOL([LIPO], [lipo], [:])
1538 AC_CHECK_TOOL([OTOOL], [otool], [:])
1539 AC_CHECK_TOOL([OTOOL64], [otool64], [:])
1540 _LT_DECL([], [DSYMUTIL], [1],
1541 [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
1542 _LT_DECL([], [NMEDIT], [1],
1543 [Tool to change global to local symbols on Mac OS X])
1544 _LT_DECL([], [LIPO], [1],
1545 [Tool to manipulate fat objects and archives on Mac OS X])
1546 _LT_DECL([], [OTOOL], [1],
1547 [ldd/readelf like tool for Mach-O binaries on Mac OS X])
1548 _LT_DECL([], [OTOOL64], [1],
1549 [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
1550
1551 AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
1552 [lt_cv_apple_cc_single_mod=no
1553 if test -z "${LT_MULTI_MODULE}"; then
1554 # By default we will add the -single_module flag. You can override
1555 # by either setting the environment variable LT_MULTI_MODULE
1556 # non-empty at configure time, or by adding -multi_module to the
1557 # link flags.
1558 rm -rf libconftest.dylib*
1559 echo "int foo(void){return 1;}" > conftest.c
1560 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1561 -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
1562 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1563 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
1564 _lt_result=$?
1565 if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
1566 lt_cv_apple_cc_single_mod=yes
1567 else
1568 cat conftest.err >&AS_MESSAGE_LOG_FD
1569 fi
1570 rm -rf libconftest.dylib*
1571 rm -f conftest.*
1572 fi])
1573 AC_CACHE_CHECK([for -exported_symbols_list linker flag],
1574 [lt_cv_ld_exported_symbols_list],
1575 [lt_cv_ld_exported_symbols_list=no
1576 save_LDFLAGS=$LDFLAGS
1577 echo "_main" > conftest.sym
1578 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
1579 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
1580 [lt_cv_ld_exported_symbols_list=yes],
1581 [lt_cv_ld_exported_symbols_list=no])
1582 LDFLAGS="$save_LDFLAGS"
1583 ])
1584 case $host_os in
1585 rhapsody* | darwin1.[[012]])
1586 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
1587 darwin1.*)
1588 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1589 darwin*) # darwin 5.x on
1590 # if running on 10.5 or later, the deployment target defaults
1591 # to the OS version, if on x86, and 10.4, the deployment
1592 # target defaults to 10.4. Don't you love it?
1593 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
1594 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
1595 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1596 10.[[012]]*)
1597 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1598 10.*)
1599 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1600 esac
1601 ;;
1602 esac
1603 if test "$lt_cv_apple_cc_single_mod" = "yes"; then
1604 _lt_dar_single_mod='$single_module'
1605 fi
1606 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
1607 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
1608 else
1609 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
1610 fi
1611 if test "$DSYMUTIL" != ":"; then
1612 _lt_dsymutil='~$DSYMUTIL $lib || :'
1613 else
1614 _lt_dsymutil=
1615 fi
1616 ;;
1617 esac
1618 ])
1619
1620
1621 # _LT_DARWIN_LINKER_FEATURES
1622 # --------------------------
1623 # Checks for linker and compiler features on darwin
1624 m4_defun([_LT_DARWIN_LINKER_FEATURES],
1625 [
1626 m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1627 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1628 _LT_TAGVAR(hardcode_direct, $1)=no
1629 _LT_TAGVAR(hardcode_automatic, $1)=yes
1630 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1631 _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1632 _LT_TAGVAR(link_all_deplibs, $1)=yes
1633 _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
1634 case $cc_basename in
1635 ifort*) _lt_dar_can_shared=yes ;;
1636 *) _lt_dar_can_shared=$GCC ;;
1637 esac
1638 if test "$_lt_dar_can_shared" = "yes"; then
1639 output_verbose_link_cmd=echo
1640 _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}"
1641 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1642 _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}"
1643 _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}"
1644 m4_if([$1], [CXX],
1645 [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1646 _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}"
1647 _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}"
1648 fi
1649 ],[])
1650 else
1651 _LT_TAGVAR(ld_shlibs, $1)=no
1652 fi
1653 ])
1654
1655 # _LT_SYS_MODULE_PATH_AIX
1656 # -----------------------
1657 # Links a minimal program and checks the executable
1658 # for the system default hardcoded library path. In most cases,
1659 # this is /usr/lib:/lib, but when the MPI compilers are used
1660 # the location of the communication and MPI libs are included too.
1661 # If we don't find anything, use the default library path according
1662 # to the aix ld manual.
1663 m4_defun([_LT_SYS_MODULE_PATH_AIX],
1664 [m4_require([_LT_DECL_SED])dnl
1665 AC_LINK_IFELSE(AC_LANG_PROGRAM,[
1666 lt_aix_libpath_sed='
1667 /Import File Strings/,/^$/ {
1668 /^0/ {
1669 s/^0 *\(.*\)$/\1/
1670 p
1671 }
1672 }'
1673 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1674 # Check for a 64-bit object if we didn't find anything.
1675 if test -z "$aix_libpath"; then
1676 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1677 fi],[])
1678 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
1679 ])# _LT_SYS_MODULE_PATH_AIX
1680
1681
1682 # _LT_SHELL_INIT(ARG)
1683 # -------------------
1684 m4_define([_LT_SHELL_INIT],
1685 [ifdef([AC_DIVERSION_NOTICE],
1686 [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
1687 [AC_DIVERT_PUSH(NOTICE)])
1688 $1
1689 AC_DIVERT_POP
1690 ])# _LT_SHELL_INIT
1691
1692
1693 # _LT_PROG_ECHO_BACKSLASH
1694 # -----------------------
1695 # Add some code to the start of the generated configure script which
1696 # will find an echo command which doesn't interpret backslashes.
1697 m4_defun([_LT_PROG_ECHO_BACKSLASH],
1698 [_LT_SHELL_INIT([
1699 # Check that we are running under the correct shell.
1700 SHELL=${CONFIG_SHELL-/bin/sh}
1701
1702 case X$lt_ECHO in
1703 X*--fallback-echo)
1704 # Remove one level of quotation (which was required for Make).
1705 ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
1706 ;;
1707 esac
1708
1709 ECHO=${lt_ECHO-echo}
1710 if test "X[$]1" = X--no-reexec; then
1711 # Discard the --no-reexec flag, and continue.
1712 shift
1713 elif test "X[$]1" = X--fallback-echo; then
1714 # Avoid inline document here, it may be left over
1715 :
1716 elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
1717 # Yippee, $ECHO works!
1718 :
1719 else
1720 # Restart under the correct shell.
1721 exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
1722 fi
1723
1724 if test "X[$]1" = X--fallback-echo; then
1725 # used as fallback echo
1726 shift
1727 cat <<_LT_EOF
1728 [$]*
1729 _LT_EOF
1730 exit 0
1731 fi
1732
1733 # The HP-UX ksh and POSIX shell print the target directory to stdout
1734 # if CDPATH is set.
1735 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
1736
1737 if test -z "$lt_ECHO"; then
1738 if test "X${echo_test_string+set}" != Xset; then
1739 # find a string as large as possible, as long as the shell can cope with it
1740 for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
1741 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
1742 if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
1743 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
1744 then
1745 break
1746 fi
1747 done
1748 fi
1749
1750 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1751 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1752 test "X$echo_testing_string" = "X$echo_test_string"; then
1753 :
1754 else
1755 # The Solaris, AIX, and Digital Unix default echo programs unquote
1756 # backslashes. This makes it impossible to quote backslashes using
1757 # echo "$something" | sed 's/\\/\\\\/g'
1758 #
1759 # So, first we look for a working echo in the user's PATH.
1760
1761 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
1762 for dir in $PATH /usr/ucb; do
1763 IFS="$lt_save_ifs"
1764 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
1765 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
1766 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
1767 test "X$echo_testing_string" = "X$echo_test_string"; then
1768 ECHO="$dir/echo"
1769 break
1770 fi
1771 done
1772 IFS="$lt_save_ifs"
1773
1774 if test "X$ECHO" = Xecho; then
1775 # We didn't find a better echo, so look for alternatives.
1776 if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
1777 echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
1778 test "X$echo_testing_string" = "X$echo_test_string"; then
1779 # This shell has a builtin print -r that does the trick.
1780 ECHO='print -r'
1781 elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
1782 test "X$CONFIG_SHELL" != X/bin/ksh; then
1783 # If we have ksh, try running configure again with it.
1784 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
1785 export ORIGINAL_CONFIG_SHELL
1786 CONFIG_SHELL=/bin/ksh
1787 export CONFIG_SHELL
1788 exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
1789 else
1790 # Try using printf.
1791 ECHO='printf %s\n'
1792 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1793 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1794 test "X$echo_testing_string" = "X$echo_test_string"; then
1795 # Cool, printf works
1796 :
1797 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1798 test "X$echo_testing_string" = 'X\t' &&
1799 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1800 test "X$echo_testing_string" = "X$echo_test_string"; then
1801 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
1802 export CONFIG_SHELL
1803 SHELL="$CONFIG_SHELL"
1804 export SHELL
1805 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1806 elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1807 test "X$echo_testing_string" = 'X\t' &&
1808 echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1809 test "X$echo_testing_string" = "X$echo_test_string"; then
1810 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1811 else
1812 # maybe with a smaller string...
1813 prev=:
1814
1815 for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
1816 if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
1817 then
1818 break
1819 fi
1820 prev="$cmd"
1821 done
1822
1823 if test "$prev" != 'sed 50q "[$]0"'; then
1824 echo_test_string=`eval $prev`
1825 export echo_test_string
1826 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
1827 else
1828 # Oops. We lost completely, so just stick with echo.
1829 ECHO=echo
1830 fi
1831 fi
1832 fi
1833 fi
1834 fi
1835 fi
1836
1837 # Copy echo and quote the copy suitably for passing to libtool from
1838 # the Makefile, instead of quoting the original, which is used later.
1839 lt_ECHO=$ECHO
1840 if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
1841 lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
1842 fi
1843
1844 AC_SUBST(lt_ECHO)
1845 ])
1846 _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1847 _LT_DECL([], [ECHO], [1],
1848 [An echo program that does not interpret backslashes])
1849 ])# _LT_PROG_ECHO_BACKSLASH
1850
1851
1852 # _LT_ENABLE_LOCK
1853 # ---------------
1854 m4_defun([_LT_ENABLE_LOCK],
1855 [AC_ARG_ENABLE([libtool-lock],
1856 [AS_HELP_STRING([--disable-libtool-lock],
1857 [avoid locking (might break parallel builds)])])
1858 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1859
1860 # Some flags need to be propagated to the compiler or linker for good
1861 # libtool support.
1862 case $host in
1863 ia64-*-hpux*)
1864 # Find out which ABI we are using.
1865 echo 'int i;' > conftest.$ac_ext
1866 if AC_TRY_EVAL(ac_compile); then
1867 case `/usr/bin/file conftest.$ac_objext` in
1868 *ELF-32*)
1869 HPUX_IA64_MODE="32"
1870 ;;
1871 *ELF-64*)
1872 HPUX_IA64_MODE="64"
1873 ;;
1874 esac
1875 fi
1876 rm -rf conftest*
1877 ;;
1878 *-*-irix6*)
1879 # Find out which ABI we are using.
1880 echo '[#]line __oline__ "configure"' > conftest.$ac_ext
1881 if AC_TRY_EVAL(ac_compile); then
1882 if test "$lt_cv_prog_gnu_ld" = yes; then
1883 case `/usr/bin/file conftest.$ac_objext` in
1884 *32-bit*)
1885 LD="${LD-ld} -melf32bsmip"
1886 ;;
1887 *N32*)
1888 LD="${LD-ld} -melf32bmipn32"
1889 ;;
1890 *64-bit*)
1891 LD="${LD-ld} -melf64bmip"
1892 ;;
1893 esac
1894 else
1895 case `/usr/bin/file conftest.$ac_objext` in
1896 *32-bit*)
1897 LD="${LD-ld} -32"
1898 ;;
1899 *N32*)
1900 LD="${LD-ld} -n32"
1901 ;;
1902 *64-bit*)
1903 LD="${LD-ld} -64"
1904 ;;
1905 esac
1906 fi
1907 fi
1908 rm -rf conftest*
1909 ;;
1910
1911 x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
1912 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1913 # Find out which ABI we are using.
1914 echo 'int i;' > conftest.$ac_ext
1915 if AC_TRY_EVAL(ac_compile); then
1916 case `/usr/bin/file conftest.o` in
1917 *32-bit*)
1918 case $host in
1919 x86_64-*kfreebsd*-gnu)
1920 LD="${LD-ld} -m elf_i386_fbsd"
1921 ;;
1922 x86_64-*linux*)
1923 LD="${LD-ld} -m elf_i386"
1924 ;;
1925 ppc64-*linux*|powerpc64-*linux*)
1926 LD="${LD-ld} -m elf32ppclinux"
1927 ;;
1928 s390x-*linux*)
1929 LD="${LD-ld} -m elf_s390"
1930 ;;
1931 sparc64-*linux*)
1932 LD="${LD-ld} -m elf32_sparc"
1933 ;;
1934 esac
1935 ;;
1936 *64-bit*)
1937 case $host in
1938 x86_64-*kfreebsd*-gnu)
1939 LD="${LD-ld} -m elf_x86_64_fbsd"
1940 ;;
1941 x86_64-*linux*)
1942 LD="${LD-ld} -m elf_x86_64"
1943 ;;
1944 ppc*-*linux*|powerpc*-*linux*)
1945 LD="${LD-ld} -m elf64ppc"
1946 ;;
1947 s390*-*linux*|s390*-*tpf*)
1948 LD="${LD-ld} -m elf64_s390"
1949 ;;
1950 sparc*-*linux*)
1951 LD="${LD-ld} -m elf64_sparc"
1952 ;;
1953 esac
1954 ;;
1955 esac
1956 fi
1957 rm -rf conftest*
1958 ;;
1959
1960 *-*-sco3.2v5*)
1961 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1962 SAVE_CFLAGS="$CFLAGS"
1963 CFLAGS="$CFLAGS -belf"
1964 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1965 [AC_LANG_PUSH(C)
1966 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1967 AC_LANG_POP])
1968 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1969 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1970 CFLAGS="$SAVE_CFLAGS"
1971 fi
1972 ;;
1973 sparc*-*solaris*)
1974 # Find out which ABI we are using.
1975 echo 'int i;' > conftest.$ac_ext
1976 if AC_TRY_EVAL(ac_compile); then
1977 case `/usr/bin/file conftest.o` in
1978 *64-bit*)
1979 case $lt_cv_prog_gnu_ld in
1980 yes*) LD="${LD-ld} -m elf64_sparc" ;;
1981 *)
1982 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1983 LD="${LD-ld} -64"
1984 fi
1985 ;;
1986 esac
1987 ;;
1988 esac
1989 fi
1990 rm -rf conftest*
1991 ;;
1992 esac
1993
1994 need_locks="$enable_libtool_lock"
1995 ])# _LT_ENABLE_LOCK
1996
1997
1998 # _LT_CMD_OLD_ARCHIVE
1999 # -------------------
2000 m4_defun([_LT_CMD_OLD_ARCHIVE],
2001 [AC_CHECK_TOOL(AR, ar, false)
2002 test -z "$AR" && AR=ar
2003 test -z "$AR_FLAGS" && AR_FLAGS=cru
2004 _LT_DECL([], [AR], [1], [The archiver])
2005 _LT_DECL([], [AR_FLAGS], [1])
2006
2007 AC_CHECK_TOOL(STRIP, strip, :)
2008 test -z "$STRIP" && STRIP=:
2009 _LT_DECL([], [STRIP], [1], [A symbol stripping program])
2010
2011 AC_CHECK_TOOL(RANLIB, ranlib, :)
2012 test -z "$RANLIB" && RANLIB=:
2013 _LT_DECL([], [RANLIB], [1],
2014 [Commands used to install an old-style archive])
2015
2016 # Determine commands to create old-style static archives.
2017 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
2018 old_postinstall_cmds='chmod 644 $oldlib'
2019 old_postuninstall_cmds=
2020
2021 if test -n "$RANLIB"; then
2022 case $host_os in
2023 openbsd*)
2024 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
2025 ;;
2026 *)
2027 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
2028 ;;
2029 esac
2030 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
2031 fi
2032 _LT_DECL([], [old_postinstall_cmds], [2])
2033 _LT_DECL([], [old_postuninstall_cmds], [2])
2034 _LT_TAGDECL([], [old_archive_cmds], [2],
2035 [Commands used to build an old-style archive])
2036 ])# _LT_CMD_OLD_ARCHIVE
2037
2038
2039 # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
2040 # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
2041 # ----------------------------------------------------------------
2042 # Check whether the given compiler option works
2043 AC_DEFUN([_LT_COMPILER_OPTION],
2044 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2045 m4_require([_LT_DECL_SED])dnl
2046 AC_CACHE_CHECK([$1], [$2],
2047 [$2=no
2048 m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
2049 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
2050 lt_compiler_flag="$3"
2051 # Insert the option either (1) after the last *FLAGS variable, or
2052 # (2) before a word containing "conftest.", or (3) at the end.
2053 # Note that $ac_compile itself does not contain backslashes and begins
2054 # with a dollar sign (not a hyphen), so the echo should work correctly.
2055 # The option is referenced via a variable to avoid confusing sed.
2056 lt_compile=`echo "$ac_compile" | $SED \
2057 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
2058 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
2059 -e 's:$: $lt_compiler_flag:'`
2060 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
2061 (eval "$lt_compile" 2>conftest.err)
2062 ac_status=$?
2063 cat conftest.err >&AS_MESSAGE_LOG_FD
2064 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2065 if (exit $ac_status) && test -s "$ac_outfile"; then
2066 # The compiler can only warn and ignore the option if not recognized
2067 # So say no if there are warnings other than the usual output.
2068 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
2069 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
2070 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
2071 $2=yes
2072 fi
2073 fi
2074 $RM conftest*
2075 ])
2076
2077 if test x"[$]$2" = xyes; then
2078 m4_if([$5], , :, [$5])
2079 else
2080 m4_if([$6], , :, [$6])
2081 fi
2082 ])# _LT_COMPILER_OPTION
2083
2084 # Old name:
2085 AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
2086 dnl aclocal-1.4 backwards compatibility:
2087 dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
2088
2089
2090 # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
2091 # [ACTION-SUCCESS], [ACTION-FAILURE])
2092 # ----------------------------------------------------
2093 # Check whether the given linker option works
2094 AC_DEFUN([_LT_LINKER_OPTION],
2095 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2096 m4_require([_LT_DECL_SED])dnl
2097 AC_CACHE_CHECK([$1], [$2],
2098 [$2=no
2099 save_LDFLAGS="$LDFLAGS"
2100 LDFLAGS="$LDFLAGS $3"
2101 echo "$lt_simple_link_test_code" > conftest.$ac_ext
2102 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
2103 # The linker can only warn and ignore the option if not recognized
2104 # So say no if there are warnings
2105 if test -s conftest.err; then
2106 # Append any errors to the config.log.
2107 cat conftest.err 1>&AS_MESSAGE_LOG_FD
2108 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
2109 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
2110 if diff conftest.exp conftest.er2 >/dev/null; then
2111 $2=yes
2112 fi
2113 else
2114 $2=yes
2115 fi
2116 fi
2117 $RM -r conftest*
2118 LDFLAGS="$save_LDFLAGS"
2119 ])
2120
2121 if test x"[$]$2" = xyes; then
2122 m4_if([$4], , :, [$4])
2123 else
2124 m4_if([$5], , :, [$5])
2125 fi
2126 ])# _LT_LINKER_OPTION
2127
2128 # Old name:
2129 AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
2130 dnl aclocal-1.4 backwards compatibility:
2131 dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
2132
2133
2134 # LT_CMD_MAX_LEN
2135 #---------------
2136 AC_DEFUN([LT_CMD_MAX_LEN],
2137 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
2138 # find the maximum length of command line arguments
2139 AC_MSG_CHECKING([the maximum length of command line arguments])
2140 AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
2141 i=0
2142 teststring="ABCD"
2143
2144 case $build_os in
2145 msdosdjgpp*)
2146 # On DJGPP, this test can blow up pretty badly due to problems in libc
2147 # (any single argument exceeding 2000 bytes causes a buffer overrun
2148 # during glob expansion). Even if it were fixed, the result of this
2149 # check would be larger than it should be.
2150 lt_cv_sys_max_cmd_len=12288; # 12K is about right
2151 ;;
2152
2153 gnu*)
2154 # Under GNU Hurd, this test is not required because there is
2155 # no limit to the length of command line arguments.
2156 # Libtool will interpret -1 as no limit whatsoever
2157 lt_cv_sys_max_cmd_len=-1;
2158 ;;
2159
2160 cygwin* | mingw* | cegcc*)
2161 # On Win9x/ME, this test blows up -- it succeeds, but takes
2162 # about 5 minutes as the teststring grows exponentially.
2163 # Worse, since 9x/ME are not pre-emptively multitasking,
2164 # you end up with a "frozen" computer, even though with patience
2165 # the test eventually succeeds (with a max line length of 256k).
2166 # Instead, let's just punt: use the minimum linelength reported by
2167 # all of the supported platforms: 8192 (on NT/2K/XP).
2168 lt_cv_sys_max_cmd_len=8192;
2169 ;;
2170
2171 amigaos*)
2172 # On AmigaOS with pdksh, this test takes hours, literally.
2173 # So we just punt and use a minimum line length of 8192.
2174 lt_cv_sys_max_cmd_len=8192;
2175 ;;
2176
2177 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
2178 # This has been around since 386BSD, at least. Likely further.
2179 if test -x /sbin/sysctl; then
2180 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
2181 elif test -x /usr/sbin/sysctl; then
2182 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
2183 else
2184 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
2185 fi
2186 # And add a safety zone
2187 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
2188 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
2189 ;;
2190
2191 interix*)
2192 # We know the value 262144 and hardcode it with a safety zone (like BSD)
2193 lt_cv_sys_max_cmd_len=196608
2194 ;;
2195
2196 osf*)
2197 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
2198 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
2199 # nice to cause kernel panics so lets avoid the loop below.
2200 # First set a reasonable default.
2201 lt_cv_sys_max_cmd_len=16384
2202 #
2203 if test -x /sbin/sysconfig; then
2204 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
2205 *1*) lt_cv_sys_max_cmd_len=-1 ;;
2206 esac
2207 fi
2208 ;;
2209 sco3.2v5*)
2210 lt_cv_sys_max_cmd_len=102400
2211 ;;
2212 sysv5* | sco5v6* | sysv4.2uw2*)
2213 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
2214 if test -n "$kargmax"; then
2215 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
2216 else
2217 lt_cv_sys_max_cmd_len=32768
2218 fi
2219 ;;
2220 *)
2221 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
2222 if test -n "$lt_cv_sys_max_cmd_len"; then
2223 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
2224 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
2225 else
2226 # Make teststring a little bigger before we do anything with it.
2227 # a 1K string should be a reasonable start.
2228 for i in 1 2 3 4 5 6 7 8 ; do
2229 teststring=$teststring$teststring
2230 done
2231 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
2232 # If test is not a shell built-in, we'll probably end up computing a
2233 # maximum length that is only half of the actual maximum length, but
2234 # we can't tell.
2235 while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
2236 = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
2237 test $i != 17 # 1/2 MB should be enough
2238 do
2239 i=`expr $i + 1`
2240 teststring=$teststring$teststring
2241 done
2242 # Only check the string length outside the loop.
2243 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
2244 teststring=
2245 # Add a significant safety factor because C++ compilers can tack on
2246 # massive amounts of additional arguments before passing them to the
2247 # linker. It appears as though 1/2 is a usable value.
2248 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
2249 fi
2250 ;;
2251 esac
2252 ])
2253 if test -n $lt_cv_sys_max_cmd_len ; then
2254 AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
2255 else
2256 AC_MSG_RESULT(none)
2257 fi
2258 max_cmd_len=$lt_cv_sys_max_cmd_len
2259 _LT_DECL([], [max_cmd_len], [0],
2260 [What is the maximum length of a command?])
2261 ])# LT_CMD_MAX_LEN
2262
2263 # Old name:
2264 AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
2265 dnl aclocal-1.4 backwards compatibility:
2266 dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
2267
2268
2269 # _LT_HEADER_DLFCN
2270 # ----------------
2271 m4_defun([_LT_HEADER_DLFCN],
2272 [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
2273 ])# _LT_HEADER_DLFCN
2274
2275
2276 # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
2277 # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
2278 # ----------------------------------------------------------------
2279 m4_defun([_LT_TRY_DLOPEN_SELF],
2280 [m4_require([_LT_HEADER_DLFCN])dnl
2281 if test "$cross_compiling" = yes; then :
2282 [$4]
2283 else
2284 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
2285 lt_status=$lt_dlunknown
2286 cat > conftest.$ac_ext <<_LT_EOF
2287 [#line __oline__ "configure"
2288 #include "confdefs.h"
2289
2290 #if HAVE_DLFCN_H
2291 #include <dlfcn.h>
2292 #endif
2293
2294 #include <stdio.h>
2295
2296 #ifdef RTLD_GLOBAL
2297 # define LT_DLGLOBAL RTLD_GLOBAL
2298 #else
2299 # ifdef DL_GLOBAL
2300 # define LT_DLGLOBAL DL_GLOBAL
2301 # else
2302 # define LT_DLGLOBAL 0
2303 # endif
2304 #endif
2305
2306 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
2307 find out it does not work in some platform. */
2308 #ifndef LT_DLLAZY_OR_NOW
2309 # ifdef RTLD_LAZY
2310 # define LT_DLLAZY_OR_NOW RTLD_LAZY
2311 # else
2312 # ifdef DL_LAZY
2313 # define LT_DLLAZY_OR_NOW DL_LAZY
2314 # else
2315 # ifdef RTLD_NOW
2316 # define LT_DLLAZY_OR_NOW RTLD_NOW
2317 # else
2318 # ifdef DL_NOW
2319 # define LT_DLLAZY_OR_NOW DL_NOW
2320 # else
2321 # define LT_DLLAZY_OR_NOW 0
2322 # endif
2323 # endif
2324 # endif
2325 # endif
2326 #endif
2327
2328 void fnord() { int i=42;}
2329 int main ()
2330 {
2331 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
2332 int status = $lt_dlunknown;
2333
2334 if (self)
2335 {
2336 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
2337 else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
2338 /* dlclose (self); */
2339 }
2340 else
2341 puts (dlerror ());
2342
2343 return status;
2344 }]
2345 _LT_EOF
2346 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
2347 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
2348 lt_status=$?
2349 case x$lt_status in
2350 x$lt_dlno_uscore) $1 ;;
2351 x$lt_dlneed_uscore) $2 ;;
2352 x$lt_dlunknown|x*) $3 ;;
2353 esac
2354 else :
2355 # compilation failed
2356 $3
2357 fi
2358 fi
2359 rm -fr conftest*
2360 ])# _LT_TRY_DLOPEN_SELF
2361
2362
2363 # LT_SYS_DLOPEN_SELF
2364 # ------------------
2365 AC_DEFUN([LT_SYS_DLOPEN_SELF],
2366 [m4_require([_LT_HEADER_DLFCN])dnl
2367 if test "x$enable_dlopen" != xyes; then
2368 enable_dlopen=unknown
2369 enable_dlopen_self=unknown
2370 enable_dlopen_self_static=unknown
2371 else
2372 lt_cv_dlopen=no
2373 lt_cv_dlopen_libs=
2374
2375 case $host_os in
2376 beos*)
2377 lt_cv_dlopen="load_add_on"
2378 lt_cv_dlopen_libs=
2379 lt_cv_dlopen_self=yes
2380 ;;
2381
2382 mingw* | pw32* | cegcc*)
2383 lt_cv_dlopen="LoadLibrary"
2384 lt_cv_dlopen_libs=
2385 ;;
2386
2387 cygwin*)
2388 lt_cv_dlopen="dlopen"
2389 lt_cv_dlopen_libs=
2390 ;;
2391
2392 darwin*)
2393 # if libdl is installed we need to link against it
2394 AC_CHECK_LIB([dl], [dlopen],
2395 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
2396 lt_cv_dlopen="dyld"
2397 lt_cv_dlopen_libs=
2398 lt_cv_dlopen_self=yes
2399 ])
2400 ;;
2401
2402 *)
2403 AC_CHECK_FUNC([shl_load],
2404 [lt_cv_dlopen="shl_load"],
2405 [AC_CHECK_LIB([dld], [shl_load],
2406 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
2407 [AC_CHECK_FUNC([dlopen],
2408 [lt_cv_dlopen="dlopen"],
2409 [AC_CHECK_LIB([dl], [dlopen],
2410 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
2411 [AC_CHECK_LIB([svld], [dlopen],
2412 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
2413 [AC_CHECK_LIB([dld], [dld_link],
2414 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
2415 ])
2416 ])
2417 ])
2418 ])
2419 ])
2420 ;;
2421 esac
2422
2423 if test "x$lt_cv_dlopen" != xno; then
2424 enable_dlopen=yes
2425 else
2426 enable_dlopen=no
2427 fi
2428
2429 case $lt_cv_dlopen in
2430 dlopen)
2431 save_CPPFLAGS="$CPPFLAGS"
2432 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
2433
2434 save_LDFLAGS="$LDFLAGS"
2435 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
2436
2437 save_LIBS="$LIBS"
2438 LIBS="$lt_cv_dlopen_libs $LIBS"
2439
2440 AC_CACHE_CHECK([whether a program can dlopen itself],
2441 lt_cv_dlopen_self, [dnl
2442 _LT_TRY_DLOPEN_SELF(
2443 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
2444 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
2445 ])
2446
2447 if test "x$lt_cv_dlopen_self" = xyes; then
2448 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
2449 AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
2450 lt_cv_dlopen_self_static, [dnl
2451 _LT_TRY_DLOPEN_SELF(
2452 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
2453 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
2454 ])
2455 fi
2456
2457 CPPFLAGS="$save_CPPFLAGS"
2458 LDFLAGS="$save_LDFLAGS"
2459 LIBS="$save_LIBS"
2460 ;;
2461 esac
2462
2463 case $lt_cv_dlopen_self in
2464 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
2465 *) enable_dlopen_self=unknown ;;
2466 esac
2467
2468 case $lt_cv_dlopen_self_static in
2469 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
2470 *) enable_dlopen_self_static=unknown ;;
2471 esac
2472 fi
2473 _LT_DECL([dlopen_support], [enable_dlopen], [0],
2474 [Whether dlopen is supported])
2475 _LT_DECL([dlopen_self], [enable_dlopen_self], [0],
2476 [Whether dlopen of programs is supported])
2477 _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
2478 [Whether dlopen of statically linked programs is supported])
2479 ])# LT_SYS_DLOPEN_SELF
2480
2481 # Old name:
2482 AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
2483 dnl aclocal-1.4 backwards compatibility:
2484 dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
2485
2486
2487 # _LT_COMPILER_C_O([TAGNAME])
2488 # ---------------------------
2489 # Check to see if options -c and -o are simultaneously supported by compiler.
2490 # This macro does not hard code the compiler like AC_PROG_CC_C_O.
2491 m4_defun([_LT_COMPILER_C_O],
2492 [m4_require([_LT_DECL_SED])dnl
2493 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2494 m4_require([_LT_TAG_COMPILER])dnl
2495 AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
2496 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
2497 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
2498 $RM -r conftest 2>/dev/null
2499 mkdir conftest
2500 cd conftest
2501 mkdir out
2502 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
2503
2504 lt_compiler_flag="-o out/conftest2.$ac_objext"
2505 # Insert the option either (1) after the last *FLAGS variable, or
2506 # (2) before a word containing "conftest.", or (3) at the end.
2507 # Note that $ac_compile itself does not contain backslashes and begins
2508 # with a dollar sign (not a hyphen), so the echo should work correctly.
2509 lt_compile=`echo "$ac_compile" | $SED \
2510 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
2511 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
2512 -e 's:$: $lt_compiler_flag:'`
2513 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
2514 (eval "$lt_compile" 2>out/conftest.err)
2515 ac_status=$?
2516 cat out/conftest.err >&AS_MESSAGE_LOG_FD
2517 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2518 if (exit $ac_status) && test -s out/conftest2.$ac_objext
2519 then
2520 # The compiler can only warn and ignore the option if not recognized
2521 # So say no if there are warnings
2522 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
2523 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
2524 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2525 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2526 fi
2527 fi
2528 chmod u+w . 2>&AS_MESSAGE_LOG_FD
2529 $RM conftest*
2530 # SGI C++ compiler will create directory out/ii_files/ for
2531 # template instantiation
2532 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
2533 $RM out/* && rmdir out
2534 cd ..
2535 $RM -r conftest
2536 $RM conftest*
2537 ])
2538 _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
2539 [Does compiler simultaneously support -c and -o options?])
2540 ])# _LT_COMPILER_C_O
2541
2542
2543 # _LT_COMPILER_FILE_LOCKS([TAGNAME])
2544 # ----------------------------------
2545 # Check to see if we can do hard links to lock some files if needed
2546 m4_defun([_LT_COMPILER_FILE_LOCKS],
2547 [m4_require([_LT_ENABLE_LOCK])dnl
2548 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2549 _LT_COMPILER_C_O([$1])
2550
2551 hard_links="nottested"
2552 if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
2553 # do not overwrite the value of need_locks provided by the user
2554 AC_MSG_CHECKING([if we can lock with hard links])
2555 hard_links=yes
2556 $RM conftest*
2557 ln conftest.a conftest.b 2>/dev/null && hard_links=no
2558 touch conftest.a
2559 ln conftest.a conftest.b 2>&5 || hard_links=no
2560 ln conftest.a conftest.b 2>/dev/null && hard_links=no
2561 AC_MSG_RESULT([$hard_links])
2562 if test "$hard_links" = no; then
2563 AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
2564 need_locks=warn
2565 fi
2566 else
2567 need_locks=no
2568 fi
2569 _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
2570 ])# _LT_COMPILER_FILE_LOCKS
2571
2572
2573 # _LT_CHECK_OBJDIR
2574 # ----------------
2575 m4_defun([_LT_CHECK_OBJDIR],
2576 [AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2577 [rm -f .libs 2>/dev/null
2578 mkdir .libs 2>/dev/null
2579 if test -d .libs; then
2580 lt_cv_objdir=.libs
2581 else
2582 # MS-DOS does not allow filenames that begin with a dot.
2583 lt_cv_objdir=_libs
2584 fi
2585 rmdir .libs 2>/dev/null])
2586 objdir=$lt_cv_objdir
2587 _LT_DECL([], [objdir], [0],
2588 [The name of the directory that contains temporary libtool files])dnl
2589 m4_pattern_allow([LT_OBJDIR])dnl
2590 AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
2591 [Define to the sub-directory in which libtool stores uninstalled libraries.])
2592 ])# _LT_CHECK_OBJDIR
2593
2594
2595 # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2596 # --------------------------------------
2597 # Check hardcoding attributes.
2598 m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
2599 [AC_MSG_CHECKING([how to hardcode library paths into programs])
2600 _LT_TAGVAR(hardcode_action, $1)=
2601 if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2602 test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2603 test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
2604
2605 # We can hardcode non-existent directories.
2606 if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
2607 # If the only mechanism to avoid hardcoding is shlibpath_var, we
2608 # have to relink, otherwise we might link with an installed library
2609 # when we should be linking with a yet-to-be-installed one
2610 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
2611 test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
2612 # Linking always hardcodes the temporary library directory.
2613 _LT_TAGVAR(hardcode_action, $1)=relink
2614 else
2615 # We can link without hardcoding, and we can hardcode nonexisting dirs.
2616 _LT_TAGVAR(hardcode_action, $1)=immediate
2617 fi
2618 else
2619 # We cannot hardcode anything, or else we can only hardcode existing
2620 # directories.
2621 _LT_TAGVAR(hardcode_action, $1)=unsupported
2622 fi
2623 AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
2624
2625 if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
2626 test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
2627 # Fast installation is not supported
2628 enable_fast_install=no
2629 elif test "$shlibpath_overrides_runpath" = yes ||
2630 test "$enable_shared" = no; then
2631 # Fast installation is not necessary
2632 enable_fast_install=needless
2633 fi
2634 _LT_TAGDECL([], [hardcode_action], [0],
2635 [How to hardcode a shared library path into an executable])
2636 ])# _LT_LINKER_HARDCODE_LIBPATH
2637
2638
2639 # _LT_CMD_STRIPLIB
2640 # ----------------
2641 m4_defun([_LT_CMD_STRIPLIB],
2642 [m4_require([_LT_DECL_EGREP])
2643 striplib=
2644 old_striplib=
2645 AC_MSG_CHECKING([whether stripping libraries is possible])
2646 if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2647 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2648 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2649 AC_MSG_RESULT([yes])
2650 else
2651 # FIXME - insert some real tests, host_os isn't really good enough
2652 case $host_os in
2653 darwin*)
2654 if test -n "$STRIP" ; then
2655 striplib="$STRIP -x"
2656 old_striplib="$STRIP -S"
2657 AC_MSG_RESULT([yes])
2658 else
2659 AC_MSG_RESULT([no])
2660 fi
2661 ;;
2662 *)
2663 AC_MSG_RESULT([no])
2664 ;;
2665 esac
2666 fi
2667 _LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2668 _LT_DECL([], [striplib], [1])
2669 ])# _LT_CMD_STRIPLIB
2670
2671
2672 # _LT_SYS_DYNAMIC_LINKER([TAG])
2673 # -----------------------------
2674 # PORTME Fill in your ld.so characteristics
2675 m4_defun([_LT_SYS_DYNAMIC_LINKER],
2676 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
2677 m4_require([_LT_DECL_EGREP])dnl
2678 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2679 m4_require([_LT_DECL_OBJDUMP])dnl
2680 m4_require([_LT_DECL_SED])dnl
2681 AC_MSG_CHECKING([dynamic linker characteristics])
2682 m4_if([$1],
2683 [], [
2684 if test "$GCC" = yes; then
2685 case $host_os in
2686 darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2687 *) lt_awk_arg="/^libraries:/" ;;
2688 esac
2689 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2690 if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
2691 # if the path contains ";" then we assume it to be the separator
2692 # otherwise default to the standard path separator (i.e. ":") - it is
2693 # assumed that no part of a normal pathname contains ";" but that should
2694 # okay in the real world where ";" in dirpaths is itself problematic.
2695 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
2696 else
2697 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2698 fi
2699 # Ok, now we have the path, separated by spaces, we can step through it
2700 # and add multilib dir if necessary.
2701 lt_tmp_lt_search_path_spec=
2702 lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2703 for lt_sys_path in $lt_search_path_spec; do
2704 if test -d "$lt_sys_path/$lt_multi_os_dir"; then
2705 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
2706 else
2707 test -d "$lt_sys_path" && \
2708 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2709 fi
2710 done
2711 lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
2712 BEGIN {RS=" "; FS="/|\n";} {
2713 lt_foo="";
2714 lt_count=0;
2715 for (lt_i = NF; lt_i > 0; lt_i--) {
2716 if ($lt_i != "" && $lt_i != ".") {
2717 if ($lt_i == "..") {
2718 lt_count++;
2719 } else {
2720 if (lt_count == 0) {
2721 lt_foo="/" $lt_i lt_foo;
2722 } else {
2723 lt_count--;
2724 }
2725 }
2726 }
2727 }
2728 if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2729 if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2730 }'`
2731 sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
2732 else
2733 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2734 fi])
2735 library_names_spec=
2736 libname_spec='lib$name'
2737 soname_spec=
2738 shrext_cmds=".so"
2739 postinstall_cmds=
2740 postuninstall_cmds=
2741 finish_cmds=
2742 finish_eval=
2743 shlibpath_var=
2744 shlibpath_overrides_runpath=unknown
2745 version_type=none
2746 dynamic_linker="$host_os ld.so"
2747 sys_lib_dlsearch_path_spec="/lib /usr/lib"
2748 need_lib_prefix=unknown
2749 hardcode_into_libs=no
2750
2751 # when you set need_version to no, make sure it does not cause -set_version
2752 # flags to be left without arguments
2753 need_version=unknown
2754
2755 case $host_os in
2756 aix3*)
2757 version_type=linux
2758 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2759 shlibpath_var=LIBPATH
2760
2761 # AIX 3 has no versioning support, so we append a major version to the name.
2762 soname_spec='${libname}${release}${shared_ext}$major'
2763 ;;
2764
2765 aix[[4-9]]*)
2766 version_type=linux
2767 need_lib_prefix=no
2768 need_version=no
2769 hardcode_into_libs=yes
2770 if test "$host_cpu" = ia64; then
2771 # AIX 5 supports IA64
2772 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2773 shlibpath_var=LD_LIBRARY_PATH
2774 else
2775 # With GCC up to 2.95.x, collect2 would create an import file
2776 # for dependence libraries. The import file would start with
2777 # the line `#! .'. This would cause the generated library to
2778 # depend on `.', always an invalid library. This was fixed in
2779 # development snapshots of GCC prior to 3.0.
2780 case $host_os in
2781 aix4 | aix4.[[01]] | aix4.[[01]].*)
2782 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2783 echo ' yes '
2784 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
2785 :
2786 else
2787 can_build_shared=no
2788 fi
2789 ;;
2790 esac
2791 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2792 # soname into executable. Probably we can add versioning support to
2793 # collect2, so additional links can be useful in future.
2794 if test "$aix_use_runtimelinking" = yes; then
2795 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2796 # instead of lib<name>.a to let people know that these are not
2797 # typical AIX shared libraries.
2798 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2799 else
2800 # We preserve .a as extension for shared libraries through AIX4.2
2801 # and later when we are not doing run time linking.
2802 library_names_spec='${libname}${release}.a $libname.a'
2803 soname_spec='${libname}${release}${shared_ext}$major'
2804 fi
2805 shlibpath_var=LIBPATH
2806 fi
2807 ;;
2808
2809 amigaos*)
2810 case $host_cpu in
2811 powerpc)
2812 # Since July 2007 AmigaOS4 officially supports .so libraries.
2813 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2814 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2815 ;;
2816 m68k)
2817 library_names_spec='$libname.ixlibrary $libname.a'
2818 # Create ${libname}_ixlibrary.a entries in /sys/libs.
2819 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
2820 ;;
2821 esac
2822 ;;
2823
2824 beos*)
2825 library_names_spec='${libname}${shared_ext}'
2826 dynamic_linker="$host_os ld.so"
2827 shlibpath_var=LIBRARY_PATH
2828 ;;
2829
2830 bsdi[[45]]*)
2831 version_type=linux
2832 need_version=no
2833 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2834 soname_spec='${libname}${release}${shared_ext}$major'
2835 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2836 shlibpath_var=LD_LIBRARY_PATH
2837 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2838 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2839 # the default ld.so.conf also contains /usr/contrib/lib and
2840 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2841 # libtool to hard-code these into programs
2842 ;;
2843
2844 cygwin* | mingw* | pw32* | cegcc*)
2845 version_type=windows
2846 shrext_cmds=".dll"
2847 need_version=no
2848 need_lib_prefix=no
2849
2850 case $GCC,$host_os in
2851 yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
2852 library_names_spec='$libname.dll.a'
2853 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2854 postinstall_cmds='base_file=`basename \${file}`~
2855 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2856 dldir=$destdir/`dirname \$dlpath`~
2857 test -d \$dldir || mkdir -p \$dldir~
2858 $install_prog $dir/$dlname \$dldir/$dlname~
2859 chmod a+x \$dldir/$dlname~
2860 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2861 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2862 fi'
2863 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2864 dlpath=$dir/\$dldll~
2865 $RM \$dlpath'
2866 shlibpath_overrides_runpath=yes
2867
2868 case $host_os in
2869 cygwin*)
2870 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2871 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2872 sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
2873 ;;
2874 mingw* | cegcc*)
2875 # MinGW DLLs use traditional 'lib' prefix
2876 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2877 sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2878 if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2879 # It is most probably a Windows format PATH printed by
2880 # mingw gcc, but we are running on Cygwin. Gcc prints its search
2881 # path with ; separators, and with drive letters. We can handle the
2882 # drive letters (cygwin fileutils understands them), so leave them,
2883 # especially as we might pass files found there to a mingw objdump,
2884 # which wouldn't understand a cygwinified path. Ahh.
2885 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2886 else
2887 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2888 fi
2889 ;;
2890 pw32*)
2891 # pw32 DLLs use 'pw' prefix rather than 'lib'
2892 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2893 ;;
2894 esac
2895 ;;
2896
2897 *)
2898 library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2899 ;;
2900 esac
2901 dynamic_linker='Win32 ld.exe'
2902 # FIXME: first we should search . and the directory the executable is in
2903 shlibpath_var=PATH
2904 ;;
2905
2906 darwin* | rhapsody*)
2907 dynamic_linker="$host_os dyld"
2908 version_type=darwin
2909 need_lib_prefix=no
2910 need_version=no
2911 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
2912 soname_spec='${libname}${release}${major}$shared_ext'
2913 shlibpath_overrides_runpath=yes
2914 shlibpath_var=DYLD_LIBRARY_PATH
2915 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2916 m4_if([$1], [],[
2917 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2918 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2919 ;;
2920
2921 dgux*)
2922 version_type=linux
2923 need_lib_prefix=no
2924 need_version=no
2925 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2926 soname_spec='${libname}${release}${shared_ext}$major'
2927 shlibpath_var=LD_LIBRARY_PATH
2928 ;;
2929
2930 freebsd1*)
2931 dynamic_linker=no
2932 ;;
2933
2934 freebsd* | dragonfly*)
2935 # DragonFly does not have aout. When/if they implement a new
2936 # versioning mechanism, adjust this.
2937 if test -x /usr/bin/objformat; then
2938 objformat=`/usr/bin/objformat`
2939 else
2940 case $host_os in
2941 freebsd[[123]]*) objformat=aout ;;
2942 *) objformat=elf ;;
2943 esac
2944 fi
2945 version_type=freebsd-$objformat
2946 case $version_type in
2947 freebsd-elf*)
2948 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2949 need_version=no
2950 need_lib_prefix=no
2951 ;;
2952 freebsd-*)
2953 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2954 need_version=yes
2955 ;;
2956 esac
2957 shlibpath_var=LD_LIBRARY_PATH
2958 case $host_os in
2959 freebsd2*)
2960 shlibpath_overrides_runpath=yes
2961 ;;
2962 freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2963 shlibpath_overrides_runpath=yes
2964 hardcode_into_libs=yes
2965 ;;
2966 freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2967 freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2968 shlibpath_overrides_runpath=no
2969 hardcode_into_libs=yes
2970 ;;
2971 *) # from 4.6 on, and DragonFly
2972 shlibpath_overrides_runpath=yes
2973 hardcode_into_libs=yes
2974 ;;
2975 esac
2976 ;;
2977
2978 gnu*)
2979 version_type=linux
2980 need_lib_prefix=no
2981 need_version=no
2982 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2983 soname_spec='${libname}${release}${shared_ext}$major'
2984 shlibpath_var=LD_LIBRARY_PATH
2985 hardcode_into_libs=yes
2986 ;;
2987
2988 hpux9* | hpux10* | hpux11*)
2989 # Give a soname corresponding to the major version so that dld.sl refuses to
2990 # link against other versions.
2991 version_type=sunos
2992 need_lib_prefix=no
2993 need_version=no
2994 case $host_cpu in
2995 ia64*)
2996 shrext_cmds='.so'
2997 hardcode_into_libs=yes
2998 dynamic_linker="$host_os dld.so"
2999 shlibpath_var=LD_LIBRARY_PATH
3000 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
3001 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
3002 soname_spec='${libname}${release}${shared_ext}$major'
3003 if test "X$HPUX_IA64_MODE" = X32; then
3004 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
3005 else
3006 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
3007 fi
3008 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
3009 ;;
3010 hppa*64*)
3011 shrext_cmds='.sl'
3012 hardcode_into_libs=yes
3013 dynamic_linker="$host_os dld.sl"
3014 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
3015 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
3016 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
3017 soname_spec='${libname}${release}${shared_ext}$major'
3018 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
3019 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
3020 ;;
3021 *)
3022 shrext_cmds='.sl'
3023 dynamic_linker="$host_os dld.sl"
3024 shlibpath_var=SHLIB_PATH
3025 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
3026 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
3027 soname_spec='${libname}${release}${shared_ext}$major'
3028 ;;
3029 esac
3030 # HP-UX runs *really* slowly unless shared libraries are mode 555.
3031 postinstall_cmds='chmod 555 $lib'
3032 ;;
3033
3034 interix[[3-9]]*)
3035 version_type=linux
3036 need_lib_prefix=no
3037 need_version=no
3038 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
3039 soname_spec='${libname}${release}${shared_ext}$major'
3040 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
3041 shlibpath_var=LD_LIBRARY_PATH
3042 shlibpath_overrides_runpath=no
3043 hardcode_into_libs=yes
3044 ;;
3045
3046 irix5* | irix6* | nonstopux*)
3047 case $host_os in
3048 nonstopux*) version_type=nonstopux ;;
3049 *)
3050 if test "$lt_cv_prog_gnu_ld" = yes; then
3051 version_type=linux
3052 else
3053 version_type=irix
3054 fi ;;
3055 esac
3056 need_lib_prefix=no
3057 need_version=no
3058 soname_spec='${libname}${release}${shared_ext}$major'
3059 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
3060 case $host_os in
3061 irix5* | nonstopux*)
3062 libsuff= shlibsuff=
3063 ;;
3064 *)
3065 case $LD in # libtool.m4 will add one of these switches to LD
3066 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
3067 libsuff= shlibsuff= libmagic=32-bit;;
3068 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
3069 libsuff=32 shlibsuff=N32 libmagic=N32;;
3070 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
3071 libsuff=64 shlibsuff=64 libmagic=64-bit;;
3072 *) libsuff= shlibsuff= libmagic=never-match;;
3073 esac
3074 ;;
3075 esac
3076 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
3077 shlibpath_overrides_runpath=no
3078 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
3079 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
3080 hardcode_into_libs=yes
3081 ;;
3082
3083 # No shared lib support for Linux oldld, aout, or coff.
3084 linux*oldld* | linux*aout* | linux*coff*)
3085 dynamic_linker=no
3086 ;;
3087
3088 # This must be Linux ELF.
3089 linux* | k*bsd*-gnu | kopensolaris*-gnu)
3090 version_type=linux
3091 need_lib_prefix=no
3092 need_version=no
3093 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
3094 soname_spec='${libname}${release}${shared_ext}$major'
3095 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
3096 shlibpath_var=LD_LIBRARY_PATH
3097 shlibpath_overrides_runpath=no
3098 # Some binutils ld are patched to set DT_RUNPATH
3099 save_LDFLAGS=$LDFLAGS
3100 save_libdir=$libdir
3101 eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
3102 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
3103 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
3104 [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
3105 [shlibpath_overrides_runpath=yes])])
3106 LDFLAGS=$save_LDFLAGS
3107 libdir=$save_libdir
3108
3109 # This implies no fast_install, which is unacceptable.
3110 # Some rework will be needed to allow for fast_install
3111 # before this can be enabled.
3112 hardcode_into_libs=yes
3113
3114 # Append ld.so.conf contents to the search path
3115 if test -f /etc/ld.so.conf; then
3116 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
3117 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
3118 fi
3119
3120 # We used to test for /lib/ld.so.1 and disable shared libraries on
3121 # powerpc, because MkLinux only supported shared libraries with the
3122 # GNU dynamic linker. Since this was broken with cross compilers,
3123 # most powerpc-linux boxes support dynamic linking these days and
3124 # people can always --disable-shared, the test was removed, and we
3125 # assume the GNU/Linux dynamic linker is in use.
3126 dynamic_linker='GNU/Linux ld.so'
3127 ;;
3128
3129 netbsdelf*-gnu)
3130 version_type=linux
3131 need_lib_prefix=no
3132 need_version=no
3133 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
3134 soname_spec='${libname}${release}${shared_ext}$major'
3135 shlibpath_var=LD_LIBRARY_PATH
3136 shlibpath_overrides_runpath=no
3137 hardcode_into_libs=yes
3138 dynamic_linker='NetBSD ld.elf_so'
3139 ;;
3140
3141 netbsd*)
3142 version_type=sunos
3143 need_lib_prefix=no
3144 need_version=no
3145 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
3146 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
3147 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
3148 dynamic_linker='NetBSD (a.out) ld.so'
3149 else
3150 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
3151 soname_spec='${libname}${release}${shared_ext}$major'
3152 dynamic_linker='NetBSD ld.elf_so'
3153 fi
3154 shlibpath_var=LD_LIBRARY_PATH
3155 shlibpath_overrides_runpath=yes
3156 hardcode_into_libs=yes
3157 ;;
3158
3159 newsos6)
3160 version_type=linux
3161 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
3162 shlibpath_var=LD_LIBRARY_PATH
3163 shlibpath_overrides_runpath=yes
3164 ;;
3165
3166 *nto* | *qnx*)
3167 version_type=qnx
3168 need_lib_prefix=no
3169 need_version=no
3170 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
3171 soname_spec='${libname}${release}${shared_ext}$major'
3172 shlibpath_var=LD_LIBRARY_PATH
3173 shlibpath_overrides_runpath=no
3174 hardcode_into_libs=yes
3175 dynamic_linker='ldqnx.so'
3176 ;;
3177
3178 openbsd*)
3179 version_type=sunos
3180 sys_lib_dlsearch_path_spec="/usr/lib"
3181 need_lib_prefix=no
3182 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
3183 case $host_os in
3184 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
3185 *) need_version=no ;;
3186 esac
3187 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
3188 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
3189 shlibpath_var=LD_LIBRARY_PATH
3190 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3191 case $host_os in
3192 openbsd2.[[89]] | openbsd2.[[89]].*)
3193 shlibpath_overrides_runpath=no
3194 ;;
3195 *)
3196 shlibpath_overrides_runpath=yes
3197 ;;
3198 esac
3199 else
3200 shlibpath_overrides_runpath=yes
3201 fi
3202 ;;
3203
3204 os2*)
3205 libname_spec='$name'
3206 shrext_cmds=".dll"
3207 need_lib_prefix=no
3208 library_names_spec='$libname${shared_ext} $libname.a'
3209 dynamic_linker='OS/2 ld.exe'
3210 shlibpath_var=LIBPATH
3211 ;;
3212
3213 osf3* | osf4* | osf5*)
3214 version_type=osf
3215 need_lib_prefix=no
3216 need_version=no
3217 soname_spec='${libname}${release}${shared_ext}$major'
3218 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
3219 shlibpath_var=LD_LIBRARY_PATH
3220 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
3221 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
3222 ;;
3223
3224 rdos*)
3225 dynamic_linker=no
3226 ;;
3227
3228 solaris*)
3229 version_type=linux
3230 need_lib_prefix=no
3231 need_version=no
3232 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
3233 soname_spec='${libname}${release}${shared_ext}$major'
3234 shlibpath_var=LD_LIBRARY_PATH
3235 shlibpath_overrides_runpath=yes
3236 hardcode_into_libs=yes
3237 # ldd complains unless libraries are executable
3238 postinstall_cmds='chmod +x $lib'
3239 ;;
3240
3241 sunos4*)
3242 version_type=sunos
3243 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
3244 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
3245 shlibpath_var=LD_LIBRARY_PATH
3246 shlibpath_overrides_runpath=yes
3247 if test "$with_gnu_ld" = yes; then
3248 need_lib_prefix=no
3249 fi
3250 need_version=yes
3251 ;;
3252
3253 sysv4 | sysv4.3*)
3254 version_type=linux
3255 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
3256 soname_spec='${libname}${release}${shared_ext}$major'
3257 shlibpath_var=LD_LIBRARY_PATH
3258 case $host_vendor in
3259 sni)
3260 shlibpath_overrides_runpath=no
3261 need_lib_prefix=no
3262 runpath_var=LD_RUN_PATH
3263 ;;
3264 siemens)
3265 need_lib_prefix=no
3266 ;;
3267 motorola)
3268 need_lib_prefix=no
3269 need_version=no
3270 shlibpath_overrides_runpath=no
3271 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
3272 ;;
3273 esac
3274 ;;
3275
3276 sysv4*MP*)
3277 if test -d /usr/nec ;then
3278 version_type=linux
3279 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
3280 soname_spec='$libname${shared_ext}.$major'
3281 shlibpath_var=LD_LIBRARY_PATH
3282 fi
3283 ;;
3284
3285 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3286 version_type=freebsd-elf
3287 need_lib_prefix=no
3288 need_version=no
3289 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
3290 soname_spec='${libname}${release}${shared_ext}$major'
3291 shlibpath_var=LD_LIBRARY_PATH
3292 shlibpath_overrides_runpath=yes
3293 hardcode_into_libs=yes
3294 if test "$with_gnu_ld" = yes; then
3295 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
3296 else
3297 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
3298 case $host_os in
3299 sco3.2v5*)
3300 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
3301 ;;
3302 esac
3303 fi
3304 sys_lib_dlsearch_path_spec='/usr/lib'
3305 ;;
3306
3307 tpf*)
3308 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
3309 version_type=linux
3310 need_lib_prefix=no
3311 need_version=no
3312 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
3313 shlibpath_var=LD_LIBRARY_PATH
3314 shlibpath_overrides_runpath=no
3315 hardcode_into_libs=yes
3316 ;;
3317
3318 uts4*)
3319 version_type=linux
3320 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
3321 soname_spec='${libname}${release}${shared_ext}$major'
3322 shlibpath_var=LD_LIBRARY_PATH
3323 ;;
3324
3325 *)
3326 dynamic_linker=no
3327 ;;
3328 esac
3329 AC_MSG_RESULT([$dynamic_linker])
3330 test "$dynamic_linker" = no && can_build_shared=no
3331
3332 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
3333 if test "$GCC" = yes; then
3334 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
3335 fi
3336
3337 if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
3338 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
3339 fi
3340 if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
3341 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
3342 fi
3343
3344 _LT_DECL([], [variables_saved_for_relink], [1],
3345 [Variables whose values should be saved in libtool wrapper scripts and
3346 restored at link time])
3347 _LT_DECL([], [need_lib_prefix], [0],
3348 [Do we need the "lib" prefix for modules?])
3349 _LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
3350 _LT_DECL([], [version_type], [0], [Library versioning type])
3351 _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
3352 _LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
3353 _LT_DECL([], [shlibpath_overrides_runpath], [0],
3354 [Is shlibpath searched before the hard-coded library search path?])
3355 _LT_DECL([], [libname_spec], [1], [Format of library name prefix])
3356 _LT_DECL([], [library_names_spec], [1],
3357 [[List of archive names. First name is the real one, the rest are links.
3358 The last name is the one that the linker finds with -lNAME]])
3359 _LT_DECL([], [soname_spec], [1],
3360 [[The coded name of the library, if different from the real name]])
3361 _LT_DECL([], [postinstall_cmds], [2],
3362 [Command to use after installation of a shared archive])
3363 _LT_DECL([], [postuninstall_cmds], [2],
3364 [Command to use after uninstallation of a shared archive])
3365 _LT_DECL([], [finish_cmds], [2],
3366 [Commands used to finish a libtool library installation in a directory])
3367 _LT_DECL([], [finish_eval], [1],
3368 [[As "finish_cmds", except a single script fragment to be evaled but
3369 not shown]])
3370 _LT_DECL([], [hardcode_into_libs], [0],
3371 [Whether we should hardcode library paths into libraries])
3372 _LT_DECL([], [sys_lib_search_path_spec], [2],
3373 [Compile-time system search path for libraries])
3374 _LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
3375 [Run-time system search path for libraries])
3376 ])# _LT_SYS_DYNAMIC_LINKER
3377
3378
3379 # _LT_PATH_TOOL_PREFIX(TOOL)
3380 # --------------------------
3381 # find a file program which can recognize shared library
3382 AC_DEFUN([_LT_PATH_TOOL_PREFIX],
3383 [m4_require([_LT_DECL_EGREP])dnl
3384 AC_MSG_CHECKING([for $1])
3385 AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
3386 [case $MAGIC_CMD in
3387 [[\\/*] | ?:[\\/]*])
3388 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
3389 ;;
3390 *)
3391 lt_save_MAGIC_CMD="$MAGIC_CMD"
3392 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3393 dnl $ac_dummy forces splitting on constant user-supplied paths.
3394 dnl POSIX.2 word splitting is done only on the output of word expansions,
3395 dnl not every word. This closes a longstanding sh security hole.
3396 ac_dummy="m4_if([$2], , $PATH, [$2])"
3397 for ac_dir in $ac_dummy; do
3398 IFS="$lt_save_ifs"
3399 test -z "$ac_dir" && ac_dir=.
3400 if test -f $ac_dir/$1; then
3401 lt_cv_path_MAGIC_CMD="$ac_dir/$1"
3402 if test -n "$file_magic_test_file"; then
3403 case $deplibs_check_method in
3404 "file_magic "*)
3405 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
3406 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
3407 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
3408 $EGREP "$file_magic_regex" > /dev/null; then
3409 :
3410 else
3411 cat <<_LT_EOF 1>&2
3412
3413 *** Warning: the command libtool uses to detect shared libraries,
3414 *** $file_magic_cmd, produces output that libtool cannot recognize.
3415 *** The result is that libtool may fail to recognize shared libraries
3416 *** as such. This will affect the creation of libtool libraries that
3417 *** depend on shared libraries, but programs linked with such libtool
3418 *** libraries will work regardless of this problem. Nevertheless, you
3419 *** may want to report the problem to your system manager and/or to
3420 *** bug-libtool@gnu.org
3421
3422 _LT_EOF
3423 fi ;;
3424 esac
3425 fi
3426 break
3427 fi
3428 done
3429 IFS="$lt_save_ifs"
3430 MAGIC_CMD="$lt_save_MAGIC_CMD"
3431 ;;
3432 esac])
3433 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
3434 if test -n "$MAGIC_CMD"; then
3435 AC_MSG_RESULT($MAGIC_CMD)
3436 else
3437 AC_MSG_RESULT(no)
3438 fi
3439 _LT_DECL([], [MAGIC_CMD], [0],
3440 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
3441 ])# _LT_PATH_TOOL_PREFIX
3442
3443 # Old name:
3444 AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
3445 dnl aclocal-1.4 backwards compatibility:
3446 dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
3447
3448
3449 # _LT_PATH_MAGIC
3450 # --------------
3451 # find a file program which can recognize a shared library
3452 m4_defun([_LT_PATH_MAGIC],
3453 [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
3454 if test -z "$lt_cv_path_MAGIC_CMD"; then
3455 if test -n "$ac_tool_prefix"; then
3456 _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
3457 else
3458 MAGIC_CMD=:
3459 fi
3460 fi
3461 ])# _LT_PATH_MAGIC
3462
3463
3464 # LT_PATH_LD
3465 # ----------
3466 # find the pathname to the GNU or non-GNU linker
3467 AC_DEFUN([LT_PATH_LD],
3468 [AC_REQUIRE([AC_PROG_CC])dnl
3469 AC_REQUIRE([AC_CANONICAL_HOST])dnl
3470 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3471 m4_require([_LT_DECL_SED])dnl
3472 m4_require([_LT_DECL_EGREP])dnl
3473
3474 AC_ARG_WITH([gnu-ld],
3475 [AS_HELP_STRING([--with-gnu-ld],
3476 [assume the C compiler uses GNU ld @<:@default=no@:>@])],
3477 [test "$withval" = no || with_gnu_ld=yes],
3478 [with_gnu_ld=no])dnl
3479
3480 ac_prog=ld
3481 if test "$GCC" = yes; then
3482 # Check if gcc -print-prog-name=ld gives a path.
3483 AC_MSG_CHECKING([for ld used by $CC])
3484 case $host in
3485 *-*-mingw*)
3486 # gcc leaves a trailing carriage return which upsets mingw
3487 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3488 *)
3489 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3490 esac
3491 case $ac_prog in
3492 # Accept absolute paths.
3493 [[\\/]]* | ?:[[\\/]]*)
3494 re_direlt='/[[^/]][[^/]]*/\.\./'
3495 # Canonicalize the pathname of ld
3496 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
3497 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
3498 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
3499 done
3500 test -z "$LD" && LD="$ac_prog"
3501 ;;
3502 "")
3503 # If it fails, then pretend we aren't using GCC.
3504 ac_prog=ld
3505 ;;
3506 *)
3507 # If it is relative, then search for the first ld in PATH.
3508 with_gnu_ld=unknown
3509 ;;
3510 esac
3511 elif test "$with_gnu_ld" = yes; then
3512 AC_MSG_CHECKING([for GNU ld])
3513 else
3514 AC_MSG_CHECKING([for non-GNU ld])
3515 fi
3516 AC_CACHE_VAL(lt_cv_path_LD,
3517 [if test -z "$LD"; then
3518 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3519 for ac_dir in $PATH; do
3520 IFS="$lt_save_ifs"
3521 test -z "$ac_dir" && ac_dir=.
3522 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3523 lt_cv_path_LD="$ac_dir/$ac_prog"
3524 # Check to see if the program is GNU ld. I'd rather use --version,
3525 # but apparently some variants of GNU ld only accept -v.
3526 # Break only if it was the GNU/non-GNU ld that we prefer.
3527 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
3528 *GNU* | *'with BFD'*)
3529 test "$with_gnu_ld" != no && break
3530 ;;
3531 *)
3532 test "$with_gnu_ld" != yes && break
3533 ;;
3534 esac
3535 fi
3536 done
3537 IFS="$lt_save_ifs"
3538 else
3539 lt_cv_path_LD="$LD" # Let the user override the test with a path.
3540 fi])
3541 LD="$lt_cv_path_LD"
3542 if test -n "$LD"; then
3543 AC_MSG_RESULT($LD)
3544 else
3545 AC_MSG_RESULT(no)
3546 fi
3547 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3548 _LT_PATH_LD_GNU
3549 AC_SUBST([LD])
3550
3551 _LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
3552 ])# LT_PATH_LD
3553
3554 # Old names:
3555 AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
3556 AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
3557 dnl aclocal-1.4 backwards compatibility:
3558 dnl AC_DEFUN([AM_PROG_LD], [])
3559 dnl AC_DEFUN([AC_PROG_LD], [])
3560
3561
3562 # _LT_PATH_LD_GNU
3563 #- --------------
3564 m4_defun([_LT_PATH_LD_GNU],
3565 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3566 [# I'd rather use --version here, but apparently some GNU lds only accept -v.
3567 case `$LD -v 2>&1 </dev/null` in
3568 *GNU* | *'with BFD'*)
3569 lt_cv_prog_gnu_ld=yes
3570 ;;
3571 *)
3572 lt_cv_prog_gnu_ld=no
3573 ;;
3574 esac])
3575 with_gnu_ld=$lt_cv_prog_gnu_ld
3576 ])# _LT_PATH_LD_GNU
3577
3578
3579 # _LT_CMD_RELOAD
3580 # --------------
3581 # find reload flag for linker
3582 # -- PORTME Some linkers may need a different reload flag.
3583 m4_defun([_LT_CMD_RELOAD],
3584 [AC_CACHE_CHECK([for $LD option to reload object files],
3585 lt_cv_ld_reload_flag,
3586 [lt_cv_ld_reload_flag='-r'])
3587 reload_flag=$lt_cv_ld_reload_flag
3588 case $reload_flag in
3589 "" | " "*) ;;
3590 *) reload_flag=" $reload_flag" ;;
3591 esac
3592 reload_cmds='$LD$reload_flag -o $output$reload_objs'
3593 case $host_os in
3594 darwin*)
3595 if test "$GCC" = yes; then
3596 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
3597 else
3598 reload_cmds='$LD$reload_flag -o $output$reload_objs'
3599 fi
3600 ;;
3601 esac
3602 _LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
3603 _LT_DECL([], [reload_cmds], [2])dnl
3604 ])# _LT_CMD_RELOAD
3605
3606
3607 # _LT_CHECK_MAGIC_METHOD
3608 # ----------------------
3609 # how to check for library dependencies
3610 # -- PORTME fill in with the dynamic library characteristics
3611 m4_defun([_LT_CHECK_MAGIC_METHOD],
3612 [m4_require([_LT_DECL_EGREP])
3613 m4_require([_LT_DECL_OBJDUMP])
3614 AC_CACHE_CHECK([how to recognize dependent libraries],
3615 lt_cv_deplibs_check_method,
3616 [lt_cv_file_magic_cmd='$MAGIC_CMD'
3617 lt_cv_file_magic_test_file=
3618 lt_cv_deplibs_check_method='unknown'
3619 # Need to set the preceding variable on all platforms that support
3620 # interlibrary dependencies.
3621 # 'none' -- dependencies not supported.
3622 # `unknown' -- same as none, but documents that we really don't know.
3623 # 'pass_all' -- all dependencies passed with no checks.
3624 # 'test_compile' -- check by making test program.
3625 # 'file_magic [[regex]]' -- check by looking for files in library path
3626 # which responds to the $file_magic_cmd with a given extended regex.
3627 # If you have `file' or equivalent on your system and you're not sure
3628 # whether `pass_all' will *always* work, you probably want this one.
3629
3630 case $host_os in
3631 aix[[4-9]]*)
3632 lt_cv_deplibs_check_method=pass_all
3633 ;;
3634
3635 beos*)
3636 lt_cv_deplibs_check_method=pass_all
3637 ;;
3638
3639 bsdi[[45]]*)
3640 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3641 lt_cv_file_magic_cmd='/usr/bin/file -L'
3642 lt_cv_file_magic_test_file=/shlib/libc.so
3643 ;;
3644
3645 cygwin*)
3646 # func_win32_libid is a shell function defined in ltmain.sh
3647 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3648 lt_cv_file_magic_cmd='func_win32_libid'
3649 ;;
3650
3651 mingw* | pw32*)
3652 # Base MSYS/MinGW do not provide the 'file' command needed by
3653 # func_win32_libid shell function, so use a weaker test based on 'objdump',
3654 # unless we find 'file', for example because we are cross-compiling.
3655 if ( file / ) >/dev/null 2>&1; then
3656 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3657 lt_cv_file_magic_cmd='func_win32_libid'
3658 else
3659 lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
3660 lt_cv_file_magic_cmd='$OBJDUMP -f'
3661 fi
3662 ;;
3663
3664 cegcc)
3665 # use the weaker test based on 'objdump'. See mingw*.
3666 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3667 lt_cv_file_magic_cmd='$OBJDUMP -f'
3668 ;;
3669
3670 darwin* | rhapsody*)
3671 lt_cv_deplibs_check_method=pass_all
3672 ;;
3673
3674 freebsd* | dragonfly*)
3675 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3676 case $host_cpu in
3677 i*86 )
3678 # Not sure whether the presence of OpenBSD here was a mistake.
3679 # Let's accept both of them until this is cleared up.
3680 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3681 lt_cv_file_magic_cmd=/usr/bin/file
3682 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3683 ;;
3684 esac
3685 else
3686 lt_cv_deplibs_check_method=pass_all
3687 fi
3688 ;;
3689
3690 gnu*)
3691 lt_cv_deplibs_check_method=pass_all
3692 ;;
3693
3694 hpux10.20* | hpux11*)
3695 lt_cv_file_magic_cmd=/usr/bin/file
3696 case $host_cpu in
3697 ia64*)
3698 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3699 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3700 ;;
3701 hppa*64*)
3702 [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
3703 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3704 ;;
3705 *)
3706 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
3707 lt_cv_file_magic_test_file=/usr/lib/libc.sl
3708 ;;
3709 esac
3710 ;;
3711
3712 interix[[3-9]]*)
3713 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3714 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3715 ;;
3716
3717 irix5* | irix6* | nonstopux*)
3718 case $LD in
3719 *-32|*"-32 ") libmagic=32-bit;;
3720 *-n32|*"-n32 ") libmagic=N32;;
3721 *-64|*"-64 ") libmagic=64-bit;;
3722 *) libmagic=never-match;;
3723 esac
3724 lt_cv_deplibs_check_method=pass_all
3725 ;;
3726
3727 # This must be Linux ELF.
3728 linux* | k*bsd*-gnu | kopensolaris*-gnu)
3729 lt_cv_deplibs_check_method=pass_all
3730 ;;
3731
3732 netbsd* | netbsdelf*-gnu)
3733 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3734 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3735 else
3736 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3737 fi
3738 ;;
3739
3740 newos6*)
3741 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3742 lt_cv_file_magic_cmd=/usr/bin/file
3743 lt_cv_file_magic_test_file=/usr/lib/libnls.so
3744 ;;
3745
3746 *nto* | *qnx*)
3747 lt_cv_deplibs_check_method=pass_all
3748 ;;
3749
3750 openbsd*)
3751 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3752 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3753 else
3754 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3755 fi
3756 ;;
3757
3758 osf3* | osf4* | osf5*)
3759 lt_cv_deplibs_check_method=pass_all
3760 ;;
3761
3762 rdos*)
3763 lt_cv_deplibs_check_method=pass_all
3764 ;;
3765
3766 solaris*)
3767 lt_cv_deplibs_check_method=pass_all
3768 ;;
3769
3770 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3771 lt_cv_deplibs_check_method=pass_all
3772 ;;
3773
3774 sysv4 | sysv4.3*)
3775 case $host_vendor in
3776 motorola)
3777 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
3778 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3779 ;;
3780 ncr)
3781 lt_cv_deplibs_check_method=pass_all
3782 ;;
3783 sequent)
3784 lt_cv_file_magic_cmd='/bin/file'
3785 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3786 ;;
3787 sni)
3788 lt_cv_file_magic_cmd='/bin/file'
3789 lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3790 lt_cv_file_magic_test_file=/lib/libc.so
3791 ;;
3792 siemens)
3793 lt_cv_deplibs_check_method=pass_all
3794 ;;
3795 pc)
3796 lt_cv_deplibs_check_method=pass_all
3797 ;;
3798 esac
3799 ;;
3800
3801 tpf*)
3802 lt_cv_deplibs_check_method=pass_all
3803 ;;
3804 esac
3805 ])
3806 file_magic_cmd=$lt_cv_file_magic_cmd
3807 deplibs_check_method=$lt_cv_deplibs_check_method
3808 test -z "$deplibs_check_method" && deplibs_check_method=unknown
3809
3810 _LT_DECL([], [deplibs_check_method], [1],
3811 [Method to check whether dependent libraries are shared objects])
3812 _LT_DECL([], [file_magic_cmd], [1],
3813 [Command to use when deplibs_check_method == "file_magic"])
3814 ])# _LT_CHECK_MAGIC_METHOD
3815
3816
3817 # LT_PATH_NM
3818 # ----------
3819 # find the pathname to a BSD- or MS-compatible name lister
3820 AC_DEFUN([LT_PATH_NM],
3821 [AC_REQUIRE([AC_PROG_CC])dnl
3822 AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3823 [if test -n "$NM"; then
3824 # Let the user override the test.
3825 lt_cv_path_NM="$NM"
3826 else
3827 lt_nm_to_check="${ac_tool_prefix}nm"
3828 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3829 lt_nm_to_check="$lt_nm_to_check nm"
3830 fi
3831 for lt_tmp_nm in $lt_nm_to_check; do
3832 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3833 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3834 IFS="$lt_save_ifs"
3835 test -z "$ac_dir" && ac_dir=.
3836 tmp_nm="$ac_dir/$lt_tmp_nm"
3837 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3838 # Check to see if the nm accepts a BSD-compat flag.
3839 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3840 # nm: unknown option "B" ignored
3841 # Tru64's nm complains that /dev/null is an invalid object file
3842 case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3843 */dev/null* | *'Invalid file or object type'*)
3844 lt_cv_path_NM="$tmp_nm -B"
3845 break
3846 ;;
3847 *)
3848 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3849 */dev/null*)
3850 lt_cv_path_NM="$tmp_nm -p"
3851 break
3852 ;;
3853 *)
3854 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3855 continue # so that we can try to find one that supports BSD flags
3856 ;;
3857 esac
3858 ;;
3859 esac
3860 fi
3861 done
3862 IFS="$lt_save_ifs"
3863 done
3864 : ${lt_cv_path_NM=no}
3865 fi])
3866 if test "$lt_cv_path_NM" != "no"; then
3867 NM="$lt_cv_path_NM"
3868 else
3869 # Didn't find any BSD compatible name lister, look for dumpbin.
3870 AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
3871 AC_SUBST([DUMPBIN])
3872 if test "$DUMPBIN" != ":"; then
3873 NM="$DUMPBIN"
3874 fi
3875 fi
3876 test -z "$NM" && NM=nm
3877 AC_SUBST([NM])
3878 _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3879
3880 AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3881 [lt_cv_nm_interface="BSD nm"
3882 echo "int some_variable = 0;" > conftest.$ac_ext
3883 (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3884 (eval "$ac_compile" 2>conftest.err)
3885 cat conftest.err >&AS_MESSAGE_LOG_FD
3886 (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3887 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3888 cat conftest.err >&AS_MESSAGE_LOG_FD
3889 (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
3890 cat conftest.out >&AS_MESSAGE_LOG_FD
3891 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3892 lt_cv_nm_interface="MS dumpbin"
3893 fi
3894 rm -f conftest*])
3895 ])# LT_PATH_NM
3896
3897 # Old names:
3898 AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3899 AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3900 dnl aclocal-1.4 backwards compatibility:
3901 dnl AC_DEFUN([AM_PROG_NM], [])
3902 dnl AC_DEFUN([AC_PROG_NM], [])
3903
3904
3905 # LT_LIB_M
3906 # --------
3907 # check for math library
3908 AC_DEFUN([LT_LIB_M],
3909 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3910 LIBM=
3911 case $host in
3912 *-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
3913 # These system don't have libm, or don't need it
3914 ;;
3915 *-ncr-sysv4.3*)
3916 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3917 AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3918 ;;
3919 *)
3920 AC_CHECK_LIB(m, cos, LIBM="-lm")
3921 ;;
3922 esac
3923 AC_SUBST([LIBM])
3924 ])# LT_LIB_M
3925
3926 # Old name:
3927 AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3928 dnl aclocal-1.4 backwards compatibility:
3929 dnl AC_DEFUN([AC_CHECK_LIBM], [])
3930
3931
3932 # _LT_COMPILER_NO_RTTI([TAGNAME])
3933 # -------------------------------
3934 m4_defun([_LT_COMPILER_NO_RTTI],
3935 [m4_require([_LT_TAG_COMPILER])dnl
3936
3937 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3938
3939 if test "$GCC" = yes; then
3940 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
3941
3942 _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3943 lt_cv_prog_compiler_rtti_exceptions,
3944 [-fno-rtti -fno-exceptions], [],
3945 [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
3946 fi
3947 _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3948 [Compiler flag to turn off builtin functions])
3949 ])# _LT_COMPILER_NO_RTTI
3950
3951
3952 # _LT_CMD_GLOBAL_SYMBOLS
3953 # ----------------------
3954 m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3955 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3956 AC_REQUIRE([AC_PROG_CC])dnl
3957 AC_REQUIRE([LT_PATH_NM])dnl
3958 AC_REQUIRE([LT_PATH_LD])dnl
3959 m4_require([_LT_DECL_SED])dnl
3960 m4_require([_LT_DECL_EGREP])dnl
3961 m4_require([_LT_TAG_COMPILER])dnl
3962
3963 # Check for command to grab the raw symbol name followed by C symbol from nm.
3964 AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3965 AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3966 [
3967 # These are sane defaults that work on at least a few old systems.
3968 # [They come from Ultrix. What could be older than Ultrix?!! ;)]
3969
3970 # Character class describing NM global symbol codes.
3971 symcode='[[BCDEGRST]]'
3972
3973 # Regexp to match symbols that can be accessed directly from C.
3974 sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3975
3976 # Define system-specific variables.
3977 case $host_os in
3978 aix*)
3979 symcode='[[BCDT]]'
3980 ;;
3981 cygwin* | mingw* | pw32* | cegcc*)
3982 symcode='[[ABCDGISTW]]'
3983 ;;
3984 hpux*)
3985 if test "$host_cpu" = ia64; then
3986 symcode='[[ABCDEGRST]]'
3987 fi
3988 ;;
3989 irix* | nonstopux*)
3990 symcode='[[BCDEGRST]]'
3991 ;;
3992 osf*)
3993 symcode='[[BCDEGQRST]]'
3994 ;;
3995 solaris*)
3996 symcode='[[BDRT]]'
3997 ;;
3998 sco3.2v5*)
3999 symcode='[[DT]]'
4000 ;;
4001 sysv4.2uw2*)
4002 symcode='[[DT]]'
4003 ;;
4004 sysv5* | sco5v6* | unixware* | OpenUNIX*)
4005 symcode='[[ABDT]]'
4006 ;;
4007 sysv4)
4008 symcode='[[DFNSTU]]'
4009 ;;
4010 esac
4011
4012 # If we're using GNU nm, then use its standard symbol codes.
4013 case `$NM -V 2>&1` in
4014 *GNU* | *'with BFD'*)
4015 symcode='[[ABCDGIRSTW]]' ;;
4016 esac
4017
4018 # Transform an extracted symbol line into a proper C declaration.
4019 # Some systems (esp. on ia64) link data and code symbols differently,
4020 # so use this general approach.
4021 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
4022
4023 # Transform an extracted symbol line into symbol name and symbol address
4024 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
4025 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
4026
4027 # Handle CRLF in mingw tool chain
4028 opt_cr=
4029 case $build_os in
4030 mingw*)
4031 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
4032 ;;
4033 esac
4034
4035 # Try without a prefix underscore, then with it.
4036 for ac_symprfx in "" "_"; do
4037
4038 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
4039 symxfrm="\\1 $ac_symprfx\\2 \\2"
4040
4041 # Write the raw and C identifiers.
4042 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4043 # Fake it for dumpbin and say T for any non-static function
4044 # and D for any global variable.
4045 # Also find C++ and __fastcall symbols from MSVC++,
4046 # which start with @ or ?.
4047 lt_cv_sys_global_symbol_pipe="$AWK ['"\
4048 " {last_section=section; section=\$ 3};"\
4049 " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
4050 " \$ 0!~/External *\|/{next};"\
4051 " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
4052 " {if(hide[section]) next};"\
4053 " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
4054 " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
4055 " s[1]~/^[@?]/{print s[1], s[1]; next};"\
4056 " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
4057 " ' prfx=^$ac_symprfx]"
4058 else
4059 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
4060 fi
4061
4062 # Check to see that the pipe works correctly.
4063 pipe_works=no
4064
4065 rm -f conftest*
4066 cat > conftest.$ac_ext <<_LT_EOF
4067 #ifdef __cplusplus
4068 extern "C" {
4069 #endif
4070 char nm_test_var;
4071 void nm_test_func(void);
4072 void nm_test_func(void){}
4073 #ifdef __cplusplus
4074 }
4075 #endif
4076 int main(){nm_test_var='a';nm_test_func();return(0);}
4077 _LT_EOF
4078
4079 if AC_TRY_EVAL(ac_compile); then
4080 # Now try to grab the symbols.
4081 nlist=conftest.nm
4082 if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
4083 # Try sorting and uniquifying the output.
4084 if sort "$nlist" | uniq > "$nlist"T; then
4085 mv -f "$nlist"T "$nlist"
4086 else
4087 rm -f "$nlist"T
4088 fi
4089
4090 # Make sure that we snagged all the symbols we need.
4091 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
4092 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
4093 cat <<_LT_EOF > conftest.$ac_ext
4094 #ifdef __cplusplus
4095 extern "C" {
4096 #endif
4097
4098 _LT_EOF
4099 # Now generate the symbol file.
4100 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
4101
4102 cat <<_LT_EOF >> conftest.$ac_ext
4103
4104 /* The mapping between symbol names and symbols. */
4105 const struct {
4106 const char *name;
4107 void *address;
4108 }
4109 lt__PROGRAM__LTX_preloaded_symbols[[]] =
4110 {
4111 { "@PROGRAM@", (void *) 0 },
4112 _LT_EOF
4113 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
4114 cat <<\_LT_EOF >> conftest.$ac_ext
4115 {0, (void *) 0}
4116 };
4117
4118 /* This works around a problem in FreeBSD linker */
4119 #ifdef FREEBSD_WORKAROUND
4120 static const void *lt_preloaded_setup() {
4121 return lt__PROGRAM__LTX_preloaded_symbols;
4122 }
4123 #endif
4124
4125 #ifdef __cplusplus
4126 }
4127 #endif
4128 _LT_EOF
4129 # Now try linking the two files.
4130 mv conftest.$ac_objext conftstm.$ac_objext
4131 lt_save_LIBS="$LIBS"
4132 lt_save_CFLAGS="$CFLAGS"
4133 LIBS="conftstm.$ac_objext"
4134 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
4135 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
4136 pipe_works=yes
4137 fi
4138 LIBS="$lt_save_LIBS"
4139 CFLAGS="$lt_save_CFLAGS"
4140 else
4141 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
4142 fi
4143 else
4144 echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
4145 fi
4146 else
4147 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
4148 fi
4149 else
4150 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
4151 cat conftest.$ac_ext >&5
4152 fi
4153 rm -rf conftest* conftst*
4154
4155 # Do not use the global_symbol_pipe unless it works.
4156 if test "$pipe_works" = yes; then
4157 break
4158 else
4159 lt_cv_sys_global_symbol_pipe=
4160 fi
4161 done
4162 ])
4163 if test -z "$lt_cv_sys_global_symbol_pipe"; then
4164 lt_cv_sys_global_symbol_to_cdecl=
4165 fi
4166 if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
4167 AC_MSG_RESULT(failed)
4168 else
4169 AC_MSG_RESULT(ok)
4170 fi
4171
4172 _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
4173 [Take the output of nm and produce a listing of raw symbols and C names])
4174 _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
4175 [Transform the output of nm in a proper C declaration])
4176 _LT_DECL([global_symbol_to_c_name_address],
4177 [lt_cv_sys_global_symbol_to_c_name_address], [1],
4178 [Transform the output of nm in a C name address pair])
4179 _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
4180 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
4181 [Transform the output of nm in a C name address pair when lib prefix is needed])
4182 ]) # _LT_CMD_GLOBAL_SYMBOLS
4183
4184
4185 # _LT_COMPILER_PIC([TAGNAME])
4186 # ---------------------------
4187 m4_defun([_LT_COMPILER_PIC],
4188 [m4_require([_LT_TAG_COMPILER])dnl
4189 _LT_TAGVAR(lt_prog_compiler_wl, $1)=
4190 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4191 _LT_TAGVAR(lt_prog_compiler_static, $1)=
4192
4193 AC_MSG_CHECKING([for $compiler option to produce PIC])
4194 m4_if([$1], [CXX], [
4195 # C++ specific cases for pic, static, wl, etc.
4196 if test "$GXX" = yes; then
4197 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4198 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4199
4200 case $host_os in
4201 aix*)
4202 # All AIX code is PIC.
4203 if test "$host_cpu" = ia64; then
4204 # AIX 5 now supports IA64 processor
4205 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4206 fi
4207 ;;
4208
4209 amigaos*)
4210 case $host_cpu in
4211 powerpc)
4212 # see comment about AmigaOS4 .so support
4213 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4214 ;;
4215 m68k)
4216 # FIXME: we need at least 68020 code to build shared libraries, but
4217 # adding the `-m68020' flag to GCC prevents building anything better,
4218 # like `-m68040'.
4219 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4220 ;;
4221 esac
4222 ;;
4223
4224 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4225 # PIC is the default for these OSes.
4226 ;;
4227 mingw* | cygwin* | os2* | pw32* | cegcc*)
4228 # This hack is so that the source file can tell whether it is being
4229 # built for inclusion in a dll (and should export symbols for example).
4230 # Although the cygwin gcc ignores -fPIC, still need this for old-style
4231 # (--disable-auto-import) libraries
4232 m4_if([$1], [GCJ], [],
4233 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4234 ;;
4235 darwin* | rhapsody*)
4236 # PIC is the default on this platform
4237 # Common symbols not allowed in MH_DYLIB files
4238 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4239 ;;
4240 *djgpp*)
4241 # DJGPP does not support shared libraries at all
4242 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4243 ;;
4244 interix[[3-9]]*)
4245 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4246 # Instead, we relocate shared libraries at runtime.
4247 ;;
4248 sysv4*MP*)
4249 if test -d /usr/nec; then
4250 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4251 fi
4252 ;;
4253 hpux*)
4254 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4255 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4256 # sets the default TLS model and affects inlining.
4257 case $host_cpu in
4258 hppa*64*)
4259 ;;
4260 *)
4261 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4262 ;;
4263 esac
4264 ;;
4265 *qnx* | *nto*)
4266 # QNX uses GNU C++, but need to define -shared option too, otherwise
4267 # it will coredump.
4268 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4269 ;;
4270 *)
4271 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4272 ;;
4273 esac
4274 else
4275 case $host_os in
4276 aix[[4-9]]*)
4277 # All AIX code is PIC.
4278 if test "$host_cpu" = ia64; then
4279 # AIX 5 now supports IA64 processor
4280 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4281 else
4282 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4283 fi
4284 ;;
4285 chorus*)
4286 case $cc_basename in
4287 cxch68*)
4288 # Green Hills C++ Compiler
4289 # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
4290 ;;
4291 esac
4292 ;;
4293 dgux*)
4294 case $cc_basename in
4295 ec++*)
4296 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4297 ;;
4298 ghcx*)
4299 # Green Hills C++ Compiler
4300 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4301 ;;
4302 *)
4303 ;;
4304 esac
4305 ;;
4306 freebsd* | dragonfly*)
4307 # FreeBSD uses GNU C++
4308 ;;
4309 hpux9* | hpux10* | hpux11*)
4310 case $cc_basename in
4311 CC*)
4312 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4313 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4314 if test "$host_cpu" != ia64; then
4315 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4316 fi
4317 ;;
4318 aCC*)
4319 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4320 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4321 case $host_cpu in
4322 hppa*64*|ia64*)
4323 # +Z the default
4324 ;;
4325 *)
4326 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4327 ;;
4328 esac
4329 ;;
4330 *)
4331 ;;
4332 esac
4333 ;;
4334 interix*)
4335 # This is c89, which is MS Visual C++ (no shared libs)
4336 # Anyone wants to do a port?
4337 ;;
4338 irix5* | irix6* | nonstopux*)
4339 case $cc_basename in
4340 CC*)
4341 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4342 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4343 # CC pic flag -KPIC is the default.
4344 ;;
4345 *)
4346 ;;
4347 esac
4348 ;;
4349 linux* | k*bsd*-gnu | kopensolaris*-gnu)
4350 case $cc_basename in
4351 KCC*)
4352 # KAI C++ Compiler
4353 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4354 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4355 ;;
4356 ecpc* )
4357 # old Intel C++ for x86_64 which still supported -KPIC.
4358 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4359 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4360 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4361 ;;
4362 icpc* )
4363 # Intel C++, used to be incompatible with GCC.
4364 # ICC 10 doesn't accept -KPIC any more.
4365 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4366 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4367 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4368 ;;
4369 pgCC* | pgcpp*)
4370 # Portland Group C++ compiler
4371 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4372 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4373 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4374 ;;
4375 cxx*)
4376 # Compaq C++
4377 # Make sure the PIC flag is empty. It appears that all Alpha
4378 # Linux and Compaq Tru64 Unix objects are PIC.
4379 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4380 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4381 ;;
4382 xlc* | xlC*)
4383 # IBM XL 8.0 on PPC
4384 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4385 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4386 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4387 ;;
4388 *)
4389 case `$CC -V 2>&1 | sed 5q` in
4390 *Sun\ C*)
4391 # Sun C++ 5.9
4392 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4393 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4394 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4395 ;;
4396 esac
4397 ;;
4398 esac
4399 ;;
4400 lynxos*)
4401 ;;
4402 m88k*)
4403 ;;
4404 mvs*)
4405 case $cc_basename in
4406 cxx*)
4407 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4408 ;;
4409 *)
4410 ;;
4411 esac
4412 ;;
4413 netbsd* | netbsdelf*-gnu)
4414 ;;
4415 *qnx* | *nto*)
4416 # QNX uses GNU C++, but need to define -shared option too, otherwise
4417 # it will coredump.
4418 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4419 ;;
4420 osf3* | osf4* | osf5*)
4421 case $cc_basename in
4422 KCC*)
4423 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4424 ;;
4425 RCC*)
4426 # Rational C++ 2.4.1
4427 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4428 ;;
4429 cxx*)
4430 # Digital/Compaq C++
4431 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4432 # Make sure the PIC flag is empty. It appears that all Alpha
4433 # Linux and Compaq Tru64 Unix objects are PIC.
4434 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4435 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4436 ;;
4437 *)
4438 ;;
4439 esac
4440 ;;
4441 psos*)
4442 ;;
4443 solaris*)
4444 case $cc_basename in
4445 CC*)
4446 # Sun C++ 4.2, 5.x and Centerline C++
4447 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4448 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4449 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4450 ;;
4451 gcx*)
4452 # Green Hills C++ Compiler
4453 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4454 ;;
4455 *)
4456 ;;
4457 esac
4458 ;;
4459 sunos4*)
4460 case $cc_basename in
4461 CC*)
4462 # Sun C++ 4.x
4463 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4464 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4465 ;;
4466 lcc*)
4467 # Lucid
4468 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4469 ;;
4470 *)
4471 ;;
4472 esac
4473 ;;
4474 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4475 case $cc_basename in
4476 CC*)
4477 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4478 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4479 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4480 ;;
4481 esac
4482 ;;
4483 tandem*)
4484 case $cc_basename in
4485 NCC*)
4486 # NonStop-UX NCC 3.20
4487 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4488 ;;
4489 *)
4490 ;;
4491 esac
4492 ;;
4493 vxworks*)
4494 ;;
4495 *)
4496 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4497 ;;
4498 esac
4499 fi
4500 ],
4501 [
4502 if test "$GCC" = yes; then
4503 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4504 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4505
4506 case $host_os in
4507 aix*)
4508 # All AIX code is PIC.
4509 if test "$host_cpu" = ia64; then
4510 # AIX 5 now supports IA64 processor
4511 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4512 fi
4513 ;;
4514
4515 amigaos*)
4516 case $host_cpu in
4517 powerpc)
4518 # see comment about AmigaOS4 .so support
4519 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4520 ;;
4521 m68k)
4522 # FIXME: we need at least 68020 code to build shared libraries, but
4523 # adding the `-m68020' flag to GCC prevents building anything better,
4524 # like `-m68040'.
4525 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4526 ;;
4527 esac
4528 ;;
4529
4530 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4531 # PIC is the default for these OSes.
4532 ;;
4533
4534 mingw* | cygwin* | pw32* | os2* | cegcc*)
4535 # This hack is so that the source file can tell whether it is being
4536 # built for inclusion in a dll (and should export symbols for example).
4537 # Although the cygwin gcc ignores -fPIC, still need this for old-style
4538 # (--disable-auto-import) libraries
4539 m4_if([$1], [GCJ], [],
4540 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4541 ;;
4542
4543 darwin* | rhapsody*)
4544 # PIC is the default on this platform
4545 # Common symbols not allowed in MH_DYLIB files
4546 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4547 ;;
4548
4549 hpux*)
4550 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4551 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4552 # sets the default TLS model and affects inlining.
4553 case $host_cpu in
4554 hppa*64*)
4555 # +Z the default
4556 ;;
4557 *)
4558 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4559 ;;
4560 esac
4561 ;;
4562
4563 interix[[3-9]]*)
4564 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4565 # Instead, we relocate shared libraries at runtime.
4566 ;;
4567
4568 msdosdjgpp*)
4569 # Just because we use GCC doesn't mean we suddenly get shared libraries
4570 # on systems that don't support them.
4571 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4572 enable_shared=no
4573 ;;
4574
4575 *nto* | *qnx*)
4576 # QNX uses GNU C++, but need to define -shared option too, otherwise
4577 # it will coredump.
4578 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4579 ;;
4580
4581 sysv4*MP*)
4582 if test -d /usr/nec; then
4583 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4584 fi
4585 ;;
4586
4587 *)
4588 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4589 ;;
4590 esac
4591 else
4592 # PORTME Check for flag to pass linker flags through the system compiler.
4593 case $host_os in
4594 aix*)
4595 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4596 if test "$host_cpu" = ia64; then
4597 # AIX 5 now supports IA64 processor
4598 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4599 else
4600 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4601 fi
4602 ;;
4603
4604 mingw* | cygwin* | pw32* | os2* | cegcc*)
4605 # This hack is so that the source file can tell whether it is being
4606 # built for inclusion in a dll (and should export symbols for example).
4607 m4_if([$1], [GCJ], [],
4608 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4609 ;;
4610
4611 hpux9* | hpux10* | hpux11*)
4612 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4613 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4614 # not for PA HP-UX.
4615 case $host_cpu in
4616 hppa*64*|ia64*)
4617 # +Z the default
4618 ;;
4619 *)
4620 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4621 ;;
4622 esac
4623 # Is there a better lt_prog_compiler_static that works with the bundled CC?
4624 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4625 ;;
4626
4627 irix5* | irix6* | nonstopux*)
4628 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4629 # PIC (with -KPIC) is the default.
4630 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4631 ;;
4632
4633 linux* | k*bsd*-gnu | kopensolaris*-gnu)
4634 case $cc_basename in
4635 # old Intel for x86_64 which still supported -KPIC.
4636 ecc*)
4637 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4638 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4639 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4640 ;;
4641 # icc used to be incompatible with GCC.
4642 # ICC 10 doesn't accept -KPIC any more.
4643 icc* | ifort*)
4644 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4645 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4646 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4647 ;;
4648 # Lahey Fortran 8.1.
4649 lf95*)
4650 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4651 _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4652 _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4653 ;;
4654 pgcc* | pgf77* | pgf90* | pgf95*)
4655 # Portland Group compilers (*not* the Pentium gcc compiler,
4656 # which looks to be a dead project)
4657 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4658 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4659 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4660 ;;
4661 ccc*)
4662 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4663 # All Alpha code is PIC.
4664 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4665 ;;
4666 xl*)
4667 # IBM XL C 8.0/Fortran 10.1 on PPC
4668 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4669 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4670 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4671 ;;
4672 *)
4673 case `$CC -V 2>&1 | sed 5q` in
4674 *Sun\ C*)
4675 # Sun C 5.9
4676 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4677 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4678 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4679 ;;
4680 *Sun\ F*)
4681 # Sun Fortran 8.3 passes all unrecognized flags to the linker
4682 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4683 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4684 _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4685 ;;
4686 esac
4687 ;;
4688 esac
4689 ;;
4690
4691 newsos6)
4692 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4693 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4694 ;;
4695
4696 *nto* | *qnx*)
4697 # QNX uses GNU C++, but need to define -shared option too, otherwise
4698 # it will coredump.
4699 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4700 ;;
4701
4702 osf3* | osf4* | osf5*)
4703 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4704 # All OSF/1 code is PIC.
4705 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4706 ;;
4707
4708 rdos*)
4709 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4710 ;;
4711
4712 solaris*)
4713 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4714 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4715 case $cc_basename in
4716 f77* | f90* | f95*)
4717 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4718 *)
4719 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4720 esac
4721 ;;
4722
4723 sunos4*)
4724 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4725 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4726 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4727 ;;
4728
4729 sysv4 | sysv4.2uw2* | sysv4.3*)
4730 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4731 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4732 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4733 ;;
4734
4735 sysv4*MP*)
4736 if test -d /usr/nec ;then
4737 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4738 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4739 fi
4740 ;;
4741
4742 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4743 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4744 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4745 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4746 ;;
4747
4748 unicos*)
4749 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4750 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4751 ;;
4752
4753 uts4*)
4754 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4755 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4756 ;;
4757
4758 *)
4759 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4760 ;;
4761 esac
4762 fi
4763 ])
4764 case $host_os in
4765 # For platforms which do not support PIC, -DPIC is meaningless:
4766 *djgpp*)
4767 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4768 ;;
4769 *)
4770 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4771 ;;
4772 esac
4773 AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4774 _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4775 [How to pass a linker flag through the compiler])
4776
4777 #
4778 # Check to make sure the PIC flag actually works.
4779 #
4780 if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4781 _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4782 [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4783 [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4784 [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4785 "" | " "*) ;;
4786 *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4787 esac],
4788 [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4789 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4790 fi
4791 _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4792 [Additional compiler flags for building library objects])
4793
4794 #
4795 # Check to make sure the static flag actually works.
4796 #
4797 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4798 _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4799 _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4800 $lt_tmp_static_flag,
4801 [],
4802 [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4803 _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4804 [Compiler flag to prevent dynamic linking])
4805 ])# _LT_COMPILER_PIC
4806
4807
4808 # _LT_LINKER_SHLIBS([TAGNAME])
4809 # ----------------------------
4810 # See if the linker supports building shared libraries.
4811 m4_defun([_LT_LINKER_SHLIBS],
4812 [AC_REQUIRE([LT_PATH_LD])dnl
4813 AC_REQUIRE([LT_PATH_NM])dnl
4814 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4815 m4_require([_LT_DECL_EGREP])dnl
4816 m4_require([_LT_DECL_SED])dnl
4817 m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4818 m4_require([_LT_TAG_COMPILER])dnl
4819 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4820 m4_if([$1], [CXX], [
4821 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4822 case $host_os in
4823 aix[[4-9]]*)
4824 # If we're using GNU nm, then we don't want the "-C" option.
4825 # -C means demangle to AIX nm, but means don't demangle with GNU nm
4826 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4827 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4828 else
4829 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4830 fi
4831 ;;
4832 pw32*)
4833 _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
4834 ;;
4835 cygwin* | mingw* | cegcc*)
4836 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
4837 ;;
4838 linux* | k*bsd*-gnu)
4839 _LT_TAGVAR(link_all_deplibs, $1)=no
4840 ;;
4841 *)
4842 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4843 ;;
4844 esac
4845 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4846 ], [
4847 runpath_var=
4848 _LT_TAGVAR(allow_undefined_flag, $1)=
4849 _LT_TAGVAR(always_export_symbols, $1)=no
4850 _LT_TAGVAR(archive_cmds, $1)=
4851 _LT_TAGVAR(archive_expsym_cmds, $1)=
4852 _LT_TAGVAR(compiler_needs_object, $1)=no
4853 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4854 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4855 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4856 _LT_TAGVAR(hardcode_automatic, $1)=no
4857 _LT_TAGVAR(hardcode_direct, $1)=no
4858 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4859 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4860 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
4861 _LT_TAGVAR(hardcode_libdir_separator, $1)=
4862 _LT_TAGVAR(hardcode_minus_L, $1)=no
4863 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4864 _LT_TAGVAR(inherit_rpath, $1)=no
4865 _LT_TAGVAR(link_all_deplibs, $1)=unknown
4866 _LT_TAGVAR(module_cmds, $1)=
4867 _LT_TAGVAR(module_expsym_cmds, $1)=
4868 _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4869 _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4870 _LT_TAGVAR(thread_safe_flag_spec, $1)=
4871 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4872 # include_expsyms should be a list of space-separated symbols to be *always*
4873 # included in the symbol list
4874 _LT_TAGVAR(include_expsyms, $1)=
4875 # exclude_expsyms can be an extended regexp of symbols to exclude
4876 # it will be wrapped by ` (' and `)$', so one must not match beginning or
4877 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
4878 # as well as any symbol that contains `d'.
4879 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4880 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4881 # platforms (ab)use it in PIC code, but their linkers get confused if
4882 # the symbol is explicitly referenced. Since portable code cannot
4883 # rely on this symbol name, it's probably fine to never include it in
4884 # preloaded symbol tables.
4885 # Exclude shared library initialization/finalization symbols.
4886 dnl Note also adjust exclude_expsyms for C++ above.
4887 extract_expsyms_cmds=
4888
4889 case $host_os in
4890 cygwin* | mingw* | pw32* | cegcc*)
4891 # FIXME: the MSVC++ port hasn't been tested in a loooong time
4892 # When not using gcc, we currently assume that we are using
4893 # Microsoft Visual C++.
4894 if test "$GCC" != yes; then
4895 with_gnu_ld=no
4896 fi
4897 ;;
4898 interix*)
4899 # we just hope/assume this is gcc and not c89 (= MSVC++)
4900 with_gnu_ld=yes
4901 ;;
4902 openbsd*)
4903 with_gnu_ld=no
4904 ;;
4905 linux* | k*bsd*-gnu)
4906 _LT_TAGVAR(link_all_deplibs, $1)=no
4907 ;;
4908 esac
4909
4910 _LT_TAGVAR(ld_shlibs, $1)=yes
4911 if test "$with_gnu_ld" = yes; then
4912 # If archive_cmds runs LD, not CC, wlarc should be empty
4913 wlarc='${wl}'
4914
4915 # Set some defaults for GNU ld with shared library support. These
4916 # are reset later if shared libraries are not supported. Putting them
4917 # here allows them to be overridden if necessary.
4918 runpath_var=LD_RUN_PATH
4919 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4920 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4921 # ancient GNU ld didn't support --whole-archive et. al.
4922 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
4923 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4924 else
4925 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4926 fi
4927 supports_anon_versioning=no
4928 case `$LD -v 2>&1` in
4929 *GNU\ gold*) supports_anon_versioning=yes ;;
4930 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
4931 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
4932 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
4933 *\ 2.11.*) ;; # other 2.11 versions
4934 *) supports_anon_versioning=yes ;;
4935 esac
4936
4937 # See if GNU ld supports shared libraries.
4938 case $host_os in
4939 aix[[3-9]]*)
4940 # On AIX/PPC, the GNU linker is very broken
4941 if test "$host_cpu" != ia64; then
4942 _LT_TAGVAR(ld_shlibs, $1)=no
4943 cat <<_LT_EOF 1>&2
4944
4945 *** Warning: the GNU linker, at least up to release 2.9.1, is reported
4946 *** to be unable to reliably create shared libraries on AIX.
4947 *** Therefore, libtool is disabling shared libraries support. If you
4948 *** really care for shared libraries, you may want to modify your PATH
4949 *** so that a non-GNU linker is found, and then restart.
4950
4951 _LT_EOF
4952 fi
4953 ;;
4954
4955 amigaos*)
4956 case $host_cpu in
4957 powerpc)
4958 # see comment about AmigaOS4 .so support
4959 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4960 _LT_TAGVAR(archive_expsym_cmds, $1)=''
4961 ;;
4962 m68k)
4963 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
4964 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4965 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4966 ;;
4967 esac
4968 ;;
4969
4970 beos*)
4971 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4972 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4973 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4974 # support --undefined. This deserves some investigation. FIXME
4975 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4976 else
4977 _LT_TAGVAR(ld_shlibs, $1)=no
4978 fi
4979 ;;
4980
4981 cygwin* | mingw* | pw32* | cegcc*)
4982 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
4983 # as there is no search path for DLLs.
4984 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4985 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4986 _LT_TAGVAR(always_export_symbols, $1)=no
4987 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4988 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
4989
4990 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
4991 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4992 # If the export-symbols file already is a .def file (1st line
4993 # is EXPORTS), use it as is; otherwise, prepend...
4994 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
4995 cp $export_symbols $output_objdir/$soname.def;
4996 else
4997 echo EXPORTS > $output_objdir/$soname.def;
4998 cat $export_symbols >> $output_objdir/$soname.def;
4999 fi~
5000 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5001 else
5002 _LT_TAGVAR(ld_shlibs, $1)=no
5003 fi
5004 ;;
5005
5006 interix[[3-9]]*)
5007 _LT_TAGVAR(hardcode_direct, $1)=no
5008 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5009 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5010 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5011 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5012 # Instead, shared libraries are loaded at an image base (0x10000000 by
5013 # default) and relocated if they conflict, which is a slow very memory
5014 # consuming and fragmenting process. To avoid this, we pick a random,
5015 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5016 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
5017 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5018 _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5019 ;;
5020
5021 gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
5022 tmp_diet=no
5023 if test "$host_os" = linux-dietlibc; then
5024 case $cc_basename in
5025 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
5026 esac
5027 fi
5028 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
5029 && test "$tmp_diet" = no
5030 then
5031 tmp_addflag=
5032 tmp_sharedflag='-shared'
5033 case $cc_basename,$host_cpu in
5034 pgcc*) # Portland Group C compiler
5035 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
5036 tmp_addflag=' $pic_flag'
5037 ;;
5038 pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
5039 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
5040 tmp_addflag=' $pic_flag -Mnomain' ;;
5041 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
5042 tmp_addflag=' -i_dynamic' ;;
5043 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
5044 tmp_addflag=' -i_dynamic -nofor_main' ;;
5045 ifc* | ifort*) # Intel Fortran compiler
5046 tmp_addflag=' -nofor_main' ;;
5047 lf95*) # Lahey Fortran 8.1
5048 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5049 tmp_sharedflag='--shared' ;;
5050 xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
5051 tmp_sharedflag='-qmkshrobj'
5052 tmp_addflag= ;;
5053 esac
5054 case `$CC -V 2>&1 | sed 5q` in
5055 *Sun\ C*) # Sun C 5.9
5056 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
5057 _LT_TAGVAR(compiler_needs_object, $1)=yes
5058 tmp_sharedflag='-G' ;;
5059 *Sun\ F*) # Sun Fortran 8.3
5060 tmp_sharedflag='-G' ;;
5061 esac
5062 _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5063
5064 if test "x$supports_anon_versioning" = xyes; then
5065 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5066 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5067 echo "local: *; };" >> $output_objdir/$libname.ver~
5068 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
5069 fi
5070
5071 case $cc_basename in
5072 xlf*)
5073 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
5074 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
5075 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5076 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
5077 _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
5078 if test "x$supports_anon_versioning" = xyes; then
5079 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5080 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5081 echo "local: *; };" >> $output_objdir/$libname.ver~
5082 $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
5083 fi
5084 ;;
5085 esac
5086 else
5087 _LT_TAGVAR(ld_shlibs, $1)=no
5088 fi
5089 ;;
5090
5091 netbsd* | netbsdelf*-gnu)
5092 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5093 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
5094 wlarc=
5095 else
5096 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5097 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5098 fi
5099 ;;
5100
5101 solaris*)
5102 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
5103 _LT_TAGVAR(ld_shlibs, $1)=no
5104 cat <<_LT_EOF 1>&2
5105
5106 *** Warning: The releases 2.8.* of the GNU linker cannot reliably
5107 *** create shared libraries on Solaris systems. Therefore, libtool
5108 *** is disabling shared libraries support. We urge you to upgrade GNU
5109 *** binutils to release 2.9.1 or newer. Another option is to modify
5110 *** your PATH or compiler configuration so that the native linker is
5111 *** used, and then restart.
5112
5113 _LT_EOF
5114 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5115 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5116 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5117 else
5118 _LT_TAGVAR(ld_shlibs, $1)=no
5119 fi
5120 ;;
5121
5122 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
5123 case `$LD -v 2>&1` in
5124 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
5125 _LT_TAGVAR(ld_shlibs, $1)=no
5126 cat <<_LT_EOF 1>&2
5127
5128 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
5129 *** reliably create shared libraries on SCO systems. Therefore, libtool
5130 *** is disabling shared libraries support. We urge you to upgrade GNU
5131 *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
5132 *** your PATH or compiler configuration so that the native linker is
5133 *** used, and then restart.
5134
5135 _LT_EOF
5136 ;;
5137 *)
5138 # For security reasons, it is highly recommended that you always
5139 # use absolute paths for naming shared libraries, and exclude the
5140 # DT_RUNPATH tag from executables and libraries. But doing so
5141 # requires that you compile everything twice, which is a pain.
5142 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5143 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5144 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5145 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5146 else
5147 _LT_TAGVAR(ld_shlibs, $1)=no
5148 fi
5149 ;;
5150 esac
5151 ;;
5152
5153 sunos4*)
5154 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5155 wlarc=
5156 _LT_TAGVAR(hardcode_direct, $1)=yes
5157 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5158 ;;
5159
5160 *)
5161 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5162 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5163 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5164 else
5165 _LT_TAGVAR(ld_shlibs, $1)=no
5166 fi
5167 ;;
5168 esac
5169
5170 if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
5171 runpath_var=
5172 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5173 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
5174 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5175 fi
5176 else
5177 # PORTME fill in a description of your system's linker (not GNU ld)
5178 case $host_os in
5179 aix3*)
5180 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5181 _LT_TAGVAR(always_export_symbols, $1)=yes
5182 _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
5183 # Note: this linker hardcodes the directories in LIBPATH if there
5184 # are no directories specified by -L.
5185 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5186 if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
5187 # Neither direct hardcoding nor static linking is supported with a
5188 # broken collect2.
5189 _LT_TAGVAR(hardcode_direct, $1)=unsupported
5190 fi
5191 ;;
5192
5193 aix[[4-9]]*)
5194 if test "$host_cpu" = ia64; then
5195 # On IA64, the linker does run time linking by default, so we don't
5196 # have to do anything special.
5197 aix_use_runtimelinking=no
5198 exp_sym_flag='-Bexport'
5199 no_entry_flag=""
5200 else
5201 # If we're using GNU nm, then we don't want the "-C" option.
5202 # -C means demangle to AIX nm, but means don't demangle with GNU nm
5203 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
5204 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
5205 else
5206 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
5207 fi
5208 aix_use_runtimelinking=no
5209
5210 # Test if we are trying to use run time linking or normal
5211 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5212 # need to do runtime linking.
5213 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5214 for ld_flag in $LDFLAGS; do
5215 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
5216 aix_use_runtimelinking=yes
5217 break
5218 fi
5219 done
5220 ;;
5221 esac
5222
5223 exp_sym_flag='-bexport'
5224 no_entry_flag='-bnoentry'
5225 fi
5226
5227 # When large executables or shared objects are built, AIX ld can
5228 # have problems creating the table of contents. If linking a library
5229 # or program results in "error TOC overflow" add -mminimal-toc to
5230 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5231 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5232
5233 _LT_TAGVAR(archive_cmds, $1)=''
5234 _LT_TAGVAR(hardcode_direct, $1)=yes
5235 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5236 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5237 _LT_TAGVAR(link_all_deplibs, $1)=yes
5238 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
5239
5240 if test "$GCC" = yes; then
5241 case $host_os in aix4.[[012]]|aix4.[[012]].*)
5242 # We only want to do this on AIX 4.2 and lower, the check
5243 # below for broken collect2 doesn't work under 4.3+
5244 collect2name=`${CC} -print-prog-name=collect2`
5245 if test -f "$collect2name" &&
5246 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5247 then
5248 # We have reworked collect2
5249 :
5250 else
5251 # We have old collect2
5252 _LT_TAGVAR(hardcode_direct, $1)=unsupported
5253 # It fails to find uninstalled libraries when the uninstalled
5254 # path is not listed in the libpath. Setting hardcode_minus_L
5255 # to unsupported forces relinking
5256 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5257 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5258 _LT_TAGVAR(hardcode_libdir_separator, $1)=
5259 fi
5260 ;;
5261 esac
5262 shared_flag='-shared'
5263 if test "$aix_use_runtimelinking" = yes; then
5264 shared_flag="$shared_flag "'${wl}-G'
5265 fi
5266 _LT_TAGVAR(link_all_deplibs, $1)=no
5267 else
5268 # not using gcc
5269 if test "$host_cpu" = ia64; then
5270 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5271 # chokes on -Wl,-G. The following line is correct:
5272 shared_flag='-G'
5273 else
5274 if test "$aix_use_runtimelinking" = yes; then
5275 shared_flag='${wl}-G'
5276 else
5277 shared_flag='${wl}-bM:SRE'
5278 fi
5279 fi
5280 fi
5281
5282 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
5283 # It seems that -bexpall does not export symbols beginning with
5284 # underscore (_), so it is better to generate a list of symbols to export.
5285 _LT_TAGVAR(always_export_symbols, $1)=yes
5286 if test "$aix_use_runtimelinking" = yes; then
5287 # Warning - without using the other runtime loading flags (-brtl),
5288 # -berok will link without error, but may produce a broken library.
5289 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5290 # Determine the default libpath from the value encoded in an
5291 # empty executable.
5292 _LT_SYS_MODULE_PATH_AIX
5293 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5294 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
5295 else
5296 if test "$host_cpu" = ia64; then
5297 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5298 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5299 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
5300 else
5301 # Determine the default libpath from the value encoded in an
5302 # empty executable.
5303 _LT_SYS_MODULE_PATH_AIX
5304 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5305 # Warning - without using the other run time loading flags,
5306 # -berok will link without error, but may produce a broken library.
5307 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5308 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5309 # Exported symbols can be pulled into shared objects from archives
5310 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5311 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5312 # This is similar to how AIX traditionally builds its shared libraries.
5313 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
5314 fi
5315 fi
5316 ;;
5317
5318 amigaos*)
5319 case $host_cpu in
5320 powerpc)
5321 # see comment about AmigaOS4 .so support
5322 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5323 _LT_TAGVAR(archive_expsym_cmds, $1)=''
5324 ;;
5325 m68k)
5326 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
5327 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5328 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5329 ;;
5330 esac
5331 ;;
5332
5333 bsdi[[45]]*)
5334 _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
5335 ;;
5336
5337 cygwin* | mingw* | pw32* | cegcc*)
5338 # When not using gcc, we currently assume that we are using
5339 # Microsoft Visual C++.
5340 # hardcode_libdir_flag_spec is actually meaningless, as there is
5341 # no search path for DLLs.
5342 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5343 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5344 # Tell ltmain to make .lib files, not .a files.
5345 libext=lib
5346 # Tell ltmain to make .dll files, not .so files.
5347 shrext_cmds=".dll"
5348 # FIXME: Setting linknames here is a bad hack.
5349 _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
5350 # The linker will automatically build a .lib file if we build a DLL.
5351 _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5352 # FIXME: Should let the user specify the lib program.
5353 _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
5354 _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
5355 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5356 ;;
5357
5358 darwin* | rhapsody*)
5359 _LT_DARWIN_LINKER_FEATURES($1)
5360 ;;
5361
5362 dgux*)
5363 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5364 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5365 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5366 ;;
5367
5368 freebsd1*)
5369 _LT_TAGVAR(ld_shlibs, $1)=no
5370 ;;
5371
5372 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
5373 # support. Future versions do this automatically, but an explicit c++rt0.o
5374 # does not break anything, and helps significantly (at the cost of a little
5375 # extra space).
5376 freebsd2.2*)
5377 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5378 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5379 _LT_TAGVAR(hardcode_direct, $1)=yes
5380 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5381 ;;
5382
5383 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
5384 freebsd2*)
5385 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5386 _LT_TAGVAR(hardcode_direct, $1)=yes
5387 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5388 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5389 ;;
5390
5391 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
5392 freebsd* | dragonfly*)
5393 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
5394 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5395 _LT_TAGVAR(hardcode_direct, $1)=yes
5396 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5397 ;;
5398
5399 hpux9*)
5400 if test "$GCC" = yes; then
5401 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5402 else
5403 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5404 fi
5405 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5406 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5407 _LT_TAGVAR(hardcode_direct, $1)=yes
5408
5409 # hardcode_minus_L: Not really in the search PATH,
5410 # but as the default location of the library.
5411 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5412 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5413 ;;
5414
5415 hpux10*)
5416 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
5417 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5418 else
5419 _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
5420 fi
5421 if test "$with_gnu_ld" = no; then
5422 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5423 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
5424 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5425 _LT_TAGVAR(hardcode_direct, $1)=yes
5426 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5427 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5428 # hardcode_minus_L: Not really in the search PATH,
5429 # but as the default location of the library.
5430 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5431 fi
5432 ;;
5433
5434 hpux11*)
5435 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
5436 case $host_cpu in
5437 hppa*64*)
5438 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5439 ;;
5440 ia64*)
5441 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5442 ;;
5443 *)
5444 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5445 ;;
5446 esac
5447 else
5448 case $host_cpu in
5449 hppa*64*)
5450 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5451 ;;
5452 ia64*)
5453 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5454 ;;
5455 *)
5456 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5457 ;;
5458 esac
5459 fi
5460 if test "$with_gnu_ld" = no; then
5461 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5462 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5463
5464 case $host_cpu in
5465 hppa*64*|ia64*)
5466 _LT_TAGVAR(hardcode_direct, $1)=no
5467 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5468 ;;
5469 *)
5470 _LT_TAGVAR(hardcode_direct, $1)=yes
5471 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5472 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5473
5474 # hardcode_minus_L: Not really in the search PATH,
5475 # but as the default location of the library.
5476 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5477 ;;
5478 esac
5479 fi
5480 ;;
5481
5482 irix5* | irix6* | nonstopux*)
5483 if test "$GCC" = yes; then
5484 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
5485 # Try to use the -exported_symbol ld option, if it does not
5486 # work, assume that -exports_file does not work either and
5487 # implicitly export all symbols.
5488 save_LDFLAGS="$LDFLAGS"
5489 LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
5490 AC_LINK_IFELSE(int foo(void) {},
5491 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
5492 )
5493 LDFLAGS="$save_LDFLAGS"
5494 else
5495 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
5496 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
5497 fi
5498 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5499 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5500 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5501 _LT_TAGVAR(inherit_rpath, $1)=yes
5502 _LT_TAGVAR(link_all_deplibs, $1)=yes
5503 ;;
5504
5505 netbsd* | netbsdelf*-gnu)
5506 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5507 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
5508 else
5509 _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
5510 fi
5511 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5512 _LT_TAGVAR(hardcode_direct, $1)=yes
5513 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5514 ;;
5515
5516 newsos6)
5517 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5518 _LT_TAGVAR(hardcode_direct, $1)=yes
5519 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5520 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5521 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5522 ;;
5523
5524 *nto* | *qnx*)
5525 ;;
5526
5527 openbsd*)
5528 if test -f /usr/libexec/ld.so; then
5529 _LT_TAGVAR(hardcode_direct, $1)=yes
5530 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5531 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5532 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
5533 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5534 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
5535 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5536 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5537 else
5538 case $host_os in
5539 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
5540 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5541 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5542 ;;
5543 *)
5544 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5545 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5546 ;;
5547 esac
5548 fi
5549 else
5550 _LT_TAGVAR(ld_shlibs, $1)=no
5551 fi
5552 ;;
5553
5554 os2*)
5555 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5556 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5557 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5558 _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
5559 _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
5560 ;;
5561
5562 osf3*)
5563 if test "$GCC" = yes; then
5564 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
5565 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
5566 else
5567 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5568 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
5569 fi
5570 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5571 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5572 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5573 ;;
5574
5575 osf4* | osf5*) # as osf3* with the addition of -msym flag
5576 if test "$GCC" = yes; then
5577 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
5578 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
5579 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5580 else
5581 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5582 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
5583 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
5584 $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
5585
5586 # Both c and cxx compiler support -rpath directly
5587 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5588 fi
5589 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5590 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5591 ;;
5592
5593 solaris*)
5594 _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
5595 if test "$GCC" = yes; then
5596 wlarc='${wl}'
5597 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5598 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5599 $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5600 else
5601 case `$CC -V 2>&1` in
5602 *"Compilers 5.0"*)
5603 wlarc=''
5604 _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
5605 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5606 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
5607 ;;
5608 *)
5609 wlarc='${wl}'
5610 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
5611 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5612 $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5613 ;;
5614 esac
5615 fi
5616 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5617 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5618 case $host_os in
5619 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
5620 *)
5621 # The compiler driver will combine and reorder linker options,
5622 # but understands `-z linker_flag'. GCC discards it without `$wl',
5623 # but is careful enough not to reorder.
5624 # Supported since Solaris 2.6 (maybe 2.5.1?)
5625 if test "$GCC" = yes; then
5626 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
5627 else
5628 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
5629 fi
5630 ;;
5631 esac
5632 _LT_TAGVAR(link_all_deplibs, $1)=yes
5633 ;;
5634
5635 sunos4*)
5636 if test "x$host_vendor" = xsequent; then
5637 # Use $CC to link under sequent, because it throws in some extra .o
5638 # files that make .init and .fini sections work.
5639 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
5640 else
5641 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
5642 fi
5643 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5644 _LT_TAGVAR(hardcode_direct, $1)=yes
5645 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5646 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5647 ;;
5648
5649 sysv4)
5650 case $host_vendor in
5651 sni)
5652 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5653 _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
5654 ;;
5655 siemens)
5656 ## LD is ld it makes a PLAMLIB
5657 ## CC just makes a GrossModule.
5658 _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5659 _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5660 _LT_TAGVAR(hardcode_direct, $1)=no
5661 ;;
5662 motorola)
5663 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5664 _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
5665 ;;
5666 esac
5667 runpath_var='LD_RUN_PATH'
5668 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5669 ;;
5670
5671 sysv4.3*)
5672 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5673 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5674 _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
5675 ;;
5676
5677 sysv4*MP*)
5678 if test -d /usr/nec; then
5679 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5680 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5681 runpath_var=LD_RUN_PATH
5682 hardcode_runpath_var=yes
5683 _LT_TAGVAR(ld_shlibs, $1)=yes
5684 fi
5685 ;;
5686
5687 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
5688 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5689 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5690 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5691 runpath_var='LD_RUN_PATH'
5692
5693 if test "$GCC" = yes; then
5694 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5695 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5696 else
5697 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5698 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5699 fi
5700 ;;
5701
5702 sysv5* | sco3.2v5* | sco5v6*)
5703 # Note: We can NOT use -z defs as we might desire, because we do not
5704 # link with -lc, and that would cause any symbols used from libc to
5705 # always be unresolved, which means just about no library would
5706 # ever link correctly. If we're not using GNU ld we use -z text
5707 # though, which does catch some bad symbols but isn't as heavy-handed
5708 # as -z defs.
5709 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5710 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
5711 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5712 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5713 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
5714 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5715 _LT_TAGVAR(link_all_deplibs, $1)=yes
5716 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
5717 runpath_var='LD_RUN_PATH'
5718
5719 if test "$GCC" = yes; then
5720 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5721 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5722 else
5723 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5724 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5725 fi
5726 ;;
5727
5728 uts4*)
5729 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5730 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5731 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5732 ;;
5733
5734 *)
5735 _LT_TAGVAR(ld_shlibs, $1)=no
5736 ;;
5737 esac
5738
5739 if test x$host_vendor = xsni; then
5740 case $host in
5741 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
5742 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
5743 ;;
5744 esac
5745 fi
5746 fi
5747 ])
5748 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
5749 test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5750
5751 _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
5752
5753 _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
5754 _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
5755 _LT_DECL([], [extract_expsyms_cmds], [2],
5756 [The commands to extract the exported symbol list from a shared archive])
5757
5758 #
5759 # Do we need to explicitly link libc?
5760 #
5761 case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
5762 x|xyes)
5763 # Assume -lc should be added
5764 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5765
5766 if test "$enable_shared" = yes && test "$GCC" = yes; then
5767 case $_LT_TAGVAR(archive_cmds, $1) in
5768 *'~'*)
5769 # FIXME: we may have to deal with multi-command sequences.
5770 ;;
5771 '$CC '*)
5772 # Test whether the compiler implicitly links with -lc since on some
5773 # systems, -lgcc has to come before -lc. If gcc already passes -lc
5774 # to ld, don't add -lc before -lgcc.
5775 AC_MSG_CHECKING([whether -lc should be explicitly linked in])
5776 $RM conftest*
5777 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
5778
5779 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5780 soname=conftest
5781 lib=conftest
5782 libobjs=conftest.$ac_objext
5783 deplibs=
5784 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
5785 pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
5786 compiler_flags=-v
5787 linker_flags=-v
5788 verstring=
5789 output_objdir=.
5790 libname=conftest
5791 lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
5792 _LT_TAGVAR(allow_undefined_flag, $1)=
5793 if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
5794 then
5795 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5796 else
5797 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5798 fi
5799 _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
5800 else
5801 cat conftest.err 1>&5
5802 fi
5803 $RM conftest*
5804 AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
5805 ;;
5806 esac
5807 fi
5808 ;;
5809 esac
5810
5811 _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
5812 [Whether or not to add -lc for building shared libraries])
5813 _LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
5814 [enable_shared_with_static_runtimes], [0],
5815 [Whether or not to disallow shared libs when runtime libs are static])
5816 _LT_TAGDECL([], [export_dynamic_flag_spec], [1],
5817 [Compiler flag to allow reflexive dlopens])
5818 _LT_TAGDECL([], [whole_archive_flag_spec], [1],
5819 [Compiler flag to generate shared objects directly from archives])
5820 _LT_TAGDECL([], [compiler_needs_object], [1],
5821 [Whether the compiler copes with passing no objects directly])
5822 _LT_TAGDECL([], [old_archive_from_new_cmds], [2],
5823 [Create an old-style archive from a shared archive])
5824 _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
5825 [Create a temporary old-style archive to link instead of a shared archive])
5826 _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
5827 _LT_TAGDECL([], [archive_expsym_cmds], [2])
5828 _LT_TAGDECL([], [module_cmds], [2],
5829 [Commands used to build a loadable module if different from building
5830 a shared archive.])
5831 _LT_TAGDECL([], [module_expsym_cmds], [2])
5832 _LT_TAGDECL([], [with_gnu_ld], [1],
5833 [Whether we are building with GNU ld or not])
5834 _LT_TAGDECL([], [allow_undefined_flag], [1],
5835 [Flag that allows shared libraries with undefined symbols to be built])
5836 _LT_TAGDECL([], [no_undefined_flag], [1],
5837 [Flag that enforces no undefined symbols])
5838 _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
5839 [Flag to hardcode $libdir into a binary during linking.
5840 This must work even if $libdir does not exist])
5841 _LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
5842 [[If ld is used when linking, flag to hardcode $libdir into a binary
5843 during linking. This must work even if $libdir does not exist]])
5844 _LT_TAGDECL([], [hardcode_libdir_separator], [1],
5845 [Whether we need a single "-rpath" flag with a separated argument])
5846 _LT_TAGDECL([], [hardcode_direct], [0],
5847 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5848 DIR into the resulting binary])
5849 _LT_TAGDECL([], [hardcode_direct_absolute], [0],
5850 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5851 DIR into the resulting binary and the resulting library dependency is
5852 "absolute", i.e impossible to change by setting ${shlibpath_var} if the
5853 library is relocated])
5854 _LT_TAGDECL([], [hardcode_minus_L], [0],
5855 [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
5856 into the resulting binary])
5857 _LT_TAGDECL([], [hardcode_shlibpath_var], [0],
5858 [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
5859 into the resulting binary])
5860 _LT_TAGDECL([], [hardcode_automatic], [0],
5861 [Set to "yes" if building a shared library automatically hardcodes DIR
5862 into the library and all subsequent libraries and executables linked
5863 against it])
5864 _LT_TAGDECL([], [inherit_rpath], [0],
5865 [Set to yes if linker adds runtime paths of dependent libraries
5866 to runtime path list])
5867 _LT_TAGDECL([], [link_all_deplibs], [0],
5868 [Whether libtool must link a program against all its dependency libraries])
5869 _LT_TAGDECL([], [fix_srcfile_path], [1],
5870 [Fix the shell variable $srcfile for the compiler])
5871 _LT_TAGDECL([], [always_export_symbols], [0],
5872 [Set to "yes" if exported symbols are required])
5873 _LT_TAGDECL([], [export_symbols_cmds], [2],
5874 [The commands to list exported symbols])
5875 _LT_TAGDECL([], [exclude_expsyms], [1],
5876 [Symbols that should not be listed in the preloaded symbols])
5877 _LT_TAGDECL([], [include_expsyms], [1],
5878 [Symbols that must always be exported])
5879 _LT_TAGDECL([], [prelink_cmds], [2],
5880 [Commands necessary for linking programs (against libraries) with templates])
5881 _LT_TAGDECL([], [file_list_spec], [1],
5882 [Specify filename containing input files])
5883 dnl FIXME: Not yet implemented
5884 dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
5885 dnl [Compiler flag to generate thread safe objects])
5886 ])# _LT_LINKER_SHLIBS
5887
5888
5889 # _LT_LANG_C_CONFIG([TAG])
5890 # ------------------------
5891 # Ensure that the configuration variables for a C compiler are suitably
5892 # defined. These variables are subsequently used by _LT_CONFIG to write
5893 # the compiler configuration to `libtool'.
5894 m4_defun([_LT_LANG_C_CONFIG],
5895 [m4_require([_LT_DECL_EGREP])dnl
5896 lt_save_CC="$CC"
5897 AC_LANG_PUSH(C)
5898
5899 # Source file extension for C test sources.
5900 ac_ext=c
5901
5902 # Object file extension for compiled C test sources.
5903 objext=o
5904 _LT_TAGVAR(objext, $1)=$objext
5905
5906 # Code to be used in simple compile tests
5907 lt_simple_compile_test_code="int some_variable = 0;"
5908
5909 # Code to be used in simple link tests
5910 lt_simple_link_test_code='int main(){return(0);}'
5911
5912 _LT_TAG_COMPILER
5913 # Save the default compiler, since it gets overwritten when the other
5914 # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
5915 compiler_DEFAULT=$CC
5916
5917 # save warnings/boilerplate of simple test code
5918 _LT_COMPILER_BOILERPLATE
5919 _LT_LINKER_BOILERPLATE
5920
5921 if test -n "$compiler"; then
5922 _LT_COMPILER_NO_RTTI($1)
5923 _LT_COMPILER_PIC($1)
5924 _LT_COMPILER_C_O($1)
5925 _LT_COMPILER_FILE_LOCKS($1)
5926 _LT_LINKER_SHLIBS($1)
5927 _LT_SYS_DYNAMIC_LINKER($1)
5928 _LT_LINKER_HARDCODE_LIBPATH($1)
5929 LT_SYS_DLOPEN_SELF
5930 _LT_CMD_STRIPLIB
5931
5932 # Report which library types will actually be built
5933 AC_MSG_CHECKING([if libtool supports shared libraries])
5934 AC_MSG_RESULT([$can_build_shared])
5935
5936 AC_MSG_CHECKING([whether to build shared libraries])
5937 test "$can_build_shared" = "no" && enable_shared=no
5938
5939 # On AIX, shared libraries and static libraries use the same namespace, and
5940 # are all built from PIC.
5941 case $host_os in
5942 aix3*)
5943 test "$enable_shared" = yes && enable_static=no
5944 if test -n "$RANLIB"; then
5945 archive_cmds="$archive_cmds~\$RANLIB \$lib"
5946 postinstall_cmds='$RANLIB $lib'
5947 fi
5948 ;;
5949
5950 aix[[4-9]]*)
5951 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5952 test "$enable_shared" = yes && enable_static=no
5953 fi
5954 ;;
5955 esac
5956 AC_MSG_RESULT([$enable_shared])
5957
5958 AC_MSG_CHECKING([whether to build static libraries])
5959 # Make sure either enable_shared or enable_static is yes.
5960 test "$enable_shared" = yes || enable_static=yes
5961 AC_MSG_RESULT([$enable_static])
5962
5963 _LT_CONFIG($1)
5964 fi
5965 AC_LANG_POP
5966 CC="$lt_save_CC"
5967 ])# _LT_LANG_C_CONFIG
5968
5969
5970 # _LT_PROG_CXX
5971 # ------------
5972 # Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
5973 # compiler, we have our own version here.
5974 m4_defun([_LT_PROG_CXX],
5975 [
5976 pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
5977 AC_PROG_CXX
5978 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
5979 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
5980 (test "X$CXX" != "Xg++"))) ; then
5981 AC_PROG_CXXCPP
5982 else
5983 _lt_caught_CXX_error=yes
5984 fi
5985 popdef([AC_MSG_ERROR])
5986 ])# _LT_PROG_CXX
5987
5988 dnl aclocal-1.4 backwards compatibility:
5989 dnl AC_DEFUN([_LT_PROG_CXX], [])
5990
5991
5992 # _LT_LANG_CXX_CONFIG([TAG])
5993 # --------------------------
5994 # Ensure that the configuration variables for a C++ compiler are suitably
5995 # defined. These variables are subsequently used by _LT_CONFIG to write
5996 # the compiler configuration to `libtool'.
5997 m4_defun([_LT_LANG_CXX_CONFIG],
5998 [AC_REQUIRE([_LT_PROG_CXX])dnl
5999 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6000 m4_require([_LT_DECL_EGREP])dnl
6001
6002 AC_LANG_PUSH(C++)
6003 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6004 _LT_TAGVAR(allow_undefined_flag, $1)=
6005 _LT_TAGVAR(always_export_symbols, $1)=no
6006 _LT_TAGVAR(archive_expsym_cmds, $1)=
6007 _LT_TAGVAR(compiler_needs_object, $1)=no
6008 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
6009 _LT_TAGVAR(hardcode_direct, $1)=no
6010 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6011 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6012 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6013 _LT_TAGVAR(hardcode_libdir_separator, $1)=
6014 _LT_TAGVAR(hardcode_minus_L, $1)=no
6015 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
6016 _LT_TAGVAR(hardcode_automatic, $1)=no
6017 _LT_TAGVAR(inherit_rpath, $1)=no
6018 _LT_TAGVAR(module_cmds, $1)=
6019 _LT_TAGVAR(module_expsym_cmds, $1)=
6020 _LT_TAGVAR(link_all_deplibs, $1)=unknown
6021 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6022 _LT_TAGVAR(no_undefined_flag, $1)=
6023 _LT_TAGVAR(whole_archive_flag_spec, $1)=
6024 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6025
6026 # Source file extension for C++ test sources.
6027 ac_ext=cpp
6028
6029 # Object file extension for compiled C++ test sources.
6030 objext=o
6031 _LT_TAGVAR(objext, $1)=$objext
6032
6033 # No sense in running all these tests if we already determined that
6034 # the CXX compiler isn't working. Some variables (like enable_shared)
6035 # are currently assumed to apply to all compilers on this platform,
6036 # and will be corrupted by setting them based on a non-working compiler.
6037 if test "$_lt_caught_CXX_error" != yes; then
6038 # Code to be used in simple compile tests
6039 lt_simple_compile_test_code="int some_variable = 0;"
6040
6041 # Code to be used in simple link tests
6042 lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
6043
6044 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6045 _LT_TAG_COMPILER
6046
6047 # save warnings/boilerplate of simple test code
6048 _LT_COMPILER_BOILERPLATE
6049 _LT_LINKER_BOILERPLATE
6050
6051 # Allow CC to be a program name with arguments.
6052 lt_save_CC=$CC
6053 lt_save_LD=$LD
6054 lt_save_GCC=$GCC
6055 GCC=$GXX
6056 lt_save_with_gnu_ld=$with_gnu_ld
6057 lt_save_path_LD=$lt_cv_path_LD
6058 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
6059 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
6060 else
6061 $as_unset lt_cv_prog_gnu_ld
6062 fi
6063 if test -n "${lt_cv_path_LDCXX+set}"; then
6064 lt_cv_path_LD=$lt_cv_path_LDCXX
6065 else
6066 $as_unset lt_cv_path_LD
6067 fi
6068 test -z "${LDCXX+set}" || LD=$LDCXX
6069 CC=${CXX-"c++"}
6070 compiler=$CC
6071 _LT_TAGVAR(compiler, $1)=$CC
6072 _LT_CC_BASENAME([$compiler])
6073
6074 if test -n "$compiler"; then
6075 # We don't want -fno-exception when compiling C++ code, so set the
6076 # no_builtin_flag separately
6077 if test "$GXX" = yes; then
6078 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
6079 else
6080 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
6081 fi
6082
6083 if test "$GXX" = yes; then
6084 # Set up default GNU C++ configuration
6085
6086 LT_PATH_LD
6087
6088 # Check if GNU C++ uses GNU ld as the underlying linker, since the
6089 # archiving commands below assume that GNU ld is being used.
6090 if test "$with_gnu_ld" = yes; then
6091 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
6092 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
6093
6094 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6095 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6096
6097 # If archive_cmds runs LD, not CC, wlarc should be empty
6098 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
6099 # investigate it a little bit more. (MM)
6100 wlarc='${wl}'
6101
6102 # ancient GNU ld didn't support --whole-archive et. al.
6103 if eval "`$CC -print-prog-name=ld` --help 2>&1" |
6104 $GREP 'no-whole-archive' > /dev/null; then
6105 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6106 else
6107 _LT_TAGVAR(whole_archive_flag_spec, $1)=
6108 fi
6109 else
6110 with_gnu_ld=no
6111 wlarc=
6112
6113 # A generic and very simple default shared library creation
6114 # command for GNU C++ for the case where it uses the native
6115 # linker, instead of GNU ld. If possible, this setting should
6116 # overridden to take advantage of the native linker features on
6117 # the platform it is being used on.
6118 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6119 fi
6120
6121 # Commands to make compiler produce verbose output that lists
6122 # what "hidden" libraries, object files and flags are used when
6123 # linking a shared library.
6124 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6125
6126 else
6127 GXX=no
6128 with_gnu_ld=no
6129 wlarc=
6130 fi
6131
6132 # PORTME: fill in a description of your system's C++ link characteristics
6133 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
6134 _LT_TAGVAR(ld_shlibs, $1)=yes
6135 case $host_os in
6136 aix3*)
6137 # FIXME: insert proper C++ library support
6138 _LT_TAGVAR(ld_shlibs, $1)=no
6139 ;;
6140 aix[[4-9]]*)
6141 if test "$host_cpu" = ia64; then
6142 # On IA64, the linker does run time linking by default, so we don't
6143 # have to do anything special.
6144 aix_use_runtimelinking=no
6145 exp_sym_flag='-Bexport'
6146 no_entry_flag=""
6147 else
6148 aix_use_runtimelinking=no
6149
6150 # Test if we are trying to use run time linking or normal
6151 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
6152 # need to do runtime linking.
6153 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
6154 for ld_flag in $LDFLAGS; do
6155 case $ld_flag in
6156 *-brtl*)
6157 aix_use_runtimelinking=yes
6158 break
6159 ;;
6160 esac
6161 done
6162 ;;
6163 esac
6164
6165 exp_sym_flag='-bexport'
6166 no_entry_flag='-bnoentry'
6167 fi
6168
6169 # When large executables or shared objects are built, AIX ld can
6170 # have problems creating the table of contents. If linking a library
6171 # or program results in "error TOC overflow" add -mminimal-toc to
6172 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
6173 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
6174
6175 _LT_TAGVAR(archive_cmds, $1)=''
6176 _LT_TAGVAR(hardcode_direct, $1)=yes
6177 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6178 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6179 _LT_TAGVAR(link_all_deplibs, $1)=yes
6180 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
6181
6182 if test "$GXX" = yes; then
6183 case $host_os in aix4.[[012]]|aix4.[[012]].*)
6184 # We only want to do this on AIX 4.2 and lower, the check
6185 # below for broken collect2 doesn't work under 4.3+
6186 collect2name=`${CC} -print-prog-name=collect2`
6187 if test -f "$collect2name" &&
6188 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
6189 then
6190 # We have reworked collect2
6191 :
6192 else
6193 # We have old collect2
6194 _LT_TAGVAR(hardcode_direct, $1)=unsupported
6195 # It fails to find uninstalled libraries when the uninstalled
6196 # path is not listed in the libpath. Setting hardcode_minus_L
6197 # to unsupported forces relinking
6198 _LT_TAGVAR(hardcode_minus_L, $1)=yes
6199 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6200 _LT_TAGVAR(hardcode_libdir_separator, $1)=
6201 fi
6202 esac
6203 shared_flag='-shared'
6204 if test "$aix_use_runtimelinking" = yes; then
6205 shared_flag="$shared_flag "'${wl}-G'
6206 fi
6207 else
6208 # not using gcc
6209 if test "$host_cpu" = ia64; then
6210 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
6211 # chokes on -Wl,-G. The following line is correct:
6212 shared_flag='-G'
6213 else
6214 if test "$aix_use_runtimelinking" = yes; then
6215 shared_flag='${wl}-G'
6216 else
6217 shared_flag='${wl}-bM:SRE'
6218 fi
6219 fi
6220 fi
6221
6222 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
6223 # It seems that -bexpall does not export symbols beginning with
6224 # underscore (_), so it is better to generate a list of symbols to
6225 # export.
6226 _LT_TAGVAR(always_export_symbols, $1)=yes
6227 if test "$aix_use_runtimelinking" = yes; then
6228 # Warning - without using the other runtime loading flags (-brtl),
6229 # -berok will link without error, but may produce a broken library.
6230 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
6231 # Determine the default libpath from the value encoded in an empty
6232 # executable.
6233 _LT_SYS_MODULE_PATH_AIX
6234 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6235
6236 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
6237 else
6238 if test "$host_cpu" = ia64; then
6239 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
6240 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6241 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
6242 else
6243 # Determine the default libpath from the value encoded in an
6244 # empty executable.
6245 _LT_SYS_MODULE_PATH_AIX
6246 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6247 # Warning - without using the other run time loading flags,
6248 # -berok will link without error, but may produce a broken library.
6249 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
6250 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
6251 # Exported symbols can be pulled into shared objects from archives
6252 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6253 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6254 # This is similar to how AIX traditionally builds its shared
6255 # libraries.
6256 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
6257 fi
6258 fi
6259 ;;
6260
6261 beos*)
6262 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
6263 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6264 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
6265 # support --undefined. This deserves some investigation. FIXME
6266 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6267 else
6268 _LT_TAGVAR(ld_shlibs, $1)=no
6269 fi
6270 ;;
6271
6272 chorus*)
6273 case $cc_basename in
6274 *)
6275 # FIXME: insert proper C++ library support
6276 _LT_TAGVAR(ld_shlibs, $1)=no
6277 ;;
6278 esac
6279 ;;
6280
6281 cygwin* | mingw* | pw32* | cegcc*)
6282 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6283 # as there is no search path for DLLs.
6284 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6285 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6286 _LT_TAGVAR(always_export_symbols, $1)=no
6287 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6288
6289 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6290 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6291 # If the export-symbols file already is a .def file (1st line
6292 # is EXPORTS), use it as is; otherwise, prepend...
6293 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
6294 cp $export_symbols $output_objdir/$soname.def;
6295 else
6296 echo EXPORTS > $output_objdir/$soname.def;
6297 cat $export_symbols >> $output_objdir/$soname.def;
6298 fi~
6299 $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6300 else
6301 _LT_TAGVAR(ld_shlibs, $1)=no
6302 fi
6303 ;;
6304 darwin* | rhapsody*)
6305 _LT_DARWIN_LINKER_FEATURES($1)
6306 ;;
6307
6308 dgux*)
6309 case $cc_basename in
6310 ec++*)
6311 # FIXME: insert proper C++ library support
6312 _LT_TAGVAR(ld_shlibs, $1)=no
6313 ;;
6314 ghcx*)
6315 # Green Hills C++ Compiler
6316 # FIXME: insert proper C++ library support
6317 _LT_TAGVAR(ld_shlibs, $1)=no
6318 ;;
6319 *)
6320 # FIXME: insert proper C++ library support
6321 _LT_TAGVAR(ld_shlibs, $1)=no
6322 ;;
6323 esac
6324 ;;
6325
6326 freebsd[[12]]*)
6327 # C++ shared libraries reported to be fairly broken before
6328 # switch to ELF
6329 _LT_TAGVAR(ld_shlibs, $1)=no
6330 ;;
6331
6332 freebsd-elf*)
6333 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6334 ;;
6335
6336 freebsd* | dragonfly*)
6337 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
6338 # conventions
6339 _LT_TAGVAR(ld_shlibs, $1)=yes
6340 ;;
6341
6342 gnu*)
6343 ;;
6344
6345 hpux9*)
6346 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
6347 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6348 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6349 _LT_TAGVAR(hardcode_direct, $1)=yes
6350 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6351 # but as the default
6352 # location of the library.
6353
6354 case $cc_basename in
6355 CC*)
6356 # FIXME: insert proper C++ library support
6357 _LT_TAGVAR(ld_shlibs, $1)=no
6358 ;;
6359 aCC*)
6360 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
6361 # Commands to make compiler produce verbose output that lists
6362 # what "hidden" libraries, object files and flags are used when
6363 # linking a shared library.
6364 #
6365 # There doesn't appear to be a way to prevent this compiler from
6366 # explicitly linking system object files so we need to strip them
6367 # from the output so that they don't get included in the library
6368 # dependencies.
6369 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
6370 ;;
6371 *)
6372 if test "$GXX" = yes; then
6373 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
6374 else
6375 # FIXME: insert proper C++ library support
6376 _LT_TAGVAR(ld_shlibs, $1)=no
6377 fi
6378 ;;
6379 esac
6380 ;;
6381
6382 hpux10*|hpux11*)
6383 if test $with_gnu_ld = no; then
6384 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
6385 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6386
6387 case $host_cpu in
6388 hppa*64*|ia64*)
6389 ;;
6390 *)
6391 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6392 ;;
6393 esac
6394 fi
6395 case $host_cpu in
6396 hppa*64*|ia64*)
6397 _LT_TAGVAR(hardcode_direct, $1)=no
6398 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6399 ;;
6400 *)
6401 _LT_TAGVAR(hardcode_direct, $1)=yes
6402 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6403 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6404 # but as the default
6405 # location of the library.
6406 ;;
6407 esac
6408
6409 case $cc_basename in
6410 CC*)
6411 # FIXME: insert proper C++ library support
6412 _LT_TAGVAR(ld_shlibs, $1)=no
6413 ;;
6414 aCC*)
6415 case $host_cpu in
6416 hppa*64*)
6417 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6418 ;;
6419 ia64*)
6420 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6421 ;;
6422 *)
6423 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6424 ;;
6425 esac
6426 # Commands to make compiler produce verbose output that lists
6427 # what "hidden" libraries, object files and flags are used when
6428 # linking a shared library.
6429 #
6430 # There doesn't appear to be a way to prevent this compiler from
6431 # explicitly linking system object files so we need to strip them
6432 # from the output so that they don't get included in the library
6433 # dependencies.
6434 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
6435 ;;
6436 *)
6437 if test "$GXX" = yes; then
6438 if test $with_gnu_ld = no; then
6439 case $host_cpu in
6440 hppa*64*)
6441 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6442 ;;
6443 ia64*)
6444 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6445 ;;
6446 *)
6447 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6448 ;;
6449 esac
6450 fi
6451 else
6452 # FIXME: insert proper C++ library support
6453 _LT_TAGVAR(ld_shlibs, $1)=no
6454 fi
6455 ;;
6456 esac
6457 ;;
6458
6459 interix[[3-9]]*)
6460 _LT_TAGVAR(hardcode_direct, $1)=no
6461 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6462 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6463 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6464 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
6465 # Instead, shared libraries are loaded at an image base (0x10000000 by
6466 # default) and relocated if they conflict, which is a slow very memory
6467 # consuming and fragmenting process. To avoid this, we pick a random,
6468 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
6469 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
6470 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
6471 _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
6472 ;;
6473 irix5* | irix6*)
6474 case $cc_basename in
6475 CC*)
6476 # SGI C++
6477 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
6478
6479 # Archives containing C++ object files must be created using
6480 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
6481 # necessary to make sure instantiated templates are included
6482 # in the archive.
6483 _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
6484 ;;
6485 *)
6486 if test "$GXX" = yes; then
6487 if test "$with_gnu_ld" = no; then
6488 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6489 else
6490 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
6491 fi
6492 fi
6493 _LT_TAGVAR(link_all_deplibs, $1)=yes
6494 ;;
6495 esac
6496 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6497 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6498 _LT_TAGVAR(inherit_rpath, $1)=yes
6499 ;;
6500
6501 linux* | k*bsd*-gnu | kopensolaris*-gnu)
6502 case $cc_basename in
6503 KCC*)
6504 # Kuck and Associates, Inc. (KAI) C++ Compiler
6505
6506 # KCC will only create a shared library if the output file
6507 # ends with ".so" (or ".sl" for HP-UX), so rename the library
6508 # to its proper name (with version) after linking.
6509 _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
6510 _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
6511 # Commands to make compiler produce verbose output that lists
6512 # what "hidden" libraries, object files and flags are used when
6513 # linking a shared library.
6514 #
6515 # There doesn't appear to be a way to prevent this compiler from
6516 # explicitly linking system object files so we need to strip them
6517 # from the output so that they don't get included in the library
6518 # dependencies.
6519 output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
6520
6521 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6522 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6523
6524 # Archives containing C++ object files must be created using
6525 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
6526 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
6527 ;;
6528 icpc* | ecpc* )
6529 # Intel C++
6530 with_gnu_ld=yes
6531 # version 8.0 and above of icpc choke on multiply defined symbols
6532 # if we add $predep_objects and $postdep_objects, however 7.1 and
6533 # earlier do not add the objects themselves.
6534 case `$CC -V 2>&1` in
6535 *"Version 7."*)
6536 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
6537 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
6538 ;;
6539 *) # Version 8.0 or newer
6540 tmp_idyn=
6541 case $host_cpu in
6542 ia64*) tmp_idyn=' -i_dynamic';;
6543 esac
6544 _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6545 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
6546 ;;
6547 esac
6548 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6549 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6550 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6551 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
6552 ;;
6553 pgCC* | pgcpp*)
6554 # Portland Group C++ compiler
6555 case `$CC -V` in
6556 *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
6557 _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
6558 rm -rf $tpldir~
6559 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
6560 compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
6561 _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
6562 rm -rf $tpldir~
6563 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
6564 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
6565 $RANLIB $oldlib'
6566 _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
6567 rm -rf $tpldir~
6568 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
6569 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
6570 _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
6571 rm -rf $tpldir~
6572 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
6573 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
6574 ;;
6575 *) # Version 6 will use weak symbols
6576 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
6577 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
6578 ;;
6579 esac
6580
6581 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
6582 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6583 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
6584 ;;
6585 cxx*)
6586 # Compaq C++
6587 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
6588 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
6589
6590 runpath_var=LD_RUN_PATH
6591 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6592 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6593
6594 # Commands to make compiler produce verbose output that lists
6595 # what "hidden" libraries, object files and flags are used when
6596 # linking a shared library.
6597 #
6598 # There doesn't appear to be a way to prevent this compiler from
6599 # explicitly linking system object files so we need to strip them
6600 # from the output so that they don't get included in the library
6601 # dependencies.
6602 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
6603 ;;
6604 xl*)
6605 # IBM XL 8.0 on PPC, with GNU ld
6606 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6607 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6608 _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6609 if test "x$supports_anon_versioning" = xyes; then
6610 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
6611 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
6612 echo "local: *; };" >> $output_objdir/$libname.ver~
6613 $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
6614 fi
6615 ;;
6616 *)
6617 case `$CC -V 2>&1 | sed 5q` in
6618 *Sun\ C*)
6619 # Sun C++ 5.9
6620 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6621 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6622 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
6623 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6624 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
6625 _LT_TAGVAR(compiler_needs_object, $1)=yes
6626
6627 # Not sure whether something based on
6628 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
6629 # would be better.
6630 output_verbose_link_cmd='echo'
6631
6632 # Archives containing C++ object files must be created using
6633 # "CC -xar", where "CC" is the Sun C++ compiler. This is
6634 # necessary to make sure instantiated templates are included
6635 # in the archive.
6636 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6637 ;;
6638 esac
6639 ;;
6640 esac
6641 ;;
6642
6643 lynxos*)
6644 # FIXME: insert proper C++ library support
6645 _LT_TAGVAR(ld_shlibs, $1)=no
6646 ;;
6647
6648 m88k*)
6649 # FIXME: insert proper C++ library support
6650 _LT_TAGVAR(ld_shlibs, $1)=no
6651 ;;
6652
6653 mvs*)
6654 case $cc_basename in
6655 cxx*)
6656 # FIXME: insert proper C++ library support
6657 _LT_TAGVAR(ld_shlibs, $1)=no
6658 ;;
6659 *)
6660 # FIXME: insert proper C++ library support
6661 _LT_TAGVAR(ld_shlibs, $1)=no
6662 ;;
6663 esac
6664 ;;
6665
6666 netbsd*)
6667 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
6668 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
6669 wlarc=
6670 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6671 _LT_TAGVAR(hardcode_direct, $1)=yes
6672 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6673 fi
6674 # Workaround some broken pre-1.5 toolchains
6675 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
6676 ;;
6677
6678 *nto* | *qnx*)
6679 _LT_TAGVAR(ld_shlibs, $1)=yes
6680 ;;
6681
6682 openbsd2*)
6683 # C++ shared libraries are fairly broken
6684 _LT_TAGVAR(ld_shlibs, $1)=no
6685 ;;
6686
6687 openbsd*)
6688 if test -f /usr/libexec/ld.so; then
6689 _LT_TAGVAR(hardcode_direct, $1)=yes
6690 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6691 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6692 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6693 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6694 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
6695 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
6696 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6697 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6698 fi
6699 output_verbose_link_cmd=echo
6700 else
6701 _LT_TAGVAR(ld_shlibs, $1)=no
6702 fi
6703 ;;
6704
6705 osf3* | osf4* | osf5*)
6706 case $cc_basename in
6707 KCC*)
6708 # Kuck and Associates, Inc. (KAI) C++ Compiler
6709
6710 # KCC will only create a shared library if the output file
6711 # ends with ".so" (or ".sl" for HP-UX), so rename the library
6712 # to its proper name (with version) after linking.
6713 _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
6714
6715 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6716 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6717
6718 # Archives containing C++ object files must be created using
6719 # the KAI C++ compiler.
6720 case $host in
6721 osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
6722 *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
6723 esac
6724 ;;
6725 RCC*)
6726 # Rational C++ 2.4.1
6727 # FIXME: insert proper C++ library support
6728 _LT_TAGVAR(ld_shlibs, $1)=no
6729 ;;
6730 cxx*)
6731 case $host in
6732 osf3*)
6733 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6734 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
6735 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6736 ;;
6737 *)
6738 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6739 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
6740 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
6741 echo "-hidden">> $lib.exp~
6742 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
6743 $RM $lib.exp'
6744 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6745 ;;
6746 esac
6747
6748 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6749
6750 # Commands to make compiler produce verbose output that lists
6751 # what "hidden" libraries, object files and flags are used when
6752 # linking a shared library.
6753 #
6754 # There doesn't appear to be a way to prevent this compiler from
6755 # explicitly linking system object files so we need to strip them
6756 # from the output so that they don't get included in the library
6757 # dependencies.
6758 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
6759 ;;
6760 *)
6761 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6762 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6763 case $host in
6764 osf3*)
6765 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6766 ;;
6767 *)
6768 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6769 ;;
6770 esac
6771
6772 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6773 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6774
6775 # Commands to make compiler produce verbose output that lists
6776 # what "hidden" libraries, object files and flags are used when
6777 # linking a shared library.
6778 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6779
6780 else
6781 # FIXME: insert proper C++ library support
6782 _LT_TAGVAR(ld_shlibs, $1)=no
6783 fi
6784 ;;
6785 esac
6786 ;;
6787
6788 psos*)
6789 # FIXME: insert proper C++ library support
6790 _LT_TAGVAR(ld_shlibs, $1)=no
6791 ;;
6792
6793 sunos4*)
6794 case $cc_basename in
6795 CC*)
6796 # Sun C++ 4.x
6797 # FIXME: insert proper C++ library support
6798 _LT_TAGVAR(ld_shlibs, $1)=no
6799 ;;
6800 lcc*)
6801 # Lucid
6802 # FIXME: insert proper C++ library support
6803 _LT_TAGVAR(ld_shlibs, $1)=no
6804 ;;
6805 *)
6806 # FIXME: insert proper C++ library support
6807 _LT_TAGVAR(ld_shlibs, $1)=no
6808 ;;
6809 esac
6810 ;;
6811
6812 solaris*)
6813 case $cc_basename in
6814 CC*)
6815 # Sun C++ 4.2, 5.x and Centerline C++
6816 _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
6817 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6818 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6819 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6820 $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6821
6822 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6823 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6824 case $host_os in
6825 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6826 *)
6827 # The compiler driver will combine and reorder linker options,
6828 # but understands `-z linker_flag'.
6829 # Supported since Solaris 2.6 (maybe 2.5.1?)
6830 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
6831 ;;
6832 esac
6833 _LT_TAGVAR(link_all_deplibs, $1)=yes
6834
6835 output_verbose_link_cmd='echo'
6836
6837 # Archives containing C++ object files must be created using
6838 # "CC -xar", where "CC" is the Sun C++ compiler. This is
6839 # necessary to make sure instantiated templates are included
6840 # in the archive.
6841 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6842 ;;
6843 gcx*)
6844 # Green Hills C++ Compiler
6845 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6846
6847 # The C++ compiler must be used to create the archive.
6848 _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
6849 ;;
6850 *)
6851 # GNU C++ compiler with Solaris linker
6852 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6853 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
6854 if $CC --version | $GREP -v '^2\.7' > /dev/null; then
6855 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6856 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6857 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6858
6859 # Commands to make compiler produce verbose output that lists
6860 # what "hidden" libraries, object files and flags are used when
6861 # linking a shared library.
6862 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6863 else
6864 # g++ 2.7 appears to require `-G' NOT `-shared' on this
6865 # platform.
6866 _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6867 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6868 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6869
6870 # Commands to make compiler produce verbose output that lists
6871 # what "hidden" libraries, object files and flags are used when
6872 # linking a shared library.
6873 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6874 fi
6875
6876 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
6877 case $host_os in
6878 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6879 *)
6880 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
6881 ;;
6882 esac
6883 fi
6884 ;;
6885 esac
6886 ;;
6887
6888 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6889 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6890 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6891 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6892 runpath_var='LD_RUN_PATH'
6893
6894 case $cc_basename in
6895 CC*)
6896 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6897 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6898 ;;
6899 *)
6900 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6901 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6902 ;;
6903 esac
6904 ;;
6905
6906 sysv5* | sco3.2v5* | sco5v6*)
6907 # Note: We can NOT use -z defs as we might desire, because we do not
6908 # link with -lc, and that would cause any symbols used from libc to
6909 # always be unresolved, which means just about no library would
6910 # ever link correctly. If we're not using GNU ld we use -z text
6911 # though, which does catch some bad symbols but isn't as heavy-handed
6912 # as -z defs.
6913 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6914 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
6915 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6916 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6917 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
6918 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6919 _LT_TAGVAR(link_all_deplibs, $1)=yes
6920 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
6921 runpath_var='LD_RUN_PATH'
6922
6923 case $cc_basename in
6924 CC*)
6925 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6926 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6927 ;;
6928 *)
6929 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6930 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6931 ;;
6932 esac
6933 ;;
6934
6935 tandem*)
6936 case $cc_basename in
6937 NCC*)
6938 # NonStop-UX NCC 3.20
6939 # FIXME: insert proper C++ library support
6940 _LT_TAGVAR(ld_shlibs, $1)=no
6941 ;;
6942 *)
6943 # FIXME: insert proper C++ library support
6944 _LT_TAGVAR(ld_shlibs, $1)=no
6945 ;;
6946 esac
6947 ;;
6948
6949 vxworks*)
6950 # FIXME: insert proper C++ library support
6951 _LT_TAGVAR(ld_shlibs, $1)=no
6952 ;;
6953
6954 *)
6955 # FIXME: insert proper C++ library support
6956 _LT_TAGVAR(ld_shlibs, $1)=no
6957 ;;
6958 esac
6959
6960 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6961 test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
6962
6963 _LT_TAGVAR(GCC, $1)="$GXX"
6964 _LT_TAGVAR(LD, $1)="$LD"
6965
6966 ## CAVEAT EMPTOR:
6967 ## There is no encapsulation within the following macros, do not change
6968 ## the running order or otherwise move them around unless you know exactly
6969 ## what you are doing...
6970 _LT_SYS_HIDDEN_LIBDEPS($1)
6971 _LT_COMPILER_PIC($1)
6972 _LT_COMPILER_C_O($1)
6973 _LT_COMPILER_FILE_LOCKS($1)
6974 _LT_LINKER_SHLIBS($1)
6975 _LT_SYS_DYNAMIC_LINKER($1)
6976 _LT_LINKER_HARDCODE_LIBPATH($1)
6977
6978 _LT_CONFIG($1)
6979 fi # test -n "$compiler"
6980
6981 CC=$lt_save_CC
6982 LDCXX=$LD
6983 LD=$lt_save_LD
6984 GCC=$lt_save_GCC
6985 with_gnu_ld=$lt_save_with_gnu_ld
6986 lt_cv_path_LDCXX=$lt_cv_path_LD
6987 lt_cv_path_LD=$lt_save_path_LD
6988 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
6989 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
6990 fi # test "$_lt_caught_CXX_error" != yes
6991
6992 AC_LANG_POP
6993 ])# _LT_LANG_CXX_CONFIG
6994
6995
6996 # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
6997 # ---------------------------------
6998 # Figure out "hidden" library dependencies from verbose
6999 # compiler output when linking a shared library.
7000 # Parse the compiler output and extract the necessary
7001 # objects, libraries and library flags.
7002 m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
7003 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
7004 # Dependencies to place before and after the object being linked:
7005 _LT_TAGVAR(predep_objects, $1)=
7006 _LT_TAGVAR(postdep_objects, $1)=
7007 _LT_TAGVAR(predeps, $1)=
7008 _LT_TAGVAR(postdeps, $1)=
7009 _LT_TAGVAR(compiler_lib_search_path, $1)=
7010
7011 dnl we can't use the lt_simple_compile_test_code here,
7012 dnl because it contains code intended for an executable,
7013 dnl not a library. It's possible we should let each
7014 dnl tag define a new lt_????_link_test_code variable,
7015 dnl but it's only used here...
7016 m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
7017 int a;
7018 void foo (void) { a = 0; }
7019 _LT_EOF
7020 ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
7021 class Foo
7022 {
7023 public:
7024 Foo (void) { a = 0; }
7025 private:
7026 int a;
7027 };
7028 _LT_EOF
7029 ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
7030 subroutine foo
7031 implicit none
7032 integer*4 a
7033 a=0
7034 return
7035 end
7036 _LT_EOF
7037 ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
7038 subroutine foo
7039 implicit none
7040 integer a
7041 a=0
7042 return
7043 end
7044 _LT_EOF
7045 ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
7046 public class foo {
7047 private int a;
7048 public void bar (void) {
7049 a = 0;
7050 }
7051 };
7052 _LT_EOF
7053 ])
7054 dnl Parse the compiler output and extract the necessary
7055 dnl objects, libraries and library flags.
7056 if AC_TRY_EVAL(ac_compile); then
7057 # Parse the compiler output and extract the necessary
7058 # objects, libraries and library flags.
7059
7060 # Sentinel used to keep track of whether or not we are before
7061 # the conftest object file.
7062 pre_test_object_deps_done=no
7063
7064 for p in `eval "$output_verbose_link_cmd"`; do
7065 case $p in
7066
7067 -L* | -R* | -l*)
7068 # Some compilers place space between "-{L,R}" and the path.
7069 # Remove the space.
7070 if test $p = "-L" ||
7071 test $p = "-R"; then
7072 prev=$p
7073 continue
7074 else
7075 prev=
7076 fi
7077
7078 if test "$pre_test_object_deps_done" = no; then
7079 case $p in
7080 -L* | -R*)
7081 # Internal compiler library paths should come after those
7082 # provided the user. The postdeps already come after the
7083 # user supplied libs so there is no need to process them.
7084 if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
7085 _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
7086 else
7087 _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
7088 fi
7089 ;;
7090 # The "-l" case would never come before the object being
7091 # linked, so don't bother handling this case.
7092 esac
7093 else
7094 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
7095 _LT_TAGVAR(postdeps, $1)="${prev}${p}"
7096 else
7097 _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
7098 fi
7099 fi
7100 ;;
7101
7102 *.$objext)
7103 # This assumes that the test object file only shows up
7104 # once in the compiler output.
7105 if test "$p" = "conftest.$objext"; then
7106 pre_test_object_deps_done=yes
7107 continue
7108 fi
7109
7110 if test "$pre_test_object_deps_done" = no; then
7111 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
7112 _LT_TAGVAR(predep_objects, $1)="$p"
7113 else
7114 _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
7115 fi
7116 else
7117 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
7118 _LT_TAGVAR(postdep_objects, $1)="$p"
7119 else
7120 _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
7121 fi
7122 fi
7123 ;;
7124
7125 *) ;; # Ignore the rest.
7126
7127 esac
7128 done
7129
7130 # Clean up.
7131 rm -f a.out a.exe
7132 else
7133 echo "libtool.m4: error: problem compiling $1 test program"
7134 fi
7135
7136 $RM -f confest.$objext
7137
7138 # PORTME: override above test on systems where it is broken
7139 m4_if([$1], [CXX],
7140 [case $host_os in
7141 interix[[3-9]]*)
7142 # Interix 3.5 installs completely hosed .la files for C++, so rather than
7143 # hack all around it, let's just trust "g++" to DTRT.
7144 _LT_TAGVAR(predep_objects,$1)=
7145 _LT_TAGVAR(postdep_objects,$1)=
7146 _LT_TAGVAR(postdeps,$1)=
7147 ;;
7148
7149 linux*)
7150 case `$CC -V 2>&1 | sed 5q` in
7151 *Sun\ C*)
7152 # Sun C++ 5.9
7153
7154 # The more standards-conforming stlport4 library is
7155 # incompatible with the Cstd library. Avoid specifying
7156 # it if it's in CXXFLAGS. Ignore libCrun as
7157 # -library=stlport4 depends on it.
7158 case " $CXX $CXXFLAGS " in
7159 *" -library=stlport4 "*)
7160 solaris_use_stlport4=yes
7161 ;;
7162 esac
7163
7164 if test "$solaris_use_stlport4" != yes; then
7165 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
7166 fi
7167 ;;
7168 esac
7169 ;;
7170
7171 solaris*)
7172 case $cc_basename in
7173 CC*)
7174 # The more standards-conforming stlport4 library is
7175 # incompatible with the Cstd library. Avoid specifying
7176 # it if it's in CXXFLAGS. Ignore libCrun as
7177 # -library=stlport4 depends on it.
7178 case " $CXX $CXXFLAGS " in
7179 *" -library=stlport4 "*)
7180 solaris_use_stlport4=yes
7181 ;;
7182 esac
7183
7184 # Adding this requires a known-good setup of shared libraries for
7185 # Sun compiler versions before 5.6, else PIC objects from an old
7186 # archive will be linked into the output, leading to subtle bugs.
7187 if test "$solaris_use_stlport4" != yes; then
7188 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
7189 fi
7190 ;;
7191 esac
7192 ;;
7193 esac
7194 ])
7195
7196 case " $_LT_TAGVAR(postdeps, $1) " in
7197 *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
7198 esac
7199 _LT_TAGVAR(compiler_lib_search_dirs, $1)=
7200 if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
7201 _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
7202 fi
7203 _LT_TAGDECL([], [compiler_lib_search_dirs], [1],
7204 [The directories searched by this compiler when creating a shared library])
7205 _LT_TAGDECL([], [predep_objects], [1],
7206 [Dependencies to place before and after the objects being linked to
7207 create a shared library])
7208 _LT_TAGDECL([], [postdep_objects], [1])
7209 _LT_TAGDECL([], [predeps], [1])
7210 _LT_TAGDECL([], [postdeps], [1])
7211 _LT_TAGDECL([], [compiler_lib_search_path], [1],
7212 [The library search path used internally by the compiler when linking
7213 a shared library])
7214 ])# _LT_SYS_HIDDEN_LIBDEPS
7215
7216
7217 # _LT_PROG_F77
7218 # ------------
7219 # Since AC_PROG_F77 is broken, in that it returns the empty string
7220 # if there is no fortran compiler, we have our own version here.
7221 m4_defun([_LT_PROG_F77],
7222 [
7223 pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
7224 AC_PROG_F77
7225 if test -z "$F77" || test "X$F77" = "Xno"; then
7226 _lt_disable_F77=yes
7227 fi
7228 popdef([AC_MSG_ERROR])
7229 ])# _LT_PROG_F77
7230
7231 dnl aclocal-1.4 backwards compatibility:
7232 dnl AC_DEFUN([_LT_PROG_F77], [])
7233
7234
7235 # _LT_LANG_F77_CONFIG([TAG])
7236 # --------------------------
7237 # Ensure that the configuration variables for a Fortran 77 compiler are
7238 # suitably defined. These variables are subsequently used by _LT_CONFIG
7239 # to write the compiler configuration to `libtool'.
7240 m4_defun([_LT_LANG_F77_CONFIG],
7241 [AC_REQUIRE([_LT_PROG_F77])dnl
7242 AC_LANG_PUSH(Fortran 77)
7243
7244 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7245 _LT_TAGVAR(allow_undefined_flag, $1)=
7246 _LT_TAGVAR(always_export_symbols, $1)=no
7247 _LT_TAGVAR(archive_expsym_cmds, $1)=
7248 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7249 _LT_TAGVAR(hardcode_direct, $1)=no
7250 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7251 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7252 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
7253 _LT_TAGVAR(hardcode_libdir_separator, $1)=
7254 _LT_TAGVAR(hardcode_minus_L, $1)=no
7255 _LT_TAGVAR(hardcode_automatic, $1)=no
7256 _LT_TAGVAR(inherit_rpath, $1)=no
7257 _LT_TAGVAR(module_cmds, $1)=
7258 _LT_TAGVAR(module_expsym_cmds, $1)=
7259 _LT_TAGVAR(link_all_deplibs, $1)=unknown
7260 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7261 _LT_TAGVAR(no_undefined_flag, $1)=
7262 _LT_TAGVAR(whole_archive_flag_spec, $1)=
7263 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7264
7265 # Source file extension for f77 test sources.
7266 ac_ext=f
7267
7268 # Object file extension for compiled f77 test sources.
7269 objext=o
7270 _LT_TAGVAR(objext, $1)=$objext
7271
7272 # No sense in running all these tests if we already determined that
7273 # the F77 compiler isn't working. Some variables (like enable_shared)
7274 # are currently assumed to apply to all compilers on this platform,
7275 # and will be corrupted by setting them based on a non-working compiler.
7276 if test "$_lt_disable_F77" != yes; then
7277 # Code to be used in simple compile tests
7278 lt_simple_compile_test_code="\
7279 subroutine t
7280 return
7281 end
7282 "
7283
7284 # Code to be used in simple link tests
7285 lt_simple_link_test_code="\
7286 program t
7287 end
7288 "
7289
7290 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7291 _LT_TAG_COMPILER
7292
7293 # save warnings/boilerplate of simple test code
7294 _LT_COMPILER_BOILERPLATE
7295 _LT_LINKER_BOILERPLATE
7296
7297 # Allow CC to be a program name with arguments.
7298 lt_save_CC="$CC"
7299 lt_save_GCC=$GCC
7300 CC=${F77-"f77"}
7301 compiler=$CC
7302 _LT_TAGVAR(compiler, $1)=$CC
7303 _LT_CC_BASENAME([$compiler])
7304 GCC=$G77
7305 if test -n "$compiler"; then
7306 AC_MSG_CHECKING([if libtool supports shared libraries])
7307 AC_MSG_RESULT([$can_build_shared])
7308
7309 AC_MSG_CHECKING([whether to build shared libraries])
7310 test "$can_build_shared" = "no" && enable_shared=no
7311
7312 # On AIX, shared libraries and static libraries use the same namespace, and
7313 # are all built from PIC.
7314 case $host_os in
7315 aix3*)
7316 test "$enable_shared" = yes && enable_static=no
7317 if test -n "$RANLIB"; then
7318 archive_cmds="$archive_cmds~\$RANLIB \$lib"
7319 postinstall_cmds='$RANLIB $lib'
7320 fi
7321 ;;
7322 aix[[4-9]]*)
7323 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
7324 test "$enable_shared" = yes && enable_static=no
7325 fi
7326 ;;
7327 esac
7328 AC_MSG_RESULT([$enable_shared])
7329
7330 AC_MSG_CHECKING([whether to build static libraries])
7331 # Make sure either enable_shared or enable_static is yes.
7332 test "$enable_shared" = yes || enable_static=yes
7333 AC_MSG_RESULT([$enable_static])
7334
7335 _LT_TAGVAR(GCC, $1)="$G77"
7336 _LT_TAGVAR(LD, $1)="$LD"
7337
7338 ## CAVEAT EMPTOR:
7339 ## There is no encapsulation within the following macros, do not change
7340 ## the running order or otherwise move them around unless you know exactly
7341 ## what you are doing...
7342 _LT_COMPILER_PIC($1)
7343 _LT_COMPILER_C_O($1)
7344 _LT_COMPILER_FILE_LOCKS($1)
7345 _LT_LINKER_SHLIBS($1)
7346 _LT_SYS_DYNAMIC_LINKER($1)
7347 _LT_LINKER_HARDCODE_LIBPATH($1)
7348
7349 _LT_CONFIG($1)
7350 fi # test -n "$compiler"
7351
7352 GCC=$lt_save_GCC
7353 CC="$lt_save_CC"
7354 fi # test "$_lt_disable_F77" != yes
7355
7356 AC_LANG_POP
7357 ])# _LT_LANG_F77_CONFIG
7358
7359
7360 # _LT_PROG_FC
7361 # -----------
7362 # Since AC_PROG_FC is broken, in that it returns the empty string
7363 # if there is no fortran compiler, we have our own version here.
7364 m4_defun([_LT_PROG_FC],
7365 [
7366 pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
7367 AC_PROG_FC
7368 if test -z "$FC" || test "X$FC" = "Xno"; then
7369 _lt_disable_FC=yes
7370 fi
7371 popdef([AC_MSG_ERROR])
7372 ])# _LT_PROG_FC
7373
7374 dnl aclocal-1.4 backwards compatibility:
7375 dnl AC_DEFUN([_LT_PROG_FC], [])
7376
7377
7378 # _LT_LANG_FC_CONFIG([TAG])
7379 # -------------------------
7380 # Ensure that the configuration variables for a Fortran compiler are
7381 # suitably defined. These variables are subsequently used by _LT_CONFIG
7382 # to write the compiler configuration to `libtool'.
7383 m4_defun([_LT_LANG_FC_CONFIG],
7384 [AC_REQUIRE([_LT_PROG_FC])dnl
7385 AC_LANG_PUSH(Fortran)
7386
7387 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7388 _LT_TAGVAR(allow_undefined_flag, $1)=
7389 _LT_TAGVAR(always_export_symbols, $1)=no
7390 _LT_TAGVAR(archive_expsym_cmds, $1)=
7391 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7392 _LT_TAGVAR(hardcode_direct, $1)=no
7393 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7394 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7395 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
7396 _LT_TAGVAR(hardcode_libdir_separator, $1)=
7397 _LT_TAGVAR(hardcode_minus_L, $1)=no
7398 _LT_TAGVAR(hardcode_automatic, $1)=no
7399 _LT_TAGVAR(inherit_rpath, $1)=no
7400 _LT_TAGVAR(module_cmds, $1)=
7401 _LT_TAGVAR(module_expsym_cmds, $1)=
7402 _LT_TAGVAR(link_all_deplibs, $1)=unknown
7403 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7404 _LT_TAGVAR(no_undefined_flag, $1)=
7405 _LT_TAGVAR(whole_archive_flag_spec, $1)=
7406 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7407
7408 # Source file extension for fc test sources.
7409 ac_ext=${ac_fc_srcext-f}
7410
7411 # Object file extension for compiled fc test sources.
7412 objext=o
7413 _LT_TAGVAR(objext, $1)=$objext
7414
7415 # No sense in running all these tests if we already determined that
7416 # the FC compiler isn't working. Some variables (like enable_shared)
7417 # are currently assumed to apply to all compilers on this platform,
7418 # and will be corrupted by setting them based on a non-working compiler.
7419 if test "$_lt_disable_FC" != yes; then
7420 # Code to be used in simple compile tests
7421 lt_simple_compile_test_code="\
7422 subroutine t
7423 return
7424 end
7425 "
7426
7427 # Code to be used in simple link tests
7428 lt_simple_link_test_code="\
7429 program t
7430 end
7431 "
7432
7433 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7434 _LT_TAG_COMPILER
7435
7436 # save warnings/boilerplate of simple test code
7437 _LT_COMPILER_BOILERPLATE
7438 _LT_LINKER_BOILERPLATE
7439
7440 # Allow CC to be a program name with arguments.
7441 lt_save_CC="$CC"
7442 lt_save_GCC=$GCC
7443 CC=${FC-"f95"}
7444 compiler=$CC
7445 GCC=$ac_cv_fc_compiler_gnu
7446
7447 _LT_TAGVAR(compiler, $1)=$CC
7448 _LT_CC_BASENAME([$compiler])
7449
7450 if test -n "$compiler"; then
7451 AC_MSG_CHECKING([if libtool supports shared libraries])
7452 AC_MSG_RESULT([$can_build_shared])
7453
7454 AC_MSG_CHECKING([whether to build shared libraries])
7455 test "$can_build_shared" = "no" && enable_shared=no
7456
7457 # On AIX, shared libraries and static libraries use the same namespace, and
7458 # are all built from PIC.
7459 case $host_os in
7460 aix3*)
7461 test "$enable_shared" = yes && enable_static=no
7462 if test -n "$RANLIB"; then
7463 archive_cmds="$archive_cmds~\$RANLIB \$lib"
7464 postinstall_cmds='$RANLIB $lib'
7465 fi
7466 ;;
7467 aix[[4-9]]*)
7468 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
7469 test "$enable_shared" = yes && enable_static=no
7470 fi
7471 ;;
7472 esac
7473 AC_MSG_RESULT([$enable_shared])
7474
7475 AC_MSG_CHECKING([whether to build static libraries])
7476 # Make sure either enable_shared or enable_static is yes.
7477 test "$enable_shared" = yes || enable_static=yes
7478 AC_MSG_RESULT([$enable_static])
7479
7480 _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
7481 _LT_TAGVAR(LD, $1)="$LD"
7482
7483 ## CAVEAT EMPTOR:
7484 ## There is no encapsulation within the following macros, do not change
7485 ## the running order or otherwise move them around unless you know exactly
7486 ## what you are doing...
7487 _LT_SYS_HIDDEN_LIBDEPS($1)
7488 _LT_COMPILER_PIC($1)
7489 _LT_COMPILER_C_O($1)
7490 _LT_COMPILER_FILE_LOCKS($1)
7491 _LT_LINKER_SHLIBS($1)
7492 _LT_SYS_DYNAMIC_LINKER($1)
7493 _LT_LINKER_HARDCODE_LIBPATH($1)
7494
7495 _LT_CONFIG($1)
7496 fi # test -n "$compiler"
7497
7498 GCC=$lt_save_GCC
7499 CC="$lt_save_CC"
7500 fi # test "$_lt_disable_FC" != yes
7501
7502 AC_LANG_POP
7503 ])# _LT_LANG_FC_CONFIG
7504
7505
7506 # _LT_LANG_GCJ_CONFIG([TAG])
7507 # --------------------------
7508 # Ensure that the configuration variables for the GNU Java Compiler compiler
7509 # are suitably defined. These variables are subsequently used by _LT_CONFIG
7510 # to write the compiler configuration to `libtool'.
7511 m4_defun([_LT_LANG_GCJ_CONFIG],
7512 [AC_REQUIRE([LT_PROG_GCJ])dnl
7513 AC_LANG_SAVE
7514
7515 # Source file extension for Java test sources.
7516 ac_ext=java
7517
7518 # Object file extension for compiled Java test sources.
7519 objext=o
7520 _LT_TAGVAR(objext, $1)=$objext
7521
7522 # Code to be used in simple compile tests
7523 lt_simple_compile_test_code="class foo {}"
7524
7525 # Code to be used in simple link tests
7526 lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
7527
7528 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7529 _LT_TAG_COMPILER
7530
7531 # save warnings/boilerplate of simple test code
7532 _LT_COMPILER_BOILERPLATE
7533 _LT_LINKER_BOILERPLATE
7534
7535 # Allow CC to be a program name with arguments.
7536 lt_save_CC="$CC"
7537 lt_save_GCC=$GCC
7538 GCC=yes
7539 CC=${GCJ-"gcj"}
7540 compiler=$CC
7541 _LT_TAGVAR(compiler, $1)=$CC
7542 _LT_TAGVAR(LD, $1)="$LD"
7543 _LT_CC_BASENAME([$compiler])
7544
7545 # GCJ did not exist at the time GCC didn't implicitly link libc in.
7546 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7547
7548 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7549
7550 if test -n "$compiler"; then
7551 _LT_COMPILER_NO_RTTI($1)
7552 _LT_COMPILER_PIC($1)
7553 _LT_COMPILER_C_O($1)
7554 _LT_COMPILER_FILE_LOCKS($1)
7555 _LT_LINKER_SHLIBS($1)
7556 _LT_LINKER_HARDCODE_LIBPATH($1)
7557
7558 _LT_CONFIG($1)
7559 fi
7560
7561 AC_LANG_RESTORE
7562
7563 GCC=$lt_save_GCC
7564 CC="$lt_save_CC"
7565 ])# _LT_LANG_GCJ_CONFIG
7566
7567
7568 # _LT_LANG_RC_CONFIG([TAG])
7569 # -------------------------
7570 # Ensure that the configuration variables for the Windows resource compiler
7571 # are suitably defined. These variables are subsequently used by _LT_CONFIG
7572 # to write the compiler configuration to `libtool'.
7573 m4_defun([_LT_LANG_RC_CONFIG],
7574 [AC_REQUIRE([LT_PROG_RC])dnl
7575 AC_LANG_SAVE
7576
7577 # Source file extension for RC test sources.
7578 ac_ext=rc
7579
7580 # Object file extension for compiled RC test sources.
7581 objext=o
7582 _LT_TAGVAR(objext, $1)=$objext
7583
7584 # Code to be used in simple compile tests
7585 lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
7586
7587 # Code to be used in simple link tests
7588 lt_simple_link_test_code="$lt_simple_compile_test_code"
7589
7590 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7591 _LT_TAG_COMPILER
7592
7593 # save warnings/boilerplate of simple test code
7594 _LT_COMPILER_BOILERPLATE
7595 _LT_LINKER_BOILERPLATE
7596
7597 # Allow CC to be a program name with arguments.
7598 lt_save_CC="$CC"
7599 lt_save_GCC=$GCC
7600 GCC=
7601 CC=${RC-"windres"}
7602 compiler=$CC
7603 _LT_TAGVAR(compiler, $1)=$CC
7604 _LT_CC_BASENAME([$compiler])
7605 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
7606
7607 if test -n "$compiler"; then
7608 :
7609 _LT_CONFIG($1)
7610 fi
7611
7612 GCC=$lt_save_GCC
7613 AC_LANG_RESTORE
7614 CC="$lt_save_CC"
7615 ])# _LT_LANG_RC_CONFIG
7616
7617
7618 # LT_PROG_GCJ
7619 # -----------
7620 AC_DEFUN([LT_PROG_GCJ],
7621 [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
7622 [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
7623 [AC_CHECK_TOOL(GCJ, gcj,)
7624 test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
7625 AC_SUBST(GCJFLAGS)])])[]dnl
7626 ])
7627
7628 # Old name:
7629 AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
7630 dnl aclocal-1.4 backwards compatibility:
7631 dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
7632
7633
7634 # LT_PROG_RC
7635 # ----------
7636 AC_DEFUN([LT_PROG_RC],
7637 [AC_CHECK_TOOL(RC, windres,)
7638 ])
7639
7640 # Old name:
7641 AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
7642 dnl aclocal-1.4 backwards compatibility:
7643 dnl AC_DEFUN([LT_AC_PROG_RC], [])
7644
7645
7646 # _LT_DECL_EGREP
7647 # --------------
7648 # If we don't have a new enough Autoconf to choose the best grep
7649 # available, choose the one first in the user's PATH.
7650 m4_defun([_LT_DECL_EGREP],
7651 [AC_REQUIRE([AC_PROG_EGREP])dnl
7652 AC_REQUIRE([AC_PROG_FGREP])dnl
7653 test -z "$GREP" && GREP=grep
7654 _LT_DECL([], [GREP], [1], [A grep program that handles long lines])
7655 _LT_DECL([], [EGREP], [1], [An ERE matcher])
7656 _LT_DECL([], [FGREP], [1], [A literal string matcher])
7657 dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
7658 AC_SUBST([GREP])
7659 ])
7660
7661
7662 # _LT_DECL_OBJDUMP
7663 # --------------
7664 # If we don't have a new enough Autoconf to choose the best objdump
7665 # available, choose the one first in the user's PATH.
7666 m4_defun([_LT_DECL_OBJDUMP],
7667 [AC_CHECK_TOOL(OBJDUMP, objdump, false)
7668 test -z "$OBJDUMP" && OBJDUMP=objdump
7669 _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
7670 AC_SUBST([OBJDUMP])
7671 ])
7672
7673
7674 # _LT_DECL_SED
7675 # ------------
7676 # Check for a fully-functional sed program, that truncates
7677 # as few characters as possible. Prefer GNU sed if found.
7678 m4_defun([_LT_DECL_SED],
7679 [AC_PROG_SED
7680 test -z "$SED" && SED=sed
7681 Xsed="$SED -e 1s/^X//"
7682 _LT_DECL([], [SED], [1], [A sed program that does not truncate output])
7683 _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
7684 [Sed that helps us avoid accidentally triggering echo(1) options like -n])
7685 ])# _LT_DECL_SED
7686
7687 m4_ifndef([AC_PROG_SED], [
7688 # NOTE: This macro has been submitted for inclusion into #
7689 # GNU Autoconf as AC_PROG_SED. When it is available in #
7690 # a released version of Autoconf we should remove this #
7691 # macro and use it instead. #
7692
7693 m4_defun([AC_PROG_SED],
7694 [AC_MSG_CHECKING([for a sed that does not truncate output])
7695 AC_CACHE_VAL(lt_cv_path_SED,
7696 [# Loop through the user's path and test for sed and gsed.
7697 # Then use that list of sed's as ones to test for truncation.
7698 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7699 for as_dir in $PATH
7700 do
7701 IFS=$as_save_IFS
7702 test -z "$as_dir" && as_dir=.
7703 for lt_ac_prog in sed gsed; do
7704 for ac_exec_ext in '' $ac_executable_extensions; do
7705 if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
7706 lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
7707 fi
7708 done
7709 done
7710 done
7711 IFS=$as_save_IFS
7712 lt_ac_max=0
7713 lt_ac_count=0
7714 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
7715 # along with /bin/sed that truncates output.
7716 for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
7717 test ! -f $lt_ac_sed && continue
7718 cat /dev/null > conftest.in
7719 lt_ac_count=0
7720 echo $ECHO_N "0123456789$ECHO_C" >conftest.in
7721 # Check for GNU sed and select it if it is found.
7722 if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
7723 lt_cv_path_SED=$lt_ac_sed
7724 break
7725 fi
7726 while true; do
7727 cat conftest.in conftest.in >conftest.tmp
7728 mv conftest.tmp conftest.in
7729 cp conftest.in conftest.nl
7730 echo >>conftest.nl
7731 $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
7732 cmp -s conftest.out conftest.nl || break
7733 # 10000 chars as input seems more than enough
7734 test $lt_ac_count -gt 10 && break
7735 lt_ac_count=`expr $lt_ac_count + 1`
7736 if test $lt_ac_count -gt $lt_ac_max; then
7737 lt_ac_max=$lt_ac_count
7738 lt_cv_path_SED=$lt_ac_sed
7739 fi
7740 done
7741 done
7742 ])
7743 SED=$lt_cv_path_SED
7744 AC_SUBST([SED])
7745 AC_MSG_RESULT([$SED])
7746 ])#AC_PROG_SED
7747 ])#m4_ifndef
7748
7749 # Old name:
7750 AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
7751 dnl aclocal-1.4 backwards compatibility:
7752 dnl AC_DEFUN([LT_AC_PROG_SED], [])
7753
7754
7755 # _LT_CHECK_SHELL_FEATURES
7756 # ------------------------
7757 # Find out whether the shell is Bourne or XSI compatible,
7758 # or has some other useful features.
7759 m4_defun([_LT_CHECK_SHELL_FEATURES],
7760 [AC_MSG_CHECKING([whether the shell understands some XSI constructs])
7761 # Try some XSI features
7762 xsi_shell=no
7763 ( _lt_dummy="a/b/c"
7764 test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
7765 = c,a/b,, \
7766 && eval 'test $(( 1 + 1 )) -eq 2 \
7767 && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
7768 && xsi_shell=yes
7769 AC_MSG_RESULT([$xsi_shell])
7770 _LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
7771
7772 AC_MSG_CHECKING([whether the shell understands "+="])
7773 lt_shell_append=no
7774 ( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
7775 >/dev/null 2>&1 \
7776 && lt_shell_append=yes
7777 AC_MSG_RESULT([$lt_shell_append])
7778 _LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
7779
7780 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
7781 lt_unset=unset
7782 else
7783 lt_unset=false
7784 fi
7785 _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
7786
7787 # test EBCDIC or ASCII
7788 case `echo X|tr X '\101'` in
7789 A) # ASCII based system
7790 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
7791 lt_SP2NL='tr \040 \012'
7792 lt_NL2SP='tr \015\012 \040\040'
7793 ;;
7794 *) # EBCDIC based system
7795 lt_SP2NL='tr \100 \n'
7796 lt_NL2SP='tr \r\n \100\100'
7797 ;;
7798 esac
7799 _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
7800 _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
7801 ])# _LT_CHECK_SHELL_FEATURES
7802
7803
7804 # _LT_PROG_XSI_SHELLFNS
7805 # ---------------------
7806 # Bourne and XSI compatible variants of some useful shell functions.
7807 m4_defun([_LT_PROG_XSI_SHELLFNS],
7808 [case $xsi_shell in
7809 yes)
7810 cat << \_LT_EOF >> "$cfgfile"
7811
7812 # func_dirname file append nondir_replacement
7813 # Compute the dirname of FILE. If nonempty, add APPEND to the result,
7814 # otherwise set result to NONDIR_REPLACEMENT.
7815 func_dirname ()
7816 {
7817 case ${1} in
7818 */*) func_dirname_result="${1%/*}${2}" ;;
7819 * ) func_dirname_result="${3}" ;;
7820 esac
7821 }
7822
7823 # func_basename file
7824 func_basename ()
7825 {
7826 func_basename_result="${1##*/}"
7827 }
7828
7829 # func_dirname_and_basename file append nondir_replacement
7830 # perform func_basename and func_dirname in a single function
7831 # call:
7832 # dirname: Compute the dirname of FILE. If nonempty,
7833 # add APPEND to the result, otherwise set result
7834 # to NONDIR_REPLACEMENT.
7835 # value returned in "$func_dirname_result"
7836 # basename: Compute filename of FILE.
7837 # value retuned in "$func_basename_result"
7838 # Implementation must be kept synchronized with func_dirname
7839 # and func_basename. For efficiency, we do not delegate to
7840 # those functions but instead duplicate the functionality here.
7841 func_dirname_and_basename ()
7842 {
7843 case ${1} in
7844 */*) func_dirname_result="${1%/*}${2}" ;;
7845 * ) func_dirname_result="${3}" ;;
7846 esac
7847 func_basename_result="${1##*/}"
7848 }
7849
7850 # func_stripname prefix suffix name
7851 # strip PREFIX and SUFFIX off of NAME.
7852 # PREFIX and SUFFIX must not contain globbing or regex special
7853 # characters, hashes, percent signs, but SUFFIX may contain a leading
7854 # dot (in which case that matches only a dot).
7855 func_stripname ()
7856 {
7857 # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
7858 # positional parameters, so assign one to ordinary parameter first.
7859 func_stripname_result=${3}
7860 func_stripname_result=${func_stripname_result#"${1}"}
7861 func_stripname_result=${func_stripname_result%"${2}"}
7862 }
7863
7864 # func_opt_split
7865 func_opt_split ()
7866 {
7867 func_opt_split_opt=${1%%=*}
7868 func_opt_split_arg=${1#*=}
7869 }
7870
7871 # func_lo2o object
7872 func_lo2o ()
7873 {
7874 case ${1} in
7875 *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
7876 *) func_lo2o_result=${1} ;;
7877 esac
7878 }
7879
7880 # func_xform libobj-or-source
7881 func_xform ()
7882 {
7883 func_xform_result=${1%.*}.lo
7884 }
7885
7886 # func_arith arithmetic-term...
7887 func_arith ()
7888 {
7889 func_arith_result=$(( $[*] ))
7890 }
7891
7892 # func_len string
7893 # STRING may not start with a hyphen.
7894 func_len ()
7895 {
7896 func_len_result=${#1}
7897 }
7898
7899 _LT_EOF
7900 ;;
7901 *) # Bourne compatible functions.
7902 cat << \_LT_EOF >> "$cfgfile"
7903
7904 # func_dirname file append nondir_replacement
7905 # Compute the dirname of FILE. If nonempty, add APPEND to the result,
7906 # otherwise set result to NONDIR_REPLACEMENT.
7907 func_dirname ()
7908 {
7909 # Extract subdirectory from the argument.
7910 func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
7911 if test "X$func_dirname_result" = "X${1}"; then
7912 func_dirname_result="${3}"
7913 else
7914 func_dirname_result="$func_dirname_result${2}"
7915 fi
7916 }
7917
7918 # func_basename file
7919 func_basename ()
7920 {
7921 func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
7922 }
7923
7924 dnl func_dirname_and_basename
7925 dnl A portable version of this function is already defined in general.m4sh
7926 dnl so there is no need for it here.
7927
7928 # func_stripname prefix suffix name
7929 # strip PREFIX and SUFFIX off of NAME.
7930 # PREFIX and SUFFIX must not contain globbing or regex special
7931 # characters, hashes, percent signs, but SUFFIX may contain a leading
7932 # dot (in which case that matches only a dot).
7933 # func_strip_suffix prefix name
7934 func_stripname ()
7935 {
7936 case ${2} in
7937 .*) func_stripname_result=`$ECHO "X${3}" \
7938 | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
7939 *) func_stripname_result=`$ECHO "X${3}" \
7940 | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
7941 esac
7942 }
7943
7944 # sed scripts:
7945 my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
7946 my_sed_long_arg='1s/^-[[^=]]*=//'
7947
7948 # func_opt_split
7949 func_opt_split ()
7950 {
7951 func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
7952 func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
7953 }
7954
7955 # func_lo2o object
7956 func_lo2o ()
7957 {
7958 func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
7959 }
7960
7961 # func_xform libobj-or-source
7962 func_xform ()
7963 {
7964 func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
7965 }
7966
7967 # func_arith arithmetic-term...
7968 func_arith ()
7969 {
7970 func_arith_result=`expr "$[@]"`
7971 }
7972
7973 # func_len string
7974 # STRING may not start with a hyphen.
7975 func_len ()
7976 {
7977 func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
7978 }
7979
7980 _LT_EOF
7981 esac
7982
7983 case $lt_shell_append in
7984 yes)
7985 cat << \_LT_EOF >> "$cfgfile"
7986
7987 # func_append var value
7988 # Append VALUE to the end of shell variable VAR.
7989 func_append ()
7990 {
7991 eval "$[1]+=\$[2]"
7992 }
7993 _LT_EOF
7994 ;;
7995 *)
7996 cat << \_LT_EOF >> "$cfgfile"
7997
7998 # func_append var value
7999 # Append VALUE to the end of shell variable VAR.
8000 func_append ()
8001 {
8002 eval "$[1]=\$$[1]\$[2]"
8003 }
8004
8005 _LT_EOF
8006 ;;
8007 esac
8008 ])
8009
8010 # Helper functions for option handling. -*- Autoconf -*-
8011 #
8012 # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
8013 # Written by Gary V. Vaughan, 2004
8014 #
8015 # This file is free software; the Free Software Foundation gives
8016 # unlimited permission to copy and/or distribute it, with or without
8017 # modifications, as long as this notice is preserved.
8018
8019 # serial 6 ltoptions.m4
8020
8021 # This is to help aclocal find these macros, as it can't see m4_define.
8022 AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
8023
8024
8025 # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
8026 # ------------------------------------------
8027 m4_define([_LT_MANGLE_OPTION],
8028 [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
8029
8030
8031 # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
8032 # ---------------------------------------
8033 # Set option OPTION-NAME for macro MACRO-NAME, and if there is a
8034 # matching handler defined, dispatch to it. Other OPTION-NAMEs are
8035 # saved as a flag.
8036 m4_define([_LT_SET_OPTION],
8037 [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
8038 m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
8039 _LT_MANGLE_DEFUN([$1], [$2]),
8040 [m4_warning([Unknown $1 option `$2'])])[]dnl
8041 ])
8042
8043
8044 # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
8045 # ------------------------------------------------------------
8046 # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
8047 m4_define([_LT_IF_OPTION],
8048 [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
8049
8050
8051 # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
8052 # -------------------------------------------------------
8053 # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
8054 # are set.
8055 m4_define([_LT_UNLESS_OPTIONS],
8056 [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
8057 [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
8058 [m4_define([$0_found])])])[]dnl
8059 m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
8060 ])[]dnl
8061 ])
8062
8063
8064 # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
8065 # ----------------------------------------
8066 # OPTION-LIST is a space-separated list of Libtool options associated
8067 # with MACRO-NAME. If any OPTION has a matching handler declared with
8068 # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
8069 # the unknown option and exit.
8070 m4_defun([_LT_SET_OPTIONS],
8071 [# Set options
8072 m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
8073 [_LT_SET_OPTION([$1], _LT_Option)])
8074
8075 m4_if([$1],[LT_INIT],[
8076 dnl
8077 dnl Simply set some default values (i.e off) if boolean options were not
8078 dnl specified:
8079 _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
8080 ])
8081 _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
8082 ])
8083 dnl
8084 dnl If no reference was made to various pairs of opposing options, then
8085 dnl we run the default mode handler for the pair. For example, if neither
8086 dnl `shared' nor `disable-shared' was passed, we enable building of shared
8087 dnl archives by default:
8088 _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
8089 _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
8090 _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
8091 _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
8092 [_LT_ENABLE_FAST_INSTALL])
8093 ])
8094 ])# _LT_SET_OPTIONS
8095
8096
8097
8098 # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
8099 # -----------------------------------------
8100 m4_define([_LT_MANGLE_DEFUN],
8101 [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
8102
8103
8104 # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
8105 # -----------------------------------------------
8106 m4_define([LT_OPTION_DEFINE],
8107 [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
8108 ])# LT_OPTION_DEFINE
8109
8110
8111 # dlopen
8112 # ------
8113 LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
8114 ])
8115
8116 AU_DEFUN([AC_LIBTOOL_DLOPEN],
8117 [_LT_SET_OPTION([LT_INIT], [dlopen])
8118 AC_DIAGNOSE([obsolete],
8119 [$0: Remove this warning and the call to _LT_SET_OPTION when you
8120 put the `dlopen' option into LT_INIT's first parameter.])
8121 ])
8122
8123 dnl aclocal-1.4 backwards compatibility:
8124 dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
8125
8126
8127 # win32-dll
8128 # ---------
8129 # Declare package support for building win32 dll's.
8130 LT_OPTION_DEFINE([LT_INIT], [win32-dll],
8131 [enable_win32_dll=yes
8132
8133 case $host in
8134 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
8135 AC_CHECK_TOOL(AS, as, false)
8136 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
8137 AC_CHECK_TOOL(OBJDUMP, objdump, false)
8138 ;;
8139 esac
8140
8141 test -z "$AS" && AS=as
8142 _LT_DECL([], [AS], [0], [Assembler program])dnl
8143
8144 test -z "$DLLTOOL" && DLLTOOL=dlltool
8145 _LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
8146
8147 test -z "$OBJDUMP" && OBJDUMP=objdump
8148 _LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
8149 ])# win32-dll
8150
8151 AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
8152 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
8153 _LT_SET_OPTION([LT_INIT], [win32-dll])
8154 AC_DIAGNOSE([obsolete],
8155 [$0: Remove this warning and the call to _LT_SET_OPTION when you
8156 put the `win32-dll' option into LT_INIT's first parameter.])
8157 ])
8158
8159 dnl aclocal-1.4 backwards compatibility:
8160 dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
8161
8162
8163 # _LT_ENABLE_SHARED([DEFAULT])
8164 # ----------------------------
8165 # implement the --enable-shared flag, and supports the `shared' and
8166 # `disable-shared' LT_INIT options.
8167 # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
8168 m4_define([_LT_ENABLE_SHARED],
8169 [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
8170 AC_ARG_ENABLE([shared],
8171 [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
8172 [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
8173 [p=${PACKAGE-default}
8174 case $enableval in
8175 yes) enable_shared=yes ;;
8176 no) enable_shared=no ;;
8177 *)
8178 enable_shared=no
8179 # Look at the argument we got. We use all the common list separators.
8180 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8181 for pkg in $enableval; do
8182 IFS="$lt_save_ifs"
8183 if test "X$pkg" = "X$p"; then
8184 enable_shared=yes
8185 fi
8186 done
8187 IFS="$lt_save_ifs"
8188 ;;
8189 esac],
8190 [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
8191
8192 _LT_DECL([build_libtool_libs], [enable_shared], [0],
8193 [Whether or not to build shared libraries])
8194 ])# _LT_ENABLE_SHARED
8195
8196 LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
8197 LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
8198
8199 # Old names:
8200 AC_DEFUN([AC_ENABLE_SHARED],
8201 [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
8202 ])
8203
8204 AC_DEFUN([AC_DISABLE_SHARED],
8205 [_LT_SET_OPTION([LT_INIT], [disable-shared])
8206 ])
8207
8208 AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
8209 AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
8210
8211 dnl aclocal-1.4 backwards compatibility:
8212 dnl AC_DEFUN([AM_ENABLE_SHARED], [])
8213 dnl AC_DEFUN([AM_DISABLE_SHARED], [])
8214
8215
8216
8217 # _LT_ENABLE_STATIC([DEFAULT])
8218 # ----------------------------
8219 # implement the --enable-static flag, and support the `static' and
8220 # `disable-static' LT_INIT options.
8221 # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
8222 m4_define([_LT_ENABLE_STATIC],
8223 [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
8224 AC_ARG_ENABLE([static],
8225 [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
8226 [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
8227 [p=${PACKAGE-default}
8228 case $enableval in
8229 yes) enable_static=yes ;;
8230 no) enable_static=no ;;
8231 *)
8232 enable_static=no
8233 # Look at the argument we got. We use all the common list separators.
8234 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8235 for pkg in $enableval; do
8236 IFS="$lt_save_ifs"
8237 if test "X$pkg" = "X$p"; then
8238 enable_static=yes
8239 fi
8240 done
8241 IFS="$lt_save_ifs"
8242 ;;
8243 esac],
8244 [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
8245
8246 _LT_DECL([build_old_libs], [enable_static], [0],
8247 [Whether or not to build static libraries])
8248 ])# _LT_ENABLE_STATIC
8249
8250 LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
8251 LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
8252
8253 # Old names:
8254 AC_DEFUN([AC_ENABLE_STATIC],
8255 [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
8256 ])
8257
8258 AC_DEFUN([AC_DISABLE_STATIC],
8259 [_LT_SET_OPTION([LT_INIT], [disable-static])
8260 ])
8261
8262 AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
8263 AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
8264
8265 dnl aclocal-1.4 backwards compatibility:
8266 dnl AC_DEFUN([AM_ENABLE_STATIC], [])
8267 dnl AC_DEFUN([AM_DISABLE_STATIC], [])
8268
8269
8270
8271 # _LT_ENABLE_FAST_INSTALL([DEFAULT])
8272 # ----------------------------------
8273 # implement the --enable-fast-install flag, and support the `fast-install'
8274 # and `disable-fast-install' LT_INIT options.
8275 # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
8276 m4_define([_LT_ENABLE_FAST_INSTALL],
8277 [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
8278 AC_ARG_ENABLE([fast-install],
8279 [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
8280 [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
8281 [p=${PACKAGE-default}
8282 case $enableval in
8283 yes) enable_fast_install=yes ;;
8284 no) enable_fast_install=no ;;
8285 *)
8286 enable_fast_install=no
8287 # Look at the argument we got. We use all the common list separators.
8288 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8289 for pkg in $enableval; do
8290 IFS="$lt_save_ifs"
8291 if test "X$pkg" = "X$p"; then
8292 enable_fast_install=yes
8293 fi
8294 done
8295 IFS="$lt_save_ifs"
8296 ;;
8297 esac],
8298 [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
8299
8300 _LT_DECL([fast_install], [enable_fast_install], [0],
8301 [Whether or not to optimize for fast installation])dnl
8302 ])# _LT_ENABLE_FAST_INSTALL
8303
8304 LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
8305 LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
8306
8307 # Old names:
8308 AU_DEFUN([AC_ENABLE_FAST_INSTALL],
8309 [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
8310 AC_DIAGNOSE([obsolete],
8311 [$0: Remove this warning and the call to _LT_SET_OPTION when you put
8312 the `fast-install' option into LT_INIT's first parameter.])
8313 ])
8314
8315 AU_DEFUN([AC_DISABLE_FAST_INSTALL],
8316 [_LT_SET_OPTION([LT_INIT], [disable-fast-install])
8317 AC_DIAGNOSE([obsolete],
8318 [$0: Remove this warning and the call to _LT_SET_OPTION when you put
8319 the `disable-fast-install' option into LT_INIT's first parameter.])
8320 ])
8321
8322 dnl aclocal-1.4 backwards compatibility:
8323 dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
8324 dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
8325
8326
8327 # _LT_WITH_PIC([MODE])
8328 # --------------------
8329 # implement the --with-pic flag, and support the `pic-only' and `no-pic'
8330 # LT_INIT options.
8331 # MODE is either `yes' or `no'. If omitted, it defaults to `both'.
8332 m4_define([_LT_WITH_PIC],
8333 [AC_ARG_WITH([pic],
8334 [AS_HELP_STRING([--with-pic],
8335 [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
8336 [pic_mode="$withval"],
8337 [pic_mode=default])
8338
8339 test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
8340
8341 _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
8342 ])# _LT_WITH_PIC
8343
8344 LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
8345 LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
8346
8347 # Old name:
8348 AU_DEFUN([AC_LIBTOOL_PICMODE],
8349 [_LT_SET_OPTION([LT_INIT], [pic-only])
8350 AC_DIAGNOSE([obsolete],
8351 [$0: Remove this warning and the call to _LT_SET_OPTION when you
8352 put the `pic-only' option into LT_INIT's first parameter.])
8353 ])
8354
8355 dnl aclocal-1.4 backwards compatibility:
8356 dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
8357
8358
8359 m4_define([_LTDL_MODE], [])
8360 LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
8361 [m4_define([_LTDL_MODE], [nonrecursive])])
8362 LT_OPTION_DEFINE([LTDL_INIT], [recursive],
8363 [m4_define([_LTDL_MODE], [recursive])])
8364 LT_OPTION_DEFINE([LTDL_INIT], [subproject],
8365 [m4_define([_LTDL_MODE], [subproject])])
8366
8367 m4_define([_LTDL_TYPE], [])
8368 LT_OPTION_DEFINE([LTDL_INIT], [installable],
8369 [m4_define([_LTDL_TYPE], [installable])])
8370 LT_OPTION_DEFINE([LTDL_INIT], [convenience],
8371 [m4_define([_LTDL_TYPE], [convenience])])
8372
8373 # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
8374 #
8375 # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
8376 # Written by Gary V. Vaughan, 2004
8377 #
8378 # This file is free software; the Free Software Foundation gives
8379 # unlimited permission to copy and/or distribute it, with or without
8380 # modifications, as long as this notice is preserved.
8381
8382 # serial 6 ltsugar.m4
8383
8384 # This is to help aclocal find these macros, as it can't see m4_define.
8385 AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
8386
8387
8388 # lt_join(SEP, ARG1, [ARG2...])
8389 # -----------------------------
8390 # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
8391 # associated separator.
8392 # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
8393 # versions in m4sugar had bugs.
8394 m4_define([lt_join],
8395 [m4_if([$#], [1], [],
8396 [$#], [2], [[$2]],
8397 [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
8398 m4_define([_lt_join],
8399 [m4_if([$#$2], [2], [],
8400 [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
8401
8402
8403 # lt_car(LIST)
8404 # lt_cdr(LIST)
8405 # ------------
8406 # Manipulate m4 lists.
8407 # These macros are necessary as long as will still need to support
8408 # Autoconf-2.59 which quotes differently.
8409 m4_define([lt_car], [[$1]])
8410 m4_define([lt_cdr],
8411 [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
8412 [$#], 1, [],
8413 [m4_dquote(m4_shift($@))])])
8414 m4_define([lt_unquote], $1)
8415
8416
8417 # lt_append(MACRO-NAME, STRING, [SEPARATOR])
8418 # ------------------------------------------
8419 # Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
8420 # Note that neither SEPARATOR nor STRING are expanded; they are appended
8421 # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
8422 # No SEPARATOR is output if MACRO-NAME was previously undefined (different
8423 # than defined and empty).
8424 #
8425 # This macro is needed until we can rely on Autoconf 2.62, since earlier
8426 # versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
8427 m4_define([lt_append],
8428 [m4_define([$1],
8429 m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
8430
8431
8432
8433 # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
8434 # ----------------------------------------------------------
8435 # Produce a SEP delimited list of all paired combinations of elements of
8436 # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
8437 # has the form PREFIXmINFIXSUFFIXn.
8438 # Needed until we can rely on m4_combine added in Autoconf 2.62.
8439 m4_define([lt_combine],
8440 [m4_if(m4_eval([$# > 3]), [1],
8441 [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
8442 [[m4_foreach([_Lt_prefix], [$2],
8443 [m4_foreach([_Lt_suffix],
8444 ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
8445 [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
8446
8447
8448 # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
8449 # -----------------------------------------------------------------------
8450 # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
8451 # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
8452 m4_define([lt_if_append_uniq],
8453 [m4_ifdef([$1],
8454 [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
8455 [lt_append([$1], [$2], [$3])$4],
8456 [$5])],
8457 [lt_append([$1], [$2], [$3])$4])])
8458
8459
8460 # lt_dict_add(DICT, KEY, VALUE)
8461 # -----------------------------
8462 m4_define([lt_dict_add],
8463 [m4_define([$1($2)], [$3])])
8464
8465
8466 # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
8467 # --------------------------------------------
8468 m4_define([lt_dict_add_subkey],
8469 [m4_define([$1($2:$3)], [$4])])
8470
8471
8472 # lt_dict_fetch(DICT, KEY, [SUBKEY])
8473 # ----------------------------------
8474 m4_define([lt_dict_fetch],
8475 [m4_ifval([$3],
8476 m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
8477 m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
8478
8479
8480 # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
8481 # -----------------------------------------------------------------
8482 m4_define([lt_if_dict_fetch],
8483 [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
8484 [$5],
8485 [$6])])
8486
8487
8488 # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
8489 # --------------------------------------------------------------
8490 m4_define([lt_dict_filter],
8491 [m4_if([$5], [], [],
8492 [lt_join(m4_quote(m4_default([$4], [[, ]])),
8493 lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
8494 [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
8495 ])
8496
8497 # ltversion.m4 -- version numbers -*- Autoconf -*-
8498 #
8499 # Copyright (C) 2004 Free Software Foundation, Inc.
8500 # Written by Scott James Remnant, 2004
8501 #
8502 # This file is free software; the Free Software Foundation gives
8503 # unlimited permission to copy and/or distribute it, with or without
8504 # modifications, as long as this notice is preserved.
8505
8506 # Generated from ltversion.in.
8507
8508 # serial 3017 ltversion.m4
8509 # This file is part of GNU Libtool
8510
8511 m4_define([LT_PACKAGE_VERSION], [2.2.6b])
8512 m4_define([LT_PACKAGE_REVISION], [1.3017])
8513
8514 AC_DEFUN([LTVERSION_VERSION],
8515 [macro_version='2.2.6b'
8516 macro_revision='1.3017'
8517 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
8518 _LT_DECL(, macro_revision, 0)
8519 ])
8520
8521 # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
8522 #
8523 # Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
8524 # Written by Scott James Remnant, 2004.
8525 #
8526 # This file is free software; the Free Software Foundation gives
8527 # unlimited permission to copy and/or distribute it, with or without
8528 # modifications, as long as this notice is preserved.
8529
8530 # serial 4 lt~obsolete.m4
8531
8532 # These exist entirely to fool aclocal when bootstrapping libtool.
8533 #
8534 # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
8535 # which have later been changed to m4_define as they aren't part of the
8536 # exported API, or moved to Autoconf or Automake where they belong.
8537 #
8538 # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
8539 # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
8540 # using a macro with the same name in our local m4/libtool.m4 it'll
8541 # pull the old libtool.m4 in (it doesn't see our shiny new m4_define
8542 # and doesn't know about Autoconf macros at all.)
8543 #
8544 # So we provide this file, which has a silly filename so it's always
8545 # included after everything else. This provides aclocal with the
8546 # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
8547 # because those macros already exist, or will be overwritten later.
8548 # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
8549 #
8550 # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
8551 # Yes, that means every name once taken will need to remain here until
8552 # we give up compatibility with versions before 1.7, at which point
8553 # we need to keep only those names which we still refer to.
8554
8555 # This is to help aclocal find these macros, as it can't see m4_define.
8556 AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
8557
8558 m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
8559 m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
8560 m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
8561 m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
8562 m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
8563 m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
8564 m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
8565 m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
8566 m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
8567 m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
8568 m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
8569 m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
8570 m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
8571 m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
8572 m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
8573 m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
8574 m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
8575 m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
8576 m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
8577 m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
8578 m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
8579 m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
8580 m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
8581 m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
8582 m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
8583 m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
8584 m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
8585 m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
8586 m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
8587 m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
8588 m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
8589 m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
8590 m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
8591 m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
8592 m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
8593 m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
8594 m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
8595 m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
8596 m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
8597 m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
8598 m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
8599 m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
8600 m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
8601 m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
8602 m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
8603 m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
8604 m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
8605 m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
8606 m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
8607 m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
8608 m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
8609 m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
8610 m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
8611 m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
8612 m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
8613
8614 # nls.m4 serial 5 (gettext-0.18)
8615 dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation,
8616 dnl Inc.
8617 dnl This file is free software; the Free Software Foundation
8618 dnl gives unlimited permission to copy and/or distribute it,
8619 dnl with or without modifications, as long as this notice is preserved.
8620 dnl
8621 dnl This file can can be used in projects which are not available under
8622 dnl the GNU General Public License or the GNU Library General Public
8623 dnl License but which still want to provide support for the GNU gettext
8624 dnl functionality.
8625 dnl Please note that the actual code of the GNU gettext library is covered
8626 dnl by the GNU Library General Public License, and the rest of the GNU
8627 dnl gettext package package is covered by the GNU General Public License.
8628 dnl They are *not* in the public domain.
8629
8630 dnl Authors:
8631 dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
8632 dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
8633
8634 AC_PREREQ([2.50])
8635
8636 AC_DEFUN([AM_NLS],
8637 [
8638 AC_MSG_CHECKING([whether NLS is requested])
8639 dnl Default is enabled NLS
8640 AC_ARG_ENABLE([nls],
8641 [ --disable-nls do not use Native Language Support],
8642 USE_NLS=$enableval, USE_NLS=yes)
8643 AC_MSG_RESULT([$USE_NLS])
8644 AC_SUBST([USE_NLS])
8645 ])
8646
8647 # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
8648 # serial 1 (pkg-config-0.24)
8649 #
8650 # Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
8651 #
8652 # This program is free software; you can redistribute it and/or modify
8653 # it under the terms of the GNU General Public License as published by
8654 # the Free Software Foundation; either version 2 of the License, or
8655 # (at your option) any later version.
8656 #
8657 # This program is distributed in the hope that it will be useful, but
8658 # WITHOUT ANY WARRANTY; without even the implied warranty of
8659 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
8660 # General Public License for more details.
8661 #
8662 # You should have received a copy of the GNU General Public License
8663 # along with this program; if not, write to the Free Software
8664 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
8665 #
8666 # As a special exception to the GNU General Public License, if you
8667 # distribute this file as part of a program that contains a
8668 # configuration script generated by Autoconf, you may include it under
8669 # the same distribution terms that you use for the rest of that program.
8670
8671 # PKG_PROG_PKG_CONFIG([MIN-VERSION])
8672 # ----------------------------------
8673 AC_DEFUN([PKG_PROG_PKG_CONFIG],
8674 [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
8675 m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
8676 AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
8677 AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
8678 AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
8679
8680 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
8681 AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
8682 fi
8683 if test -n "$PKG_CONFIG"; then
8684 _pkg_min_version=m4_default([$1], [0.9.0])
8685 AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
8686 if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
8687 AC_MSG_RESULT([yes])
8688 else
8689 AC_MSG_RESULT([no])
8690 PKG_CONFIG=""
8691 fi
8692 fi[]dnl
8693 ])# PKG_PROG_PKG_CONFIG
8694
8695 # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
8696 #
8697 # Check to see whether a particular set of modules exists. Similar
8698 # to PKG_CHECK_MODULES(), but does not set variables or print errors.
8699 #
8700 # Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
8701 # only at the first occurence in configure.ac, so if the first place
8702 # it's called might be skipped (such as if it is within an "if", you
8703 # have to call PKG_CHECK_EXISTS manually
8704 # --------------------------------------------------------------
8705 AC_DEFUN([PKG_CHECK_EXISTS],
8706 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
8707 if test -n "$PKG_CONFIG" && \
8708 AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
8709 m4_default([$2], [:])
8710 m4_ifvaln([$3], [else
8711 $3])dnl
8712 fi])
8713
8714 # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
8715 # ---------------------------------------------
8716 m4_define([_PKG_CONFIG],
8717 [if test -n "$$1"; then
8718 pkg_cv_[]$1="$$1"
8719 elif test -n "$PKG_CONFIG"; then
8720 PKG_CHECK_EXISTS([$3],
8721 [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
8722 [pkg_failed=yes])
8723 else
8724 pkg_failed=untried
8725 fi[]dnl
8726 ])# _PKG_CONFIG
8727
8728 # _PKG_SHORT_ERRORS_SUPPORTED
8729 # -----------------------------
8730 AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
8731 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])
8732 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
8733 _pkg_short_errors_supported=yes
8734 else
8735 _pkg_short_errors_supported=no
8736 fi[]dnl
8737 ])# _PKG_SHORT_ERRORS_SUPPORTED
8738
8739
8740 # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
8741 # [ACTION-IF-NOT-FOUND])
8742 #
8743 #
8744 # Note that if there is a possibility the first call to
8745 # PKG_CHECK_MODULES might not happen, you should be sure to include an
8746 # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
8747 #
8748 #
8749 # --------------------------------------------------------------
8750 AC_DEFUN([PKG_CHECK_MODULES],
8751 [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
8752 AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
8753 AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
8754
8755 pkg_failed=no
8756 AC_MSG_CHECKING([for $1])
8757
8758 _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
8759 _PKG_CONFIG([$1][_LIBS], [libs], [$2])
8760
8761 m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
8762 and $1[]_LIBS to avoid the need to call pkg-config.
8763 See the pkg-config man page for more details.])
8764
8765 if test $pkg_failed = yes; then
8766 AC_MSG_RESULT([no])
8767 _PKG_SHORT_ERRORS_SUPPORTED
8768 if test $_pkg_short_errors_supported = yes; then
8769 $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
8770 else
8771 $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
8772 fi
8773 # Put the nasty error message in config.log where it belongs
8774 echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
8775
8776 m4_default([$4], [AC_MSG_ERROR(
8777 [Package requirements ($2) were not met:
8778
8779 $$1_PKG_ERRORS
8780
8781 Consider adjusting the PKG_CONFIG_PATH environment variable if you
8782 installed software in a non-standard prefix.
8783
8784 _PKG_TEXT])[]dnl
8785 ])
8786 elif test $pkg_failed = untried; then
8787 AC_MSG_RESULT([no])
8788 m4_default([$4], [AC_MSG_FAILURE(
8789 [The pkg-config script could not be found or is too old. Make sure it
8790 is in your PATH or set the PKG_CONFIG environment variable to the full
8791 path to pkg-config.
8792
8793 _PKG_TEXT
8794
8795 To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
8796 ])
8797 else
8798 $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
8799 $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
8800 AC_MSG_RESULT([yes])
8801 $3
8802 fi[]dnl
8803 ])# PKG_CHECK_MODULES
8804
8805 # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
8806 #
8807 # This file is free software; the Free Software Foundation
8808 # gives unlimited permission to copy and/or distribute it,
8809 # with or without modifications, as long as this notice is preserved.
8810
8811 # AM_AUTOMAKE_VERSION(VERSION)
8812 # ----------------------------
8813 # Automake X.Y traces this macro to ensure aclocal.m4 has been
8814 # generated from the m4 files accompanying Automake X.Y.
8815 # (This private macro should not be called outside this file.)
8816 AC_DEFUN([AM_AUTOMAKE_VERSION],
8817 [am__api_version='1.11'
8818 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
8819 dnl require some minimum version. Point them to the right macro.
8820 m4_if([$1], [1.11.1], [],
8821 [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
8822 ])
8823
8824 # _AM_AUTOCONF_VERSION(VERSION)
8825 # -----------------------------
8826 # aclocal traces this macro to find the Autoconf version.
8827 # This is a private macro too. Using m4_define simplifies
8828 # the logic in aclocal, which can simply ignore this definition.
8829 m4_define([_AM_AUTOCONF_VERSION], [])
8830
8831 # AM_SET_CURRENT_AUTOMAKE_VERSION
8832 # -------------------------------
8833 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
8834 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
8835 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
8836 [AM_AUTOMAKE_VERSION([1.11.1])dnl
8837 m4_ifndef([AC_AUTOCONF_VERSION],
8838 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
8839 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
8840
8841 # AM_AUX_DIR_EXPAND -*- Autoconf -*-
8842
8843 # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
8844 #
8845 # This file is free software; the Free Software Foundation
8846 # gives unlimited permission to copy and/or distribute it,
8847 # with or without modifications, as long as this notice is preserved.
8848
8849 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
8850 # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
8851 # `$srcdir', `$srcdir/..', or `$srcdir/../..'.
8852 #
8853 # Of course, Automake must honor this variable whenever it calls a
8854 # tool from the auxiliary directory. The problem is that $srcdir (and
8855 # therefore $ac_aux_dir as well) can be either absolute or relative,
8856 # depending on how configure is run. This is pretty annoying, since
8857 # it makes $ac_aux_dir quite unusable in subdirectories: in the top
8858 # source directory, any form will work fine, but in subdirectories a
8859 # relative path needs to be adjusted first.
8860 #
8861 # $ac_aux_dir/missing
8862 # fails when called from a subdirectory if $ac_aux_dir is relative
8863 # $top_srcdir/$ac_aux_dir/missing
8864 # fails if $ac_aux_dir is absolute,
8865 # fails when called from a subdirectory in a VPATH build with
8866 # a relative $ac_aux_dir
8867 #
8868 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
8869 # are both prefixed by $srcdir. In an in-source build this is usually
8870 # harmless because $srcdir is `.', but things will broke when you
8871 # start a VPATH build or use an absolute $srcdir.
8872 #
8873 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
8874 # iff we strip the leading $srcdir from $ac_aux_dir. That would be:
8875 # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
8876 # and then we would define $MISSING as
8877 # MISSING="\${SHELL} $am_aux_dir/missing"
8878 # This will work as long as MISSING is not called from configure, because
8879 # unfortunately $(top_srcdir) has no meaning in configure.
8880 # However there are other variables, like CC, which are often used in
8881 # configure, and could therefore not use this "fixed" $ac_aux_dir.
8882 #
8883 # Another solution, used here, is to always expand $ac_aux_dir to an
8884 # absolute PATH. The drawback is that using absolute paths prevent a
8885 # configured tree to be moved without reconfiguration.
8886
8887 AC_DEFUN([AM_AUX_DIR_EXPAND],
8888 [dnl Rely on autoconf to set up CDPATH properly.
8889 AC_PREREQ([2.50])dnl
8890 # expand $ac_aux_dir to an absolute path
8891 am_aux_dir=`cd $ac_aux_dir && pwd`
8892 ])
8893
8894 # AM_CONDITIONAL -*- Autoconf -*-
8895
8896 # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
8897 # Free Software Foundation, Inc.
8898 #
8899 # This file is free software; the Free Software Foundation
8900 # gives unlimited permission to copy and/or distribute it,
8901 # with or without modifications, as long as this notice is preserved.
8902
8903 # serial 9
8904
8905 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
8906 # -------------------------------------
8907 # Define a conditional.
8908 AC_DEFUN([AM_CONDITIONAL],
8909 [AC_PREREQ(2.52)dnl
8910 ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
8911 [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
8912 AC_SUBST([$1_TRUE])dnl
8913 AC_SUBST([$1_FALSE])dnl
8914 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
8915 _AM_SUBST_NOTMAKE([$1_FALSE])dnl
8916 m4_define([_AM_COND_VALUE_$1], [$2])dnl
8917 if $2; then
8918 $1_TRUE=
8919 $1_FALSE='#'
8920 else
8921 $1_TRUE='#'
8922 $1_FALSE=
8923 fi
8924 AC_CONFIG_COMMANDS_PRE(
8925 [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
8926 AC_MSG_ERROR([[conditional "$1" was never defined.
8927 Usually this means the macro was only invoked conditionally.]])
8928 fi])])
8929
8930 # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
8931 # Free Software Foundation, Inc.
8932 #
8933 # This file is free software; the Free Software Foundation
8934 # gives unlimited permission to copy and/or distribute it,
8935 # with or without modifications, as long as this notice is preserved.
8936
8937 # serial 10
8938
8939 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
8940 # written in clear, in which case automake, when reading aclocal.m4,
8941 # will think it sees a *use*, and therefore will trigger all it's
8942 # C support machinery. Also note that it means that autoscan, seeing
8943 # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
8944
8945
8946 # _AM_DEPENDENCIES(NAME)
8947 # ----------------------
8948 # See how the compiler implements dependency checking.
8949 # NAME is "CC", "CXX", "GCJ", or "OBJC".
8950 # We try a few techniques and use that to set a single cache variable.
8951 #
8952 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
8953 # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
8954 # dependency, and given that the user is not expected to run this macro,
8955 # just rely on AC_PROG_CC.
8956 AC_DEFUN([_AM_DEPENDENCIES],
8957 [AC_REQUIRE([AM_SET_DEPDIR])dnl
8958 AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
8959 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
8960 AC_REQUIRE([AM_DEP_TRACK])dnl
8961
8962 ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
8963 [$1], CXX, [depcc="$CXX" am_compiler_list=],
8964 [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
8965 [$1], UPC, [depcc="$UPC" am_compiler_list=],
8966 [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
8967 [depcc="$$1" am_compiler_list=])
8968
8969 AC_CACHE_CHECK([dependency style of $depcc],
8970 [am_cv_$1_dependencies_compiler_type],
8971 [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
8972 # We make a subdir and do the tests there. Otherwise we can end up
8973 # making bogus files that we don't know about and never remove. For
8974 # instance it was reported that on HP-UX the gcc test will end up
8975 # making a dummy file named `D' -- because `-MD' means `put the output
8976 # in D'.
8977 mkdir conftest.dir
8978 # Copy depcomp to subdir because otherwise we won't find it if we're
8979 # using a relative directory.
8980 cp "$am_depcomp" conftest.dir
8981 cd conftest.dir
8982 # We will build objects and dependencies in a subdirectory because
8983 # it helps to detect inapplicable dependency modes. For instance
8984 # both Tru64's cc and ICC support -MD to output dependencies as a
8985 # side effect of compilation, but ICC will put the dependencies in
8986 # the current directory while Tru64 will put them in the object
8987 # directory.
8988 mkdir sub
8989
8990 am_cv_$1_dependencies_compiler_type=none
8991 if test "$am_compiler_list" = ""; then
8992 am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
8993 fi
8994 am__universal=false
8995 m4_case([$1], [CC],
8996 [case " $depcc " in #(
8997 *\ -arch\ *\ -arch\ *) am__universal=true ;;
8998 esac],
8999 [CXX],
9000 [case " $depcc " in #(
9001 *\ -arch\ *\ -arch\ *) am__universal=true ;;
9002 esac])
9003
9004 for depmode in $am_compiler_list; do
9005 # Setup a source with many dependencies, because some compilers
9006 # like to wrap large dependency lists on column 80 (with \), and
9007 # we should not choose a depcomp mode which is confused by this.
9008 #
9009 # We need to recreate these files for each test, as the compiler may
9010 # overwrite some of them when testing with obscure command lines.
9011 # This happens at least with the AIX C compiler.
9012 : > sub/conftest.c
9013 for i in 1 2 3 4 5 6; do
9014 echo '#include "conftst'$i'.h"' >> sub/conftest.c
9015 # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
9016 # Solaris 8's {/usr,}/bin/sh.
9017 touch sub/conftst$i.h
9018 done
9019 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
9020
9021 # We check with `-c' and `-o' for the sake of the "dashmstdout"
9022 # mode. It turns out that the SunPro C++ compiler does not properly
9023 # handle `-M -o', and we need to detect this. Also, some Intel
9024 # versions had trouble with output in subdirs
9025 am__obj=sub/conftest.${OBJEXT-o}
9026 am__minus_obj="-o $am__obj"
9027 case $depmode in
9028 gcc)
9029 # This depmode causes a compiler race in universal mode.
9030 test "$am__universal" = false || continue
9031 ;;
9032 nosideeffect)
9033 # after this tag, mechanisms are not by side-effect, so they'll
9034 # only be used when explicitly requested
9035 if test "x$enable_dependency_tracking" = xyes; then
9036 continue
9037 else
9038 break
9039 fi
9040 ;;
9041 msvisualcpp | msvcmsys)
9042 # This compiler won't grok `-c -o', but also, the minuso test has
9043 # not run yet. These depmodes are late enough in the game, and
9044 # so weak that their functioning should not be impacted.
9045 am__obj=conftest.${OBJEXT-o}
9046 am__minus_obj=
9047 ;;
9048 none) break ;;
9049 esac
9050 if depmode=$depmode \
9051 source=sub/conftest.c object=$am__obj \
9052 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
9053 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
9054 >/dev/null 2>conftest.err &&
9055 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
9056 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
9057 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
9058 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
9059 # icc doesn't choke on unknown options, it will just issue warnings
9060 # or remarks (even with -Werror). So we grep stderr for any message
9061 # that says an option was ignored or not supported.
9062 # When given -MP, icc 7.0 and 7.1 complain thusly:
9063 # icc: Command line warning: ignoring option '-M'; no argument required
9064 # The diagnosis changed in icc 8.0:
9065 # icc: Command line remark: option '-MP' not supported
9066 if (grep 'ignoring option' conftest.err ||
9067 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
9068 am_cv_$1_dependencies_compiler_type=$depmode
9069 break
9070 fi
9071 fi
9072 done
9073
9074 cd ..
9075 rm -rf conftest.dir
9076 else
9077 am_cv_$1_dependencies_compiler_type=none
9078 fi
9079 ])
9080 AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
9081 AM_CONDITIONAL([am__fastdep$1], [
9082 test "x$enable_dependency_tracking" != xno \
9083 && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
9084 ])
9085
9086
9087 # AM_SET_DEPDIR
9088 # -------------
9089 # Choose a directory name for dependency files.
9090 # This macro is AC_REQUIREd in _AM_DEPENDENCIES
9091 AC_DEFUN([AM_SET_DEPDIR],
9092 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
9093 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
9094 ])
9095
9096
9097 # AM_DEP_TRACK
9098 # ------------
9099 AC_DEFUN([AM_DEP_TRACK],
9100 [AC_ARG_ENABLE(dependency-tracking,
9101 [ --disable-dependency-tracking speeds up one-time build
9102 --enable-dependency-tracking do not reject slow dependency extractors])
9103 if test "x$enable_dependency_tracking" != xno; then
9104 am_depcomp="$ac_aux_dir/depcomp"
9105 AMDEPBACKSLASH='\'
9106 fi
9107 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
9108 AC_SUBST([AMDEPBACKSLASH])dnl
9109 _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
9110 ])
9111
9112 # Generate code to set up dependency tracking. -*- Autoconf -*-
9113
9114 # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
9115 # Free Software Foundation, Inc.
9116 #
9117 # This file is free software; the Free Software Foundation
9118 # gives unlimited permission to copy and/or distribute it,
9119 # with or without modifications, as long as this notice is preserved.
9120
9121 #serial 5
9122
9123 # _AM_OUTPUT_DEPENDENCY_COMMANDS
9124 # ------------------------------
9125 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
9126 [{
9127 # Autoconf 2.62 quotes --file arguments for eval, but not when files
9128 # are listed without --file. Let's play safe and only enable the eval
9129 # if we detect the quoting.
9130 case $CONFIG_FILES in
9131 *\'*) eval set x "$CONFIG_FILES" ;;
9132 *) set x $CONFIG_FILES ;;
9133 esac
9134 shift
9135 for mf
9136 do
9137 # Strip MF so we end up with the name of the file.
9138 mf=`echo "$mf" | sed -e 's/:.*$//'`
9139 # Check whether this is an Automake generated Makefile or not.
9140 # We used to match only the files named `Makefile.in', but
9141 # some people rename them; so instead we look at the file content.
9142 # Grep'ing the first line is not enough: some people post-process
9143 # each Makefile.in and add a new line on top of each file to say so.
9144 # Grep'ing the whole file is not good either: AIX grep has a line
9145 # limit of 2048, but all sed's we know have understand at least 4000.
9146 if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
9147 dirpart=`AS_DIRNAME("$mf")`
9148 else
9149 continue
9150 fi
9151 # Extract the definition of DEPDIR, am__include, and am__quote
9152 # from the Makefile without running `make'.
9153 DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
9154 test -z "$DEPDIR" && continue
9155 am__include=`sed -n 's/^am__include = //p' < "$mf"`
9156 test -z "am__include" && continue
9157 am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
9158 # When using ansi2knr, U may be empty or an underscore; expand it
9159 U=`sed -n 's/^U = //p' < "$mf"`
9160 # Find all dependency output files, they are included files with
9161 # $(DEPDIR) in their names. We invoke sed twice because it is the
9162 # simplest approach to changing $(DEPDIR) to its actual value in the
9163 # expansion.
9164 for file in `sed -n "
9165 s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
9166 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
9167 # Make sure the directory exists.
9168 test -f "$dirpart/$file" && continue
9169 fdir=`AS_DIRNAME(["$file"])`
9170 AS_MKDIR_P([$dirpart/$fdir])
9171 # echo "creating $dirpart/$file"
9172 echo '# dummy' > "$dirpart/$file"
9173 done
9174 done
9175 }
9176 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
9177
9178
9179 # AM_OUTPUT_DEPENDENCY_COMMANDS
9180 # -----------------------------
9181 # This macro should only be invoked once -- use via AC_REQUIRE.
9182 #
9183 # This code is only required when automatic dependency tracking
9184 # is enabled. FIXME. This creates each `.P' file that we will
9185 # need in order to bootstrap the dependency handling code.
9186 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
9187 [AC_CONFIG_COMMANDS([depfiles],
9188 [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
9189 [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
9190 ])
9191
9192 # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
9193 # Free Software Foundation, Inc.
9194 #
9195 # This file is free software; the Free Software Foundation
9196 # gives unlimited permission to copy and/or distribute it,
9197 # with or without modifications, as long as this notice is preserved.
9198
9199 # serial 8
9200
9201 # AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
9202 AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
9203
9204 # Do all the work for Automake. -*- Autoconf -*-
9205
9206 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
9207 # 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
9208 #
9209 # This file is free software; the Free Software Foundation
9210 # gives unlimited permission to copy and/or distribute it,
9211 # with or without modifications, as long as this notice is preserved.
9212
9213 # serial 16
9214
9215 # This macro actually does too much. Some checks are only needed if
9216 # your package does certain things. But this isn't really a big deal.
9217
9218 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
9219 # AM_INIT_AUTOMAKE([OPTIONS])
9220 # -----------------------------------------------
9221 # The call with PACKAGE and VERSION arguments is the old style
9222 # call (pre autoconf-2.50), which is being phased out. PACKAGE
9223 # and VERSION should now be passed to AC_INIT and removed from
9224 # the call to AM_INIT_AUTOMAKE.
9225 # We support both call styles for the transition. After
9226 # the next Automake release, Autoconf can make the AC_INIT
9227 # arguments mandatory, and then we can depend on a new Autoconf
9228 # release and drop the old call support.
9229 AC_DEFUN([AM_INIT_AUTOMAKE],
9230 [AC_PREREQ([2.62])dnl
9231 dnl Autoconf wants to disallow AM_ names. We explicitly allow
9232 dnl the ones we care about.
9233 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
9234 AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
9235 AC_REQUIRE([AC_PROG_INSTALL])dnl
9236 if test "`cd $srcdir && pwd`" != "`pwd`"; then
9237 # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
9238 # is not polluted with repeated "-I."
9239 AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
9240 # test to see if srcdir already configured
9241 if test -f $srcdir/config.status; then
9242 AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
9243 fi
9244 fi
9245
9246 # test whether we have cygpath
9247 if test -z "$CYGPATH_W"; then
9248 if (cygpath --version) >/dev/null 2>/dev/null; then
9249 CYGPATH_W='cygpath -w'
9250 else
9251 CYGPATH_W=echo
9252 fi
9253 fi
9254 AC_SUBST([CYGPATH_W])
9255
9256 # Define the identity of the package.
9257 dnl Distinguish between old-style and new-style calls.
9258 m4_ifval([$2],
9259 [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
9260 AC_SUBST([PACKAGE], [$1])dnl
9261 AC_SUBST([VERSION], [$2])],
9262 [_AM_SET_OPTIONS([$1])dnl
9263 dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
9264 m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
9265 [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
9266 AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
9267 AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
9268
9269 _AM_IF_OPTION([no-define],,
9270 [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
9271 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
9272
9273 # Some tools Automake needs.
9274 AC_REQUIRE([AM_SANITY_CHECK])dnl
9275 AC_REQUIRE([AC_ARG_PROGRAM])dnl
9276 AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
9277 AM_MISSING_PROG(AUTOCONF, autoconf)
9278 AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
9279 AM_MISSING_PROG(AUTOHEADER, autoheader)
9280 AM_MISSING_PROG(MAKEINFO, makeinfo)
9281 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
9282 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
9283 AC_REQUIRE([AM_PROG_MKDIR_P])dnl
9284 # We need awk for the "check" target. The system "awk" is bad on
9285 # some platforms.
9286 AC_REQUIRE([AC_PROG_AWK])dnl
9287 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
9288 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
9289 _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
9290 [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
9291 [_AM_PROG_TAR([v7])])])
9292 _AM_IF_OPTION([no-dependencies],,
9293 [AC_PROVIDE_IFELSE([AC_PROG_CC],
9294 [_AM_DEPENDENCIES(CC)],
9295 [define([AC_PROG_CC],
9296 defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
9297 AC_PROVIDE_IFELSE([AC_PROG_CXX],
9298 [_AM_DEPENDENCIES(CXX)],
9299 [define([AC_PROG_CXX],
9300 defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
9301 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
9302 [_AM_DEPENDENCIES(OBJC)],
9303 [define([AC_PROG_OBJC],
9304 defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
9305 ])
9306 _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
9307 dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
9308 dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
9309 dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
9310 AC_CONFIG_COMMANDS_PRE(dnl
9311 [m4_provide_if([_AM_COMPILER_EXEEXT],
9312 [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
9313 ])
9314
9315 dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
9316 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
9317 dnl mangled by Autoconf and run in a shell conditional statement.
9318 m4_define([_AC_COMPILER_EXEEXT],
9319 m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
9320
9321
9322 # When config.status generates a header, we must update the stamp-h file.
9323 # This file resides in the same directory as the config header
9324 # that is generated. The stamp files are numbered to have different names.
9325
9326 # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
9327 # loop where config.status creates the headers, so we can generate
9328 # our stamp files there.
9329 AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
9330 [# Compute $1's index in $config_headers.
9331 _am_arg=$1
9332 _am_stamp_count=1
9333 for _am_header in $config_headers :; do
9334 case $_am_header in
9335 $_am_arg | $_am_arg:* )
9336 break ;;
9337 * )
9338 _am_stamp_count=`expr $_am_stamp_count + 1` ;;
9339 esac
9340 done
9341 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
9342
9343 # Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
9344 #
9345 # This file is free software; the Free Software Foundation
9346 # gives unlimited permission to copy and/or distribute it,
9347 # with or without modifications, as long as this notice is preserved.
9348
9349 # AM_PROG_INSTALL_SH
9350 # ------------------
9351 # Define $install_sh.
9352 AC_DEFUN([AM_PROG_INSTALL_SH],
9353 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
9354 if test x"${install_sh}" != xset; then
9355 case $am_aux_dir in
9356 *\ * | *\ *)
9357 install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
9358 *)
9359 install_sh="\${SHELL} $am_aux_dir/install-sh"
9360 esac
9361 fi
9362 AC_SUBST(install_sh)])
9363
9364 # Copyright (C) 2003, 2005 Free Software Foundation, Inc.
9365 #
9366 # This file is free software; the Free Software Foundation
9367 # gives unlimited permission to copy and/or distribute it,
9368 # with or without modifications, as long as this notice is preserved.
9369
9370 # serial 2
9371
9372 # Check whether the underlying file-system supports filenames
9373 # with a leading dot. For instance MS-DOS doesn't.
9374 AC_DEFUN([AM_SET_LEADING_DOT],
9375 [rm -rf .tst 2>/dev/null
9376 mkdir .tst 2>/dev/null
9377 if test -d .tst; then
9378 am__leading_dot=.
9379 else
9380 am__leading_dot=_
9381 fi
9382 rmdir .tst 2>/dev/null
9383 AC_SUBST([am__leading_dot])])
9384
9385 # Check to see how 'make' treats includes. -*- Autoconf -*-
9386
9387 # Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
9388 #
9389 # This file is free software; the Free Software Foundation
9390 # gives unlimited permission to copy and/or distribute it,
9391 # with or without modifications, as long as this notice is preserved.
9392
9393 # serial 4
9394
9395 # AM_MAKE_INCLUDE()
9396 # -----------------
9397 # Check to see how make treats includes.
9398 AC_DEFUN([AM_MAKE_INCLUDE],
9399 [am_make=${MAKE-make}
9400 cat > confinc << 'END'
9401 am__doit:
9402 @echo this is the am__doit target
9403 .PHONY: am__doit
9404 END
9405 # If we don't find an include directive, just comment out the code.
9406 AC_MSG_CHECKING([for style of include used by $am_make])
9407 am__include="#"
9408 am__quote=
9409 _am_result=none
9410 # First try GNU make style include.
9411 echo "include confinc" > confmf
9412 # Ignore all kinds of additional output from `make'.
9413 case `$am_make -s -f confmf 2> /dev/null` in #(
9414 *the\ am__doit\ target*)
9415 am__include=include
9416 am__quote=
9417 _am_result=GNU
9418 ;;
9419 esac
9420 # Now try BSD make style include.
9421 if test "$am__include" = "#"; then
9422 echo '.include "confinc"' > confmf
9423 case `$am_make -s -f confmf 2> /dev/null` in #(
9424 *the\ am__doit\ target*)
9425 am__include=.include
9426 am__quote="\""
9427 _am_result=BSD
9428 ;;
9429 esac
9430 fi
9431 AC_SUBST([am__include])
9432 AC_SUBST([am__quote])
9433 AC_MSG_RESULT([$_am_result])
9434 rm -f confinc confmf
9435 ])
9436
9437 # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
9438
9439 # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
9440 # Free Software Foundation, Inc.
9441 #
9442 # This file is free software; the Free Software Foundation
9443 # gives unlimited permission to copy and/or distribute it,
9444 # with or without modifications, as long as this notice is preserved.
9445
9446 # serial 6
9447
9448 # AM_MISSING_PROG(NAME, PROGRAM)
9449 # ------------------------------
9450 AC_DEFUN([AM_MISSING_PROG],
9451 [AC_REQUIRE([AM_MISSING_HAS_RUN])
9452 $1=${$1-"${am_missing_run}$2"}
9453 AC_SUBST($1)])
9454
9455
9456 # AM_MISSING_HAS_RUN
9457 # ------------------
9458 # Define MISSING if not defined so far and test if it supports --run.
9459 # If it does, set am_missing_run to use it, otherwise, to nothing.
9460 AC_DEFUN([AM_MISSING_HAS_RUN],
9461 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
9462 AC_REQUIRE_AUX_FILE([missing])dnl
9463 if test x"${MISSING+set}" != xset; then
9464 case $am_aux_dir in
9465 *\ * | *\ *)
9466 MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
9467 *)
9468 MISSING="\${SHELL} $am_aux_dir/missing" ;;
9469 esac
9470 fi
9471 # Use eval to expand $SHELL
9472 if eval "$MISSING --run true"; then
9473 am_missing_run="$MISSING --run "
9474 else
9475 am_missing_run=
9476 AC_MSG_WARN([`missing' script is too old or missing])
9477 fi
9478 ])
9479
9480 # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
9481 #
9482 # This file is free software; the Free Software Foundation
9483 # gives unlimited permission to copy and/or distribute it,
9484 # with or without modifications, as long as this notice is preserved.
9485
9486 # AM_PROG_MKDIR_P
9487 # ---------------
9488 # Check for `mkdir -p'.
9489 AC_DEFUN([AM_PROG_MKDIR_P],
9490 [AC_PREREQ([2.60])dnl
9491 AC_REQUIRE([AC_PROG_MKDIR_P])dnl
9492 dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
9493 dnl while keeping a definition of mkdir_p for backward compatibility.
9494 dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
9495 dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
9496 dnl Makefile.ins that do not define MKDIR_P, so we do our own
9497 dnl adjustment using top_builddir (which is defined more often than
9498 dnl MKDIR_P).
9499 AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
9500 case $mkdir_p in
9501 [[\\/$]]* | ?:[[\\/]]*) ;;
9502 */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
9503 esac
9504 ])
9505
9506 # Helper functions for option handling. -*- Autoconf -*-
9507
9508 # Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
9509 #
9510 # This file is free software; the Free Software Foundation
9511 # gives unlimited permission to copy and/or distribute it,
9512 # with or without modifications, as long as this notice is preserved.
9513
9514 # serial 4
9515
9516 # _AM_MANGLE_OPTION(NAME)
9517 # -----------------------
9518 AC_DEFUN([_AM_MANGLE_OPTION],
9519 [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
9520
9521 # _AM_SET_OPTION(NAME)
9522 # ------------------------------
9523 # Set option NAME. Presently that only means defining a flag for this option.
9524 AC_DEFUN([_AM_SET_OPTION],
9525 [m4_define(_AM_MANGLE_OPTION([$1]), 1)])
9526
9527 # _AM_SET_OPTIONS(OPTIONS)
9528 # ----------------------------------
9529 # OPTIONS is a space-separated list of Automake options.
9530 AC_DEFUN([_AM_SET_OPTIONS],
9531 [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
9532
9533 # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
9534 # -------------------------------------------
9535 # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
9536 AC_DEFUN([_AM_IF_OPTION],
9537 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
9538
9539 # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
9540 #
9541 # This file is free software; the Free Software Foundation
9542 # gives unlimited permission to copy and/or distribute it,
9543 # with or without modifications, as long as this notice is preserved.
9544
9545 # AM_PROG_INSTALL_STRIP
9546 # ---------------------
9547 # One issue with vendor `install' (even GNU) is that you can't
9548 # specify the program used to strip binaries. This is especially
9549 # annoying in cross-compiling environments, where the build's strip
9550 # is unlikely to handle the host's binaries.
9551 # Fortunately install-sh will honor a STRIPPROG variable, so we
9552 # always use install-sh in `make install-strip', and initialize
9553 # STRIPPROG with the value of the STRIP variable (set by the user).
9554 AC_DEFUN([AM_PROG_INSTALL_STRIP],
9555 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
9556 # Installed binaries are usually stripped using `strip' when the user
9557 # run `make install-strip'. However `strip' might not be the right
9558 # tool to use in cross-compilation environments, therefore Automake
9559 # will honor the `STRIP' environment variable to overrule this program.
9560 dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
9561 if test "$cross_compiling" != no; then
9562 AC_CHECK_TOOL([STRIP], [strip], :)
9563 fi
9564 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
9565 AC_SUBST([INSTALL_STRIP_PROGRAM])])
9566
9567 # Copyright (C) 2006, 2008 Free Software Foundation, Inc.
9568 #
9569 # This file is free software; the Free Software Foundation
9570 # gives unlimited permission to copy and/or distribute it,
9571 # with or without modifications, as long as this notice is preserved.
9572
9573 # serial 2
9574
9575 # _AM_SUBST_NOTMAKE(VARIABLE)
9576 # ---------------------------
9577 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
9578 # This macro is traced by Automake.
9579 AC_DEFUN([_AM_SUBST_NOTMAKE])
9580
9581 # AM_SUBST_NOTMAKE(VARIABLE)
9582 # ---------------------------
9583 # Public sister of _AM_SUBST_NOTMAKE.
9584 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
9585
9586 # Check how to create a tarball. -*- Autoconf -*-
9587
9588 # Copyright (C) 2004, 2005 Free Software Foundation, Inc.
9589 #
9590 # This file is free software; the Free Software Foundation
9591 # gives unlimited permission to copy and/or distribute it,
9592 # with or without modifications, as long as this notice is preserved.
9593
9594 # serial 2
9595
9596 # _AM_PROG_TAR(FORMAT)
9597 # --------------------
9598 # Check how to create a tarball in format FORMAT.
9599 # FORMAT should be one of `v7', `ustar', or `pax'.
9600 #
9601 # Substitute a variable $(am__tar) that is a command
9602 # writing to stdout a FORMAT-tarball containing the directory
9603 # $tardir.
9604 # tardir=directory && $(am__tar) > result.tar
9605 #
9606 # Substitute a variable $(am__untar) that extract such
9607 # a tarball read from stdin.
9608 # $(am__untar) < result.tar
9609 AC_DEFUN([_AM_PROG_TAR],
9610 [# Always define AMTAR for backward compatibility.
9611 AM_MISSING_PROG([AMTAR], [tar])
9612 m4_if([$1], [v7],
9613 [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
9614 [m4_case([$1], [ustar],, [pax],,
9615 [m4_fatal([Unknown tar format])])
9616 AC_MSG_CHECKING([how to create a $1 tar archive])
9617 # Loop over all known methods to create a tar archive until one works.
9618 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
9619 _am_tools=${am_cv_prog_tar_$1-$_am_tools}
9620 # Do not fold the above two line into one, because Tru64 sh and
9621 # Solaris sh will not grok spaces in the rhs of `-'.
9622 for _am_tool in $_am_tools
9623 do
9624 case $_am_tool in
9625 gnutar)
9626 for _am_tar in tar gnutar gtar;
9627 do
9628 AM_RUN_LOG([$_am_tar --version]) && break
9629 done
9630 am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
9631 am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
9632 am__untar="$_am_tar -xf -"
9633 ;;
9634 plaintar)
9635 # Must skip GNU tar: if it does not support --format= it doesn't create
9636 # ustar tarball either.
9637 (tar --version) >/dev/null 2>&1 && continue
9638 am__tar='tar chf - "$$tardir"'
9639 am__tar_='tar chf - "$tardir"'
9640 am__untar='tar xf -'
9641 ;;
9642 pax)
9643 am__tar='pax -L -x $1 -w "$$tardir"'
9644 am__tar_='pax -L -x $1 -w "$tardir"'
9645 am__untar='pax -r'
9646 ;;
9647 cpio)
9648 am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
9649 am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
9650 am__untar='cpio -i -H $1 -d'
9651 ;;
9652 none)
9653 am__tar=false
9654 am__tar_=false
9655 am__untar=false
9656 ;;
9657 esac
9658
9659 # If the value was cached, stop now. We just wanted to have am__tar
9660 # and am__untar set.
9661 test -n "${am_cv_prog_tar_$1}" && break
9662
9663 # tar/untar a dummy directory, and stop if the command works
9664 rm -rf conftest.dir
9665 mkdir conftest.dir
9666 echo GrepMe > conftest.dir/file
9667 AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
9668 rm -rf conftest.dir
9669 if test -s conftest.tar; then
9670 AM_RUN_LOG([$am__untar <conftest.tar])
9671 grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
9672 fi
9673 done
9674 rm -rf conftest.dir
9675
9676 AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
9677 AC_MSG_RESULT([$am_cv_prog_tar_$1])])
9678 AC_SUBST([am__tar])
9679 AC_SUBST([am__untar])
9680 ]) # _AM_PROG_TAR
9681
9682 m4_include([acinclude.m4])
0 #!/bin/sh
1
2 ## this can be skipped if you don't want i18n.
3 ##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 echo "Running intltoolize"
5 intltoolize --force --copy
6
7 echo "Running libtoolize"
8 libtoolize --force --copy
9
10 echo "Removing autom4te.cache"
11 rm -fr autom4te.cache
12 rm -f aclocal.m4
13
14 ##OSTYPE=`uname -s`
15 ##AMVER="-1.7"
16 ##AMFLAGS="--add-missing"
17 ##if test "$OSTYPE" = "IRIX" -o "$OSTYPE" = "IRIX64"; then
18 ## AMFLAGS=$AMFLAGS" --include-deps";
19 ##fi
20 ##echo "Running aclocal$AMVER"
21 ##rm -fr autom4te.cache ; aclocal$AMVER
22 ##echo "Running autoheader"
23 ##autoheader
24 ##echo "Running automake$AMVER"
25 ##automake$AMVER $AMFLAGS
26 ##echo "Running autoconf"
27 ##autoconf
28
29 echo "Running autoreconf"
30
31 ##export AUTOCONF=autoconf-2.13
32 ##export AUTOHEADER=autoheader-2.13
33
34 ##export ACLOCAL=aclocal-1.4
35 ##export AUTOMAKE=automake-1.4
36
37 autoreconf -v -f
38
39 echo "======================================"
40 echo "Now you are ready to run './configure'"
41 echo "======================================"
42
0 #! /bin/sh
1 # Attempt to guess a canonical system name.
2 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
3 # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
4 # Free Software Foundation, Inc.
5
6 timestamp='2008-01-23'
7
8 # This file is free software; you can redistribute it and/or modify it
9 # under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2 of the License, or
11 # (at your option) any later version.
12 #
13 # This program is distributed in the hope that it will be useful, but
14 # WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 # General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
21 # 02110-1301, USA.
22 #
23 # As a special exception to the GNU General Public License, if you
24 # distribute this file as part of a program that contains a
25 # configuration script generated by Autoconf, you may include it under
26 # the same distribution terms that you use for the rest of that program.
27
28
29 # Originally written by Per Bothner <per@bothner.com>.
30 # Please send patches to <config-patches@gnu.org>. Submit a context
31 # diff and a properly formatted ChangeLog entry.
32 #
33 # This script attempts to guess a canonical system name similar to
34 # config.sub. If it succeeds, it prints the system name on stdout, and
35 # exits with 0. Otherwise, it exits with 1.
36 #
37 # The plan is that this can be called by configure scripts if you
38 # don't specify an explicit build system type.
39
40 me=`echo "$0" | sed -e 's,.*/,,'`
41
42 usage="\
43 Usage: $0 [OPTION]
44
45 Output the configuration name of the system \`$me' is run on.
46
47 Operation modes:
48 -h, --help print this help, then exit
49 -t, --time-stamp print date of last modification, then exit
50 -v, --version print version number, then exit
51
52 Report bugs and patches to <config-patches@gnu.org>."
53
54 version="\
55 GNU config.guess ($timestamp)
56
57 Originally written by Per Bothner.
58 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
59 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
60
61 This is free software; see the source for copying conditions. There is NO
62 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
63
64 help="
65 Try \`$me --help' for more information."
66
67 # Parse command line
68 while test $# -gt 0 ; do
69 case $1 in
70 --time-stamp | --time* | -t )
71 echo "$timestamp" ; exit ;;
72 --version | -v )
73 echo "$version" ; exit ;;
74 --help | --h* | -h )
75 echo "$usage"; exit ;;
76 -- ) # Stop option processing
77 shift; break ;;
78 - ) # Use stdin as input.
79 break ;;
80 -* )
81 echo "$me: invalid option $1$help" >&2
82 exit 1 ;;
83 * )
84 break ;;
85 esac
86 done
87
88 if test $# != 0; then
89 echo "$me: too many arguments$help" >&2
90 exit 1
91 fi
92
93 trap 'exit 1' 1 2 15
94
95 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
96 # compiler to aid in system detection is discouraged as it requires
97 # temporary files to be created and, as you can see below, it is a
98 # headache to deal with in a portable fashion.
99
100 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
101 # use `HOST_CC' if defined, but it is deprecated.
102
103 # Portable tmp directory creation inspired by the Autoconf team.
104
105 set_cc_for_build='
106 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
107 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
108 : ${TMPDIR=/tmp} ;
109 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
110 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
111 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
112 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
113 dummy=$tmp/dummy ;
114 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
115 case $CC_FOR_BUILD,$HOST_CC,$CC in
116 ,,) echo "int x;" > $dummy.c ;
117 for c in cc gcc c89 c99 ; do
118 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
119 CC_FOR_BUILD="$c"; break ;
120 fi ;
121 done ;
122 if test x"$CC_FOR_BUILD" = x ; then
123 CC_FOR_BUILD=no_compiler_found ;
124 fi
125 ;;
126 ,,*) CC_FOR_BUILD=$CC ;;
127 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
128 esac ; set_cc_for_build= ;'
129
130 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
131 # (ghazi@noc.rutgers.edu 1994-08-24)
132 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
133 PATH=$PATH:/.attbin ; export PATH
134 fi
135
136 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
137 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
138 UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
139 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
140
141 # Note: order is significant - the case branches are not exclusive.
142
143 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
144 *:NetBSD:*:*)
145 # NetBSD (nbsd) targets should (where applicable) match one or
146 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
147 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
148 # switched to ELF, *-*-netbsd* would select the old
149 # object file format. This provides both forward
150 # compatibility and a consistent mechanism for selecting the
151 # object file format.
152 #
153 # Note: NetBSD doesn't particularly care about the vendor
154 # portion of the name. We always set it to "unknown".
155 sysctl="sysctl -n hw.machine_arch"
156 UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
157 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
158 case "${UNAME_MACHINE_ARCH}" in
159 armeb) machine=armeb-unknown ;;
160 arm*) machine=arm-unknown ;;
161 sh3el) machine=shl-unknown ;;
162 sh3eb) machine=sh-unknown ;;
163 sh5el) machine=sh5le-unknown ;;
164 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
165 esac
166 # The Operating System including object format, if it has switched
167 # to ELF recently, or will in the future.
168 case "${UNAME_MACHINE_ARCH}" in
169 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
170 eval $set_cc_for_build
171 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
172 | grep __ELF__ >/dev/null
173 then
174 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
175 # Return netbsd for either. FIX?
176 os=netbsd
177 else
178 os=netbsdelf
179 fi
180 ;;
181 *)
182 os=netbsd
183 ;;
184 esac
185 # The OS release
186 # Debian GNU/NetBSD machines have a different userland, and
187 # thus, need a distinct triplet. However, they do not need
188 # kernel version information, so it can be replaced with a
189 # suitable tag, in the style of linux-gnu.
190 case "${UNAME_VERSION}" in
191 Debian*)
192 release='-gnu'
193 ;;
194 *)
195 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
196 ;;
197 esac
198 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
199 # contains redundant information, the shorter form:
200 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
201 echo "${machine}-${os}${release}"
202 exit ;;
203 *:OpenBSD:*:*)
204 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
205 echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
206 exit ;;
207 *:ekkoBSD:*:*)
208 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
209 exit ;;
210 *:SolidBSD:*:*)
211 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
212 exit ;;
213 macppc:MirBSD:*:*)
214 echo powerpc-unknown-mirbsd${UNAME_RELEASE}
215 exit ;;
216 *:MirBSD:*:*)
217 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
218 exit ;;
219 alpha:OSF1:*:*)
220 case $UNAME_RELEASE in
221 *4.0)
222 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
223 ;;
224 *5.*)
225 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
226 ;;
227 esac
228 # According to Compaq, /usr/sbin/psrinfo has been available on
229 # OSF/1 and Tru64 systems produced since 1995. I hope that
230 # covers most systems running today. This code pipes the CPU
231 # types through head -n 1, so we only detect the type of CPU 0.
232 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
233 case "$ALPHA_CPU_TYPE" in
234 "EV4 (21064)")
235 UNAME_MACHINE="alpha" ;;
236 "EV4.5 (21064)")
237 UNAME_MACHINE="alpha" ;;
238 "LCA4 (21066/21068)")
239 UNAME_MACHINE="alpha" ;;
240 "EV5 (21164)")
241 UNAME_MACHINE="alphaev5" ;;
242 "EV5.6 (21164A)")
243 UNAME_MACHINE="alphaev56" ;;
244 "EV5.6 (21164PC)")
245 UNAME_MACHINE="alphapca56" ;;
246 "EV5.7 (21164PC)")
247 UNAME_MACHINE="alphapca57" ;;
248 "EV6 (21264)")
249 UNAME_MACHINE="alphaev6" ;;
250 "EV6.7 (21264A)")
251 UNAME_MACHINE="alphaev67" ;;
252 "EV6.8CB (21264C)")
253 UNAME_MACHINE="alphaev68" ;;
254 "EV6.8AL (21264B)")
255 UNAME_MACHINE="alphaev68" ;;
256 "EV6.8CX (21264D)")
257 UNAME_MACHINE="alphaev68" ;;
258 "EV6.9A (21264/EV69A)")
259 UNAME_MACHINE="alphaev69" ;;
260 "EV7 (21364)")
261 UNAME_MACHINE="alphaev7" ;;
262 "EV7.9 (21364A)")
263 UNAME_MACHINE="alphaev79" ;;
264 esac
265 # A Pn.n version is a patched version.
266 # A Vn.n version is a released version.
267 # A Tn.n version is a released field test version.
268 # A Xn.n version is an unreleased experimental baselevel.
269 # 1.2 uses "1.2" for uname -r.
270 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
271 exit ;;
272 Alpha\ *:Windows_NT*:*)
273 # How do we know it's Interix rather than the generic POSIX subsystem?
274 # Should we change UNAME_MACHINE based on the output of uname instead
275 # of the specific Alpha model?
276 echo alpha-pc-interix
277 exit ;;
278 21064:Windows_NT:50:3)
279 echo alpha-dec-winnt3.5
280 exit ;;
281 Amiga*:UNIX_System_V:4.0:*)
282 echo m68k-unknown-sysv4
283 exit ;;
284 *:[Aa]miga[Oo][Ss]:*:*)
285 echo ${UNAME_MACHINE}-unknown-amigaos
286 exit ;;
287 *:[Mm]orph[Oo][Ss]:*:*)
288 echo ${UNAME_MACHINE}-unknown-morphos
289 exit ;;
290 *:OS/390:*:*)
291 echo i370-ibm-openedition
292 exit ;;
293 *:z/VM:*:*)
294 echo s390-ibm-zvmoe
295 exit ;;
296 *:OS400:*:*)
297 echo powerpc-ibm-os400
298 exit ;;
299 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
300 echo arm-acorn-riscix${UNAME_RELEASE}
301 exit ;;
302 arm:riscos:*:*|arm:RISCOS:*:*)
303 echo arm-unknown-riscos
304 exit ;;
305 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
306 echo hppa1.1-hitachi-hiuxmpp
307 exit ;;
308 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
309 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
310 if test "`(/bin/universe) 2>/dev/null`" = att ; then
311 echo pyramid-pyramid-sysv3
312 else
313 echo pyramid-pyramid-bsd
314 fi
315 exit ;;
316 NILE*:*:*:dcosx)
317 echo pyramid-pyramid-svr4
318 exit ;;
319 DRS?6000:unix:4.0:6*)
320 echo sparc-icl-nx6
321 exit ;;
322 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
323 case `/usr/bin/uname -p` in
324 sparc) echo sparc-icl-nx7; exit ;;
325 esac ;;
326 sun4H:SunOS:5.*:*)
327 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
328 exit ;;
329 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
330 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
331 exit ;;
332 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
333 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
334 exit ;;
335 sun4*:SunOS:6*:*)
336 # According to config.sub, this is the proper way to canonicalize
337 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
338 # it's likely to be more like Solaris than SunOS4.
339 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
340 exit ;;
341 sun4*:SunOS:*:*)
342 case "`/usr/bin/arch -k`" in
343 Series*|S4*)
344 UNAME_RELEASE=`uname -v`
345 ;;
346 esac
347 # Japanese Language versions have a version number like `4.1.3-JL'.
348 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
349 exit ;;
350 sun3*:SunOS:*:*)
351 echo m68k-sun-sunos${UNAME_RELEASE}
352 exit ;;
353 sun*:*:4.2BSD:*)
354 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
355 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
356 case "`/bin/arch`" in
357 sun3)
358 echo m68k-sun-sunos${UNAME_RELEASE}
359 ;;
360 sun4)
361 echo sparc-sun-sunos${UNAME_RELEASE}
362 ;;
363 esac
364 exit ;;
365 aushp:SunOS:*:*)
366 echo sparc-auspex-sunos${UNAME_RELEASE}
367 exit ;;
368 # The situation for MiNT is a little confusing. The machine name
369 # can be virtually everything (everything which is not
370 # "atarist" or "atariste" at least should have a processor
371 # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
372 # to the lowercase version "mint" (or "freemint"). Finally
373 # the system name "TOS" denotes a system which is actually not
374 # MiNT. But MiNT is downward compatible to TOS, so this should
375 # be no problem.
376 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
377 echo m68k-atari-mint${UNAME_RELEASE}
378 exit ;;
379 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
380 echo m68k-atari-mint${UNAME_RELEASE}
381 exit ;;
382 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
383 echo m68k-atari-mint${UNAME_RELEASE}
384 exit ;;
385 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
386 echo m68k-milan-mint${UNAME_RELEASE}
387 exit ;;
388 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
389 echo m68k-hades-mint${UNAME_RELEASE}
390 exit ;;
391 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
392 echo m68k-unknown-mint${UNAME_RELEASE}
393 exit ;;
394 m68k:machten:*:*)
395 echo m68k-apple-machten${UNAME_RELEASE}
396 exit ;;
397 powerpc:machten:*:*)
398 echo powerpc-apple-machten${UNAME_RELEASE}
399 exit ;;
400 RISC*:Mach:*:*)
401 echo mips-dec-mach_bsd4.3
402 exit ;;
403 RISC*:ULTRIX:*:*)
404 echo mips-dec-ultrix${UNAME_RELEASE}
405 exit ;;
406 VAX*:ULTRIX*:*:*)
407 echo vax-dec-ultrix${UNAME_RELEASE}
408 exit ;;
409 2020:CLIX:*:* | 2430:CLIX:*:*)
410 echo clipper-intergraph-clix${UNAME_RELEASE}
411 exit ;;
412 mips:*:*:UMIPS | mips:*:*:RISCos)
413 eval $set_cc_for_build
414 sed 's/^ //' << EOF >$dummy.c
415 #ifdef __cplusplus
416 #include <stdio.h> /* for printf() prototype */
417 int main (int argc, char *argv[]) {
418 #else
419 int main (argc, argv) int argc; char *argv[]; {
420 #endif
421 #if defined (host_mips) && defined (MIPSEB)
422 #if defined (SYSTYPE_SYSV)
423 printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
424 #endif
425 #if defined (SYSTYPE_SVR4)
426 printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
427 #endif
428 #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
429 printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
430 #endif
431 #endif
432 exit (-1);
433 }
434 EOF
435 $CC_FOR_BUILD -o $dummy $dummy.c &&
436 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
437 SYSTEM_NAME=`$dummy $dummyarg` &&
438 { echo "$SYSTEM_NAME"; exit; }
439 echo mips-mips-riscos${UNAME_RELEASE}
440 exit ;;
441 Motorola:PowerMAX_OS:*:*)
442 echo powerpc-motorola-powermax
443 exit ;;
444 Motorola:*:4.3:PL8-*)
445 echo powerpc-harris-powermax
446 exit ;;
447 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
448 echo powerpc-harris-powermax
449 exit ;;
450 Night_Hawk:Power_UNIX:*:*)
451 echo powerpc-harris-powerunix
452 exit ;;
453 m88k:CX/UX:7*:*)
454 echo m88k-harris-cxux7
455 exit ;;
456 m88k:*:4*:R4*)
457 echo m88k-motorola-sysv4
458 exit ;;
459 m88k:*:3*:R3*)
460 echo m88k-motorola-sysv3
461 exit ;;
462 AViiON:dgux:*:*)
463 # DG/UX returns AViiON for all architectures
464 UNAME_PROCESSOR=`/usr/bin/uname -p`
465 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
466 then
467 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
468 [ ${TARGET_BINARY_INTERFACE}x = x ]
469 then
470 echo m88k-dg-dgux${UNAME_RELEASE}
471 else
472 echo m88k-dg-dguxbcs${UNAME_RELEASE}
473 fi
474 else
475 echo i586-dg-dgux${UNAME_RELEASE}
476 fi
477 exit ;;
478 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
479 echo m88k-dolphin-sysv3
480 exit ;;
481 M88*:*:R3*:*)
482 # Delta 88k system running SVR3
483 echo m88k-motorola-sysv3
484 exit ;;
485 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
486 echo m88k-tektronix-sysv3
487 exit ;;
488 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
489 echo m68k-tektronix-bsd
490 exit ;;
491 *:IRIX*:*:*)
492 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
493 exit ;;
494 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
495 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
496 exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
497 i*86:AIX:*:*)
498 echo i386-ibm-aix
499 exit ;;
500 ia64:AIX:*:*)
501 if [ -x /usr/bin/oslevel ] ; then
502 IBM_REV=`/usr/bin/oslevel`
503 else
504 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
505 fi
506 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
507 exit ;;
508 *:AIX:2:3)
509 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
510 eval $set_cc_for_build
511 sed 's/^ //' << EOF >$dummy.c
512 #include <sys/systemcfg.h>
513
514 main()
515 {
516 if (!__power_pc())
517 exit(1);
518 puts("powerpc-ibm-aix3.2.5");
519 exit(0);
520 }
521 EOF
522 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
523 then
524 echo "$SYSTEM_NAME"
525 else
526 echo rs6000-ibm-aix3.2.5
527 fi
528 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
529 echo rs6000-ibm-aix3.2.4
530 else
531 echo rs6000-ibm-aix3.2
532 fi
533 exit ;;
534 *:AIX:*:[456])
535 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
536 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
537 IBM_ARCH=rs6000
538 else
539 IBM_ARCH=powerpc
540 fi
541 if [ -x /usr/bin/oslevel ] ; then
542 IBM_REV=`/usr/bin/oslevel`
543 else
544 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
545 fi
546 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
547 exit ;;
548 *:AIX:*:*)
549 echo rs6000-ibm-aix
550 exit ;;
551 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
552 echo romp-ibm-bsd4.4
553 exit ;;
554 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
555 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
556 exit ;; # report: romp-ibm BSD 4.3
557 *:BOSX:*:*)
558 echo rs6000-bull-bosx
559 exit ;;
560 DPX/2?00:B.O.S.:*:*)
561 echo m68k-bull-sysv3
562 exit ;;
563 9000/[34]??:4.3bsd:1.*:*)
564 echo m68k-hp-bsd
565 exit ;;
566 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
567 echo m68k-hp-bsd4.4
568 exit ;;
569 9000/[34678]??:HP-UX:*:*)
570 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
571 case "${UNAME_MACHINE}" in
572 9000/31? ) HP_ARCH=m68000 ;;
573 9000/[34]?? ) HP_ARCH=m68k ;;
574 9000/[678][0-9][0-9])
575 if [ -x /usr/bin/getconf ]; then
576 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
577 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
578 case "${sc_cpu_version}" in
579 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
580 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
581 532) # CPU_PA_RISC2_0
582 case "${sc_kernel_bits}" in
583 32) HP_ARCH="hppa2.0n" ;;
584 64) HP_ARCH="hppa2.0w" ;;
585 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
586 esac ;;
587 esac
588 fi
589 if [ "${HP_ARCH}" = "" ]; then
590 eval $set_cc_for_build
591 sed 's/^ //' << EOF >$dummy.c
592
593 #define _HPUX_SOURCE
594 #include <stdlib.h>
595 #include <unistd.h>
596
597 int main ()
598 {
599 #if defined(_SC_KERNEL_BITS)
600 long bits = sysconf(_SC_KERNEL_BITS);
601 #endif
602 long cpu = sysconf (_SC_CPU_VERSION);
603
604 switch (cpu)
605 {
606 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
607 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
608 case CPU_PA_RISC2_0:
609 #if defined(_SC_KERNEL_BITS)
610 switch (bits)
611 {
612 case 64: puts ("hppa2.0w"); break;
613 case 32: puts ("hppa2.0n"); break;
614 default: puts ("hppa2.0"); break;
615 } break;
616 #else /* !defined(_SC_KERNEL_BITS) */
617 puts ("hppa2.0"); break;
618 #endif
619 default: puts ("hppa1.0"); break;
620 }
621 exit (0);
622 }
623 EOF
624 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
625 test -z "$HP_ARCH" && HP_ARCH=hppa
626 fi ;;
627 esac
628 if [ ${HP_ARCH} = "hppa2.0w" ]
629 then
630 eval $set_cc_for_build
631
632 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
633 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
634 # generating 64-bit code. GNU and HP use different nomenclature:
635 #
636 # $ CC_FOR_BUILD=cc ./config.guess
637 # => hppa2.0w-hp-hpux11.23
638 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
639 # => hppa64-hp-hpux11.23
640
641 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
642 grep __LP64__ >/dev/null
643 then
644 HP_ARCH="hppa2.0w"
645 else
646 HP_ARCH="hppa64"
647 fi
648 fi
649 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
650 exit ;;
651 ia64:HP-UX:*:*)
652 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
653 echo ia64-hp-hpux${HPUX_REV}
654 exit ;;
655 3050*:HI-UX:*:*)
656 eval $set_cc_for_build
657 sed 's/^ //' << EOF >$dummy.c
658 #include <unistd.h>
659 int
660 main ()
661 {
662 long cpu = sysconf (_SC_CPU_VERSION);
663 /* The order matters, because CPU_IS_HP_MC68K erroneously returns
664 true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
665 results, however. */
666 if (CPU_IS_PA_RISC (cpu))
667 {
668 switch (cpu)
669 {
670 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
671 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
672 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
673 default: puts ("hppa-hitachi-hiuxwe2"); break;
674 }
675 }
676 else if (CPU_IS_HP_MC68K (cpu))
677 puts ("m68k-hitachi-hiuxwe2");
678 else puts ("unknown-hitachi-hiuxwe2");
679 exit (0);
680 }
681 EOF
682 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
683 { echo "$SYSTEM_NAME"; exit; }
684 echo unknown-hitachi-hiuxwe2
685 exit ;;
686 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
687 echo hppa1.1-hp-bsd
688 exit ;;
689 9000/8??:4.3bsd:*:*)
690 echo hppa1.0-hp-bsd
691 exit ;;
692 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
693 echo hppa1.0-hp-mpeix
694 exit ;;
695 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
696 echo hppa1.1-hp-osf
697 exit ;;
698 hp8??:OSF1:*:*)
699 echo hppa1.0-hp-osf
700 exit ;;
701 i*86:OSF1:*:*)
702 if [ -x /usr/sbin/sysversion ] ; then
703 echo ${UNAME_MACHINE}-unknown-osf1mk
704 else
705 echo ${UNAME_MACHINE}-unknown-osf1
706 fi
707 exit ;;
708 parisc*:Lites*:*:*)
709 echo hppa1.1-hp-lites
710 exit ;;
711 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
712 echo c1-convex-bsd
713 exit ;;
714 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
715 if getsysinfo -f scalar_acc
716 then echo c32-convex-bsd
717 else echo c2-convex-bsd
718 fi
719 exit ;;
720 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
721 echo c34-convex-bsd
722 exit ;;
723 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
724 echo c38-convex-bsd
725 exit ;;
726 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
727 echo c4-convex-bsd
728 exit ;;
729 CRAY*Y-MP:*:*:*)
730 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
731 exit ;;
732 CRAY*[A-Z]90:*:*:*)
733 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
734 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
735 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
736 -e 's/\.[^.]*$/.X/'
737 exit ;;
738 CRAY*TS:*:*:*)
739 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
740 exit ;;
741 CRAY*T3E:*:*:*)
742 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
743 exit ;;
744 CRAY*SV1:*:*:*)
745 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
746 exit ;;
747 *:UNICOS/mp:*:*)
748 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
749 exit ;;
750 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
751 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
752 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
753 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
754 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
755 exit ;;
756 5000:UNIX_System_V:4.*:*)
757 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
758 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
759 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
760 exit ;;
761 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
762 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
763 exit ;;
764 sparc*:BSD/OS:*:*)
765 echo sparc-unknown-bsdi${UNAME_RELEASE}
766 exit ;;
767 *:BSD/OS:*:*)
768 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
769 exit ;;
770 *:FreeBSD:*:*)
771 case ${UNAME_MACHINE} in
772 pc98)
773 echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
774 amd64)
775 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
776 *)
777 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
778 esac
779 exit ;;
780 i*:CYGWIN*:*)
781 echo ${UNAME_MACHINE}-pc-cygwin
782 exit ;;
783 *:MINGW*:*)
784 echo ${UNAME_MACHINE}-pc-mingw32
785 exit ;;
786 i*:windows32*:*)
787 # uname -m includes "-pc" on this system.
788 echo ${UNAME_MACHINE}-mingw32
789 exit ;;
790 i*:PW*:*)
791 echo ${UNAME_MACHINE}-pc-pw32
792 exit ;;
793 *:Interix*:[3456]*)
794 case ${UNAME_MACHINE} in
795 x86)
796 echo i586-pc-interix${UNAME_RELEASE}
797 exit ;;
798 EM64T | authenticamd)
799 echo x86_64-unknown-interix${UNAME_RELEASE}
800 exit ;;
801 IA64)
802 echo ia64-unknown-interix${UNAME_RELEASE}
803 exit ;;
804 esac ;;
805 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
806 echo i${UNAME_MACHINE}-pc-mks
807 exit ;;
808 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
809 # How do we know it's Interix rather than the generic POSIX subsystem?
810 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
811 # UNAME_MACHINE based on the output of uname instead of i386?
812 echo i586-pc-interix
813 exit ;;
814 i*:UWIN*:*)
815 echo ${UNAME_MACHINE}-pc-uwin
816 exit ;;
817 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
818 echo x86_64-unknown-cygwin
819 exit ;;
820 p*:CYGWIN*:*)
821 echo powerpcle-unknown-cygwin
822 exit ;;
823 prep*:SunOS:5.*:*)
824 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
825 exit ;;
826 *:GNU:*:*)
827 # the GNU system
828 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
829 exit ;;
830 *:GNU/*:*:*)
831 # other systems with GNU libc and userland
832 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
833 exit ;;
834 i*86:Minix:*:*)
835 echo ${UNAME_MACHINE}-pc-minix
836 exit ;;
837 arm*:Linux:*:*)
838 eval $set_cc_for_build
839 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
840 | grep -q __ARM_EABI__
841 then
842 echo ${UNAME_MACHINE}-unknown-linux-gnu
843 else
844 echo ${UNAME_MACHINE}-unknown-linux-gnueabi
845 fi
846 exit ;;
847 avr32*:Linux:*:*)
848 echo ${UNAME_MACHINE}-unknown-linux-gnu
849 exit ;;
850 cris:Linux:*:*)
851 echo cris-axis-linux-gnu
852 exit ;;
853 crisv32:Linux:*:*)
854 echo crisv32-axis-linux-gnu
855 exit ;;
856 frv:Linux:*:*)
857 echo frv-unknown-linux-gnu
858 exit ;;
859 ia64:Linux:*:*)
860 echo ${UNAME_MACHINE}-unknown-linux-gnu
861 exit ;;
862 m32r*:Linux:*:*)
863 echo ${UNAME_MACHINE}-unknown-linux-gnu
864 exit ;;
865 m68*:Linux:*:*)
866 echo ${UNAME_MACHINE}-unknown-linux-gnu
867 exit ;;
868 mips:Linux:*:*)
869 eval $set_cc_for_build
870 sed 's/^ //' << EOF >$dummy.c
871 #undef CPU
872 #undef mips
873 #undef mipsel
874 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
875 CPU=mipsel
876 #else
877 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
878 CPU=mips
879 #else
880 CPU=
881 #endif
882 #endif
883 EOF
884 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
885 /^CPU/{
886 s: ::g
887 p
888 }'`"
889 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
890 ;;
891 mips64:Linux:*:*)
892 eval $set_cc_for_build
893 sed 's/^ //' << EOF >$dummy.c
894 #undef CPU
895 #undef mips64
896 #undef mips64el
897 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
898 CPU=mips64el
899 #else
900 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
901 CPU=mips64
902 #else
903 CPU=
904 #endif
905 #endif
906 EOF
907 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
908 /^CPU/{
909 s: ::g
910 p
911 }'`"
912 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
913 ;;
914 or32:Linux:*:*)
915 echo or32-unknown-linux-gnu
916 exit ;;
917 ppc:Linux:*:*)
918 echo powerpc-unknown-linux-gnu
919 exit ;;
920 ppc64:Linux:*:*)
921 echo powerpc64-unknown-linux-gnu
922 exit ;;
923 alpha:Linux:*:*)
924 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
925 EV5) UNAME_MACHINE=alphaev5 ;;
926 EV56) UNAME_MACHINE=alphaev56 ;;
927 PCA56) UNAME_MACHINE=alphapca56 ;;
928 PCA57) UNAME_MACHINE=alphapca56 ;;
929 EV6) UNAME_MACHINE=alphaev6 ;;
930 EV67) UNAME_MACHINE=alphaev67 ;;
931 EV68*) UNAME_MACHINE=alphaev68 ;;
932 esac
933 objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
934 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
935 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
936 exit ;;
937 parisc:Linux:*:* | hppa:Linux:*:*)
938 # Look for CPU level
939 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
940 PA7*) echo hppa1.1-unknown-linux-gnu ;;
941 PA8*) echo hppa2.0-unknown-linux-gnu ;;
942 *) echo hppa-unknown-linux-gnu ;;
943 esac
944 exit ;;
945 parisc64:Linux:*:* | hppa64:Linux:*:*)
946 echo hppa64-unknown-linux-gnu
947 exit ;;
948 s390:Linux:*:* | s390x:Linux:*:*)
949 echo ${UNAME_MACHINE}-ibm-linux
950 exit ;;
951 sh64*:Linux:*:*)
952 echo ${UNAME_MACHINE}-unknown-linux-gnu
953 exit ;;
954 sh*:Linux:*:*)
955 echo ${UNAME_MACHINE}-unknown-linux-gnu
956 exit ;;
957 sparc:Linux:*:* | sparc64:Linux:*:*)
958 echo ${UNAME_MACHINE}-unknown-linux-gnu
959 exit ;;
960 vax:Linux:*:*)
961 echo ${UNAME_MACHINE}-dec-linux-gnu
962 exit ;;
963 x86_64:Linux:*:*)
964 echo x86_64-unknown-linux-gnu
965 exit ;;
966 xtensa*:Linux:*:*)
967 echo ${UNAME_MACHINE}-unknown-linux-gnu
968 exit ;;
969 i*86:Linux:*:*)
970 # The BFD linker knows what the default object file format is, so
971 # first see if it will tell us. cd to the root directory to prevent
972 # problems with other programs or directories called `ld' in the path.
973 # Set LC_ALL=C to ensure ld outputs messages in English.
974 ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
975 | sed -ne '/supported targets:/!d
976 s/[ ][ ]*/ /g
977 s/.*supported targets: *//
978 s/ .*//
979 p'`
980 case "$ld_supported_targets" in
981 elf32-i386)
982 TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
983 ;;
984 a.out-i386-linux)
985 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
986 exit ;;
987 coff-i386)
988 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
989 exit ;;
990 "")
991 # Either a pre-BFD a.out linker (linux-gnuoldld) or
992 # one that does not give us useful --help.
993 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
994 exit ;;
995 esac
996 # Determine whether the default compiler is a.out or elf
997 eval $set_cc_for_build
998 sed 's/^ //' << EOF >$dummy.c
999 #include <features.h>
1000 #ifdef __ELF__
1001 # ifdef __GLIBC__
1002 # if __GLIBC__ >= 2
1003 LIBC=gnu
1004 # else
1005 LIBC=gnulibc1
1006 # endif
1007 # else
1008 LIBC=gnulibc1
1009 # endif
1010 #else
1011 #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
1012 LIBC=gnu
1013 #else
1014 LIBC=gnuaout
1015 #endif
1016 #endif
1017 #ifdef __dietlibc__
1018 LIBC=dietlibc
1019 #endif
1020 EOF
1021 eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
1022 /^LIBC/{
1023 s: ::g
1024 p
1025 }'`"
1026 test x"${LIBC}" != x && {
1027 echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
1028 exit
1029 }
1030 test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
1031 ;;
1032 i*86:DYNIX/ptx:4*:*)
1033 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1034 # earlier versions are messed up and put the nodename in both
1035 # sysname and nodename.
1036 echo i386-sequent-sysv4
1037 exit ;;
1038 i*86:UNIX_SV:4.2MP:2.*)
1039 # Unixware is an offshoot of SVR4, but it has its own version
1040 # number series starting with 2...
1041 # I am not positive that other SVR4 systems won't match this,
1042 # I just have to hope. -- rms.
1043 # Use sysv4.2uw... so that sysv4* matches it.
1044 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1045 exit ;;
1046 i*86:OS/2:*:*)
1047 # If we were able to find `uname', then EMX Unix compatibility
1048 # is probably installed.
1049 echo ${UNAME_MACHINE}-pc-os2-emx
1050 exit ;;
1051 i*86:XTS-300:*:STOP)
1052 echo ${UNAME_MACHINE}-unknown-stop
1053 exit ;;
1054 i*86:atheos:*:*)
1055 echo ${UNAME_MACHINE}-unknown-atheos
1056 exit ;;
1057 i*86:syllable:*:*)
1058 echo ${UNAME_MACHINE}-pc-syllable
1059 exit ;;
1060 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
1061 echo i386-unknown-lynxos${UNAME_RELEASE}
1062 exit ;;
1063 i*86:*DOS:*:*)
1064 echo ${UNAME_MACHINE}-pc-msdosdjgpp
1065 exit ;;
1066 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1067 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1068 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
1069 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
1070 else
1071 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1072 fi
1073 exit ;;
1074 i*86:*:5:[678]*)
1075 # UnixWare 7.x, OpenUNIX and OpenServer 6.
1076 case `/bin/uname -X | grep "^Machine"` in
1077 *486*) UNAME_MACHINE=i486 ;;
1078 *Pentium) UNAME_MACHINE=i586 ;;
1079 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1080 esac
1081 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1082 exit ;;
1083 i*86:*:3.2:*)
1084 if test -f /usr/options/cb.name; then
1085 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1086 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1087 elif /bin/uname -X 2>/dev/null >/dev/null ; then
1088 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
1089 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
1090 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
1091 && UNAME_MACHINE=i586
1092 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
1093 && UNAME_MACHINE=i686
1094 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
1095 && UNAME_MACHINE=i686
1096 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1097 else
1098 echo ${UNAME_MACHINE}-pc-sysv32
1099 fi
1100 exit ;;
1101 pc:*:*:*)
1102 # Left here for compatibility:
1103 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1104 # the processor, so we play safe by assuming i386.
1105 echo i386-pc-msdosdjgpp
1106 exit ;;
1107 Intel:Mach:3*:*)
1108 echo i386-pc-mach3
1109 exit ;;
1110 paragon:*:*:*)
1111 echo i860-intel-osf1
1112 exit ;;
1113 i860:*:4.*:*) # i860-SVR4
1114 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1115 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1116 else # Add other i860-SVR4 vendors below as they are discovered.
1117 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1118 fi
1119 exit ;;
1120 mini*:CTIX:SYS*5:*)
1121 # "miniframe"
1122 echo m68010-convergent-sysv
1123 exit ;;
1124 mc68k:UNIX:SYSTEM5:3.51m)
1125 echo m68k-convergent-sysv
1126 exit ;;
1127 M680?0:D-NIX:5.3:*)
1128 echo m68k-diab-dnix
1129 exit ;;
1130 M68*:*:R3V[5678]*:*)
1131 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1132 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
1133 OS_REL=''
1134 test -r /etc/.relid \
1135 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1136 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1137 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1138 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1139 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1140 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1141 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1142 && { echo i486-ncr-sysv4; exit; } ;;
1143 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1144 echo m68k-unknown-lynxos${UNAME_RELEASE}
1145 exit ;;
1146 mc68030:UNIX_System_V:4.*:*)
1147 echo m68k-atari-sysv4
1148 exit ;;
1149 TSUNAMI:LynxOS:2.*:*)
1150 echo sparc-unknown-lynxos${UNAME_RELEASE}
1151 exit ;;
1152 rs6000:LynxOS:2.*:*)
1153 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1154 exit ;;
1155 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1156 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1157 exit ;;
1158 SM[BE]S:UNIX_SV:*:*)
1159 echo mips-dde-sysv${UNAME_RELEASE}
1160 exit ;;
1161 RM*:ReliantUNIX-*:*:*)
1162 echo mips-sni-sysv4
1163 exit ;;
1164 RM*:SINIX-*:*:*)
1165 echo mips-sni-sysv4
1166 exit ;;
1167 *:SINIX-*:*:*)
1168 if uname -p 2>/dev/null >/dev/null ; then
1169 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1170 echo ${UNAME_MACHINE}-sni-sysv4
1171 else
1172 echo ns32k-sni-sysv
1173 fi
1174 exit ;;
1175 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1176 # says <Richard.M.Bartel@ccMail.Census.GOV>
1177 echo i586-unisys-sysv4
1178 exit ;;
1179 *:UNIX_System_V:4*:FTX*)
1180 # From Gerald Hewes <hewes@openmarket.com>.
1181 # How about differentiating between stratus architectures? -djm
1182 echo hppa1.1-stratus-sysv4
1183 exit ;;
1184 *:*:*:FTX*)
1185 # From seanf@swdc.stratus.com.
1186 echo i860-stratus-sysv4
1187 exit ;;
1188 i*86:VOS:*:*)
1189 # From Paul.Green@stratus.com.
1190 echo ${UNAME_MACHINE}-stratus-vos
1191 exit ;;
1192 *:VOS:*:*)
1193 # From Paul.Green@stratus.com.
1194 echo hppa1.1-stratus-vos
1195 exit ;;
1196 mc68*:A/UX:*:*)
1197 echo m68k-apple-aux${UNAME_RELEASE}
1198 exit ;;
1199 news*:NEWS-OS:6*:*)
1200 echo mips-sony-newsos6
1201 exit ;;
1202 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1203 if [ -d /usr/nec ]; then
1204 echo mips-nec-sysv${UNAME_RELEASE}
1205 else
1206 echo mips-unknown-sysv${UNAME_RELEASE}
1207 fi
1208 exit ;;
1209 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1210 echo powerpc-be-beos
1211 exit ;;
1212 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1213 echo powerpc-apple-beos
1214 exit ;;
1215 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1216 echo i586-pc-beos
1217 exit ;;
1218 SX-4:SUPER-UX:*:*)
1219 echo sx4-nec-superux${UNAME_RELEASE}
1220 exit ;;
1221 SX-5:SUPER-UX:*:*)
1222 echo sx5-nec-superux${UNAME_RELEASE}
1223 exit ;;
1224 SX-6:SUPER-UX:*:*)
1225 echo sx6-nec-superux${UNAME_RELEASE}
1226 exit ;;
1227 SX-7:SUPER-UX:*:*)
1228 echo sx7-nec-superux${UNAME_RELEASE}
1229 exit ;;
1230 SX-8:SUPER-UX:*:*)
1231 echo sx8-nec-superux${UNAME_RELEASE}
1232 exit ;;
1233 SX-8R:SUPER-UX:*:*)
1234 echo sx8r-nec-superux${UNAME_RELEASE}
1235 exit ;;
1236 Power*:Rhapsody:*:*)
1237 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1238 exit ;;
1239 *:Rhapsody:*:*)
1240 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1241 exit ;;
1242 *:Darwin:*:*)
1243 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
1244 case $UNAME_PROCESSOR in
1245 unknown) UNAME_PROCESSOR=powerpc ;;
1246 esac
1247 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1248 exit ;;
1249 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1250 UNAME_PROCESSOR=`uname -p`
1251 if test "$UNAME_PROCESSOR" = "x86"; then
1252 UNAME_PROCESSOR=i386
1253 UNAME_MACHINE=pc
1254 fi
1255 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1256 exit ;;
1257 *:QNX:*:4*)
1258 echo i386-pc-qnx
1259 exit ;;
1260 NSE-?:NONSTOP_KERNEL:*:*)
1261 echo nse-tandem-nsk${UNAME_RELEASE}
1262 exit ;;
1263 NSR-?:NONSTOP_KERNEL:*:*)
1264 echo nsr-tandem-nsk${UNAME_RELEASE}
1265 exit ;;
1266 *:NonStop-UX:*:*)
1267 echo mips-compaq-nonstopux
1268 exit ;;
1269 BS2000:POSIX*:*:*)
1270 echo bs2000-siemens-sysv
1271 exit ;;
1272 DS/*:UNIX_System_V:*:*)
1273 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1274 exit ;;
1275 *:Plan9:*:*)
1276 # "uname -m" is not consistent, so use $cputype instead. 386
1277 # is converted to i386 for consistency with other x86
1278 # operating systems.
1279 if test "$cputype" = "386"; then
1280 UNAME_MACHINE=i386
1281 else
1282 UNAME_MACHINE="$cputype"
1283 fi
1284 echo ${UNAME_MACHINE}-unknown-plan9
1285 exit ;;
1286 *:TOPS-10:*:*)
1287 echo pdp10-unknown-tops10
1288 exit ;;
1289 *:TENEX:*:*)
1290 echo pdp10-unknown-tenex
1291 exit ;;
1292 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1293 echo pdp10-dec-tops20
1294 exit ;;
1295 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1296 echo pdp10-xkl-tops20
1297 exit ;;
1298 *:TOPS-20:*:*)
1299 echo pdp10-unknown-tops20
1300 exit ;;
1301 *:ITS:*:*)
1302 echo pdp10-unknown-its
1303 exit ;;
1304 SEI:*:*:SEIUX)
1305 echo mips-sei-seiux${UNAME_RELEASE}
1306 exit ;;
1307 *:DragonFly:*:*)
1308 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
1309 exit ;;
1310 *:*VMS:*:*)
1311 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1312 case "${UNAME_MACHINE}" in
1313 A*) echo alpha-dec-vms ; exit ;;
1314 I*) echo ia64-dec-vms ; exit ;;
1315 V*) echo vax-dec-vms ; exit ;;
1316 esac ;;
1317 *:XENIX:*:SysV)
1318 echo i386-pc-xenix
1319 exit ;;
1320 i*86:skyos:*:*)
1321 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1322 exit ;;
1323 i*86:rdos:*:*)
1324 echo ${UNAME_MACHINE}-pc-rdos
1325 exit ;;
1326 esac
1327
1328 #echo '(No uname command or uname output not recognized.)' 1>&2
1329 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
1330
1331 eval $set_cc_for_build
1332 cat >$dummy.c <<EOF
1333 #ifdef _SEQUENT_
1334 # include <sys/types.h>
1335 # include <sys/utsname.h>
1336 #endif
1337 main ()
1338 {
1339 #if defined (sony)
1340 #if defined (MIPSEB)
1341 /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
1342 I don't know.... */
1343 printf ("mips-sony-bsd\n"); exit (0);
1344 #else
1345 #include <sys/param.h>
1346 printf ("m68k-sony-newsos%s\n",
1347 #ifdef NEWSOS4
1348 "4"
1349 #else
1350 ""
1351 #endif
1352 ); exit (0);
1353 #endif
1354 #endif
1355
1356 #if defined (__arm) && defined (__acorn) && defined (__unix)
1357 printf ("arm-acorn-riscix\n"); exit (0);
1358 #endif
1359
1360 #if defined (hp300) && !defined (hpux)
1361 printf ("m68k-hp-bsd\n"); exit (0);
1362 #endif
1363
1364 #if defined (NeXT)
1365 #if !defined (__ARCHITECTURE__)
1366 #define __ARCHITECTURE__ "m68k"
1367 #endif
1368 int version;
1369 version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
1370 if (version < 4)
1371 printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
1372 else
1373 printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
1374 exit (0);
1375 #endif
1376
1377 #if defined (MULTIMAX) || defined (n16)
1378 #if defined (UMAXV)
1379 printf ("ns32k-encore-sysv\n"); exit (0);
1380 #else
1381 #if defined (CMU)
1382 printf ("ns32k-encore-mach\n"); exit (0);
1383 #else
1384 printf ("ns32k-encore-bsd\n"); exit (0);
1385 #endif
1386 #endif
1387 #endif
1388
1389 #if defined (__386BSD__)
1390 printf ("i386-pc-bsd\n"); exit (0);
1391 #endif
1392
1393 #if defined (sequent)
1394 #if defined (i386)
1395 printf ("i386-sequent-dynix\n"); exit (0);
1396 #endif
1397 #if defined (ns32000)
1398 printf ("ns32k-sequent-dynix\n"); exit (0);
1399 #endif
1400 #endif
1401
1402 #if defined (_SEQUENT_)
1403 struct utsname un;
1404
1405 uname(&un);
1406
1407 if (strncmp(un.version, "V2", 2) == 0) {
1408 printf ("i386-sequent-ptx2\n"); exit (0);
1409 }
1410 if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
1411 printf ("i386-sequent-ptx1\n"); exit (0);
1412 }
1413 printf ("i386-sequent-ptx\n"); exit (0);
1414
1415 #endif
1416
1417 #if defined (vax)
1418 # if !defined (ultrix)
1419 # include <sys/param.h>
1420 # if defined (BSD)
1421 # if BSD == 43
1422 printf ("vax-dec-bsd4.3\n"); exit (0);
1423 # else
1424 # if BSD == 199006
1425 printf ("vax-dec-bsd4.3reno\n"); exit (0);
1426 # else
1427 printf ("vax-dec-bsd\n"); exit (0);
1428 # endif
1429 # endif
1430 # else
1431 printf ("vax-dec-bsd\n"); exit (0);
1432 # endif
1433 # else
1434 printf ("vax-dec-ultrix\n"); exit (0);
1435 # endif
1436 #endif
1437
1438 #if defined (alliant) && defined (i860)
1439 printf ("i860-alliant-bsd\n"); exit (0);
1440 #endif
1441
1442 exit (1);
1443 }
1444 EOF
1445
1446 $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
1447 { echo "$SYSTEM_NAME"; exit; }
1448
1449 # Apollos put the system type in the environment.
1450
1451 test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
1452
1453 # Convex versions that predate uname can use getsysinfo(1)
1454
1455 if [ -x /usr/convex/getsysinfo ]
1456 then
1457 case `getsysinfo -f cpu_type` in
1458 c1*)
1459 echo c1-convex-bsd
1460 exit ;;
1461 c2*)
1462 if getsysinfo -f scalar_acc
1463 then echo c32-convex-bsd
1464 else echo c2-convex-bsd
1465 fi
1466 exit ;;
1467 c34*)
1468 echo c34-convex-bsd
1469 exit ;;
1470 c38*)
1471 echo c38-convex-bsd
1472 exit ;;
1473 c4*)
1474 echo c4-convex-bsd
1475 exit ;;
1476 esac
1477 fi
1478
1479 cat >&2 <<EOF
1480 $0: unable to guess system type
1481
1482 This script, last modified $timestamp, has failed to recognize
1483 the operating system you are using. It is advised that you
1484 download the most up to date version of the config scripts from
1485
1486 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
1487 and
1488 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
1489
1490 If the version you run ($0) is already up to date, please
1491 send the following data and any information you think might be
1492 pertinent to <config-patches@gnu.org> in order to provide the needed
1493 information to handle your system.
1494
1495 config.guess timestamp = $timestamp
1496
1497 uname -m = `(uname -m) 2>/dev/null || echo unknown`
1498 uname -r = `(uname -r) 2>/dev/null || echo unknown`
1499 uname -s = `(uname -s) 2>/dev/null || echo unknown`
1500 uname -v = `(uname -v) 2>/dev/null || echo unknown`
1501
1502 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
1503 /bin/uname -X = `(/bin/uname -X) 2>/dev/null`
1504
1505 hostinfo = `(hostinfo) 2>/dev/null`
1506 /bin/universe = `(/bin/universe) 2>/dev/null`
1507 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
1508 /bin/arch = `(/bin/arch) 2>/dev/null`
1509 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
1510 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
1511
1512 UNAME_MACHINE = ${UNAME_MACHINE}
1513 UNAME_RELEASE = ${UNAME_RELEASE}
1514 UNAME_SYSTEM = ${UNAME_SYSTEM}
1515 UNAME_VERSION = ${UNAME_VERSION}
1516 EOF
1517
1518 exit 1
1519
1520 # Local variables:
1521 # eval: (add-hook 'write-file-hooks 'time-stamp)
1522 # time-stamp-start: "timestamp='"
1523 # time-stamp-format: "%:y-%02m-%02d"
1524 # time-stamp-end: "'"
1525 # End:
0 #! /bin/sh
1 # Configuration validation subroutine script.
2 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
3 # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
4 # Free Software Foundation, Inc.
5
6 timestamp='2008-01-16'
7
8 # This file is (in principle) common to ALL GNU software.
9 # The presence of a machine in this file suggests that SOME GNU software
10 # can handle that machine. It does not imply ALL GNU software can.
11 #
12 # This file is free software; you can redistribute it and/or modify
13 # it under the terms of the GNU General Public License as published by
14 # the Free Software Foundation; either version 2 of the License, or
15 # (at your option) any later version.
16 #
17 # This program is distributed in the hope that it will be useful,
18 # but WITHOUT ANY WARRANTY; without even the implied warranty of
19 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 # GNU General Public License for more details.
21 #
22 # You should have received a copy of the GNU General Public License
23 # along with this program; if not, write to the Free Software
24 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
25 # 02110-1301, USA.
26 #
27 # As a special exception to the GNU General Public License, if you
28 # distribute this file as part of a program that contains a
29 # configuration script generated by Autoconf, you may include it under
30 # the same distribution terms that you use for the rest of that program.
31
32
33 # Please send patches to <config-patches@gnu.org>. Submit a context
34 # diff and a properly formatted ChangeLog entry.
35 #
36 # Configuration subroutine to validate and canonicalize a configuration type.
37 # Supply the specified configuration type as an argument.
38 # If it is invalid, we print an error message on stderr and exit with code 1.
39 # Otherwise, we print the canonical config type on stdout and succeed.
40
41 # This file is supposed to be the same for all GNU packages
42 # and recognize all the CPU types, system types and aliases
43 # that are meaningful with *any* GNU software.
44 # Each package is responsible for reporting which valid configurations
45 # it does not support. The user should be able to distinguish
46 # a failure to support a valid configuration from a meaningless
47 # configuration.
48
49 # The goal of this file is to map all the various variations of a given
50 # machine specification into a single specification in the form:
51 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
52 # or in some cases, the newer four-part form:
53 # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
54 # It is wrong to echo any other type of specification.
55
56 me=`echo "$0" | sed -e 's,.*/,,'`
57
58 usage="\
59 Usage: $0 [OPTION] CPU-MFR-OPSYS
60 $0 [OPTION] ALIAS
61
62 Canonicalize a configuration name.
63
64 Operation modes:
65 -h, --help print this help, then exit
66 -t, --time-stamp print date of last modification, then exit
67 -v, --version print version number, then exit
68
69 Report bugs and patches to <config-patches@gnu.org>."
70
71 version="\
72 GNU config.sub ($timestamp)
73
74 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
75 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
76
77 This is free software; see the source for copying conditions. There is NO
78 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
79
80 help="
81 Try \`$me --help' for more information."
82
83 # Parse command line
84 while test $# -gt 0 ; do
85 case $1 in
86 --time-stamp | --time* | -t )
87 echo "$timestamp" ; exit ;;
88 --version | -v )
89 echo "$version" ; exit ;;
90 --help | --h* | -h )
91 echo "$usage"; exit ;;
92 -- ) # Stop option processing
93 shift; break ;;
94 - ) # Use stdin as input.
95 break ;;
96 -* )
97 echo "$me: invalid option $1$help"
98 exit 1 ;;
99
100 *local*)
101 # First pass through any local machine types.
102 echo $1
103 exit ;;
104
105 * )
106 break ;;
107 esac
108 done
109
110 case $# in
111 0) echo "$me: missing argument$help" >&2
112 exit 1;;
113 1) ;;
114 *) echo "$me: too many arguments$help" >&2
115 exit 1;;
116 esac
117
118 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
119 # Here we must recognize all the valid KERNEL-OS combinations.
120 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
121 case $maybe_os in
122 nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
123 uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
124 storm-chaos* | os2-emx* | rtmk-nova*)
125 os=-$maybe_os
126 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
127 ;;
128 *)
129 basic_machine=`echo $1 | sed 's/-[^-]*$//'`
130 if [ $basic_machine != $1 ]
131 then os=`echo $1 | sed 's/.*-/-/'`
132 else os=; fi
133 ;;
134 esac
135
136 ### Let's recognize common machines as not being operating systems so
137 ### that things like config.sub decstation-3100 work. We also
138 ### recognize some manufacturers as not being operating systems, so we
139 ### can provide default operating systems below.
140 case $os in
141 -sun*os*)
142 # Prevent following clause from handling this invalid input.
143 ;;
144 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
145 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
146 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
147 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
148 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
149 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
150 -apple | -axis | -knuth | -cray)
151 os=
152 basic_machine=$1
153 ;;
154 -sim | -cisco | -oki | -wec | -winbond)
155 os=
156 basic_machine=$1
157 ;;
158 -scout)
159 ;;
160 -wrs)
161 os=-vxworks
162 basic_machine=$1
163 ;;
164 -chorusos*)
165 os=-chorusos
166 basic_machine=$1
167 ;;
168 -chorusrdb)
169 os=-chorusrdb
170 basic_machine=$1
171 ;;
172 -hiux*)
173 os=-hiuxwe2
174 ;;
175 -sco6)
176 os=-sco5v6
177 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
178 ;;
179 -sco5)
180 os=-sco3.2v5
181 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
182 ;;
183 -sco4)
184 os=-sco3.2v4
185 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
186 ;;
187 -sco3.2.[4-9]*)
188 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
189 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
190 ;;
191 -sco3.2v[4-9]*)
192 # Don't forget version if it is 3.2v4 or newer.
193 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
194 ;;
195 -sco5v6*)
196 # Don't forget version if it is 3.2v4 or newer.
197 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
198 ;;
199 -sco*)
200 os=-sco3.2v2
201 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
202 ;;
203 -udk*)
204 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
205 ;;
206 -isc)
207 os=-isc2.2
208 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
209 ;;
210 -clix*)
211 basic_machine=clipper-intergraph
212 ;;
213 -isc*)
214 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215 ;;
216 -lynx*)
217 os=-lynxos
218 ;;
219 -ptx*)
220 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
221 ;;
222 -windowsnt*)
223 os=`echo $os | sed -e 's/windowsnt/winnt/'`
224 ;;
225 -psos*)
226 os=-psos
227 ;;
228 -mint | -mint[0-9]*)
229 basic_machine=m68k-atari
230 os=-mint
231 ;;
232 esac
233
234 # Decode aliases for certain CPU-COMPANY combinations.
235 case $basic_machine in
236 # Recognize the basic CPU types without company name.
237 # Some are omitted here because they have special meanings below.
238 1750a | 580 \
239 | a29k \
240 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
241 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
242 | am33_2.0 \
243 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
244 | bfin \
245 | c4x | clipper \
246 | d10v | d30v | dlx | dsp16xx \
247 | fido | fr30 | frv \
248 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
249 | i370 | i860 | i960 | ia64 \
250 | ip2k | iq2000 \
251 | m32c | m32r | m32rle | m68000 | m68k | m88k \
252 | maxq | mb | microblaze | mcore | mep \
253 | mips | mipsbe | mipseb | mipsel | mipsle \
254 | mips16 \
255 | mips64 | mips64el \
256 | mips64vr | mips64vrel \
257 | mips64orion | mips64orionel \
258 | mips64vr4100 | mips64vr4100el \
259 | mips64vr4300 | mips64vr4300el \
260 | mips64vr5000 | mips64vr5000el \
261 | mips64vr5900 | mips64vr5900el \
262 | mipsisa32 | mipsisa32el \
263 | mipsisa32r2 | mipsisa32r2el \
264 | mipsisa64 | mipsisa64el \
265 | mipsisa64r2 | mipsisa64r2el \
266 | mipsisa64sb1 | mipsisa64sb1el \
267 | mipsisa64sr71k | mipsisa64sr71kel \
268 | mipstx39 | mipstx39el \
269 | mn10200 | mn10300 \
270 | mt \
271 | msp430 \
272 | nios | nios2 \
273 | ns16k | ns32k \
274 | or32 \
275 | pdp10 | pdp11 | pj | pjl \
276 | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
277 | pyramid \
278 | score \
279 | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
280 | sh64 | sh64le \
281 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
282 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
283 | spu | strongarm \
284 | tahoe | thumb | tic4x | tic80 | tron \
285 | v850 | v850e \
286 | we32k \
287 | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
288 | z8k)
289 basic_machine=$basic_machine-unknown
290 ;;
291 m6811 | m68hc11 | m6812 | m68hc12)
292 # Motorola 68HC11/12.
293 basic_machine=$basic_machine-unknown
294 os=-none
295 ;;
296 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
297 ;;
298 ms1)
299 basic_machine=mt-unknown
300 ;;
301
302 # We use `pc' rather than `unknown'
303 # because (1) that's what they normally are, and
304 # (2) the word "unknown" tends to confuse beginning users.
305 i*86 | x86_64)
306 basic_machine=$basic_machine-pc
307 ;;
308 # Object if more than one company name word.
309 *-*-*)
310 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
311 exit 1
312 ;;
313 # Recognize the basic CPU types with company name.
314 580-* \
315 | a29k-* \
316 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
317 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
318 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
319 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
320 | avr-* | avr32-* \
321 | bfin-* | bs2000-* \
322 | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
323 | clipper-* | craynv-* | cydra-* \
324 | d10v-* | d30v-* | dlx-* \
325 | elxsi-* \
326 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
327 | h8300-* | h8500-* \
328 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
329 | i*86-* | i860-* | i960-* | ia64-* \
330 | ip2k-* | iq2000-* \
331 | m32c-* | m32r-* | m32rle-* \
332 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
333 | m88110-* | m88k-* | maxq-* | mcore-* \
334 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
335 | mips16-* \
336 | mips64-* | mips64el-* \
337 | mips64vr-* | mips64vrel-* \
338 | mips64orion-* | mips64orionel-* \
339 | mips64vr4100-* | mips64vr4100el-* \
340 | mips64vr4300-* | mips64vr4300el-* \
341 | mips64vr5000-* | mips64vr5000el-* \
342 | mips64vr5900-* | mips64vr5900el-* \
343 | mipsisa32-* | mipsisa32el-* \
344 | mipsisa32r2-* | mipsisa32r2el-* \
345 | mipsisa64-* | mipsisa64el-* \
346 | mipsisa64r2-* | mipsisa64r2el-* \
347 | mipsisa64sb1-* | mipsisa64sb1el-* \
348 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
349 | mipstx39-* | mipstx39el-* \
350 | mmix-* \
351 | mt-* \
352 | msp430-* \
353 | nios-* | nios2-* \
354 | none-* | np1-* | ns16k-* | ns32k-* \
355 | orion-* \
356 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
357 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
358 | pyramid-* \
359 | romp-* | rs6000-* \
360 | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
361 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
362 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
363 | sparclite-* \
364 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
365 | tahoe-* | thumb-* \
366 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
367 | tron-* \
368 | v850-* | v850e-* | vax-* \
369 | we32k-* \
370 | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
371 | xstormy16-* | xtensa*-* \
372 | ymp-* \
373 | z8k-*)
374 ;;
375 # Recognize the basic CPU types without company name, with glob match.
376 xtensa*)
377 basic_machine=$basic_machine-unknown
378 ;;
379 # Recognize the various machine names and aliases which stand
380 # for a CPU type and a company and sometimes even an OS.
381 386bsd)
382 basic_machine=i386-unknown
383 os=-bsd
384 ;;
385 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
386 basic_machine=m68000-att
387 ;;
388 3b*)
389 basic_machine=we32k-att
390 ;;
391 a29khif)
392 basic_machine=a29k-amd
393 os=-udi
394 ;;
395 abacus)
396 basic_machine=abacus-unknown
397 ;;
398 adobe68k)
399 basic_machine=m68010-adobe
400 os=-scout
401 ;;
402 alliant | fx80)
403 basic_machine=fx80-alliant
404 ;;
405 altos | altos3068)
406 basic_machine=m68k-altos
407 ;;
408 am29k)
409 basic_machine=a29k-none
410 os=-bsd
411 ;;
412 amd64)
413 basic_machine=x86_64-pc
414 ;;
415 amd64-*)
416 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
417 ;;
418 amdahl)
419 basic_machine=580-amdahl
420 os=-sysv
421 ;;
422 amiga | amiga-*)
423 basic_machine=m68k-unknown
424 ;;
425 amigaos | amigados)
426 basic_machine=m68k-unknown
427 os=-amigaos
428 ;;
429 amigaunix | amix)
430 basic_machine=m68k-unknown
431 os=-sysv4
432 ;;
433 apollo68)
434 basic_machine=m68k-apollo
435 os=-sysv
436 ;;
437 apollo68bsd)
438 basic_machine=m68k-apollo
439 os=-bsd
440 ;;
441 aux)
442 basic_machine=m68k-apple
443 os=-aux
444 ;;
445 balance)
446 basic_machine=ns32k-sequent
447 os=-dynix
448 ;;
449 blackfin)
450 basic_machine=bfin-unknown
451 os=-linux
452 ;;
453 blackfin-*)
454 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
455 os=-linux
456 ;;
457 c90)
458 basic_machine=c90-cray
459 os=-unicos
460 ;;
461 convex-c1)
462 basic_machine=c1-convex
463 os=-bsd
464 ;;
465 convex-c2)
466 basic_machine=c2-convex
467 os=-bsd
468 ;;
469 convex-c32)
470 basic_machine=c32-convex
471 os=-bsd
472 ;;
473 convex-c34)
474 basic_machine=c34-convex
475 os=-bsd
476 ;;
477 convex-c38)
478 basic_machine=c38-convex
479 os=-bsd
480 ;;
481 cray | j90)
482 basic_machine=j90-cray
483 os=-unicos
484 ;;
485 craynv)
486 basic_machine=craynv-cray
487 os=-unicosmp
488 ;;
489 cr16)
490 basic_machine=cr16-unknown
491 os=-elf
492 ;;
493 crds | unos)
494 basic_machine=m68k-crds
495 ;;
496 crisv32 | crisv32-* | etraxfs*)
497 basic_machine=crisv32-axis
498 ;;
499 cris | cris-* | etrax*)
500 basic_machine=cris-axis
501 ;;
502 crx)
503 basic_machine=crx-unknown
504 os=-elf
505 ;;
506 da30 | da30-*)
507 basic_machine=m68k-da30
508 ;;
509 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
510 basic_machine=mips-dec
511 ;;
512 decsystem10* | dec10*)
513 basic_machine=pdp10-dec
514 os=-tops10
515 ;;
516 decsystem20* | dec20*)
517 basic_machine=pdp10-dec
518 os=-tops20
519 ;;
520 delta | 3300 | motorola-3300 | motorola-delta \
521 | 3300-motorola | delta-motorola)
522 basic_machine=m68k-motorola
523 ;;
524 delta88)
525 basic_machine=m88k-motorola
526 os=-sysv3
527 ;;
528 djgpp)
529 basic_machine=i586-pc
530 os=-msdosdjgpp
531 ;;
532 dpx20 | dpx20-*)
533 basic_machine=rs6000-bull
534 os=-bosx
535 ;;
536 dpx2* | dpx2*-bull)
537 basic_machine=m68k-bull
538 os=-sysv3
539 ;;
540 ebmon29k)
541 basic_machine=a29k-amd
542 os=-ebmon
543 ;;
544 elxsi)
545 basic_machine=elxsi-elxsi
546 os=-bsd
547 ;;
548 encore | umax | mmax)
549 basic_machine=ns32k-encore
550 ;;
551 es1800 | OSE68k | ose68k | ose | OSE)
552 basic_machine=m68k-ericsson
553 os=-ose
554 ;;
555 fx2800)
556 basic_machine=i860-alliant
557 ;;
558 genix)
559 basic_machine=ns32k-ns
560 ;;
561 gmicro)
562 basic_machine=tron-gmicro
563 os=-sysv
564 ;;
565 go32)
566 basic_machine=i386-pc
567 os=-go32
568 ;;
569 h3050r* | hiux*)
570 basic_machine=hppa1.1-hitachi
571 os=-hiuxwe2
572 ;;
573 h8300hms)
574 basic_machine=h8300-hitachi
575 os=-hms
576 ;;
577 h8300xray)
578 basic_machine=h8300-hitachi
579 os=-xray
580 ;;
581 h8500hms)
582 basic_machine=h8500-hitachi
583 os=-hms
584 ;;
585 harris)
586 basic_machine=m88k-harris
587 os=-sysv3
588 ;;
589 hp300-*)
590 basic_machine=m68k-hp
591 ;;
592 hp300bsd)
593 basic_machine=m68k-hp
594 os=-bsd
595 ;;
596 hp300hpux)
597 basic_machine=m68k-hp
598 os=-hpux
599 ;;
600 hp3k9[0-9][0-9] | hp9[0-9][0-9])
601 basic_machine=hppa1.0-hp
602 ;;
603 hp9k2[0-9][0-9] | hp9k31[0-9])
604 basic_machine=m68000-hp
605 ;;
606 hp9k3[2-9][0-9])
607 basic_machine=m68k-hp
608 ;;
609 hp9k6[0-9][0-9] | hp6[0-9][0-9])
610 basic_machine=hppa1.0-hp
611 ;;
612 hp9k7[0-79][0-9] | hp7[0-79][0-9])
613 basic_machine=hppa1.1-hp
614 ;;
615 hp9k78[0-9] | hp78[0-9])
616 # FIXME: really hppa2.0-hp
617 basic_machine=hppa1.1-hp
618 ;;
619 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
620 # FIXME: really hppa2.0-hp
621 basic_machine=hppa1.1-hp
622 ;;
623 hp9k8[0-9][13679] | hp8[0-9][13679])
624 basic_machine=hppa1.1-hp
625 ;;
626 hp9k8[0-9][0-9] | hp8[0-9][0-9])
627 basic_machine=hppa1.0-hp
628 ;;
629 hppa-next)
630 os=-nextstep3
631 ;;
632 hppaosf)
633 basic_machine=hppa1.1-hp
634 os=-osf
635 ;;
636 hppro)
637 basic_machine=hppa1.1-hp
638 os=-proelf
639 ;;
640 i370-ibm* | ibm*)
641 basic_machine=i370-ibm
642 ;;
643 # I'm not sure what "Sysv32" means. Should this be sysv3.2?
644 i*86v32)
645 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
646 os=-sysv32
647 ;;
648 i*86v4*)
649 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
650 os=-sysv4
651 ;;
652 i*86v)
653 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
654 os=-sysv
655 ;;
656 i*86sol2)
657 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
658 os=-solaris2
659 ;;
660 i386mach)
661 basic_machine=i386-mach
662 os=-mach
663 ;;
664 i386-vsta | vsta)
665 basic_machine=i386-unknown
666 os=-vsta
667 ;;
668 iris | iris4d)
669 basic_machine=mips-sgi
670 case $os in
671 -irix*)
672 ;;
673 *)
674 os=-irix4
675 ;;
676 esac
677 ;;
678 isi68 | isi)
679 basic_machine=m68k-isi
680 os=-sysv
681 ;;
682 m68knommu)
683 basic_machine=m68k-unknown
684 os=-linux
685 ;;
686 m68knommu-*)
687 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
688 os=-linux
689 ;;
690 m88k-omron*)
691 basic_machine=m88k-omron
692 ;;
693 magnum | m3230)
694 basic_machine=mips-mips
695 os=-sysv
696 ;;
697 merlin)
698 basic_machine=ns32k-utek
699 os=-sysv
700 ;;
701 mingw32)
702 basic_machine=i386-pc
703 os=-mingw32
704 ;;
705 mingw32ce)
706 basic_machine=arm-unknown
707 os=-mingw32ce
708 ;;
709 miniframe)
710 basic_machine=m68000-convergent
711 ;;
712 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
713 basic_machine=m68k-atari
714 os=-mint
715 ;;
716 mips3*-*)
717 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
718 ;;
719 mips3*)
720 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
721 ;;
722 monitor)
723 basic_machine=m68k-rom68k
724 os=-coff
725 ;;
726 morphos)
727 basic_machine=powerpc-unknown
728 os=-morphos
729 ;;
730 msdos)
731 basic_machine=i386-pc
732 os=-msdos
733 ;;
734 ms1-*)
735 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
736 ;;
737 mvs)
738 basic_machine=i370-ibm
739 os=-mvs
740 ;;
741 ncr3000)
742 basic_machine=i486-ncr
743 os=-sysv4
744 ;;
745 netbsd386)
746 basic_machine=i386-unknown
747 os=-netbsd
748 ;;
749 netwinder)
750 basic_machine=armv4l-rebel
751 os=-linux
752 ;;
753 news | news700 | news800 | news900)
754 basic_machine=m68k-sony
755 os=-newsos
756 ;;
757 news1000)
758 basic_machine=m68030-sony
759 os=-newsos
760 ;;
761 news-3600 | risc-news)
762 basic_machine=mips-sony
763 os=-newsos
764 ;;
765 necv70)
766 basic_machine=v70-nec
767 os=-sysv
768 ;;
769 next | m*-next )
770 basic_machine=m68k-next
771 case $os in
772 -nextstep* )
773 ;;
774 -ns2*)
775 os=-nextstep2
776 ;;
777 *)
778 os=-nextstep3
779 ;;
780 esac
781 ;;
782 nh3000)
783 basic_machine=m68k-harris
784 os=-cxux
785 ;;
786 nh[45]000)
787 basic_machine=m88k-harris
788 os=-cxux
789 ;;
790 nindy960)
791 basic_machine=i960-intel
792 os=-nindy
793 ;;
794 mon960)
795 basic_machine=i960-intel
796 os=-mon960
797 ;;
798 nonstopux)
799 basic_machine=mips-compaq
800 os=-nonstopux
801 ;;
802 np1)
803 basic_machine=np1-gould
804 ;;
805 nsr-tandem)
806 basic_machine=nsr-tandem
807 ;;
808 op50n-* | op60c-*)
809 basic_machine=hppa1.1-oki
810 os=-proelf
811 ;;
812 openrisc | openrisc-*)
813 basic_machine=or32-unknown
814 ;;
815 os400)
816 basic_machine=powerpc-ibm
817 os=-os400
818 ;;
819 OSE68000 | ose68000)
820 basic_machine=m68000-ericsson
821 os=-ose
822 ;;
823 os68k)
824 basic_machine=m68k-none
825 os=-os68k
826 ;;
827 pa-hitachi)
828 basic_machine=hppa1.1-hitachi
829 os=-hiuxwe2
830 ;;
831 paragon)
832 basic_machine=i860-intel
833 os=-osf
834 ;;
835 parisc)
836 basic_machine=hppa-unknown
837 os=-linux
838 ;;
839 parisc-*)
840 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
841 os=-linux
842 ;;
843 pbd)
844 basic_machine=sparc-tti
845 ;;
846 pbb)
847 basic_machine=m68k-tti
848 ;;
849 pc532 | pc532-*)
850 basic_machine=ns32k-pc532
851 ;;
852 pc98)
853 basic_machine=i386-pc
854 ;;
855 pc98-*)
856 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
857 ;;
858 pentium | p5 | k5 | k6 | nexgen | viac3)
859 basic_machine=i586-pc
860 ;;
861 pentiumpro | p6 | 6x86 | athlon | athlon_*)
862 basic_machine=i686-pc
863 ;;
864 pentiumii | pentium2 | pentiumiii | pentium3)
865 basic_machine=i686-pc
866 ;;
867 pentium4)
868 basic_machine=i786-pc
869 ;;
870 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
871 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
872 ;;
873 pentiumpro-* | p6-* | 6x86-* | athlon-*)
874 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
875 ;;
876 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
877 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
878 ;;
879 pentium4-*)
880 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
881 ;;
882 pn)
883 basic_machine=pn-gould
884 ;;
885 power) basic_machine=power-ibm
886 ;;
887 ppc) basic_machine=powerpc-unknown
888 ;;
889 ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
890 ;;
891 ppcle | powerpclittle | ppc-le | powerpc-little)
892 basic_machine=powerpcle-unknown
893 ;;
894 ppcle-* | powerpclittle-*)
895 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
896 ;;
897 ppc64) basic_machine=powerpc64-unknown
898 ;;
899 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
900 ;;
901 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
902 basic_machine=powerpc64le-unknown
903 ;;
904 ppc64le-* | powerpc64little-*)
905 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
906 ;;
907 ps2)
908 basic_machine=i386-ibm
909 ;;
910 pw32)
911 basic_machine=i586-unknown
912 os=-pw32
913 ;;
914 rdos)
915 basic_machine=i386-pc
916 os=-rdos
917 ;;
918 rom68k)
919 basic_machine=m68k-rom68k
920 os=-coff
921 ;;
922 rm[46]00)
923 basic_machine=mips-siemens
924 ;;
925 rtpc | rtpc-*)
926 basic_machine=romp-ibm
927 ;;
928 s390 | s390-*)
929 basic_machine=s390-ibm
930 ;;
931 s390x | s390x-*)
932 basic_machine=s390x-ibm
933 ;;
934 sa29200)
935 basic_machine=a29k-amd
936 os=-udi
937 ;;
938 sb1)
939 basic_machine=mipsisa64sb1-unknown
940 ;;
941 sb1el)
942 basic_machine=mipsisa64sb1el-unknown
943 ;;
944 sde)
945 basic_machine=mipsisa32-sde
946 os=-elf
947 ;;
948 sei)
949 basic_machine=mips-sei
950 os=-seiux
951 ;;
952 sequent)
953 basic_machine=i386-sequent
954 ;;
955 sh)
956 basic_machine=sh-hitachi
957 os=-hms
958 ;;
959 sh5el)
960 basic_machine=sh5le-unknown
961 ;;
962 sh64)
963 basic_machine=sh64-unknown
964 ;;
965 sparclite-wrs | simso-wrs)
966 basic_machine=sparclite-wrs
967 os=-vxworks
968 ;;
969 sps7)
970 basic_machine=m68k-bull
971 os=-sysv2
972 ;;
973 spur)
974 basic_machine=spur-unknown
975 ;;
976 st2000)
977 basic_machine=m68k-tandem
978 ;;
979 stratus)
980 basic_machine=i860-stratus
981 os=-sysv4
982 ;;
983 sun2)
984 basic_machine=m68000-sun
985 ;;
986 sun2os3)
987 basic_machine=m68000-sun
988 os=-sunos3
989 ;;
990 sun2os4)
991 basic_machine=m68000-sun
992 os=-sunos4
993 ;;
994 sun3os3)
995 basic_machine=m68k-sun
996 os=-sunos3
997 ;;
998 sun3os4)
999 basic_machine=m68k-sun
1000 os=-sunos4
1001 ;;
1002 sun4os3)
1003 basic_machine=sparc-sun
1004 os=-sunos3
1005 ;;
1006 sun4os4)
1007 basic_machine=sparc-sun
1008 os=-sunos4
1009 ;;
1010 sun4sol2)
1011 basic_machine=sparc-sun
1012 os=-solaris2
1013 ;;
1014 sun3 | sun3-*)
1015 basic_machine=m68k-sun
1016 ;;
1017 sun4)
1018 basic_machine=sparc-sun
1019 ;;
1020 sun386 | sun386i | roadrunner)
1021 basic_machine=i386-sun
1022 ;;
1023 sv1)
1024 basic_machine=sv1-cray
1025 os=-unicos
1026 ;;
1027 symmetry)
1028 basic_machine=i386-sequent
1029 os=-dynix
1030 ;;
1031 t3e)
1032 basic_machine=alphaev5-cray
1033 os=-unicos
1034 ;;
1035 t90)
1036 basic_machine=t90-cray
1037 os=-unicos
1038 ;;
1039 tic54x | c54x*)
1040 basic_machine=tic54x-unknown
1041 os=-coff
1042 ;;
1043 tic55x | c55x*)
1044 basic_machine=tic55x-unknown
1045 os=-coff
1046 ;;
1047 tic6x | c6x*)
1048 basic_machine=tic6x-unknown
1049 os=-coff
1050 ;;
1051 tile*)
1052 basic_machine=tile-unknown
1053 os=-linux-gnu
1054 ;;
1055 tx39)
1056 basic_machine=mipstx39-unknown
1057 ;;
1058 tx39el)
1059 basic_machine=mipstx39el-unknown
1060 ;;
1061 toad1)
1062 basic_machine=pdp10-xkl
1063 os=-tops20
1064 ;;
1065 tower | tower-32)
1066 basic_machine=m68k-ncr
1067 ;;
1068 tpf)
1069 basic_machine=s390x-ibm
1070 os=-tpf
1071 ;;
1072 udi29k)
1073 basic_machine=a29k-amd
1074 os=-udi
1075 ;;
1076 ultra3)
1077 basic_machine=a29k-nyu
1078 os=-sym1
1079 ;;
1080 v810 | necv810)
1081 basic_machine=v810-nec
1082 os=-none
1083 ;;
1084 vaxv)
1085 basic_machine=vax-dec
1086 os=-sysv
1087 ;;
1088 vms)
1089 basic_machine=vax-dec
1090 os=-vms
1091 ;;
1092 vpp*|vx|vx-*)
1093 basic_machine=f301-fujitsu
1094 ;;
1095 vxworks960)
1096 basic_machine=i960-wrs
1097 os=-vxworks
1098 ;;
1099 vxworks68)
1100 basic_machine=m68k-wrs
1101 os=-vxworks
1102 ;;
1103 vxworks29k)
1104 basic_machine=a29k-wrs
1105 os=-vxworks
1106 ;;
1107 w65*)
1108 basic_machine=w65-wdc
1109 os=-none
1110 ;;
1111 w89k-*)
1112 basic_machine=hppa1.1-winbond
1113 os=-proelf
1114 ;;
1115 xbox)
1116 basic_machine=i686-pc
1117 os=-mingw32
1118 ;;
1119 xps | xps100)
1120 basic_machine=xps100-honeywell
1121 ;;
1122 ymp)
1123 basic_machine=ymp-cray
1124 os=-unicos
1125 ;;
1126 z8k-*-coff)
1127 basic_machine=z8k-unknown
1128 os=-sim
1129 ;;
1130 none)
1131 basic_machine=none-none
1132 os=-none
1133 ;;
1134
1135 # Here we handle the default manufacturer of certain CPU types. It is in
1136 # some cases the only manufacturer, in others, it is the most popular.
1137 w89k)
1138 basic_machine=hppa1.1-winbond
1139 ;;
1140 op50n)
1141 basic_machine=hppa1.1-oki
1142 ;;
1143 op60c)
1144 basic_machine=hppa1.1-oki
1145 ;;
1146 romp)
1147 basic_machine=romp-ibm
1148 ;;
1149 mmix)
1150 basic_machine=mmix-knuth
1151 ;;
1152 rs6000)
1153 basic_machine=rs6000-ibm
1154 ;;
1155 vax)
1156 basic_machine=vax-dec
1157 ;;
1158 pdp10)
1159 # there are many clones, so DEC is not a safe bet
1160 basic_machine=pdp10-unknown
1161 ;;
1162 pdp11)
1163 basic_machine=pdp11-dec
1164 ;;
1165 we32k)
1166 basic_machine=we32k-att
1167 ;;
1168 sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
1169 basic_machine=sh-unknown
1170 ;;
1171 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1172 basic_machine=sparc-sun
1173 ;;
1174 cydra)
1175 basic_machine=cydra-cydrome
1176 ;;
1177 orion)
1178 basic_machine=orion-highlevel
1179 ;;
1180 orion105)
1181 basic_machine=clipper-highlevel
1182 ;;
1183 mac | mpw | mac-mpw)
1184 basic_machine=m68k-apple
1185 ;;
1186 pmac | pmac-mpw)
1187 basic_machine=powerpc-apple
1188 ;;
1189 *-unknown)
1190 # Make sure to match an already-canonicalized machine name.
1191 ;;
1192 *)
1193 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1194 exit 1
1195 ;;
1196 esac
1197
1198 # Here we canonicalize certain aliases for manufacturers.
1199 case $basic_machine in
1200 *-digital*)
1201 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1202 ;;
1203 *-commodore*)
1204 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1205 ;;
1206 *)
1207 ;;
1208 esac
1209
1210 # Decode manufacturer-specific aliases for certain operating systems.
1211
1212 if [ x"$os" != x"" ]
1213 then
1214 case $os in
1215 # First match some system type aliases
1216 # that might get confused with valid system types.
1217 # -solaris* is a basic system type, with this one exception.
1218 -solaris1 | -solaris1.*)
1219 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1220 ;;
1221 -solaris)
1222 os=-solaris2
1223 ;;
1224 -svr4*)
1225 os=-sysv4
1226 ;;
1227 -unixware*)
1228 os=-sysv4.2uw
1229 ;;
1230 -gnu/linux*)
1231 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1232 ;;
1233 # First accept the basic system types.
1234 # The portable systems comes first.
1235 # Each alternative MUST END IN A *, to match a version number.
1236 # -sysv* is not here because it comes later, after sysvr4.
1237 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1238 | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1239 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1240 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1241 | -aos* \
1242 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1243 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1244 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1245 | -openbsd* | -solidbsd* \
1246 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1247 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1248 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1249 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1250 | -chorusos* | -chorusrdb* \
1251 | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1252 | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1253 | -uxpv* | -beos* | -mpeix* | -udk* \
1254 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1255 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1256 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1257 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1258 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1259 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1260 | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
1261 # Remember, each alternative MUST END IN *, to match a version number.
1262 ;;
1263 -qnx*)
1264 case $basic_machine in
1265 x86-* | i*86-*)
1266 ;;
1267 *)
1268 os=-nto$os
1269 ;;
1270 esac
1271 ;;
1272 -nto-qnx*)
1273 ;;
1274 -nto*)
1275 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1276 ;;
1277 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1278 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1279 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1280 ;;
1281 -mac*)
1282 os=`echo $os | sed -e 's|mac|macos|'`
1283 ;;
1284 -linux-dietlibc)
1285 os=-linux-dietlibc
1286 ;;
1287 -linux*)
1288 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1289 ;;
1290 -sunos5*)
1291 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1292 ;;
1293 -sunos6*)
1294 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1295 ;;
1296 -opened*)
1297 os=-openedition
1298 ;;
1299 -os400*)
1300 os=-os400
1301 ;;
1302 -wince*)
1303 os=-wince
1304 ;;
1305 -osfrose*)
1306 os=-osfrose
1307 ;;
1308 -osf*)
1309 os=-osf
1310 ;;
1311 -utek*)
1312 os=-bsd
1313 ;;
1314 -dynix*)
1315 os=-bsd
1316 ;;
1317 -acis*)
1318 os=-aos
1319 ;;
1320 -atheos*)
1321 os=-atheos
1322 ;;
1323 -syllable*)
1324 os=-syllable
1325 ;;
1326 -386bsd)
1327 os=-bsd
1328 ;;
1329 -ctix* | -uts*)
1330 os=-sysv
1331 ;;
1332 -nova*)
1333 os=-rtmk-nova
1334 ;;
1335 -ns2 )
1336 os=-nextstep2
1337 ;;
1338 -nsk*)
1339 os=-nsk
1340 ;;
1341 # Preserve the version number of sinix5.
1342 -sinix5.*)
1343 os=`echo $os | sed -e 's|sinix|sysv|'`
1344 ;;
1345 -sinix*)
1346 os=-sysv4
1347 ;;
1348 -tpf*)
1349 os=-tpf
1350 ;;
1351 -triton*)
1352 os=-sysv3
1353 ;;
1354 -oss*)
1355 os=-sysv3
1356 ;;
1357 -svr4)
1358 os=-sysv4
1359 ;;
1360 -svr3)
1361 os=-sysv3
1362 ;;
1363 -sysvr4)
1364 os=-sysv4
1365 ;;
1366 # This must come after -sysvr4.
1367 -sysv*)
1368 ;;
1369 -ose*)
1370 os=-ose
1371 ;;
1372 -es1800*)
1373 os=-ose
1374 ;;
1375 -xenix)
1376 os=-xenix
1377 ;;
1378 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1379 os=-mint
1380 ;;
1381 -aros*)
1382 os=-aros
1383 ;;
1384 -kaos*)
1385 os=-kaos
1386 ;;
1387 -zvmoe)
1388 os=-zvmoe
1389 ;;
1390 -none)
1391 ;;
1392 *)
1393 # Get rid of the `-' at the beginning of $os.
1394 os=`echo $os | sed 's/[^-]*-//'`
1395 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1396 exit 1
1397 ;;
1398 esac
1399 else
1400
1401 # Here we handle the default operating systems that come with various machines.
1402 # The value should be what the vendor currently ships out the door with their
1403 # machine or put another way, the most popular os provided with the machine.
1404
1405 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1406 # "-sun"), then you have to tell the case statement up towards the top
1407 # that MANUFACTURER isn't an operating system. Otherwise, code above
1408 # will signal an error saying that MANUFACTURER isn't an operating
1409 # system, and we'll never get to this point.
1410
1411 case $basic_machine in
1412 score-*)
1413 os=-elf
1414 ;;
1415 spu-*)
1416 os=-elf
1417 ;;
1418 *-acorn)
1419 os=-riscix1.2
1420 ;;
1421 arm*-rebel)
1422 os=-linux
1423 ;;
1424 arm*-semi)
1425 os=-aout
1426 ;;
1427 c4x-* | tic4x-*)
1428 os=-coff
1429 ;;
1430 # This must come before the *-dec entry.
1431 pdp10-*)
1432 os=-tops20
1433 ;;
1434 pdp11-*)
1435 os=-none
1436 ;;
1437 *-dec | vax-*)
1438 os=-ultrix4.2
1439 ;;
1440 m68*-apollo)
1441 os=-domain
1442 ;;
1443 i386-sun)
1444 os=-sunos4.0.2
1445 ;;
1446 m68000-sun)
1447 os=-sunos3
1448 # This also exists in the configure program, but was not the
1449 # default.
1450 # os=-sunos4
1451 ;;
1452 m68*-cisco)
1453 os=-aout
1454 ;;
1455 mep-*)
1456 os=-elf
1457 ;;
1458 mips*-cisco)
1459 os=-elf
1460 ;;
1461 mips*-*)
1462 os=-elf
1463 ;;
1464 or32-*)
1465 os=-coff
1466 ;;
1467 *-tti) # must be before sparc entry or we get the wrong os.
1468 os=-sysv3
1469 ;;
1470 sparc-* | *-sun)
1471 os=-sunos4.1.1
1472 ;;
1473 *-be)
1474 os=-beos
1475 ;;
1476 *-haiku)
1477 os=-haiku
1478 ;;
1479 *-ibm)
1480 os=-aix
1481 ;;
1482 *-knuth)
1483 os=-mmixware
1484 ;;
1485 *-wec)
1486 os=-proelf
1487 ;;
1488 *-winbond)
1489 os=-proelf
1490 ;;
1491 *-oki)
1492 os=-proelf
1493 ;;
1494 *-hp)
1495 os=-hpux
1496 ;;
1497 *-hitachi)
1498 os=-hiux
1499 ;;
1500 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1501 os=-sysv
1502 ;;
1503 *-cbm)
1504 os=-amigaos
1505 ;;
1506 *-dg)
1507 os=-dgux
1508 ;;
1509 *-dolphin)
1510 os=-sysv3
1511 ;;
1512 m68k-ccur)
1513 os=-rtu
1514 ;;
1515 m88k-omron*)
1516 os=-luna
1517 ;;
1518 *-next )
1519 os=-nextstep
1520 ;;
1521 *-sequent)
1522 os=-ptx
1523 ;;
1524 *-crds)
1525 os=-unos
1526 ;;
1527 *-ns)
1528 os=-genix
1529 ;;
1530 i370-*)
1531 os=-mvs
1532 ;;
1533 *-next)
1534 os=-nextstep3
1535 ;;
1536 *-gould)
1537 os=-sysv
1538 ;;
1539 *-highlevel)
1540 os=-bsd
1541 ;;
1542 *-encore)
1543 os=-bsd
1544 ;;
1545 *-sgi)
1546 os=-irix
1547 ;;
1548 *-siemens)
1549 os=-sysv4
1550 ;;
1551 *-masscomp)
1552 os=-rtu
1553 ;;
1554 f30[01]-fujitsu | f700-fujitsu)
1555 os=-uxpv
1556 ;;
1557 *-rom68k)
1558 os=-coff
1559 ;;
1560 *-*bug)
1561 os=-coff
1562 ;;
1563 *-apple)
1564 os=-macos
1565 ;;
1566 *-atari*)
1567 os=-mint
1568 ;;
1569 *)
1570 os=-none
1571 ;;
1572 esac
1573 fi
1574
1575 # Here we handle the case where we know the os, and the CPU type, but not the
1576 # manufacturer. We pick the logical manufacturer.
1577 vendor=unknown
1578 case $basic_machine in
1579 *-unknown)
1580 case $os in
1581 -riscix*)
1582 vendor=acorn
1583 ;;
1584 -sunos*)
1585 vendor=sun
1586 ;;
1587 -aix*)
1588 vendor=ibm
1589 ;;
1590 -beos*)
1591 vendor=be
1592 ;;
1593 -hpux*)
1594 vendor=hp
1595 ;;
1596 -mpeix*)
1597 vendor=hp
1598 ;;
1599 -hiux*)
1600 vendor=hitachi
1601 ;;
1602 -unos*)
1603 vendor=crds
1604 ;;
1605 -dgux*)
1606 vendor=dg
1607 ;;
1608 -luna*)
1609 vendor=omron
1610 ;;
1611 -genix*)
1612 vendor=ns
1613 ;;
1614 -mvs* | -opened*)
1615 vendor=ibm
1616 ;;
1617 -os400*)
1618 vendor=ibm
1619 ;;
1620 -ptx*)
1621 vendor=sequent
1622 ;;
1623 -tpf*)
1624 vendor=ibm
1625 ;;
1626 -vxsim* | -vxworks* | -windiss*)
1627 vendor=wrs
1628 ;;
1629 -aux*)
1630 vendor=apple
1631 ;;
1632 -hms*)
1633 vendor=hitachi
1634 ;;
1635 -mpw* | -macos*)
1636 vendor=apple
1637 ;;
1638 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1639 vendor=atari
1640 ;;
1641 -vos*)
1642 vendor=stratus
1643 ;;
1644 esac
1645 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1646 ;;
1647 esac
1648
1649 echo $basic_machine$os
1650 exit
1651
1652 # Local variables:
1653 # eval: (add-hook 'write-file-hooks 'time-stamp)
1654 # time-stamp-start: "timestamp='"
1655 # time-stamp-format: "%:y-%02m-%02d"
1656 # time-stamp-end: "'"
1657 # End:
0 #! /bin/sh
1 # Guess values for system-dependent variables and create Makefiles.
2 # Generated by GNU Autoconf 2.67 for ghemical 3.0.0.
3 #
4 #
5 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
6 # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
7 # Foundation, Inc.
8 #
9 #
10 # This configure script is free software; the Free Software Foundation
11 # gives unlimited permission to copy, distribute and modify it.
12 ## -------------------- ##
13 ## M4sh Initialization. ##
14 ## -------------------- ##
15
16 # Be more Bourne compatible
17 DUALCASE=1; export DUALCASE # for MKS sh
18 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
19 emulate sh
20 NULLCMD=:
21 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
22 # is contrary to our usage. Disable this feature.
23 alias -g '${1+"$@"}'='"$@"'
24 setopt NO_GLOB_SUBST
25 else
26 case `(set -o) 2>/dev/null` in #(
27 *posix*) :
28 set -o posix ;; #(
29 *) :
30 ;;
31 esac
32 fi
33
34
35 as_nl='
36 '
37 export as_nl
38 # Printing a long string crashes Solaris 7 /usr/bin/printf.
39 as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
40 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
41 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
42 # Prefer a ksh shell builtin over an external printf program on Solaris,
43 # but without wasting forks for bash or zsh.
44 if test -z "$BASH_VERSION$ZSH_VERSION" \
45 && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
46 as_echo='print -r --'
47 as_echo_n='print -rn --'
48 elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
49 as_echo='printf %s\n'
50 as_echo_n='printf %s'
51 else
52 if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
53 as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
54 as_echo_n='/usr/ucb/echo -n'
55 else
56 as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
57 as_echo_n_body='eval
58 arg=$1;
59 case $arg in #(
60 *"$as_nl"*)
61 expr "X$arg" : "X\\(.*\\)$as_nl";
62 arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
63 esac;
64 expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
65 '
66 export as_echo_n_body
67 as_echo_n='sh -c $as_echo_n_body as_echo'
68 fi
69 export as_echo_body
70 as_echo='sh -c $as_echo_body as_echo'
71 fi
72
73 # The user is always right.
74 if test "${PATH_SEPARATOR+set}" != set; then
75 PATH_SEPARATOR=:
76 (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
77 (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
78 PATH_SEPARATOR=';'
79 }
80 fi
81
82
83 # IFS
84 # We need space, tab and new line, in precisely that order. Quoting is
85 # there to prevent editors from complaining about space-tab.
86 # (If _AS_PATH_WALK were called with IFS unset, it would disable word
87 # splitting by setting IFS to empty value.)
88 IFS=" "" $as_nl"
89
90 # Find who we are. Look in the path if we contain no directory separator.
91 case $0 in #((
92 *[\\/]* ) as_myself=$0 ;;
93 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
94 for as_dir in $PATH
95 do
96 IFS=$as_save_IFS
97 test -z "$as_dir" && as_dir=.
98 test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
99 done
100 IFS=$as_save_IFS
101
102 ;;
103 esac
104 # We did not find ourselves, most probably we were run as `sh COMMAND'
105 # in which case we are not to be found in the path.
106 if test "x$as_myself" = x; then
107 as_myself=$0
108 fi
109 if test ! -f "$as_myself"; then
110 $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
111 exit 1
112 fi
113
114 # Unset variables that we do not need and which cause bugs (e.g. in
115 # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
116 # suppresses any "Segmentation fault" message there. '((' could
117 # trigger a bug in pdksh 5.2.14.
118 for as_var in BASH_ENV ENV MAIL MAILPATH
119 do eval test x\${$as_var+set} = xset \
120 && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
121 done
122 PS1='$ '
123 PS2='> '
124 PS4='+ '
125
126 # NLS nuisances.
127 LC_ALL=C
128 export LC_ALL
129 LANGUAGE=C
130 export LANGUAGE
131
132 # CDPATH.
133 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
134
135 if test "x$CONFIG_SHELL" = x; then
136 as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
137 emulate sh
138 NULLCMD=:
139 # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
140 # is contrary to our usage. Disable this feature.
141 alias -g '\${1+\"\$@\"}'='\"\$@\"'
142 setopt NO_GLOB_SUBST
143 else
144 case \`(set -o) 2>/dev/null\` in #(
145 *posix*) :
146 set -o posix ;; #(
147 *) :
148 ;;
149 esac
150 fi
151 "
152 as_required="as_fn_return () { (exit \$1); }
153 as_fn_success () { as_fn_return 0; }
154 as_fn_failure () { as_fn_return 1; }
155 as_fn_ret_success () { return 0; }
156 as_fn_ret_failure () { return 1; }
157
158 exitcode=0
159 as_fn_success || { exitcode=1; echo as_fn_success failed.; }
160 as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
161 as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
162 as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
163 if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
164
165 else
166 exitcode=1; echo positional parameters were not saved.
167 fi
168 test x\$exitcode = x0 || exit 1"
169 as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
170 as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
171 eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
172 test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
173 test \$(( 1 + 1 )) = 2 || exit 1"
174 if (eval "$as_required") 2>/dev/null; then :
175 as_have_required=yes
176 else
177 as_have_required=no
178 fi
179 if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
180
181 else
182 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
183 as_found=false
184 for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
185 do
186 IFS=$as_save_IFS
187 test -z "$as_dir" && as_dir=.
188 as_found=:
189 case $as_dir in #(
190 /*)
191 for as_base in sh bash ksh sh5; do
192 # Try only shells that exist, to save several forks.
193 as_shell=$as_dir/$as_base
194 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
195 { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
196 CONFIG_SHELL=$as_shell as_have_required=yes
197 if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
198 break 2
199 fi
200 fi
201 done;;
202 esac
203 as_found=false
204 done
205 $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
206 { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
207 CONFIG_SHELL=$SHELL as_have_required=yes
208 fi; }
209 IFS=$as_save_IFS
210
211
212 if test "x$CONFIG_SHELL" != x; then :
213 # We cannot yet assume a decent shell, so we have to provide a
214 # neutralization value for shells without unset; and this also
215 # works around shells that cannot unset nonexistent variables.
216 BASH_ENV=/dev/null
217 ENV=/dev/null
218 (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
219 export CONFIG_SHELL
220 exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
221 fi
222
223 if test x$as_have_required = xno; then :
224 $as_echo "$0: This script requires a shell more modern than all"
225 $as_echo "$0: the shells that I found on your system."
226 if test x${ZSH_VERSION+set} = xset ; then
227 $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
228 $as_echo "$0: be upgraded to zsh 4.3.4 or later."
229 else
230 $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
231 $0: including any error possibly output before this
232 $0: message. Then install a modern shell, or manually run
233 $0: the script under such a shell if you do have one."
234 fi
235 exit 1
236 fi
237 fi
238 fi
239 SHELL=${CONFIG_SHELL-/bin/sh}
240 export SHELL
241 # Unset more variables known to interfere with behavior of common tools.
242 CLICOLOR_FORCE= GREP_OPTIONS=
243 unset CLICOLOR_FORCE GREP_OPTIONS
244
245 ## --------------------- ##
246 ## M4sh Shell Functions. ##
247 ## --------------------- ##
248 # as_fn_unset VAR
249 # ---------------
250 # Portably unset VAR.
251 as_fn_unset ()
252 {
253 { eval $1=; unset $1;}
254 }
255 as_unset=as_fn_unset
256
257 # as_fn_set_status STATUS
258 # -----------------------
259 # Set $? to STATUS, without forking.
260 as_fn_set_status ()
261 {
262 return $1
263 } # as_fn_set_status
264
265 # as_fn_exit STATUS
266 # -----------------
267 # Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
268 as_fn_exit ()
269 {
270 set +e
271 as_fn_set_status $1
272 exit $1
273 } # as_fn_exit
274
275 # as_fn_mkdir_p
276 # -------------
277 # Create "$as_dir" as a directory, including parents if necessary.
278 as_fn_mkdir_p ()
279 {
280
281 case $as_dir in #(
282 -*) as_dir=./$as_dir;;
283 esac
284 test -d "$as_dir" || eval $as_mkdir_p || {
285 as_dirs=
286 while :; do
287 case $as_dir in #(
288 *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
289 *) as_qdir=$as_dir;;
290 esac
291 as_dirs="'$as_qdir' $as_dirs"
292 as_dir=`$as_dirname -- "$as_dir" ||
293 $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
294 X"$as_dir" : 'X\(//\)[^/]' \| \
295 X"$as_dir" : 'X\(//\)$' \| \
296 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
297 $as_echo X"$as_dir" |
298 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
299 s//\1/
300 q
301 }
302 /^X\(\/\/\)[^/].*/{
303 s//\1/
304 q
305 }
306 /^X\(\/\/\)$/{
307 s//\1/
308 q
309 }
310 /^X\(\/\).*/{
311 s//\1/
312 q
313 }
314 s/.*/./; q'`
315 test -d "$as_dir" && break
316 done
317 test -z "$as_dirs" || eval "mkdir $as_dirs"
318 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
319
320
321 } # as_fn_mkdir_p
322 # as_fn_append VAR VALUE
323 # ----------------------
324 # Append the text in VALUE to the end of the definition contained in VAR. Take
325 # advantage of any shell optimizations that allow amortized linear growth over
326 # repeated appends, instead of the typical quadratic growth present in naive
327 # implementations.
328 if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
329 eval 'as_fn_append ()
330 {
331 eval $1+=\$2
332 }'
333 else
334 as_fn_append ()
335 {
336 eval $1=\$$1\$2
337 }
338 fi # as_fn_append
339
340 # as_fn_arith ARG...
341 # ------------------
342 # Perform arithmetic evaluation on the ARGs, and store the result in the
343 # global $as_val. Take advantage of shells that can avoid forks. The arguments
344 # must be portable across $(()) and expr.
345 if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
346 eval 'as_fn_arith ()
347 {
348 as_val=$(( $* ))
349 }'
350 else
351 as_fn_arith ()
352 {
353 as_val=`expr "$@" || test $? -eq 1`
354 }
355 fi # as_fn_arith
356
357
358 # as_fn_error STATUS ERROR [LINENO LOG_FD]
359 # ----------------------------------------
360 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
361 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
362 # script with STATUS, using 1 if that was 0.
363 as_fn_error ()
364 {
365 as_status=$1; test $as_status -eq 0 && as_status=1
366 if test "$4"; then
367 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
368 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
369 fi
370 $as_echo "$as_me: error: $2" >&2
371 as_fn_exit $as_status
372 } # as_fn_error
373
374 if expr a : '\(a\)' >/dev/null 2>&1 &&
375 test "X`expr 00001 : '.*\(...\)'`" = X001; then
376 as_expr=expr
377 else
378 as_expr=false
379 fi
380
381 if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
382 as_basename=basename
383 else
384 as_basename=false
385 fi
386
387 if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
388 as_dirname=dirname
389 else
390 as_dirname=false
391 fi
392
393 as_me=`$as_basename -- "$0" ||
394 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
395 X"$0" : 'X\(//\)$' \| \
396 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
397 $as_echo X/"$0" |
398 sed '/^.*\/\([^/][^/]*\)\/*$/{
399 s//\1/
400 q
401 }
402 /^X\/\(\/\/\)$/{
403 s//\1/
404 q
405 }
406 /^X\/\(\/\).*/{
407 s//\1/
408 q
409 }
410 s/.*/./; q'`
411
412 # Avoid depending upon Character Ranges.
413 as_cr_letters='abcdefghijklmnopqrstuvwxyz'
414 as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
415 as_cr_Letters=$as_cr_letters$as_cr_LETTERS
416 as_cr_digits='0123456789'
417 as_cr_alnum=$as_cr_Letters$as_cr_digits
418
419
420 as_lineno_1=$LINENO as_lineno_1a=$LINENO
421 as_lineno_2=$LINENO as_lineno_2a=$LINENO
422 eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
423 test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
424 # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
425 sed -n '
426 p
427 /[$]LINENO/=
428 ' <$as_myself |
429 sed '
430 s/[$]LINENO.*/&-/
431 t lineno
432 b
433 :lineno
434 N
435 :loop
436 s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
437 t loop
438 s/-\n.*//
439 ' >$as_me.lineno &&
440 chmod +x "$as_me.lineno" ||
441 { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
442
443 # Don't try to exec as it changes $[0], causing all sort of problems
444 # (the dirname of $[0] is not the place where we might find the
445 # original and so on. Autoconf is especially sensitive to this).
446 . "./$as_me.lineno"
447 # Exit status is that of the last command.
448 exit
449 }
450
451 ECHO_C= ECHO_N= ECHO_T=
452 case `echo -n x` in #(((((
453 -n*)
454 case `echo 'xy\c'` in
455 *c*) ECHO_T=' ';; # ECHO_T is single tab character.
456 xy) ECHO_C='\c';;
457 *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
458 ECHO_T=' ';;
459 esac;;
460 *)
461 ECHO_N='-n';;
462 esac
463
464 rm -f conf$$ conf$$.exe conf$$.file
465 if test -d conf$$.dir; then
466 rm -f conf$$.dir/conf$$.file
467 else
468 rm -f conf$$.dir
469 mkdir conf$$.dir 2>/dev/null
470 fi
471 if (echo >conf$$.file) 2>/dev/null; then
472 if ln -s conf$$.file conf$$ 2>/dev/null; then
473 as_ln_s='ln -s'
474 # ... but there are two gotchas:
475 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
476 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
477 # In both cases, we have to default to `cp -p'.
478 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
479 as_ln_s='cp -p'
480 elif ln conf$$.file conf$$ 2>/dev/null; then
481 as_ln_s=ln
482 else
483 as_ln_s='cp -p'
484 fi
485 else
486 as_ln_s='cp -p'
487 fi
488 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
489 rmdir conf$$.dir 2>/dev/null
490
491 if mkdir -p . 2>/dev/null; then
492 as_mkdir_p='mkdir -p "$as_dir"'
493 else
494 test -d ./-p && rmdir ./-p
495 as_mkdir_p=false
496 fi
497
498 if test -x / >/dev/null 2>&1; then
499 as_test_x='test -x'
500 else
501 if ls -dL / >/dev/null 2>&1; then
502 as_ls_L_option=L
503 else
504 as_ls_L_option=
505 fi
506 as_test_x='
507 eval sh -c '\''
508 if test -d "$1"; then
509 test -d "$1/.";
510 else
511 case $1 in #(
512 -*)set "./$1";;
513 esac;
514 case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
515 ???[sx]*):;;*)false;;esac;fi
516 '\'' sh
517 '
518 fi
519 as_executable_p=$as_test_x
520
521 # Sed expression to map a string onto a valid CPP name.
522 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
523
524 # Sed expression to map a string onto a valid variable name.
525 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
526
527
528
529 # Check that we are running under the correct shell.
530 SHELL=${CONFIG_SHELL-/bin/sh}
531
532 case X$lt_ECHO in
533 X*--fallback-echo)
534 # Remove one level of quotation (which was required for Make).
535 ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
536 ;;
537 esac
538
539 ECHO=${lt_ECHO-echo}
540 if test "X$1" = X--no-reexec; then
541 # Discard the --no-reexec flag, and continue.
542 shift
543 elif test "X$1" = X--fallback-echo; then
544 # Avoid inline document here, it may be left over
545 :
546 elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
547 # Yippee, $ECHO works!
548 :
549 else
550 # Restart under the correct shell.
551 exec $SHELL "$0" --no-reexec ${1+"$@"}
552 fi
553
554 if test "X$1" = X--fallback-echo; then
555 # used as fallback echo
556 shift
557 cat <<_LT_EOF
558 $*
559 _LT_EOF
560 exit 0
561 fi
562
563 # The HP-UX ksh and POSIX shell print the target directory to stdout
564 # if CDPATH is set.
565 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
566
567 if test -z "$lt_ECHO"; then
568 if test "X${echo_test_string+set}" != Xset; then
569 # find a string as large as possible, as long as the shell can cope with it
570 for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
571 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
572 if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
573 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
574 then
575 break
576 fi
577 done
578 fi
579
580 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
581 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
582 test "X$echo_testing_string" = "X$echo_test_string"; then
583 :
584 else
585 # The Solaris, AIX, and Digital Unix default echo programs unquote
586 # backslashes. This makes it impossible to quote backslashes using
587 # echo "$something" | sed 's/\\/\\\\/g'
588 #
589 # So, first we look for a working echo in the user's PATH.
590
591 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
592 for dir in $PATH /usr/ucb; do
593 IFS="$lt_save_ifs"
594 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
595 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
596 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
597 test "X$echo_testing_string" = "X$echo_test_string"; then
598 ECHO="$dir/echo"
599 break
600 fi
601 done
602 IFS="$lt_save_ifs"
603
604 if test "X$ECHO" = Xecho; then
605 # We didn't find a better echo, so look for alternatives.
606 if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
607 echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
608 test "X$echo_testing_string" = "X$echo_test_string"; then
609 # This shell has a builtin print -r that does the trick.
610 ECHO='print -r'
611 elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
612 test "X$CONFIG_SHELL" != X/bin/ksh; then
613 # If we have ksh, try running configure again with it.
614 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
615 export ORIGINAL_CONFIG_SHELL
616 CONFIG_SHELL=/bin/ksh
617 export CONFIG_SHELL
618 exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
619 else
620 # Try using printf.
621 ECHO='printf %s\n'
622 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
623 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
624 test "X$echo_testing_string" = "X$echo_test_string"; then
625 # Cool, printf works
626 :
627 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
628 test "X$echo_testing_string" = 'X\t' &&
629 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
630 test "X$echo_testing_string" = "X$echo_test_string"; then
631 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
632 export CONFIG_SHELL
633 SHELL="$CONFIG_SHELL"
634 export SHELL
635 ECHO="$CONFIG_SHELL $0 --fallback-echo"
636 elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
637 test "X$echo_testing_string" = 'X\t' &&
638 echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
639 test "X$echo_testing_string" = "X$echo_test_string"; then
640 ECHO="$CONFIG_SHELL $0 --fallback-echo"
641 else
642 # maybe with a smaller string...
643 prev=:
644
645 for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
646 if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
647 then
648 break
649 fi
650 prev="$cmd"
651 done
652
653 if test "$prev" != 'sed 50q "$0"'; then
654 echo_test_string=`eval $prev`
655 export echo_test_string
656 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
657 else
658 # Oops. We lost completely, so just stick with echo.
659 ECHO=echo
660 fi
661 fi
662 fi
663 fi
664 fi
665 fi
666
667 # Copy echo and quote the copy suitably for passing to libtool from
668 # the Makefile, instead of quoting the original, which is used later.
669 lt_ECHO=$ECHO
670 if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
671 lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
672 fi
673
674
675
676
677 test -n "$DJDIR" || exec 7<&0 </dev/null
678 exec 6>&1
679
680 # Name of the host.
681 # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
682 # so uname gets run too.
683 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
684
685 #
686 # Initializations.
687 #
688 ac_default_prefix=/usr/local
689 ac_clean_files=
690 ac_config_libobj_dir=.
691 LIBOBJS=
692 cross_compiling=no
693 subdirs=
694 MFLAGS=
695 MAKEFLAGS=
696
697 # Identity of this package.
698 PACKAGE_NAME='ghemical'
699 PACKAGE_TARNAME='ghemical'
700 PACKAGE_VERSION='3.0.0'
701 PACKAGE_STRING='ghemical 3.0.0'
702 PACKAGE_BUGREPORT=''
703 PACKAGE_URL=''
704
705 ac_unique_file="src/project.cpp"
706 # Factoring default headers for most tests.
707 ac_includes_default="\
708 #include <stdio.h>
709 #ifdef HAVE_SYS_TYPES_H
710 # include <sys/types.h>
711 #endif
712 #ifdef HAVE_SYS_STAT_H
713 # include <sys/stat.h>
714 #endif
715 #ifdef STDC_HEADERS
716 # include <stdlib.h>
717 # include <stddef.h>
718 #else
719 # ifdef HAVE_STDLIB_H
720 # include <stdlib.h>
721 # endif
722 #endif
723 #ifdef HAVE_STRING_H
724 # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
725 # include <memory.h>
726 # endif
727 # include <string.h>
728 #endif
729 #ifdef HAVE_STRINGS_H
730 # include <strings.h>
731 #endif
732 #ifdef HAVE_INTTYPES_H
733 # include <inttypes.h>
734 #endif
735 #ifdef HAVE_STDINT_H
736 # include <stdint.h>
737 #endif
738 #ifdef HAVE_UNISTD_H
739 # include <unistd.h>
740 #endif"
741
742 ac_subst_vars='am__EXEEXT_FALSE
743 am__EXEEXT_TRUE
744 LTLIBOBJS
745 LIBOBJS
746 LIBGHEMICAL_LIBS
747 LIBGHEMICAL_CFLAGS
748 OPENBABEL_LIBS
749 OPENBABEL_CFLAGS
750 GTK_LIBS
751 GTK_CFLAGS
752 GTHREAD_LIBS
753 GTHREAD_CFLAGS
754 GETTEXT_PACKAGE
755 MKINSTALLDIRS
756 POSUB
757 POFILES
758 PO_IN_DATADIR_FALSE
759 PO_IN_DATADIR_TRUE
760 INTLLIBS
761 INSTOBJEXT
762 GMOFILES
763 CATOBJEXT
764 CATALOGS
765 MSGFMT_OPTS
766 DATADIRNAME
767 ALL_LINGUAS
768 INTLTOOL_PERL
769 GMSGFMT
770 MSGFMT
771 MSGMERGE
772 XGETTEXT
773 INTLTOOL_POLICY_RULE
774 INTLTOOL_SERVICE_RULE
775 INTLTOOL_THEME_RULE
776 INTLTOOL_SCHEMAS_RULE
777 INTLTOOL_CAVES_RULE
778 INTLTOOL_XML_NOMERGE_RULE
779 INTLTOOL_XML_RULE
780 INTLTOOL_KBD_RULE
781 INTLTOOL_XAM_RULE
782 INTLTOOL_UI_RULE
783 INTLTOOL_SOUNDLIST_RULE
784 INTLTOOL_SHEET_RULE
785 INTLTOOL_SERVER_RULE
786 INTLTOOL_PONG_RULE
787 INTLTOOL_OAF_RULE
788 INTLTOOL_PROP_RULE
789 INTLTOOL_KEYS_RULE
790 INTLTOOL_DIRECTORY_RULE
791 INTLTOOL_DESKTOP_RULE
792 INTLTOOL_EXTRACT
793 INTLTOOL_MERGE
794 INTLTOOL_UPDATE
795 USE_NLS
796 PKG_CONFIG_LIBDIR
797 PKG_CONFIG_PATH
798 PKG_CONFIG
799 OTOOL64
800 OTOOL
801 LIPO
802 NMEDIT
803 DSYMUTIL
804 lt_ECHO
805 RANLIB
806 AR
807 OBJDUMP
808 LN_S
809 NM
810 ac_ct_DUMPBIN
811 DUMPBIN
812 LD
813 FGREP
814 EGREP
815 GREP
816 SED
817 LIBTOOL
818 CXXCPP
819 CPP
820 am__fastdepCXX_FALSE
821 am__fastdepCXX_TRUE
822 CXXDEPMODE
823 ac_ct_CXX
824 CXXFLAGS
825 CXX
826 am__fastdepCC_FALSE
827 am__fastdepCC_TRUE
828 CCDEPMODE
829 AMDEPBACKSLASH
830 AMDEP_FALSE
831 AMDEP_TRUE
832 am__quote
833 am__include
834 DEPDIR
835 OBJEXT
836 EXEEXT
837 ac_ct_CC
838 CPPFLAGS
839 LDFLAGS
840 CFLAGS
841 CC
842 COND_USE_GTK_FALSE
843 COND_USE_GTK_TRUE
844 top_builddir_
845 host_os
846 host_vendor
847 host_cpu
848 host
849 build_os
850 build_vendor
851 build_cpu
852 build
853 am__untar
854 am__tar
855 AMTAR
856 am__leading_dot
857 SET_MAKE
858 AWK
859 mkdir_p
860 MKDIR_P
861 INSTALL_STRIP_PROGRAM
862 STRIP
863 install_sh
864 MAKEINFO
865 AUTOHEADER
866 AUTOMAKE
867 AUTOCONF
868 ACLOCAL
869 VERSION
870 PACKAGE
871 CYGPATH_W
872 am__isrc
873 INSTALL_DATA
874 INSTALL_SCRIPT
875 INSTALL_PROGRAM
876 APPRELEASEDATE
877 APPVERSION
878 target_alias
879 host_alias
880 build_alias
881 LIBS
882 ECHO_T
883 ECHO_N
884 ECHO_C
885 DEFS
886 mandir
887 localedir
888 libdir
889 psdir
890 pdfdir
891 dvidir
892 htmldir
893 infodir
894 docdir
895 oldincludedir
896 includedir
897 localstatedir
898 sharedstatedir
899 sysconfdir
900 datadir
901 datarootdir
902 libexecdir
903 sbindir
904 bindir
905 program_transform_name
906 prefix
907 exec_prefix
908 PACKAGE_URL
909 PACKAGE_BUGREPORT
910 PACKAGE_STRING
911 PACKAGE_VERSION
912 PACKAGE_TARNAME
913 PACKAGE_NAME
914 PATH_SEPARATOR
915 SHELL'
916 ac_subst_files=''
917 ac_user_opts='
918 enable_option_checking
919 enable_gtk
920 enable_threads
921 enable_openbabel
922 enable_dependency_tracking
923 enable_shared
924 enable_static
925 with_pic
926 enable_fast_install
927 with_gnu_ld
928 enable_libtool_lock
929 enable_nls
930 '
931 ac_precious_vars='build_alias
932 host_alias
933 target_alias
934 CC
935 CFLAGS
936 LDFLAGS
937 LIBS
938 CPPFLAGS
939 CXX
940 CXXFLAGS
941 CCC
942 CPP
943 CXXCPP
944 PKG_CONFIG
945 PKG_CONFIG_PATH
946 PKG_CONFIG_LIBDIR
947 GTHREAD_CFLAGS
948 GTHREAD_LIBS
949 GTK_CFLAGS
950 GTK_LIBS
951 OPENBABEL_CFLAGS
952 OPENBABEL_LIBS
953 LIBGHEMICAL_CFLAGS
954 LIBGHEMICAL_LIBS'
955
956
957 # Initialize some variables set by options.
958 ac_init_help=
959 ac_init_version=false
960 ac_unrecognized_opts=
961 ac_unrecognized_sep=
962 # The variables have the same names as the options, with
963 # dashes changed to underlines.
964 cache_file=/dev/null
965 exec_prefix=NONE
966 no_create=
967 no_recursion=
968 prefix=NONE
969 program_prefix=NONE
970 program_suffix=NONE
971 program_transform_name=s,x,x,
972 silent=
973 site=
974 srcdir=
975 verbose=
976 x_includes=NONE
977 x_libraries=NONE
978
979 # Installation directory options.
980 # These are left unexpanded so users can "make install exec_prefix=/foo"
981 # and all the variables that are supposed to be based on exec_prefix
982 # by default will actually change.
983 # Use braces instead of parens because sh, perl, etc. also accept them.
984 # (The list follows the same order as the GNU Coding Standards.)
985 bindir='${exec_prefix}/bin'
986 sbindir='${exec_prefix}/sbin'
987 libexecdir='${exec_prefix}/libexec'
988 datarootdir='${prefix}/share'
989 datadir='${datarootdir}'
990 sysconfdir='${prefix}/etc'
991 sharedstatedir='${prefix}/com'
992 localstatedir='${prefix}/var'
993 includedir='${prefix}/include'
994 oldincludedir='/usr/include'
995 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
996 infodir='${datarootdir}/info'
997 htmldir='${docdir}'
998 dvidir='${docdir}'
999 pdfdir='${docdir}'
1000 psdir='${docdir}'
1001 libdir='${exec_prefix}/lib'
1002 localedir='${datarootdir}/locale'
1003 mandir='${datarootdir}/man'
1004
1005 ac_prev=
1006 ac_dashdash=
1007 for ac_option
1008 do
1009 # If the previous option needs an argument, assign it.
1010 if test -n "$ac_prev"; then
1011 eval $ac_prev=\$ac_option
1012 ac_prev=
1013 continue
1014 fi
1015
1016 case $ac_option in
1017 *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
1018 *=) ac_optarg= ;;
1019 *) ac_optarg=yes ;;
1020 esac
1021
1022 # Accept the important Cygnus configure options, so we can diagnose typos.
1023
1024 case $ac_dashdash$ac_option in
1025 --)
1026 ac_dashdash=yes ;;
1027
1028 -bindir | --bindir | --bindi | --bind | --bin | --bi)
1029 ac_prev=bindir ;;
1030 -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
1031 bindir=$ac_optarg ;;
1032
1033 -build | --build | --buil | --bui | --bu)
1034 ac_prev=build_alias ;;
1035 -build=* | --build=* | --buil=* | --bui=* | --bu=*)
1036 build_alias=$ac_optarg ;;
1037
1038 -cache-file | --cache-file | --cache-fil | --cache-fi \
1039 | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
1040 ac_prev=cache_file ;;
1041 -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
1042 | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
1043 cache_file=$ac_optarg ;;
1044
1045 --config-cache | -C)
1046 cache_file=config.cache ;;
1047
1048 -datadir | --datadir | --datadi | --datad)
1049 ac_prev=datadir ;;
1050 -datadir=* | --datadir=* | --datadi=* | --datad=*)
1051 datadir=$ac_optarg ;;
1052
1053 -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
1054 | --dataroo | --dataro | --datar)
1055 ac_prev=datarootdir ;;
1056 -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
1057 | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
1058 datarootdir=$ac_optarg ;;
1059
1060 -disable-* | --disable-*)
1061 ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
1062 # Reject names that are not valid shell variable names.
1063 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1064 as_fn_error $? "invalid feature name: $ac_useropt"
1065 ac_useropt_orig=$ac_useropt
1066 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1067 case $ac_user_opts in
1068 *"
1069 "enable_$ac_useropt"
1070 "*) ;;
1071 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
1072 ac_unrecognized_sep=', ';;
1073 esac
1074 eval enable_$ac_useropt=no ;;
1075
1076 -docdir | --docdir | --docdi | --doc | --do)
1077 ac_prev=docdir ;;
1078 -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
1079 docdir=$ac_optarg ;;
1080
1081 -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
1082 ac_prev=dvidir ;;
1083 -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
1084 dvidir=$ac_optarg ;;
1085
1086 -enable-* | --enable-*)
1087 ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
1088 # Reject names that are not valid shell variable names.
1089 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1090 as_fn_error $? "invalid feature name: $ac_useropt"
1091 ac_useropt_orig=$ac_useropt
1092 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1093 case $ac_user_opts in
1094 *"
1095 "enable_$ac_useropt"
1096 "*) ;;
1097 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
1098 ac_unrecognized_sep=', ';;
1099 esac
1100 eval enable_$ac_useropt=\$ac_optarg ;;
1101
1102 -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
1103 | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
1104 | --exec | --exe | --ex)
1105 ac_prev=exec_prefix ;;
1106 -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
1107 | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
1108 | --exec=* | --exe=* | --ex=*)
1109 exec_prefix=$ac_optarg ;;
1110
1111 -gas | --gas | --ga | --g)
1112 # Obsolete; use --with-gas.
1113 with_gas=yes ;;
1114
1115 -help | --help | --hel | --he | -h)
1116 ac_init_help=long ;;
1117 -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
1118 ac_init_help=recursive ;;
1119 -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
1120 ac_init_help=short ;;
1121
1122 -host | --host | --hos | --ho)
1123 ac_prev=host_alias ;;
1124 -host=* | --host=* | --hos=* | --ho=*)
1125 host_alias=$ac_optarg ;;
1126
1127 -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
1128 ac_prev=htmldir ;;
1129 -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
1130 | --ht=*)
1131 htmldir=$ac_optarg ;;
1132
1133 -includedir | --includedir | --includedi | --included | --include \
1134 | --includ | --inclu | --incl | --inc)
1135 ac_prev=includedir ;;
1136 -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
1137 | --includ=* | --inclu=* | --incl=* | --inc=*)
1138 includedir=$ac_optarg ;;
1139
1140 -infodir | --infodir | --infodi | --infod | --info | --inf)
1141 ac_prev=infodir ;;
1142 -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
1143 infodir=$ac_optarg ;;
1144
1145 -libdir | --libdir | --libdi | --libd)
1146 ac_prev=libdir ;;
1147 -libdir=* | --libdir=* | --libdi=* | --libd=*)
1148 libdir=$ac_optarg ;;
1149
1150 -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
1151 | --libexe | --libex | --libe)
1152 ac_prev=libexecdir ;;
1153 -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
1154 | --libexe=* | --libex=* | --libe=*)
1155 libexecdir=$ac_optarg ;;
1156
1157 -localedir | --localedir | --localedi | --localed | --locale)
1158 ac_prev=localedir ;;
1159 -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
1160 localedir=$ac_optarg ;;
1161
1162 -localstatedir | --localstatedir | --localstatedi | --localstated \
1163 | --localstate | --localstat | --localsta | --localst | --locals)
1164 ac_prev=localstatedir ;;
1165 -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
1166 | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
1167 localstatedir=$ac_optarg ;;
1168
1169 -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
1170 ac_prev=mandir ;;
1171 -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
1172 mandir=$ac_optarg ;;
1173
1174 -nfp | --nfp | --nf)
1175 # Obsolete; use --without-fp.
1176 with_fp=no ;;
1177
1178 -no-create | --no-create | --no-creat | --no-crea | --no-cre \
1179 | --no-cr | --no-c | -n)
1180 no_create=yes ;;
1181
1182 -no-recursion | --no-recursion | --no-recursio | --no-recursi \
1183 | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
1184 no_recursion=yes ;;
1185
1186 -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
1187 | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
1188 | --oldin | --oldi | --old | --ol | --o)
1189 ac_prev=oldincludedir ;;
1190 -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
1191 | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
1192 | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
1193 oldincludedir=$ac_optarg ;;
1194
1195 -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
1196 ac_prev=prefix ;;
1197 -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
1198 prefix=$ac_optarg ;;
1199
1200 -program-prefix | --program-prefix | --program-prefi | --program-pref \
1201 | --program-pre | --program-pr | --program-p)
1202 ac_prev=program_prefix ;;
1203 -program-prefix=* | --program-prefix=* | --program-prefi=* \
1204 | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
1205 program_prefix=$ac_optarg ;;
1206
1207 -program-suffix | --program-suffix | --program-suffi | --program-suff \
1208 | --program-suf | --program-su | --program-s)
1209 ac_prev=program_suffix ;;
1210 -program-suffix=* | --program-suffix=* | --program-suffi=* \
1211 | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
1212 program_suffix=$ac_optarg ;;
1213
1214 -program-transform-name | --program-transform-name \
1215 | --program-transform-nam | --program-transform-na \
1216 | --program-transform-n | --program-transform- \
1217 | --program-transform | --program-transfor \
1218 | --program-transfo | --program-transf \
1219 | --program-trans | --program-tran \
1220 | --progr-tra | --program-tr | --program-t)
1221 ac_prev=program_transform_name ;;
1222 -program-transform-name=* | --program-transform-name=* \
1223 | --program-transform-nam=* | --program-transform-na=* \
1224 | --program-transform-n=* | --program-transform-=* \
1225 | --program-transform=* | --program-transfor=* \
1226 | --program-transfo=* | --program-transf=* \
1227 | --program-trans=* | --program-tran=* \
1228 | --progr-tra=* | --program-tr=* | --program-t=*)
1229 program_transform_name=$ac_optarg ;;
1230
1231 -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
1232 ac_prev=pdfdir ;;
1233 -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
1234 pdfdir=$ac_optarg ;;
1235
1236 -psdir | --psdir | --psdi | --psd | --ps)
1237 ac_prev=psdir ;;
1238 -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
1239 psdir=$ac_optarg ;;
1240
1241 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
1242 | -silent | --silent | --silen | --sile | --sil)
1243 silent=yes ;;
1244
1245 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
1246 ac_prev=sbindir ;;
1247 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
1248 | --sbi=* | --sb=*)
1249 sbindir=$ac_optarg ;;
1250
1251 -sharedstatedir | --sharedstatedir | --sharedstatedi \
1252 | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
1253 | --sharedst | --shareds | --shared | --share | --shar \
1254 | --sha | --sh)
1255 ac_prev=sharedstatedir ;;
1256 -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
1257 | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
1258 | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
1259 | --sha=* | --sh=*)
1260 sharedstatedir=$ac_optarg ;;
1261
1262 -site | --site | --sit)
1263 ac_prev=site ;;
1264 -site=* | --site=* | --sit=*)
1265 site=$ac_optarg ;;
1266
1267 -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
1268 ac_prev=srcdir ;;
1269 -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
1270 srcdir=$ac_optarg ;;
1271
1272 -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
1273 | --syscon | --sysco | --sysc | --sys | --sy)
1274 ac_prev=sysconfdir ;;
1275 -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
1276 | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
1277 sysconfdir=$ac_optarg ;;
1278
1279 -target | --target | --targe | --targ | --tar | --ta | --t)
1280 ac_prev=target_alias ;;
1281 -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
1282 target_alias=$ac_optarg ;;
1283
1284 -v | -verbose | --verbose | --verbos | --verbo | --verb)
1285 verbose=yes ;;
1286
1287 -version | --version | --versio | --versi | --vers | -V)
1288 ac_init_version=: ;;
1289
1290 -with-* | --with-*)
1291 ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
1292 # Reject names that are not valid shell variable names.
1293 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1294 as_fn_error $? "invalid package name: $ac_useropt"
1295 ac_useropt_orig=$ac_useropt
1296 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1297 case $ac_user_opts in
1298 *"
1299 "with_$ac_useropt"
1300 "*) ;;
1301 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
1302 ac_unrecognized_sep=', ';;
1303 esac
1304 eval with_$ac_useropt=\$ac_optarg ;;
1305
1306 -without-* | --without-*)
1307 ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
1308 # Reject names that are not valid shell variable names.
1309 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1310 as_fn_error $? "invalid package name: $ac_useropt"
1311 ac_useropt_orig=$ac_useropt
1312 ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
1313 case $ac_user_opts in
1314 *"
1315 "with_$ac_useropt"
1316 "*) ;;
1317 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
1318 ac_unrecognized_sep=', ';;
1319 esac
1320 eval with_$ac_useropt=no ;;
1321
1322 --x)
1323 # Obsolete; use --with-x.
1324 with_x=yes ;;
1325
1326 -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
1327 | --x-incl | --x-inc | --x-in | --x-i)
1328 ac_prev=x_includes ;;
1329 -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
1330 | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
1331 x_includes=$ac_optarg ;;
1332
1333 -x-libraries | --x-libraries | --x-librarie | --x-librari \
1334 | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
1335 ac_prev=x_libraries ;;
1336 -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
1337 | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
1338 x_libraries=$ac_optarg ;;
1339
1340 -*) as_fn_error $? "unrecognized option: \`$ac_option'
1341 Try \`$0 --help' for more information"
1342 ;;
1343
1344 *=*)
1345 ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
1346 # Reject names that are not valid shell variable names.
1347 case $ac_envvar in #(
1348 '' | [0-9]* | *[!_$as_cr_alnum]* )
1349 as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
1350 esac
1351 eval $ac_envvar=\$ac_optarg
1352 export $ac_envvar ;;
1353
1354 *)
1355 # FIXME: should be removed in autoconf 3.0.
1356 $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
1357 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
1358 $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
1359 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
1360 ;;
1361
1362 esac
1363 done
1364
1365 if test -n "$ac_prev"; then
1366 ac_option=--`echo $ac_prev | sed 's/_/-/g'`
1367 as_fn_error $? "missing argument to $ac_option"
1368 fi
1369
1370 if test -n "$ac_unrecognized_opts"; then
1371 case $enable_option_checking in
1372 no) ;;
1373 fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
1374 *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
1375 esac
1376 fi
1377
1378 # Check all directory arguments for consistency.
1379 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
1380 datadir sysconfdir sharedstatedir localstatedir includedir \
1381 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
1382 libdir localedir mandir
1383 do
1384 eval ac_val=\$$ac_var
1385 # Remove trailing slashes.
1386 case $ac_val in
1387 */ )
1388 ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
1389 eval $ac_var=\$ac_val;;
1390 esac
1391 # Be sure to have absolute directory names.
1392 case $ac_val in
1393 [\\/$]* | ?:[\\/]* ) continue;;
1394 NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
1395 esac
1396 as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
1397 done
1398
1399 # There might be people who depend on the old broken behavior: `$host'
1400 # used to hold the argument of --host etc.
1401 # FIXME: To remove some day.
1402 build=$build_alias
1403 host=$host_alias
1404 target=$target_alias
1405
1406 # FIXME: To remove some day.
1407 if test "x$host_alias" != x; then
1408 if test "x$build_alias" = x; then
1409 cross_compiling=maybe
1410 $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
1411 If a cross compiler is detected then cross compile mode will be used" >&2
1412 elif test "x$build_alias" != "x$host_alias"; then
1413 cross_compiling=yes
1414 fi
1415 fi
1416
1417 ac_tool_prefix=
1418 test -n "$host_alias" && ac_tool_prefix=$host_alias-
1419
1420 test "$silent" = yes && exec 6>/dev/null
1421
1422
1423 ac_pwd=`pwd` && test -n "$ac_pwd" &&
1424 ac_ls_di=`ls -di .` &&
1425 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
1426 as_fn_error $? "working directory cannot be determined"
1427 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
1428 as_fn_error $? "pwd does not report name of working directory"
1429
1430
1431 # Find the source files, if location was not specified.
1432 if test -z "$srcdir"; then
1433 ac_srcdir_defaulted=yes
1434 # Try the directory containing this script, then the parent directory.
1435 ac_confdir=`$as_dirname -- "$as_myself" ||
1436 $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
1437 X"$as_myself" : 'X\(//\)[^/]' \| \
1438 X"$as_myself" : 'X\(//\)$' \| \
1439 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
1440 $as_echo X"$as_myself" |
1441 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
1442 s//\1/
1443 q
1444 }
1445 /^X\(\/\/\)[^/].*/{
1446 s//\1/
1447 q
1448 }
1449 /^X\(\/\/\)$/{
1450 s//\1/
1451 q
1452 }
1453 /^X\(\/\).*/{
1454 s//\1/
1455 q
1456 }
1457 s/.*/./; q'`
1458 srcdir=$ac_confdir
1459 if test ! -r "$srcdir/$ac_unique_file"; then
1460 srcdir=..
1461 fi
1462 else
1463 ac_srcdir_defaulted=no
1464 fi
1465 if test ! -r "$srcdir/$ac_unique_file"; then
1466 test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
1467 as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
1468 fi
1469 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
1470 ac_abs_confdir=`(
1471 cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
1472 pwd)`
1473 # When building in place, set srcdir=.
1474 if test "$ac_abs_confdir" = "$ac_pwd"; then
1475 srcdir=.
1476 fi
1477 # Remove unnecessary trailing slashes from srcdir.
1478 # Double slashes in file names in object file debugging info
1479 # mess up M-x gdb in Emacs.
1480 case $srcdir in
1481 */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
1482 esac
1483 for ac_var in $ac_precious_vars; do
1484 eval ac_env_${ac_var}_set=\${${ac_var}+set}
1485 eval ac_env_${ac_var}_value=\$${ac_var}
1486 eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
1487 eval ac_cv_env_${ac_var}_value=\$${ac_var}
1488 done
1489
1490 #
1491 # Report the --help message.
1492 #
1493 if test "$ac_init_help" = "long"; then
1494 # Omit some internal or obsolete options to make the list less imposing.
1495 # This message is too long to be a string in the A/UX 3.1 sh.
1496 cat <<_ACEOF
1497 \`configure' configures ghemical 3.0.0 to adapt to many kinds of systems.
1498
1499 Usage: $0 [OPTION]... [VAR=VALUE]...
1500
1501 To assign environment variables (e.g., CC, CFLAGS...), specify them as
1502 VAR=VALUE. See below for descriptions of some of the useful variables.
1503
1504 Defaults for the options are specified in brackets.
1505
1506 Configuration:
1507 -h, --help display this help and exit
1508 --help=short display options specific to this package
1509 --help=recursive display the short help of all the included packages
1510 -V, --version display version information and exit
1511 -q, --quiet, --silent do not print \`checking ...' messages
1512 --cache-file=FILE cache test results in FILE [disabled]
1513 -C, --config-cache alias for \`--cache-file=config.cache'
1514 -n, --no-create do not create output files
1515 --srcdir=DIR find the sources in DIR [configure dir or \`..']
1516
1517 Installation directories:
1518 --prefix=PREFIX install architecture-independent files in PREFIX
1519 [$ac_default_prefix]
1520 --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
1521 [PREFIX]
1522
1523 By default, \`make install' will install all the files in
1524 \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
1525 an installation prefix other than \`$ac_default_prefix' using \`--prefix',
1526 for instance \`--prefix=\$HOME'.
1527
1528 For better control, use the options below.
1529
1530 Fine tuning of the installation directories:
1531 --bindir=DIR user executables [EPREFIX/bin]
1532 --sbindir=DIR system admin executables [EPREFIX/sbin]
1533 --libexecdir=DIR program executables [EPREFIX/libexec]
1534 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
1535 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
1536 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
1537 --libdir=DIR object code libraries [EPREFIX/lib]
1538 --includedir=DIR C header files [PREFIX/include]
1539 --oldincludedir=DIR C header files for non-gcc [/usr/include]
1540 --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
1541 --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
1542 --infodir=DIR info documentation [DATAROOTDIR/info]
1543 --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
1544 --mandir=DIR man documentation [DATAROOTDIR/man]
1545 --docdir=DIR documentation root [DATAROOTDIR/doc/ghemical]
1546 --htmldir=DIR html documentation [DOCDIR]
1547 --dvidir=DIR dvi documentation [DOCDIR]
1548 --pdfdir=DIR pdf documentation [DOCDIR]
1549 --psdir=DIR ps documentation [DOCDIR]
1550 _ACEOF
1551
1552 cat <<\_ACEOF
1553
1554 Program names:
1555 --program-prefix=PREFIX prepend PREFIX to installed program names
1556 --program-suffix=SUFFIX append SUFFIX to installed program names
1557 --program-transform-name=PROGRAM run sed PROGRAM on installed program names
1558
1559 System types:
1560 --build=BUILD configure for building on BUILD [guessed]
1561 --host=HOST cross-compile to build programs to run on HOST [BUILD]
1562 _ACEOF
1563 fi
1564
1565 if test -n "$ac_init_help"; then
1566 case $ac_init_help in
1567 short | recursive ) echo "Configuration of ghemical 3.0.0:";;
1568 esac
1569 cat <<\_ACEOF
1570
1571 Optional Features:
1572 --disable-option-checking ignore unrecognized --enable/--with options
1573 --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
1574 --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
1575 --enable-gtk build a GTK2 application [default=yes]
1576 --enable-threads build a multithreaded application [default=yes]
1577 --enable-openbabel compile with OpenBabel support [default=yes]
1578 --disable-dependency-tracking speeds up one-time build
1579 --enable-dependency-tracking do not reject slow dependency extractors
1580 --enable-shared[=PKGS] build shared libraries [default=yes]
1581 --enable-static[=PKGS] build static libraries [default=yes]
1582 --enable-fast-install[=PKGS]
1583 optimize for fast installation [default=yes]
1584 --disable-libtool-lock avoid locking (might break parallel builds)
1585 --disable-nls do not use Native Language Support
1586
1587 Optional Packages:
1588 --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
1589 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
1590 --with-pic try to use only PIC/non-PIC objects [default=use
1591 both]
1592 --with-gnu-ld assume the C compiler uses GNU ld [default=no]
1593
1594 Some influential environment variables:
1595 CC C compiler command
1596 CFLAGS C compiler flags
1597 LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
1598 nonstandard directory <lib dir>
1599 LIBS libraries to pass to the linker, e.g. -l<library>
1600 CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
1601 you have headers in a nonstandard directory <include dir>
1602 CXX C++ compiler command
1603 CXXFLAGS C++ compiler flags
1604 CPP C preprocessor
1605 CXXCPP C++ preprocessor
1606 PKG_CONFIG path to pkg-config utility
1607 PKG_CONFIG_PATH
1608 directories to add to pkg-config's search path
1609 PKG_CONFIG_LIBDIR
1610 path overriding pkg-config's built-in search path
1611 GTHREAD_CFLAGS
1612 C compiler flags for GTHREAD, overriding pkg-config
1613 GTHREAD_LIBS
1614 linker flags for GTHREAD, overriding pkg-config
1615 GTK_CFLAGS C compiler flags for GTK, overriding pkg-config
1616 GTK_LIBS linker flags for GTK, overriding pkg-config
1617 OPENBABEL_CFLAGS
1618 C compiler flags for OPENBABEL, overriding pkg-config
1619 OPENBABEL_LIBS
1620 linker flags for OPENBABEL, overriding pkg-config
1621 LIBGHEMICAL_CFLAGS
1622 C compiler flags for LIBGHEMICAL, overriding pkg-config
1623 LIBGHEMICAL_LIBS
1624 linker flags for LIBGHEMICAL, overriding pkg-config
1625
1626 Use these variables to override the choices made by `configure' or to help
1627 it to find libraries and programs with nonstandard names/locations.
1628
1629 Report bugs to the package provider.
1630 _ACEOF
1631 ac_status=$?
1632 fi
1633
1634 if test "$ac_init_help" = "recursive"; then
1635 # If there are subdirs, report their specific --help.
1636 for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
1637 test -d "$ac_dir" ||
1638 { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
1639 continue
1640 ac_builddir=.
1641
1642 case "$ac_dir" in
1643 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
1644 *)
1645 ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
1646 # A ".." for each directory in $ac_dir_suffix.
1647 ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
1648 case $ac_top_builddir_sub in
1649 "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
1650 *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
1651 esac ;;
1652 esac
1653 ac_abs_top_builddir=$ac_pwd
1654 ac_abs_builddir=$ac_pwd$ac_dir_suffix
1655 # for backward compatibility:
1656 ac_top_builddir=$ac_top_build_prefix
1657
1658 case $srcdir in
1659 .) # We are building in place.
1660 ac_srcdir=.
1661 ac_top_srcdir=$ac_top_builddir_sub
1662 ac_abs_top_srcdir=$ac_pwd ;;
1663 [\\/]* | ?:[\\/]* ) # Absolute name.
1664 ac_srcdir=$srcdir$ac_dir_suffix;
1665 ac_top_srcdir=$srcdir
1666 ac_abs_top_srcdir=$srcdir ;;
1667 *) # Relative name.
1668 ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
1669 ac_top_srcdir=$ac_top_build_prefix$srcdir
1670 ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
1671 esac
1672 ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
1673
1674 cd "$ac_dir" || { ac_status=$?; continue; }
1675 # Check for guested configure.
1676 if test -f "$ac_srcdir/configure.gnu"; then
1677 echo &&
1678 $SHELL "$ac_srcdir/configure.gnu" --help=recursive
1679 elif test -f "$ac_srcdir/configure"; then
1680 echo &&
1681 $SHELL "$ac_srcdir/configure" --help=recursive
1682 else
1683 $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
1684 fi || ac_status=$?
1685 cd "$ac_pwd" || { ac_status=$?; break; }
1686 done
1687 fi
1688
1689 test -n "$ac_init_help" && exit $ac_status
1690 if $ac_init_version; then
1691 cat <<\_ACEOF
1692 ghemical configure 3.0.0
1693 generated by GNU Autoconf 2.67
1694
1695 Copyright (C) 2010 Free Software Foundation, Inc.
1696 This configure script is free software; the Free Software Foundation
1697 gives unlimited permission to copy, distribute and modify it.
1698 _ACEOF
1699 exit
1700 fi
1701
1702 ## ------------------------ ##
1703 ## Autoconf initialization. ##
1704 ## ------------------------ ##
1705
1706 # ac_fn_c_try_compile LINENO
1707 # --------------------------
1708 # Try to compile conftest.$ac_ext, and return whether this succeeded.
1709 ac_fn_c_try_compile ()
1710 {
1711 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1712 rm -f conftest.$ac_objext
1713 if { { ac_try="$ac_compile"
1714 case "(($ac_try" in
1715 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1716 *) ac_try_echo=$ac_try;;
1717 esac
1718 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1719 $as_echo "$ac_try_echo"; } >&5
1720 (eval "$ac_compile") 2>conftest.err
1721 ac_status=$?
1722 if test -s conftest.err; then
1723 grep -v '^ *+' conftest.err >conftest.er1
1724 cat conftest.er1 >&5
1725 mv -f conftest.er1 conftest.err
1726 fi
1727 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1728 test $ac_status = 0; } && {
1729 test -z "$ac_c_werror_flag" ||
1730 test ! -s conftest.err
1731 } && test -s conftest.$ac_objext; then :
1732 ac_retval=0
1733 else
1734 $as_echo "$as_me: failed program was:" >&5
1735 sed 's/^/| /' conftest.$ac_ext >&5
1736
1737 ac_retval=1
1738 fi
1739 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
1740 as_fn_set_status $ac_retval
1741
1742 } # ac_fn_c_try_compile
1743
1744 # ac_fn_cxx_try_compile LINENO
1745 # ----------------------------
1746 # Try to compile conftest.$ac_ext, and return whether this succeeded.
1747 ac_fn_cxx_try_compile ()
1748 {
1749 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1750 rm -f conftest.$ac_objext
1751 if { { ac_try="$ac_compile"
1752 case "(($ac_try" in
1753 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1754 *) ac_try_echo=$ac_try;;
1755 esac
1756 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1757 $as_echo "$ac_try_echo"; } >&5
1758 (eval "$ac_compile") 2>conftest.err
1759 ac_status=$?
1760 if test -s conftest.err; then
1761 grep -v '^ *+' conftest.err >conftest.er1
1762 cat conftest.er1 >&5
1763 mv -f conftest.er1 conftest.err
1764 fi
1765 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1766 test $ac_status = 0; } && {
1767 test -z "$ac_cxx_werror_flag" ||
1768 test ! -s conftest.err
1769 } && test -s conftest.$ac_objext; then :
1770 ac_retval=0
1771 else
1772 $as_echo "$as_me: failed program was:" >&5
1773 sed 's/^/| /' conftest.$ac_ext >&5
1774
1775 ac_retval=1
1776 fi
1777 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
1778 as_fn_set_status $ac_retval
1779
1780 } # ac_fn_cxx_try_compile
1781
1782 # ac_fn_c_try_cpp LINENO
1783 # ----------------------
1784 # Try to preprocess conftest.$ac_ext, and return whether this succeeded.
1785 ac_fn_c_try_cpp ()
1786 {
1787 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1788 if { { ac_try="$ac_cpp conftest.$ac_ext"
1789 case "(($ac_try" in
1790 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1791 *) ac_try_echo=$ac_try;;
1792 esac
1793 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1794 $as_echo "$ac_try_echo"; } >&5
1795 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
1796 ac_status=$?
1797 if test -s conftest.err; then
1798 grep -v '^ *+' conftest.err >conftest.er1
1799 cat conftest.er1 >&5
1800 mv -f conftest.er1 conftest.err
1801 fi
1802 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1803 test $ac_status = 0; } > conftest.i && {
1804 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
1805 test ! -s conftest.err
1806 }; then :
1807 ac_retval=0
1808 else
1809 $as_echo "$as_me: failed program was:" >&5
1810 sed 's/^/| /' conftest.$ac_ext >&5
1811
1812 ac_retval=1
1813 fi
1814 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
1815 as_fn_set_status $ac_retval
1816
1817 } # ac_fn_c_try_cpp
1818
1819 # ac_fn_cxx_try_cpp LINENO
1820 # ------------------------
1821 # Try to preprocess conftest.$ac_ext, and return whether this succeeded.
1822 ac_fn_cxx_try_cpp ()
1823 {
1824 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1825 if { { ac_try="$ac_cpp conftest.$ac_ext"
1826 case "(($ac_try" in
1827 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1828 *) ac_try_echo=$ac_try;;
1829 esac
1830 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1831 $as_echo "$ac_try_echo"; } >&5
1832 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
1833 ac_status=$?
1834 if test -s conftest.err; then
1835 grep -v '^ *+' conftest.err >conftest.er1
1836 cat conftest.er1 >&5
1837 mv -f conftest.er1 conftest.err
1838 fi
1839 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1840 test $ac_status = 0; } > conftest.i && {
1841 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
1842 test ! -s conftest.err
1843 }; then :
1844 ac_retval=0
1845 else
1846 $as_echo "$as_me: failed program was:" >&5
1847 sed 's/^/| /' conftest.$ac_ext >&5
1848
1849 ac_retval=1
1850 fi
1851 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
1852 as_fn_set_status $ac_retval
1853
1854 } # ac_fn_cxx_try_cpp
1855
1856 # ac_fn_c_try_link LINENO
1857 # -----------------------
1858 # Try to link conftest.$ac_ext, and return whether this succeeded.
1859 ac_fn_c_try_link ()
1860 {
1861 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1862 rm -f conftest.$ac_objext conftest$ac_exeext
1863 if { { ac_try="$ac_link"
1864 case "(($ac_try" in
1865 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1866 *) ac_try_echo=$ac_try;;
1867 esac
1868 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1869 $as_echo "$ac_try_echo"; } >&5
1870 (eval "$ac_link") 2>conftest.err
1871 ac_status=$?
1872 if test -s conftest.err; then
1873 grep -v '^ *+' conftest.err >conftest.er1
1874 cat conftest.er1 >&5
1875 mv -f conftest.er1 conftest.err
1876 fi
1877 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1878 test $ac_status = 0; } && {
1879 test -z "$ac_c_werror_flag" ||
1880 test ! -s conftest.err
1881 } && test -s conftest$ac_exeext && {
1882 test "$cross_compiling" = yes ||
1883 $as_test_x conftest$ac_exeext
1884 }; then :
1885 ac_retval=0
1886 else
1887 $as_echo "$as_me: failed program was:" >&5
1888 sed 's/^/| /' conftest.$ac_ext >&5
1889
1890 ac_retval=1
1891 fi
1892 # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
1893 # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
1894 # interfere with the next link command; also delete a directory that is
1895 # left behind by Apple's compiler. We do this before executing the actions.
1896 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1897 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
1898 as_fn_set_status $ac_retval
1899
1900 } # ac_fn_c_try_link
1901
1902 # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
1903 # -------------------------------------------------------
1904 # Tests whether HEADER exists and can be compiled using the include files in
1905 # INCLUDES, setting the cache variable VAR accordingly.
1906 ac_fn_c_check_header_compile ()
1907 {
1908 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1909 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1910 $as_echo_n "checking for $2... " >&6; }
1911 if eval "test \"\${$3+set}\"" = set; then :
1912 $as_echo_n "(cached) " >&6
1913 else
1914 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1915 /* end confdefs.h. */
1916 $4
1917 #include <$2>
1918 _ACEOF
1919 if ac_fn_c_try_compile "$LINENO"; then :
1920 eval "$3=yes"
1921 else
1922 eval "$3=no"
1923 fi
1924 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
1925 fi
1926 eval ac_res=\$$3
1927 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1928 $as_echo "$ac_res" >&6; }
1929 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
1930
1931 } # ac_fn_c_check_header_compile
1932
1933 # ac_fn_c_try_run LINENO
1934 # ----------------------
1935 # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
1936 # that executables *can* be run.
1937 ac_fn_c_try_run ()
1938 {
1939 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1940 if { { ac_try="$ac_link"
1941 case "(($ac_try" in
1942 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1943 *) ac_try_echo=$ac_try;;
1944 esac
1945 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1946 $as_echo "$ac_try_echo"; } >&5
1947 (eval "$ac_link") 2>&5
1948 ac_status=$?
1949 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1950 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
1951 { { case "(($ac_try" in
1952 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1953 *) ac_try_echo=$ac_try;;
1954 esac
1955 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1956 $as_echo "$ac_try_echo"; } >&5
1957 (eval "$ac_try") 2>&5
1958 ac_status=$?
1959 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1960 test $ac_status = 0; }; }; then :
1961 ac_retval=0
1962 else
1963 $as_echo "$as_me: program exited with status $ac_status" >&5
1964 $as_echo "$as_me: failed program was:" >&5
1965 sed 's/^/| /' conftest.$ac_ext >&5
1966
1967 ac_retval=$ac_status
1968 fi
1969 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1970 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
1971 as_fn_set_status $ac_retval
1972
1973 } # ac_fn_c_try_run
1974
1975 # ac_fn_c_check_func LINENO FUNC VAR
1976 # ----------------------------------
1977 # Tests whether FUNC exists, setting the cache variable VAR accordingly
1978 ac_fn_c_check_func ()
1979 {
1980 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1981 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1982 $as_echo_n "checking for $2... " >&6; }
1983 if eval "test \"\${$3+set}\"" = set; then :
1984 $as_echo_n "(cached) " >&6
1985 else
1986 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1987 /* end confdefs.h. */
1988 /* Define $2 to an innocuous variant, in case <limits.h> declares $2.
1989 For example, HP-UX 11i <limits.h> declares gettimeofday. */
1990 #define $2 innocuous_$2
1991
1992 /* System header to define __stub macros and hopefully few prototypes,
1993 which can conflict with char $2 (); below.
1994 Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
1995 <limits.h> exists even on freestanding compilers. */
1996
1997 #ifdef __STDC__
1998 # include <limits.h>
1999 #else
2000 # include <assert.h>
2001 #endif
2002
2003 #undef $2
2004
2005 /* Override any GCC internal prototype to avoid an error.
2006 Use char because int might match the return type of a GCC
2007 builtin and then its argument prototype would still apply. */
2008 #ifdef __cplusplus
2009 extern "C"
2010 #endif
2011 char $2 ();
2012 /* The GNU C library defines this for functions which it implements
2013 to always fail with ENOSYS. Some functions are actually named
2014 something starting with __ and the normal name is an alias. */
2015 #if defined __stub_$2 || defined __stub___$2
2016 choke me
2017 #endif
2018
2019 int
2020 main ()
2021 {
2022 return $2 ();
2023 ;
2024 return 0;
2025 }
2026 _ACEOF
2027 if ac_fn_c_try_link "$LINENO"; then :
2028 eval "$3=yes"
2029 else
2030 eval "$3=no"
2031 fi
2032 rm -f core conftest.err conftest.$ac_objext \
2033 conftest$ac_exeext conftest.$ac_ext
2034 fi
2035 eval ac_res=\$$3
2036 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2037 $as_echo "$ac_res" >&6; }
2038 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
2039
2040 } # ac_fn_c_check_func
2041
2042 # ac_fn_cxx_try_link LINENO
2043 # -------------------------
2044 # Try to link conftest.$ac_ext, and return whether this succeeded.
2045 ac_fn_cxx_try_link ()
2046 {
2047 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2048 rm -f conftest.$ac_objext conftest$ac_exeext
2049 if { { ac_try="$ac_link"
2050 case "(($ac_try" in
2051 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2052 *) ac_try_echo=$ac_try;;
2053 esac
2054 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2055 $as_echo "$ac_try_echo"; } >&5
2056 (eval "$ac_link") 2>conftest.err
2057 ac_status=$?
2058 if test -s conftest.err; then
2059 grep -v '^ *+' conftest.err >conftest.er1
2060 cat conftest.er1 >&5
2061 mv -f conftest.er1 conftest.err
2062 fi
2063 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2064 test $ac_status = 0; } && {
2065 test -z "$ac_cxx_werror_flag" ||
2066 test ! -s conftest.err
2067 } && test -s conftest$ac_exeext && {
2068 test "$cross_compiling" = yes ||
2069 $as_test_x conftest$ac_exeext
2070 }; then :
2071 ac_retval=0
2072 else
2073 $as_echo "$as_me: failed program was:" >&5
2074 sed 's/^/| /' conftest.$ac_ext >&5
2075
2076 ac_retval=1
2077 fi
2078 # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
2079 # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
2080 # interfere with the next link command; also delete a directory that is
2081 # left behind by Apple's compiler. We do this before executing the actions.
2082 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
2083 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
2084 as_fn_set_status $ac_retval
2085
2086 } # ac_fn_cxx_try_link
2087
2088 # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
2089 # -------------------------------------------------------
2090 # Tests whether HEADER exists, giving a warning if it cannot be compiled using
2091 # the include files in INCLUDES and setting the cache variable VAR
2092 # accordingly.
2093 ac_fn_c_check_header_mongrel ()
2094 {
2095 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2096 if eval "test \"\${$3+set}\"" = set; then :
2097 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
2098 $as_echo_n "checking for $2... " >&6; }
2099 if eval "test \"\${$3+set}\"" = set; then :
2100 $as_echo_n "(cached) " >&6
2101 fi
2102 eval ac_res=\$$3
2103 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2104 $as_echo "$ac_res" >&6; }
2105 else
2106 # Is the header compilable?
2107 { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
2108 $as_echo_n "checking $2 usability... " >&6; }
2109 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2110 /* end confdefs.h. */
2111 $4
2112 #include <$2>
2113 _ACEOF
2114 if ac_fn_c_try_compile "$LINENO"; then :
2115 ac_header_compiler=yes
2116 else
2117 ac_header_compiler=no
2118 fi
2119 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
2120 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
2121 $as_echo "$ac_header_compiler" >&6; }
2122
2123 # Is the header present?
2124 { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
2125 $as_echo_n "checking $2 presence... " >&6; }
2126 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2127 /* end confdefs.h. */
2128 #include <$2>
2129 _ACEOF
2130 if ac_fn_c_try_cpp "$LINENO"; then :
2131 ac_header_preproc=yes
2132 else
2133 ac_header_preproc=no
2134 fi
2135 rm -f conftest.err conftest.i conftest.$ac_ext
2136 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
2137 $as_echo "$ac_header_preproc" >&6; }
2138
2139 # So? What about this header?
2140 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
2141 yes:no: )
2142 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
2143 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
2144 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
2145 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
2146 ;;
2147 no:yes:* )
2148 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
2149 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
2150 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
2151 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
2152 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
2153 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
2154 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
2155 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
2156 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
2157 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
2158 ;;
2159 esac
2160 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
2161 $as_echo_n "checking for $2... " >&6; }
2162 if eval "test \"\${$3+set}\"" = set; then :
2163 $as_echo_n "(cached) " >&6
2164 else
2165 eval "$3=\$ac_header_compiler"
2166 fi
2167 eval ac_res=\$$3
2168 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2169 $as_echo "$ac_res" >&6; }
2170 fi
2171 eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
2172
2173 } # ac_fn_c_check_header_mongrel
2174 cat >config.log <<_ACEOF
2175 This file contains any messages produced by compilers while
2176 running configure, to aid debugging if configure makes a mistake.
2177
2178 It was created by ghemical $as_me 3.0.0, which was
2179 generated by GNU Autoconf 2.67. Invocation command line was
2180
2181 $ $0 $@
2182
2183 _ACEOF
2184 exec 5>>config.log
2185 {
2186 cat <<_ASUNAME
2187 ## --------- ##
2188 ## Platform. ##
2189 ## --------- ##
2190
2191 hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
2192 uname -m = `(uname -m) 2>/dev/null || echo unknown`
2193 uname -r = `(uname -r) 2>/dev/null || echo unknown`
2194 uname -s = `(uname -s) 2>/dev/null || echo unknown`
2195 uname -v = `(uname -v) 2>/dev/null || echo unknown`
2196
2197 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
2198 /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
2199
2200 /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
2201 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
2202 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
2203 /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
2204 /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
2205 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
2206 /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
2207
2208 _ASUNAME
2209
2210 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2211 for as_dir in $PATH
2212 do
2213 IFS=$as_save_IFS
2214 test -z "$as_dir" && as_dir=.
2215 $as_echo "PATH: $as_dir"
2216 done
2217 IFS=$as_save_IFS
2218
2219 } >&5
2220
2221 cat >&5 <<_ACEOF
2222
2223
2224 ## ----------- ##
2225 ## Core tests. ##
2226 ## ----------- ##
2227
2228 _ACEOF
2229
2230
2231 # Keep a trace of the command line.
2232 # Strip out --no-create and --no-recursion so they do not pile up.
2233 # Strip out --silent because we don't want to record it for future runs.
2234 # Also quote any args containing shell meta-characters.
2235 # Make two passes to allow for proper duplicate-argument suppression.
2236 ac_configure_args=
2237 ac_configure_args0=
2238 ac_configure_args1=
2239 ac_must_keep_next=false
2240 for ac_pass in 1 2
2241 do
2242 for ac_arg
2243 do
2244 case $ac_arg in
2245 -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
2246 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
2247 | -silent | --silent | --silen | --sile | --sil)
2248 continue ;;
2249 *\'*)
2250 ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2251 esac
2252 case $ac_pass in
2253 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
2254 2)
2255 as_fn_append ac_configure_args1 " '$ac_arg'"
2256 if test $ac_must_keep_next = true; then
2257 ac_must_keep_next=false # Got value, back to normal.
2258 else
2259 case $ac_arg in
2260 *=* | --config-cache | -C | -disable-* | --disable-* \
2261 | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
2262 | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
2263 | -with-* | --with-* | -without-* | --without-* | --x)
2264 case "$ac_configure_args0 " in
2265 "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
2266 esac
2267 ;;
2268 -* ) ac_must_keep_next=true ;;
2269 esac
2270 fi
2271 as_fn_append ac_configure_args " '$ac_arg'"
2272 ;;
2273 esac
2274 done
2275 done
2276 { ac_configure_args0=; unset ac_configure_args0;}
2277 { ac_configure_args1=; unset ac_configure_args1;}
2278
2279 # When interrupted or exit'd, cleanup temporary files, and complete
2280 # config.log. We remove comments because anyway the quotes in there
2281 # would cause problems or look ugly.
2282 # WARNING: Use '\'' to represent an apostrophe within the trap.
2283 # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
2284 trap 'exit_status=$?
2285 # Save into config.log some information that might help in debugging.
2286 {
2287 echo
2288
2289 $as_echo "## ---------------- ##
2290 ## Cache variables. ##
2291 ## ---------------- ##"
2292 echo
2293 # The following way of writing the cache mishandles newlines in values,
2294 (
2295 for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
2296 eval ac_val=\$$ac_var
2297 case $ac_val in #(
2298 *${as_nl}*)
2299 case $ac_var in #(
2300 *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
2301 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
2302 esac
2303 case $ac_var in #(
2304 _ | IFS | as_nl) ;; #(
2305 BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
2306 *) { eval $ac_var=; unset $ac_var;} ;;
2307 esac ;;
2308 esac
2309 done
2310 (set) 2>&1 |
2311 case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
2312 *${as_nl}ac_space=\ *)
2313 sed -n \
2314 "s/'\''/'\''\\\\'\'''\''/g;
2315 s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
2316 ;; #(
2317 *)
2318 sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
2319 ;;
2320 esac |
2321 sort
2322 )
2323 echo
2324
2325 $as_echo "## ----------------- ##
2326 ## Output variables. ##
2327 ## ----------------- ##"
2328 echo
2329 for ac_var in $ac_subst_vars
2330 do
2331 eval ac_val=\$$ac_var
2332 case $ac_val in
2333 *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
2334 esac
2335 $as_echo "$ac_var='\''$ac_val'\''"
2336 done | sort
2337 echo
2338
2339 if test -n "$ac_subst_files"; then
2340 $as_echo "## ------------------- ##
2341 ## File substitutions. ##
2342 ## ------------------- ##"
2343 echo
2344 for ac_var in $ac_subst_files
2345 do
2346 eval ac_val=\$$ac_var
2347 case $ac_val in
2348 *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
2349 esac
2350 $as_echo "$ac_var='\''$ac_val'\''"
2351 done | sort
2352 echo
2353 fi
2354
2355 if test -s confdefs.h; then
2356 $as_echo "## ----------- ##
2357 ## confdefs.h. ##
2358 ## ----------- ##"
2359 echo
2360 cat confdefs.h
2361 echo
2362 fi
2363 test "$ac_signal" != 0 &&
2364 $as_echo "$as_me: caught signal $ac_signal"
2365 $as_echo "$as_me: exit $exit_status"
2366 } >&5
2367 rm -f core *.core core.conftest.* &&
2368 rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
2369 exit $exit_status
2370 ' 0
2371 for ac_signal in 1 2 13 15; do
2372 trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
2373 done
2374 ac_signal=0
2375
2376 # confdefs.h avoids OS command line length limits that DEFS can exceed.
2377 rm -f -r conftest* confdefs.h
2378
2379 $as_echo "/* confdefs.h */" > confdefs.h
2380
2381 # Predefined preprocessor variables.
2382
2383 cat >>confdefs.h <<_ACEOF
2384 #define PACKAGE_NAME "$PACKAGE_NAME"
2385 _ACEOF
2386
2387 cat >>confdefs.h <<_ACEOF
2388 #define PACKAGE_TARNAME "$PACKAGE_TARNAME"
2389 _ACEOF
2390
2391 cat >>confdefs.h <<_ACEOF
2392 #define PACKAGE_VERSION "$PACKAGE_VERSION"
2393 _ACEOF
2394
2395 cat >>confdefs.h <<_ACEOF
2396 #define PACKAGE_STRING "$PACKAGE_STRING"
2397 _ACEOF
2398
2399 cat >>confdefs.h <<_ACEOF
2400 #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
2401 _ACEOF
2402
2403 cat >>confdefs.h <<_ACEOF
2404 #define PACKAGE_URL "$PACKAGE_URL"
2405 _ACEOF
2406
2407
2408 # Let the site file select an alternate cache file if it wants to.
2409 # Prefer an explicitly selected file to automatically selected ones.
2410 ac_site_file1=NONE
2411 ac_site_file2=NONE
2412 if test -n "$CONFIG_SITE"; then
2413 # We do not want a PATH search for config.site.
2414 case $CONFIG_SITE in #((
2415 -*) ac_site_file1=./$CONFIG_SITE;;
2416 */*) ac_site_file1=$CONFIG_SITE;;
2417 *) ac_site_file1=./$CONFIG_SITE;;
2418 esac
2419 elif test "x$prefix" != xNONE; then
2420 ac_site_file1=$prefix/share/config.site
2421 ac_site_file2=$prefix/etc/config.site
2422 else
2423 ac_site_file1=$ac_default_prefix/share/config.site
2424 ac_site_file2=$ac_default_prefix/etc/config.site
2425 fi
2426 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
2427 do
2428 test "x$ac_site_file" = xNONE && continue
2429 if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
2430 { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
2431 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
2432 sed 's/^/| /' "$ac_site_file" >&5
2433 . "$ac_site_file" \
2434 || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2435 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2436 as_fn_error $? "failed to load site script $ac_site_file
2437 See \`config.log' for more details" "$LINENO" 5 ; }
2438 fi
2439 done
2440
2441 if test -r "$cache_file"; then
2442 # Some versions of bash will fail to source /dev/null (special files
2443 # actually), so we avoid doing that. DJGPP emulates it as a regular file.
2444 if test /dev/null != "$cache_file" && test -f "$cache_file"; then
2445 { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
2446 $as_echo "$as_me: loading cache $cache_file" >&6;}
2447 case $cache_file in
2448 [\\/]* | ?:[\\/]* ) . "$cache_file";;
2449 *) . "./$cache_file";;
2450 esac
2451 fi
2452 else
2453 { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
2454 $as_echo "$as_me: creating cache $cache_file" >&6;}
2455 >$cache_file
2456 fi
2457
2458 # Check that the precious variables saved in the cache have kept the same
2459 # value.
2460 ac_cache_corrupted=false
2461 for ac_var in $ac_precious_vars; do
2462 eval ac_old_set=\$ac_cv_env_${ac_var}_set
2463 eval ac_new_set=\$ac_env_${ac_var}_set
2464 eval ac_old_val=\$ac_cv_env_${ac_var}_value
2465 eval ac_new_val=\$ac_env_${ac_var}_value
2466 case $ac_old_set,$ac_new_set in
2467 set,)
2468 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
2469 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
2470 ac_cache_corrupted=: ;;
2471 ,set)
2472 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
2473 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
2474 ac_cache_corrupted=: ;;
2475 ,);;
2476 *)
2477 if test "x$ac_old_val" != "x$ac_new_val"; then
2478 # differences in whitespace do not lead to failure.
2479 ac_old_val_w=`echo x $ac_old_val`
2480 ac_new_val_w=`echo x $ac_new_val`
2481 if test "$ac_old_val_w" != "$ac_new_val_w"; then
2482 { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
2483 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
2484 ac_cache_corrupted=:
2485 else
2486 { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
2487 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
2488 eval $ac_var=\$ac_old_val
2489 fi
2490 { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
2491 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
2492 { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
2493 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
2494 fi;;
2495 esac
2496 # Pass precious variables to config.status.
2497 if test "$ac_new_set" = set; then
2498 case $ac_new_val in
2499 *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
2500 *) ac_arg=$ac_var=$ac_new_val ;;
2501 esac
2502 case " $ac_configure_args " in
2503 *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
2504 *) as_fn_append ac_configure_args " '$ac_arg'" ;;
2505 esac
2506 fi
2507 done
2508 if $ac_cache_corrupted; then
2509 { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2510 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
2511 { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
2512 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
2513 as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
2514 fi
2515 ## -------------------- ##
2516 ## Main body of script. ##
2517 ## -------------------- ##
2518
2519 ac_ext=c
2520 ac_cpp='$CPP $CPPFLAGS'
2521 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
2522 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
2523 ac_compiler_gnu=$ac_cv_c_compiler_gnu
2524
2525
2526
2527
2528 $as_echo "#define APPVERSION \"3.0.0\"" >>confdefs.h
2529
2530 APPVERSION="3.0.0"
2531
2532
2533
2534 $as_echo "#define APPRELEASEDATE \"2011-10-12\"" >>confdefs.h
2535
2536 APPRELEASEDATE="2011-10-12"
2537
2538
2539
2540
2541 ac_config_headers="$ac_config_headers src/ghemicalconfig.h"
2542
2543
2544 # todo : how to prevent from VERSION being written into the config.h file???
2545 # the same will be written into the libghemical config header, causing warnings.
2546
2547 am__api_version='1.11'
2548
2549 ac_aux_dir=
2550 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
2551 if test -f "$ac_dir/install-sh"; then
2552 ac_aux_dir=$ac_dir
2553 ac_install_sh="$ac_aux_dir/install-sh -c"
2554 break
2555 elif test -f "$ac_dir/install.sh"; then
2556 ac_aux_dir=$ac_dir
2557 ac_install_sh="$ac_aux_dir/install.sh -c"
2558 break
2559 elif test -f "$ac_dir/shtool"; then
2560 ac_aux_dir=$ac_dir
2561 ac_install_sh="$ac_aux_dir/shtool install -c"
2562 break
2563 fi
2564 done
2565 if test -z "$ac_aux_dir"; then
2566 as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
2567 fi
2568
2569 # These three variables are undocumented and unsupported,
2570 # and are intended to be withdrawn in a future Autoconf release.
2571 # They can cause serious problems if a builder's source tree is in a directory
2572 # whose full name contains unusual characters.
2573 ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
2574 ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
2575 ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
2576
2577
2578 # Find a good install program. We prefer a C program (faster),
2579 # so one script is as good as another. But avoid the broken or
2580 # incompatible versions:
2581 # SysV /etc/install, /usr/sbin/install
2582 # SunOS /usr/etc/install
2583 # IRIX /sbin/install
2584 # AIX /bin/install
2585 # AmigaOS /C/install, which installs bootblocks on floppy discs
2586 # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
2587 # AFS /usr/afsws/bin/install, which mishandles nonexistent args
2588 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
2589 # OS/2's system install, which has a completely different semantic
2590 # ./install, which can be erroneously created by make from ./install.sh.
2591 # Reject install programs that cannot install multiple files.
2592 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
2593 $as_echo_n "checking for a BSD-compatible install... " >&6; }
2594 if test -z "$INSTALL"; then
2595 if test "${ac_cv_path_install+set}" = set; then :
2596 $as_echo_n "(cached) " >&6
2597 else
2598 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2599 for as_dir in $PATH
2600 do
2601 IFS=$as_save_IFS
2602 test -z "$as_dir" && as_dir=.
2603 # Account for people who put trailing slashes in PATH elements.
2604 case $as_dir/ in #((
2605 ./ | .// | /[cC]/* | \
2606 /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
2607 ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
2608 /usr/ucb/* ) ;;
2609 *)
2610 # OSF1 and SCO ODT 3.0 have their own names for install.
2611 # Don't use installbsd from OSF since it installs stuff as root
2612 # by default.
2613 for ac_prog in ginstall scoinst install; do
2614 for ac_exec_ext in '' $ac_executable_extensions; do
2615 if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
2616 if test $ac_prog = install &&
2617 grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
2618 # AIX install. It has an incompatible calling convention.
2619 :
2620 elif test $ac_prog = install &&
2621 grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
2622 # program-specific install script used by HP pwplus--don't use.
2623 :
2624 else
2625 rm -rf conftest.one conftest.two conftest.dir
2626 echo one > conftest.one
2627 echo two > conftest.two
2628 mkdir conftest.dir
2629 if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
2630 test -s conftest.one && test -s conftest.two &&
2631 test -s conftest.dir/conftest.one &&
2632 test -s conftest.dir/conftest.two
2633 then
2634 ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
2635 break 3
2636 fi
2637 fi
2638 fi
2639 done
2640 done
2641 ;;
2642 esac
2643
2644 done
2645 IFS=$as_save_IFS
2646
2647 rm -rf conftest.one conftest.two conftest.dir
2648
2649 fi
2650 if test "${ac_cv_path_install+set}" = set; then
2651 INSTALL=$ac_cv_path_install
2652 else
2653 # As a last resort, use the slow shell script. Don't cache a
2654 # value for INSTALL within a source directory, because that will
2655 # break other packages using the cache if that directory is
2656 # removed, or if the value is a relative name.
2657 INSTALL=$ac_install_sh
2658 fi
2659 fi
2660 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
2661 $as_echo "$INSTALL" >&6; }
2662
2663 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
2664 # It thinks the first close brace ends the variable substitution.
2665 test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
2666
2667 test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
2668
2669 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
2670
2671 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
2672 $as_echo_n "checking whether build environment is sane... " >&6; }
2673 # Just in case
2674 sleep 1
2675 echo timestamp > conftestfile
2676 # Do `set' in a subshell so we don't clobber the current shell's
2677 # arguments. Must try -L first in case configure is actually a
2678 # symlink; some systems play weird games with the mod time of symlinks
2679 # (eg FreeBSD returns the mod time of the symlink's containing
2680 # directory).
2681 if (
2682 set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
2683 if test "$*" = "X"; then
2684 # -L didn't work.
2685 set X `ls -t $srcdir/configure conftestfile`
2686 fi
2687 if test "$*" != "X $srcdir/configure conftestfile" \
2688 && test "$*" != "X conftestfile $srcdir/configure"; then
2689
2690 # If neither matched, then we have a broken ls. This can happen
2691 # if, for instance, CONFIG_SHELL is bash and it inherits a
2692 # broken ls alias from the environment. This has actually
2693 # happened. Such a system could not be considered "sane".
2694 as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
2695 alias in your environment" "$LINENO" 5
2696 fi
2697
2698 test "$2" = conftestfile
2699 )
2700 then
2701 # Ok.
2702 :
2703 else
2704 as_fn_error $? "newly created file is older than distributed files!
2705 Check your system clock" "$LINENO" 5
2706 fi
2707 rm -f conftest*
2708 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
2709 $as_echo "yes" >&6; }
2710 test "$program_prefix" != NONE &&
2711 program_transform_name="s&^&$program_prefix&;$program_transform_name"
2712 # Use a double $ so make ignores it.
2713 test "$program_suffix" != NONE &&
2714 program_transform_name="s&\$&$program_suffix&;$program_transform_name"
2715 # Double any \ or $.
2716 # By default was `s,x,x', remove it if useless.
2717 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
2718 program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
2719
2720 # expand $ac_aux_dir to an absolute path
2721 am_aux_dir=`cd $ac_aux_dir && pwd`
2722
2723 if test x"${MISSING+set}" != xset; then
2724 case $am_aux_dir in
2725 *\ * | *\ *)
2726 MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
2727 *)
2728 MISSING="\${SHELL} $am_aux_dir/missing" ;;
2729 esac
2730 fi
2731 # Use eval to expand $SHELL
2732 if eval "$MISSING --run true"; then
2733 am_missing_run="$MISSING --run "
2734 else
2735 am_missing_run=
2736 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
2737 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
2738 fi
2739
2740 if test x"${install_sh}" != xset; then
2741 case $am_aux_dir in
2742 *\ * | *\ *)
2743 install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
2744 *)
2745 install_sh="\${SHELL} $am_aux_dir/install-sh"
2746 esac
2747 fi
2748
2749 # Installed binaries are usually stripped using `strip' when the user
2750 # run `make install-strip'. However `strip' might not be the right
2751 # tool to use in cross-compilation environments, therefore Automake
2752 # will honor the `STRIP' environment variable to overrule this program.
2753 if test "$cross_compiling" != no; then
2754 if test -n "$ac_tool_prefix"; then
2755 # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
2756 set dummy ${ac_tool_prefix}strip; ac_word=$2
2757 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2758 $as_echo_n "checking for $ac_word... " >&6; }
2759 if test "${ac_cv_prog_STRIP+set}" = set; then :
2760 $as_echo_n "(cached) " >&6
2761 else
2762 if test -n "$STRIP"; then
2763 ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
2764 else
2765 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2766 for as_dir in $PATH
2767 do
2768 IFS=$as_save_IFS
2769 test -z "$as_dir" && as_dir=.
2770 for ac_exec_ext in '' $ac_executable_extensions; do
2771 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
2772 ac_cv_prog_STRIP="${ac_tool_prefix}strip"
2773 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
2774 break 2
2775 fi
2776 done
2777 done
2778 IFS=$as_save_IFS
2779
2780 fi
2781 fi
2782 STRIP=$ac_cv_prog_STRIP
2783 if test -n "$STRIP"; then
2784 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
2785 $as_echo "$STRIP" >&6; }
2786 else
2787 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2788 $as_echo "no" >&6; }
2789 fi
2790
2791
2792 fi
2793 if test -z "$ac_cv_prog_STRIP"; then
2794 ac_ct_STRIP=$STRIP
2795 # Extract the first word of "strip", so it can be a program name with args.
2796 set dummy strip; ac_word=$2
2797 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2798 $as_echo_n "checking for $ac_word... " >&6; }
2799 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
2800 $as_echo_n "(cached) " >&6
2801 else
2802 if test -n "$ac_ct_STRIP"; then
2803 ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
2804 else
2805 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2806 for as_dir in $PATH
2807 do
2808 IFS=$as_save_IFS
2809 test -z "$as_dir" && as_dir=.
2810 for ac_exec_ext in '' $ac_executable_extensions; do
2811 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
2812 ac_cv_prog_ac_ct_STRIP="strip"
2813 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
2814 break 2
2815 fi
2816 done
2817 done
2818 IFS=$as_save_IFS
2819
2820 fi
2821 fi
2822 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
2823 if test -n "$ac_ct_STRIP"; then
2824 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
2825 $as_echo "$ac_ct_STRIP" >&6; }
2826 else
2827 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2828 $as_echo "no" >&6; }
2829 fi
2830
2831 if test "x$ac_ct_STRIP" = x; then
2832 STRIP=":"
2833 else
2834 case $cross_compiling:$ac_tool_warned in
2835 yes:)
2836 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
2837 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
2838 ac_tool_warned=yes ;;
2839 esac
2840 STRIP=$ac_ct_STRIP
2841 fi
2842 else
2843 STRIP="$ac_cv_prog_STRIP"
2844 fi
2845
2846 fi
2847 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
2848
2849 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
2850 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
2851 if test -z "$MKDIR_P"; then
2852 if test "${ac_cv_path_mkdir+set}" = set; then :
2853 $as_echo_n "(cached) " >&6
2854 else
2855 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2856 for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
2857 do
2858 IFS=$as_save_IFS
2859 test -z "$as_dir" && as_dir=.
2860 for ac_prog in mkdir gmkdir; do
2861 for ac_exec_ext in '' $ac_executable_extensions; do
2862 { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
2863 case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
2864 'mkdir (GNU coreutils) '* | \
2865 'mkdir (coreutils) '* | \
2866 'mkdir (fileutils) '4.1*)
2867 ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
2868 break 3;;
2869 esac
2870 done
2871 done
2872 done
2873 IFS=$as_save_IFS
2874
2875 fi
2876
2877 test -d ./--version && rmdir ./--version
2878 if test "${ac_cv_path_mkdir+set}" = set; then
2879 MKDIR_P="$ac_cv_path_mkdir -p"
2880 else
2881 # As a last resort, use the slow shell script. Don't cache a
2882 # value for MKDIR_P within a source directory, because that will
2883 # break other packages using the cache if that directory is
2884 # removed, or if the value is a relative name.
2885 MKDIR_P="$ac_install_sh -d"
2886 fi
2887 fi
2888 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
2889 $as_echo "$MKDIR_P" >&6; }
2890
2891 mkdir_p="$MKDIR_P"
2892 case $mkdir_p in
2893 [\\/$]* | ?:[\\/]*) ;;
2894 */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
2895 esac
2896
2897 for ac_prog in gawk mawk nawk awk
2898 do
2899 # Extract the first word of "$ac_prog", so it can be a program name with args.
2900 set dummy $ac_prog; ac_word=$2
2901 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
2902 $as_echo_n "checking for $ac_word... " >&6; }
2903 if test "${ac_cv_prog_AWK+set}" = set; then :
2904 $as_echo_n "(cached) " >&6
2905 else
2906 if test -n "$AWK"; then
2907 ac_cv_prog_AWK="$AWK" # Let the user override the test.
2908 else
2909 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2910 for as_dir in $PATH
2911 do
2912 IFS=$as_save_IFS
2913 test -z "$as_dir" && as_dir=.
2914 for ac_exec_ext in '' $ac_executable_extensions; do
2915 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
2916 ac_cv_prog_AWK="$ac_prog"
2917 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
2918 break 2
2919 fi
2920 done
2921 done
2922 IFS=$as_save_IFS
2923
2924 fi
2925 fi
2926 AWK=$ac_cv_prog_AWK
2927 if test -n "$AWK"; then
2928 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
2929 $as_echo "$AWK" >&6; }
2930 else
2931 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2932 $as_echo "no" >&6; }
2933 fi
2934
2935
2936 test -n "$AWK" && break
2937 done
2938
2939 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
2940 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
2941 set x ${MAKE-make}
2942 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
2943 if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
2944 $as_echo_n "(cached) " >&6
2945 else
2946 cat >conftest.make <<\_ACEOF
2947 SHELL = /bin/sh
2948 all:
2949 @echo '@@@%%%=$(MAKE)=@@@%%%'
2950 _ACEOF
2951 # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
2952 case `${MAKE-make} -f conftest.make 2>/dev/null` in
2953 *@@@%%%=?*=@@@%%%*)
2954 eval ac_cv_prog_make_${ac_make}_set=yes;;
2955 *)
2956 eval ac_cv_prog_make_${ac_make}_set=no;;
2957 esac
2958 rm -f conftest.make
2959 fi
2960 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
2961 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
2962 $as_echo "yes" >&6; }
2963 SET_MAKE=
2964 else
2965 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
2966 $as_echo "no" >&6; }
2967 SET_MAKE="MAKE=${MAKE-make}"
2968 fi
2969
2970 rm -rf .tst 2>/dev/null
2971 mkdir .tst 2>/dev/null
2972 if test -d .tst; then
2973 am__leading_dot=.
2974 else
2975 am__leading_dot=_
2976 fi
2977 rmdir .tst 2>/dev/null
2978
2979 if test "`cd $srcdir && pwd`" != "`pwd`"; then
2980 # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
2981 # is not polluted with repeated "-I."
2982 am__isrc=' -I$(srcdir)'
2983 # test to see if srcdir already configured
2984 if test -f $srcdir/config.status; then
2985 as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
2986 fi
2987 fi
2988
2989 # test whether we have cygpath
2990 if test -z "$CYGPATH_W"; then
2991 if (cygpath --version) >/dev/null 2>/dev/null; then
2992 CYGPATH_W='cygpath -w'
2993 else
2994 CYGPATH_W=echo
2995 fi
2996 fi
2997
2998
2999 # Define the identity of the package.
3000 PACKAGE='ghemical'
3001 VERSION='3.0.0'
3002
3003
3004 cat >>confdefs.h <<_ACEOF
3005 #define PACKAGE "$PACKAGE"
3006 _ACEOF
3007
3008
3009 cat >>confdefs.h <<_ACEOF
3010 #define VERSION "$VERSION"
3011 _ACEOF
3012
3013 # Some tools Automake needs.
3014
3015 ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
3016
3017
3018 AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
3019
3020
3021 AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
3022
3023
3024 AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
3025
3026
3027 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
3028
3029 # We need awk for the "check" target. The system "awk" is bad on
3030 # some platforms.
3031 # Always define AMTAR for backward compatibility.
3032
3033 AMTAR=${AMTAR-"${am_missing_run}tar"}
3034
3035 am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
3036
3037
3038
3039
3040
3041
3042 # Make sure we can run config.sub.
3043 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
3044 as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
3045
3046 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
3047 $as_echo_n "checking build system type... " >&6; }
3048 if test "${ac_cv_build+set}" = set; then :
3049 $as_echo_n "(cached) " >&6
3050 else
3051 ac_build_alias=$build_alias
3052 test "x$ac_build_alias" = x &&
3053 ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
3054 test "x$ac_build_alias" = x &&
3055 as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
3056 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
3057 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
3058
3059 fi
3060 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
3061 $as_echo "$ac_cv_build" >&6; }
3062 case $ac_cv_build in
3063 *-*-*) ;;
3064 *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
3065 esac
3066 build=$ac_cv_build
3067 ac_save_IFS=$IFS; IFS='-'
3068 set x $ac_cv_build
3069 shift
3070 build_cpu=$1
3071 build_vendor=$2
3072 shift; shift
3073 # Remember, the first character of IFS is used to create $*,
3074 # except with old shells:
3075 build_os=$*
3076 IFS=$ac_save_IFS
3077 case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
3078
3079
3080 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
3081 $as_echo_n "checking host system type... " >&6; }
3082 if test "${ac_cv_host+set}" = set; then :
3083 $as_echo_n "(cached) " >&6
3084 else
3085 if test "x$host_alias" = x; then
3086 ac_cv_host=$ac_cv_build
3087 else
3088 ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
3089 as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
3090 fi
3091
3092 fi
3093 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
3094 $as_echo "$ac_cv_host" >&6; }
3095 case $ac_cv_host in
3096 *-*-*) ;;
3097 *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
3098 esac
3099 host=$ac_cv_host
3100 ac_save_IFS=$IFS; IFS='-'
3101 set x $ac_cv_host
3102 shift
3103 host_cpu=$1
3104 host_vendor=$2
3105 shift; shift
3106 # Remember, the first character of IFS is used to create $*,
3107 # except with old shells:
3108 host_os=$*
3109 IFS=$ac_save_IFS
3110 case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
3111
3112
3113
3114 top_builddir_=`pwd`
3115
3116
3117
3118 test "x$prefix" = xNONE && prefix="$ac_default_prefix"
3119 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
3120 ac_define_dir=`eval echo $datadir/ghemical`
3121 ac_define_dir=`eval echo $ac_define_dir`
3122
3123 cat >>confdefs.h <<_ACEOF
3124 #define APPDATA_PATH "$ac_define_dir"
3125 _ACEOF
3126
3127
3128
3129 # create a version of config.h where the PACKAGE definitions are stripped away.
3130 ac_config_commands="$ac_config_commands src/ghemicalconfig2.h"
3131
3132
3133 # Get any build/host and enable/disable flags now.
3134 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3135
3136 # if a mingw32 host is specified, then ???
3137 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3138 ##case $host in
3139 ## *-*-mingw32*)
3140 ## CPPFLAGS="-Dmno-cygwin -Dmms_bitfields $CPPFLAGS"
3141 ## LIBS="$LIBS -mwindows"
3142 ## ;;
3143 ##esac
3144
3145 # Check whether --enable-gtk was given.
3146 if test "${enable_gtk+set}" = set; then :
3147 enableval=$enable_gtk; enable_gtk=$enableval
3148 else
3149 enable_gtk=yes
3150
3151 fi
3152
3153
3154 if test "x$enable_gtk" = "xyes"; then
3155 COND_USE_GTK_TRUE=
3156 COND_USE_GTK_FALSE='#'
3157 else
3158 COND_USE_GTK_TRUE='#'
3159 COND_USE_GTK_FALSE=
3160 fi
3161
3162
3163 # Check whether --enable-threads was given.
3164 if test "${enable_threads+set}" = set; then :
3165 enableval=$enable_threads; enable_threads=$enableval
3166 else
3167 enable_threads=yes
3168
3169 fi
3170
3171
3172 # Check whether --enable-openbabel was given.
3173 if test "${enable_openbabel+set}" = set; then :
3174 enableval=$enable_openbabel; enable_openbabel=$enableval
3175 else
3176 enable_openbabel=yes
3177
3178 fi
3179
3180
3181 # Checks for programs.
3182 # ^^^^^^^^^^^^^^^^^^^^
3183
3184 ac_ext=c
3185 ac_cpp='$CPP $CPPFLAGS'
3186 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3187 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3188 ac_compiler_gnu=$ac_cv_c_compiler_gnu
3189 if test -n "$ac_tool_prefix"; then
3190 # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
3191 set dummy ${ac_tool_prefix}gcc; ac_word=$2
3192 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3193 $as_echo_n "checking for $ac_word... " >&6; }
3194 if test "${ac_cv_prog_CC+set}" = set; then :
3195 $as_echo_n "(cached) " >&6
3196 else
3197 if test -n "$CC"; then
3198 ac_cv_prog_CC="$CC" # Let the user override the test.
3199 else
3200 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3201 for as_dir in $PATH
3202 do
3203 IFS=$as_save_IFS
3204 test -z "$as_dir" && as_dir=.
3205 for ac_exec_ext in '' $ac_executable_extensions; do
3206 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
3207 ac_cv_prog_CC="${ac_tool_prefix}gcc"
3208 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3209 break 2
3210 fi
3211 done
3212 done
3213 IFS=$as_save_IFS
3214
3215 fi
3216 fi
3217 CC=$ac_cv_prog_CC
3218 if test -n "$CC"; then
3219 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
3220 $as_echo "$CC" >&6; }
3221 else
3222 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3223 $as_echo "no" >&6; }
3224 fi
3225
3226
3227 fi
3228 if test -z "$ac_cv_prog_CC"; then
3229 ac_ct_CC=$CC
3230 # Extract the first word of "gcc", so it can be a program name with args.
3231 set dummy gcc; ac_word=$2
3232 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3233 $as_echo_n "checking for $ac_word... " >&6; }
3234 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
3235 $as_echo_n "(cached) " >&6
3236 else
3237 if test -n "$ac_ct_CC"; then
3238 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
3239 else
3240 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3241 for as_dir in $PATH
3242 do
3243 IFS=$as_save_IFS
3244 test -z "$as_dir" && as_dir=.
3245 for ac_exec_ext in '' $ac_executable_extensions; do
3246 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
3247 ac_cv_prog_ac_ct_CC="gcc"
3248 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3249 break 2
3250 fi
3251 done
3252 done
3253 IFS=$as_save_IFS
3254
3255 fi
3256 fi
3257 ac_ct_CC=$ac_cv_prog_ac_ct_CC
3258 if test -n "$ac_ct_CC"; then
3259 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
3260 $as_echo "$ac_ct_CC" >&6; }
3261 else
3262 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3263 $as_echo "no" >&6; }
3264 fi
3265
3266 if test "x$ac_ct_CC" = x; then
3267 CC=""
3268 else
3269 case $cross_compiling:$ac_tool_warned in
3270 yes:)
3271 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
3272 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
3273 ac_tool_warned=yes ;;
3274 esac
3275 CC=$ac_ct_CC
3276 fi
3277 else
3278 CC="$ac_cv_prog_CC"
3279 fi
3280
3281 if test -z "$CC"; then
3282 if test -n "$ac_tool_prefix"; then
3283 # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
3284 set dummy ${ac_tool_prefix}cc; ac_word=$2
3285 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3286 $as_echo_n "checking for $ac_word... " >&6; }
3287 if test "${ac_cv_prog_CC+set}" = set; then :
3288 $as_echo_n "(cached) " >&6
3289 else
3290 if test -n "$CC"; then
3291 ac_cv_prog_CC="$CC" # Let the user override the test.
3292 else
3293 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3294 for as_dir in $PATH
3295 do
3296 IFS=$as_save_IFS
3297 test -z "$as_dir" && as_dir=.
3298 for ac_exec_ext in '' $ac_executable_extensions; do
3299 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
3300 ac_cv_prog_CC="${ac_tool_prefix}cc"
3301 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3302 break 2
3303 fi
3304 done
3305 done
3306 IFS=$as_save_IFS
3307
3308 fi
3309 fi
3310 CC=$ac_cv_prog_CC
3311 if test -n "$CC"; then
3312 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
3313 $as_echo "$CC" >&6; }
3314 else
3315 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3316 $as_echo "no" >&6; }
3317 fi
3318
3319
3320 fi
3321 fi
3322 if test -z "$CC"; then
3323 # Extract the first word of "cc", so it can be a program name with args.
3324 set dummy cc; ac_word=$2
3325 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3326 $as_echo_n "checking for $ac_word... " >&6; }
3327 if test "${ac_cv_prog_CC+set}" = set; then :
3328 $as_echo_n "(cached) " >&6
3329 else
3330 if test -n "$CC"; then
3331 ac_cv_prog_CC="$CC" # Let the user override the test.
3332 else
3333 ac_prog_rejected=no
3334 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3335 for as_dir in $PATH
3336 do
3337 IFS=$as_save_IFS
3338 test -z "$as_dir" && as_dir=.
3339 for ac_exec_ext in '' $ac_executable_extensions; do
3340 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
3341 if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
3342 ac_prog_rejected=yes
3343 continue
3344 fi
3345 ac_cv_prog_CC="cc"
3346 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3347 break 2
3348 fi
3349 done
3350 done
3351 IFS=$as_save_IFS
3352
3353 if test $ac_prog_rejected = yes; then
3354 # We found a bogon in the path, so make sure we never use it.
3355 set dummy $ac_cv_prog_CC
3356 shift
3357 if test $# != 0; then
3358 # We chose a different compiler from the bogus one.
3359 # However, it has the same basename, so the bogon will be chosen
3360 # first if we set CC to just the basename; use the full file name.
3361 shift
3362 ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
3363 fi
3364 fi
3365 fi
3366 fi
3367 CC=$ac_cv_prog_CC
3368 if test -n "$CC"; then
3369 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
3370 $as_echo "$CC" >&6; }
3371 else
3372 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3373 $as_echo "no" >&6; }
3374 fi
3375
3376
3377 fi
3378 if test -z "$CC"; then
3379 if test -n "$ac_tool_prefix"; then
3380 for ac_prog in cl.exe
3381 do
3382 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
3383 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
3384 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3385 $as_echo_n "checking for $ac_word... " >&6; }
3386 if test "${ac_cv_prog_CC+set}" = set; then :
3387 $as_echo_n "(cached) " >&6
3388 else
3389 if test -n "$CC"; then
3390 ac_cv_prog_CC="$CC" # Let the user override the test.
3391 else
3392 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3393 for as_dir in $PATH
3394 do
3395 IFS=$as_save_IFS
3396 test -z "$as_dir" && as_dir=.
3397 for ac_exec_ext in '' $ac_executable_extensions; do
3398 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
3399 ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
3400 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3401 break 2
3402 fi
3403 done
3404 done
3405 IFS=$as_save_IFS
3406
3407 fi
3408 fi
3409 CC=$ac_cv_prog_CC
3410 if test -n "$CC"; then
3411 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
3412 $as_echo "$CC" >&6; }
3413 else
3414 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3415 $as_echo "no" >&6; }
3416 fi
3417
3418
3419 test -n "$CC" && break
3420 done
3421 fi
3422 if test -z "$CC"; then
3423 ac_ct_CC=$CC
3424 for ac_prog in cl.exe
3425 do
3426 # Extract the first word of "$ac_prog", so it can be a program name with args.
3427 set dummy $ac_prog; ac_word=$2
3428 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3429 $as_echo_n "checking for $ac_word... " >&6; }
3430 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
3431 $as_echo_n "(cached) " >&6
3432 else
3433 if test -n "$ac_ct_CC"; then
3434 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
3435 else
3436 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3437 for as_dir in $PATH
3438 do
3439 IFS=$as_save_IFS
3440 test -z "$as_dir" && as_dir=.
3441 for ac_exec_ext in '' $ac_executable_extensions; do
3442 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
3443 ac_cv_prog_ac_ct_CC="$ac_prog"
3444 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
3445 break 2
3446 fi
3447 done
3448 done
3449 IFS=$as_save_IFS
3450
3451 fi
3452 fi
3453 ac_ct_CC=$ac_cv_prog_ac_ct_CC
3454 if test -n "$ac_ct_CC"; then
3455 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
3456 $as_echo "$ac_ct_CC" >&6; }
3457 else
3458 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3459 $as_echo "no" >&6; }
3460 fi
3461
3462
3463 test -n "$ac_ct_CC" && break
3464 done
3465
3466 if test "x$ac_ct_CC" = x; then
3467 CC=""
3468 else
3469 case $cross_compiling:$ac_tool_warned in
3470 yes:)
3471 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
3472 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
3473 ac_tool_warned=yes ;;
3474 esac
3475 CC=$ac_ct_CC
3476 fi
3477 fi
3478
3479 fi
3480
3481
3482 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3483 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3484 as_fn_error $? "no acceptable C compiler found in \$PATH
3485 See \`config.log' for more details" "$LINENO" 5 ; }
3486
3487 # Provide some information about the compiler.
3488 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
3489 set X $ac_compile
3490 ac_compiler=$2
3491 for ac_option in --version -v -V -qversion; do
3492 { { ac_try="$ac_compiler $ac_option >&5"
3493 case "(($ac_try" in
3494 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
3495 *) ac_try_echo=$ac_try;;
3496 esac
3497 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
3498 $as_echo "$ac_try_echo"; } >&5
3499 (eval "$ac_compiler $ac_option >&5") 2>conftest.err
3500 ac_status=$?
3501 if test -s conftest.err; then
3502 sed '10a\
3503 ... rest of stderr output deleted ...
3504 10q' conftest.err >conftest.er1
3505 cat conftest.er1 >&5
3506 fi
3507 rm -f conftest.er1 conftest.err
3508 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3509 test $ac_status = 0; }
3510 done
3511
3512 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3513 /* end confdefs.h. */
3514
3515 int
3516 main ()
3517 {
3518
3519 ;
3520 return 0;
3521 }
3522 _ACEOF
3523 ac_clean_files_save=$ac_clean_files
3524 ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
3525 # Try to create an executable without -o first, disregard a.out.
3526 # It will help us diagnose broken compilers, and finding out an intuition
3527 # of exeext.
3528 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
3529 $as_echo_n "checking whether the C compiler works... " >&6; }
3530 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
3531
3532 # The possible output files:
3533 ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
3534
3535 ac_rmfiles=
3536 for ac_file in $ac_files
3537 do
3538 case $ac_file in
3539 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
3540 * ) ac_rmfiles="$ac_rmfiles $ac_file";;
3541 esac
3542 done
3543 rm -f $ac_rmfiles
3544
3545 if { { ac_try="$ac_link_default"
3546 case "(($ac_try" in
3547 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
3548 *) ac_try_echo=$ac_try;;
3549 esac
3550 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
3551 $as_echo "$ac_try_echo"; } >&5
3552 (eval "$ac_link_default") 2>&5
3553 ac_status=$?
3554 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3555 test $ac_status = 0; }; then :
3556 # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
3557 # So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
3558 # in a Makefile. We should not override ac_cv_exeext if it was cached,
3559 # so that the user can short-circuit this test for compilers unknown to
3560 # Autoconf.
3561 for ac_file in $ac_files ''
3562 do
3563 test -f "$ac_file" || continue
3564 case $ac_file in
3565 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
3566 ;;
3567 [ab].out )
3568 # We found the default executable, but exeext='' is most
3569 # certainly right.
3570 break;;
3571 *.* )
3572 if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
3573 then :; else
3574 ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
3575 fi
3576 # We set ac_cv_exeext here because the later test for it is not
3577 # safe: cross compilers may not add the suffix if given an `-o'
3578 # argument, so we may need to know it at that point already.
3579 # Even if this section looks crufty: it has the advantage of
3580 # actually working.
3581 break;;
3582 * )
3583 break;;
3584 esac
3585 done
3586 test "$ac_cv_exeext" = no && ac_cv_exeext=
3587
3588 else
3589 ac_file=''
3590 fi
3591 if test -z "$ac_file"; then :
3592 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
3593 $as_echo "no" >&6; }
3594 $as_echo "$as_me: failed program was:" >&5
3595 sed 's/^/| /' conftest.$ac_ext >&5
3596
3597 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3598 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3599 as_fn_error 77 "C compiler cannot create executables
3600 See \`config.log' for more details" "$LINENO" 5 ; }
3601 else
3602 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
3603 $as_echo "yes" >&6; }
3604 fi
3605 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
3606 $as_echo_n "checking for C compiler default output file name... " >&6; }
3607 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
3608 $as_echo "$ac_file" >&6; }
3609 ac_exeext=$ac_cv_exeext
3610
3611 rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
3612 ac_clean_files=$ac_clean_files_save
3613 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
3614 $as_echo_n "checking for suffix of executables... " >&6; }
3615 if { { ac_try="$ac_link"
3616 case "(($ac_try" in
3617 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
3618 *) ac_try_echo=$ac_try;;
3619 esac
3620 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
3621 $as_echo "$ac_try_echo"; } >&5
3622 (eval "$ac_link") 2>&5
3623 ac_status=$?
3624 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3625 test $ac_status = 0; }; then :
3626 # If both `conftest.exe' and `conftest' are `present' (well, observable)
3627 # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
3628 # work properly (i.e., refer to `conftest.exe'), while it won't with
3629 # `rm'.
3630 for ac_file in conftest.exe conftest conftest.*; do
3631 test -f "$ac_file" || continue
3632 case $ac_file in
3633 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
3634 *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
3635 break;;
3636 * ) break;;
3637 esac
3638 done
3639 else
3640 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3641 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3642 as_fn_error $? "cannot compute suffix of executables: cannot compile and link
3643 See \`config.log' for more details" "$LINENO" 5 ; }
3644 fi
3645 rm -f conftest conftest$ac_cv_exeext
3646 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
3647 $as_echo "$ac_cv_exeext" >&6; }
3648
3649 rm -f conftest.$ac_ext
3650 EXEEXT=$ac_cv_exeext
3651 ac_exeext=$EXEEXT
3652 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3653 /* end confdefs.h. */
3654 #include <stdio.h>
3655 int
3656 main ()
3657 {
3658 FILE *f = fopen ("conftest.out", "w");
3659 return ferror (f) || fclose (f) != 0;
3660
3661 ;
3662 return 0;
3663 }
3664 _ACEOF
3665 ac_clean_files="$ac_clean_files conftest.out"
3666 # Check that the compiler produces executables we can run. If not, either
3667 # the compiler is broken, or we cross compile.
3668 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
3669 $as_echo_n "checking whether we are cross compiling... " >&6; }
3670 if test "$cross_compiling" != yes; then
3671 { { ac_try="$ac_link"
3672 case "(($ac_try" in
3673 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
3674 *) ac_try_echo=$ac_try;;
3675 esac
3676 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
3677 $as_echo "$ac_try_echo"; } >&5
3678 (eval "$ac_link") 2>&5
3679 ac_status=$?
3680 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3681 test $ac_status = 0; }
3682 if { ac_try='./conftest$ac_cv_exeext'
3683 { { case "(($ac_try" in
3684 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
3685 *) ac_try_echo=$ac_try;;
3686 esac
3687 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
3688 $as_echo "$ac_try_echo"; } >&5
3689 (eval "$ac_try") 2>&5
3690 ac_status=$?
3691 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3692 test $ac_status = 0; }; }; then
3693 cross_compiling=no
3694 else
3695 if test "$cross_compiling" = maybe; then
3696 cross_compiling=yes
3697 else
3698 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3699 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3700 as_fn_error $? "cannot run C compiled programs.
3701 If you meant to cross compile, use \`--host'.
3702 See \`config.log' for more details" "$LINENO" 5 ; }
3703 fi
3704 fi
3705 fi
3706 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
3707 $as_echo "$cross_compiling" >&6; }
3708
3709 rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
3710 ac_clean_files=$ac_clean_files_save
3711 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
3712 $as_echo_n "checking for suffix of object files... " >&6; }
3713 if test "${ac_cv_objext+set}" = set; then :
3714 $as_echo_n "(cached) " >&6
3715 else
3716 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3717 /* end confdefs.h. */
3718
3719 int
3720 main ()
3721 {
3722
3723 ;
3724 return 0;
3725 }
3726 _ACEOF
3727 rm -f conftest.o conftest.obj
3728 if { { ac_try="$ac_compile"
3729 case "(($ac_try" in
3730 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
3731 *) ac_try_echo=$ac_try;;
3732 esac
3733 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
3734 $as_echo "$ac_try_echo"; } >&5
3735 (eval "$ac_compile") 2>&5
3736 ac_status=$?
3737 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
3738 test $ac_status = 0; }; then :
3739 for ac_file in conftest.o conftest.obj conftest.*; do
3740 test -f "$ac_file" || continue;
3741 case $ac_file in
3742 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
3743 *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
3744 break;;
3745 esac
3746 done
3747 else
3748 $as_echo "$as_me: failed program was:" >&5
3749 sed 's/^/| /' conftest.$ac_ext >&5
3750
3751 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3752 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
3753 as_fn_error $? "cannot compute suffix of object files: cannot compile
3754 See \`config.log' for more details" "$LINENO" 5 ; }
3755 fi
3756 rm -f conftest.$ac_cv_objext conftest.$ac_ext
3757 fi
3758 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
3759 $as_echo "$ac_cv_objext" >&6; }
3760 OBJEXT=$ac_cv_objext
3761 ac_objext=$OBJEXT
3762 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
3763 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
3764 if test "${ac_cv_c_compiler_gnu+set}" = set; then :
3765 $as_echo_n "(cached) " >&6
3766 else
3767 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3768 /* end confdefs.h. */
3769
3770 int
3771 main ()
3772 {
3773 #ifndef __GNUC__
3774 choke me
3775 #endif
3776
3777 ;
3778 return 0;
3779 }
3780 _ACEOF
3781 if ac_fn_c_try_compile "$LINENO"; then :
3782 ac_compiler_gnu=yes
3783 else
3784 ac_compiler_gnu=no
3785 fi
3786 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3787 ac_cv_c_compiler_gnu=$ac_compiler_gnu
3788
3789 fi
3790 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
3791 $as_echo "$ac_cv_c_compiler_gnu" >&6; }
3792 if test $ac_compiler_gnu = yes; then
3793 GCC=yes
3794 else
3795 GCC=
3796 fi
3797 ac_test_CFLAGS=${CFLAGS+set}
3798 ac_save_CFLAGS=$CFLAGS
3799 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
3800 $as_echo_n "checking whether $CC accepts -g... " >&6; }
3801 if test "${ac_cv_prog_cc_g+set}" = set; then :
3802 $as_echo_n "(cached) " >&6
3803 else
3804 ac_save_c_werror_flag=$ac_c_werror_flag
3805 ac_c_werror_flag=yes
3806 ac_cv_prog_cc_g=no
3807 CFLAGS="-g"
3808 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3809 /* end confdefs.h. */
3810
3811 int
3812 main ()
3813 {
3814
3815 ;
3816 return 0;
3817 }
3818 _ACEOF
3819 if ac_fn_c_try_compile "$LINENO"; then :
3820 ac_cv_prog_cc_g=yes
3821 else
3822 CFLAGS=""
3823 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3824 /* end confdefs.h. */
3825
3826 int
3827 main ()
3828 {
3829
3830 ;
3831 return 0;
3832 }
3833 _ACEOF
3834 if ac_fn_c_try_compile "$LINENO"; then :
3835
3836 else
3837 ac_c_werror_flag=$ac_save_c_werror_flag
3838 CFLAGS="-g"
3839 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3840 /* end confdefs.h. */
3841
3842 int
3843 main ()
3844 {
3845
3846 ;
3847 return 0;
3848 }
3849 _ACEOF
3850 if ac_fn_c_try_compile "$LINENO"; then :
3851 ac_cv_prog_cc_g=yes
3852 fi
3853 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3854 fi
3855 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3856 fi
3857 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
3858 ac_c_werror_flag=$ac_save_c_werror_flag
3859 fi
3860 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
3861 $as_echo "$ac_cv_prog_cc_g" >&6; }
3862 if test "$ac_test_CFLAGS" = set; then
3863 CFLAGS=$ac_save_CFLAGS
3864 elif test $ac_cv_prog_cc_g = yes; then
3865 if test "$GCC" = yes; then
3866 CFLAGS="-g -O2"
3867 else
3868 CFLAGS="-g"
3869 fi
3870 else
3871 if test "$GCC" = yes; then
3872 CFLAGS="-O2"
3873 else
3874 CFLAGS=
3875 fi
3876 fi
3877 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
3878 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
3879 if test "${ac_cv_prog_cc_c89+set}" = set; then :
3880 $as_echo_n "(cached) " >&6
3881 else
3882 ac_cv_prog_cc_c89=no
3883 ac_save_CC=$CC
3884 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3885 /* end confdefs.h. */
3886 #include <stdarg.h>
3887 #include <stdio.h>
3888 #include <sys/types.h>
3889 #include <sys/stat.h>
3890 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
3891 struct buf { int x; };
3892 FILE * (*rcsopen) (struct buf *, struct stat *, int);
3893 static char *e (p, i)
3894 char **p;
3895 int i;
3896 {
3897 return p[i];
3898 }
3899 static char *f (char * (*g) (char **, int), char **p, ...)
3900 {
3901 char *s;
3902 va_list v;
3903 va_start (v,p);
3904 s = g (p, va_arg (v,int));
3905 va_end (v);
3906 return s;
3907 }
3908
3909 /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
3910 function prototypes and stuff, but not '\xHH' hex character constants.
3911 These don't provoke an error unfortunately, instead are silently treated
3912 as 'x'. The following induces an error, until -std is added to get
3913 proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
3914 array size at least. It's necessary to write '\x00'==0 to get something
3915 that's true only with -std. */
3916 int osf4_cc_array ['\x00' == 0 ? 1 : -1];
3917
3918 /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
3919 inside strings and character constants. */
3920 #define FOO(x) 'x'
3921 int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
3922
3923 int test (int i, double x);
3924 struct s1 {int (*f) (int a);};
3925 struct s2 {int (*f) (double a);};
3926 int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
3927 int argc;
3928 char **argv;
3929 int
3930 main ()
3931 {
3932 return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
3933 ;
3934 return 0;
3935 }
3936 _ACEOF
3937 for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
3938 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
3939 do
3940 CC="$ac_save_CC $ac_arg"
3941 if ac_fn_c_try_compile "$LINENO"; then :
3942 ac_cv_prog_cc_c89=$ac_arg
3943 fi
3944 rm -f core conftest.err conftest.$ac_objext
3945 test "x$ac_cv_prog_cc_c89" != "xno" && break
3946 done
3947 rm -f conftest.$ac_ext
3948 CC=$ac_save_CC
3949
3950 fi
3951 # AC_CACHE_VAL
3952 case "x$ac_cv_prog_cc_c89" in
3953 x)
3954 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
3955 $as_echo "none needed" >&6; } ;;
3956 xno)
3957 { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
3958 $as_echo "unsupported" >&6; } ;;
3959 *)
3960 CC="$CC $ac_cv_prog_cc_c89"
3961 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
3962 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
3963 esac
3964 if test "x$ac_cv_prog_cc_c89" != xno; then :
3965
3966 fi
3967
3968 ac_ext=c
3969 ac_cpp='$CPP $CPPFLAGS'
3970 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3971 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3972 ac_compiler_gnu=$ac_cv_c_compiler_gnu
3973 DEPDIR="${am__leading_dot}deps"
3974
3975 ac_config_commands="$ac_config_commands depfiles"
3976
3977
3978 am_make=${MAKE-make}
3979 cat > confinc << 'END'
3980 am__doit:
3981 @echo this is the am__doit target
3982 .PHONY: am__doit
3983 END
3984 # If we don't find an include directive, just comment out the code.
3985 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
3986 $as_echo_n "checking for style of include used by $am_make... " >&6; }
3987 am__include="#"
3988 am__quote=
3989 _am_result=none
3990 # First try GNU make style include.
3991 echo "include confinc" > confmf
3992 # Ignore all kinds of additional output from `make'.
3993 case `$am_make -s -f confmf 2> /dev/null` in #(
3994 *the\ am__doit\ target*)
3995 am__include=include
3996 am__quote=
3997 _am_result=GNU
3998 ;;
3999 esac
4000 # Now try BSD make style include.
4001 if test "$am__include" = "#"; then
4002 echo '.include "confinc"' > confmf
4003 case `$am_make -s -f confmf 2> /dev/null` in #(
4004 *the\ am__doit\ target*)
4005 am__include=.include
4006 am__quote="\""
4007 _am_result=BSD
4008 ;;
4009 esac
4010 fi
4011
4012
4013 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
4014 $as_echo "$_am_result" >&6; }
4015 rm -f confinc confmf
4016
4017 # Check whether --enable-dependency-tracking was given.
4018 if test "${enable_dependency_tracking+set}" = set; then :
4019 enableval=$enable_dependency_tracking;
4020 fi
4021
4022 if test "x$enable_dependency_tracking" != xno; then
4023 am_depcomp="$ac_aux_dir/depcomp"
4024 AMDEPBACKSLASH='\'
4025 fi
4026 if test "x$enable_dependency_tracking" != xno; then
4027 AMDEP_TRUE=
4028 AMDEP_FALSE='#'
4029 else
4030 AMDEP_TRUE='#'
4031 AMDEP_FALSE=
4032 fi
4033
4034
4035
4036 depcc="$CC" am_compiler_list=
4037
4038 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
4039 $as_echo_n "checking dependency style of $depcc... " >&6; }
4040 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
4041 $as_echo_n "(cached) " >&6
4042 else
4043 if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
4044 # We make a subdir and do the tests there. Otherwise we can end up
4045 # making bogus files that we don't know about and never remove. For
4046 # instance it was reported that on HP-UX the gcc test will end up
4047 # making a dummy file named `D' -- because `-MD' means `put the output
4048 # in D'.
4049 mkdir conftest.dir
4050 # Copy depcomp to subdir because otherwise we won't find it if we're
4051 # using a relative directory.
4052 cp "$am_depcomp" conftest.dir
4053 cd conftest.dir
4054 # We will build objects and dependencies in a subdirectory because
4055 # it helps to detect inapplicable dependency modes. For instance
4056 # both Tru64's cc and ICC support -MD to output dependencies as a
4057 # side effect of compilation, but ICC will put the dependencies in
4058 # the current directory while Tru64 will put them in the object
4059 # directory.
4060 mkdir sub
4061
4062 am_cv_CC_dependencies_compiler_type=none
4063 if test "$am_compiler_list" = ""; then
4064 am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
4065 fi
4066 am__universal=false
4067 case " $depcc " in #(
4068 *\ -arch\ *\ -arch\ *) am__universal=true ;;
4069 esac
4070
4071 for depmode in $am_compiler_list; do
4072 # Setup a source with many dependencies, because some compilers
4073 # like to wrap large dependency lists on column 80 (with \), and
4074 # we should not choose a depcomp mode which is confused by this.
4075 #
4076 # We need to recreate these files for each test, as the compiler may
4077 # overwrite some of them when testing with obscure command lines.
4078 # This happens at least with the AIX C compiler.
4079 : > sub/conftest.c
4080 for i in 1 2 3 4 5 6; do
4081 echo '#include "conftst'$i'.h"' >> sub/conftest.c
4082 # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
4083 # Solaris 8's {/usr,}/bin/sh.
4084 touch sub/conftst$i.h
4085 done
4086 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
4087
4088 # We check with `-c' and `-o' for the sake of the "dashmstdout"
4089 # mode. It turns out that the SunPro C++ compiler does not properly
4090 # handle `-M -o', and we need to detect this. Also, some Intel
4091 # versions had trouble with output in subdirs
4092 am__obj=sub/conftest.${OBJEXT-o}
4093 am__minus_obj="-o $am__obj"
4094 case $depmode in
4095 gcc)
4096 # This depmode causes a compiler race in universal mode.
4097 test "$am__universal" = false || continue
4098 ;;
4099 nosideeffect)
4100 # after this tag, mechanisms are not by side-effect, so they'll
4101 # only be used when explicitly requested
4102 if test "x$enable_dependency_tracking" = xyes; then
4103 continue
4104 else
4105 break
4106 fi
4107 ;;
4108 msvisualcpp | msvcmsys)
4109 # This compiler won't grok `-c -o', but also, the minuso test has
4110 # not run yet. These depmodes are late enough in the game, and
4111 # so weak that their functioning should not be impacted.
4112 am__obj=conftest.${OBJEXT-o}
4113 am__minus_obj=
4114 ;;
4115 none) break ;;
4116 esac
4117 if depmode=$depmode \
4118 source=sub/conftest.c object=$am__obj \
4119 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
4120 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
4121 >/dev/null 2>conftest.err &&
4122 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
4123 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
4124 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
4125 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
4126 # icc doesn't choke on unknown options, it will just issue warnings
4127 # or remarks (even with -Werror). So we grep stderr for any message
4128 # that says an option was ignored or not supported.
4129 # When given -MP, icc 7.0 and 7.1 complain thusly:
4130 # icc: Command line warning: ignoring option '-M'; no argument required
4131 # The diagnosis changed in icc 8.0:
4132 # icc: Command line remark: option '-MP' not supported
4133 if (grep 'ignoring option' conftest.err ||
4134 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
4135 am_cv_CC_dependencies_compiler_type=$depmode
4136 break
4137 fi
4138 fi
4139 done
4140
4141 cd ..
4142 rm -rf conftest.dir
4143 else
4144 am_cv_CC_dependencies_compiler_type=none
4145 fi
4146
4147 fi
4148 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
4149 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
4150 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
4151
4152 if
4153 test "x$enable_dependency_tracking" != xno \
4154 && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
4155 am__fastdepCC_TRUE=
4156 am__fastdepCC_FALSE='#'
4157 else
4158 am__fastdepCC_TRUE='#'
4159 am__fastdepCC_FALSE=
4160 fi
4161
4162
4163 ac_ext=cpp
4164 ac_cpp='$CXXCPP $CPPFLAGS'
4165 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4166 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4167 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
4168 if test -z "$CXX"; then
4169 if test -n "$CCC"; then
4170 CXX=$CCC
4171 else
4172 if test -n "$ac_tool_prefix"; then
4173 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
4174 do
4175 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
4176 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
4177 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4178 $as_echo_n "checking for $ac_word... " >&6; }
4179 if test "${ac_cv_prog_CXX+set}" = set; then :
4180 $as_echo_n "(cached) " >&6
4181 else
4182 if test -n "$CXX"; then
4183 ac_cv_prog_CXX="$CXX" # Let the user override the test.
4184 else
4185 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4186 for as_dir in $PATH
4187 do
4188 IFS=$as_save_IFS
4189 test -z "$as_dir" && as_dir=.
4190 for ac_exec_ext in '' $ac_executable_extensions; do
4191 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
4192 ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
4193 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4194 break 2
4195 fi
4196 done
4197 done
4198 IFS=$as_save_IFS
4199
4200 fi
4201 fi
4202 CXX=$ac_cv_prog_CXX
4203 if test -n "$CXX"; then
4204 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
4205 $as_echo "$CXX" >&6; }
4206 else
4207 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4208 $as_echo "no" >&6; }
4209 fi
4210
4211
4212 test -n "$CXX" && break
4213 done
4214 fi
4215 if test -z "$CXX"; then
4216 ac_ct_CXX=$CXX
4217 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
4218 do
4219 # Extract the first word of "$ac_prog", so it can be a program name with args.
4220 set dummy $ac_prog; ac_word=$2
4221 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4222 $as_echo_n "checking for $ac_word... " >&6; }
4223 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
4224 $as_echo_n "(cached) " >&6
4225 else
4226 if test -n "$ac_ct_CXX"; then
4227 ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
4228 else
4229 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4230 for as_dir in $PATH
4231 do
4232 IFS=$as_save_IFS
4233 test -z "$as_dir" && as_dir=.
4234 for ac_exec_ext in '' $ac_executable_extensions; do
4235 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
4236 ac_cv_prog_ac_ct_CXX="$ac_prog"
4237 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
4238 break 2
4239 fi
4240 done
4241 done
4242 IFS=$as_save_IFS
4243
4244 fi
4245 fi
4246 ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
4247 if test -n "$ac_ct_CXX"; then
4248 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
4249 $as_echo "$ac_ct_CXX" >&6; }
4250 else
4251 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
4252 $as_echo "no" >&6; }
4253 fi
4254
4255
4256 test -n "$ac_ct_CXX" && break
4257 done
4258
4259 if test "x$ac_ct_CXX" = x; then
4260 CXX="g++"
4261 else
4262 case $cross_compiling:$ac_tool_warned in
4263 yes:)
4264 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
4265 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
4266 ac_tool_warned=yes ;;
4267 esac
4268 CXX=$ac_ct_CXX
4269 fi
4270 fi
4271
4272 fi
4273 fi
4274 # Provide some information about the compiler.
4275 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
4276 set X $ac_compile
4277 ac_compiler=$2
4278 for ac_option in --version -v -V -qversion; do
4279 { { ac_try="$ac_compiler $ac_option >&5"
4280 case "(($ac_try" in
4281 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
4282 *) ac_try_echo=$ac_try;;
4283 esac
4284 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
4285 $as_echo "$ac_try_echo"; } >&5
4286 (eval "$ac_compiler $ac_option >&5") 2>conftest.err
4287 ac_status=$?
4288 if test -s conftest.err; then
4289 sed '10a\
4290 ... rest of stderr output deleted ...
4291 10q' conftest.err >conftest.er1
4292 cat conftest.er1 >&5
4293 fi
4294 rm -f conftest.er1 conftest.err
4295 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4296 test $ac_status = 0; }
4297 done
4298
4299 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
4300 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
4301 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
4302 $as_echo_n "(cached) " >&6
4303 else
4304 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4305 /* end confdefs.h. */
4306
4307 int
4308 main ()
4309 {
4310 #ifndef __GNUC__
4311 choke me
4312 #endif
4313
4314 ;
4315 return 0;
4316 }
4317 _ACEOF
4318 if ac_fn_cxx_try_compile "$LINENO"; then :
4319 ac_compiler_gnu=yes
4320 else
4321 ac_compiler_gnu=no
4322 fi
4323 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
4324 ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
4325
4326 fi
4327 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
4328 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
4329 if test $ac_compiler_gnu = yes; then
4330 GXX=yes
4331 else
4332 GXX=
4333 fi
4334 ac_test_CXXFLAGS=${CXXFLAGS+set}
4335 ac_save_CXXFLAGS=$CXXFLAGS
4336 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
4337 $as_echo_n "checking whether $CXX accepts -g... " >&6; }
4338 if test "${ac_cv_prog_cxx_g+set}" = set; then :
4339 $as_echo_n "(cached) " >&6
4340 else
4341 ac_save_cxx_werror_flag=$ac_cxx_werror_flag
4342 ac_cxx_werror_flag=yes
4343 ac_cv_prog_cxx_g=no
4344 CXXFLAGS="-g"
4345 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4346 /* end confdefs.h. */
4347
4348 int
4349 main ()
4350 {
4351
4352 ;
4353 return 0;
4354 }
4355 _ACEOF
4356 if ac_fn_cxx_try_compile "$LINENO"; then :
4357 ac_cv_prog_cxx_g=yes
4358 else
4359 CXXFLAGS=""
4360 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4361 /* end confdefs.h. */
4362
4363 int
4364 main ()
4365 {
4366
4367 ;
4368 return 0;
4369 }
4370 _ACEOF
4371 if ac_fn_cxx_try_compile "$LINENO"; then :
4372
4373 else
4374 ac_cxx_werror_flag=$ac_save_cxx_werror_flag
4375 CXXFLAGS="-g"
4376 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4377 /* end confdefs.h. */
4378
4379 int
4380 main ()
4381 {
4382
4383 ;
4384 return 0;
4385 }
4386 _ACEOF
4387 if ac_fn_cxx_try_compile "$LINENO"; then :
4388 ac_cv_prog_cxx_g=yes
4389 fi
4390 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
4391 fi
4392 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
4393 fi
4394 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
4395 ac_cxx_werror_flag=$ac_save_cxx_werror_flag
4396 fi
4397 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
4398 $as_echo "$ac_cv_prog_cxx_g" >&6; }
4399 if test "$ac_test_CXXFLAGS" = set; then
4400 CXXFLAGS=$ac_save_CXXFLAGS
4401 elif test $ac_cv_prog_cxx_g = yes; then
4402 if test "$GXX" = yes; then
4403 CXXFLAGS="-g -O2"
4404 else
4405 CXXFLAGS="-g"
4406 fi
4407 else
4408 if test "$GXX" = yes; then
4409 CXXFLAGS="-O2"
4410 else
4411 CXXFLAGS=
4412 fi
4413 fi
4414 ac_ext=c
4415 ac_cpp='$CPP $CPPFLAGS'
4416 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4417 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4418 ac_compiler_gnu=$ac_cv_c_compiler_gnu
4419
4420 depcc="$CXX" am_compiler_list=
4421
4422 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
4423 $as_echo_n "checking dependency style of $depcc... " >&6; }
4424 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then :
4425 $as_echo_n "(cached) " >&6
4426 else
4427 if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
4428 # We make a subdir and do the tests there. Otherwise we can end up
4429 # making bogus files that we don't know about and never remove. For
4430 # instance it was reported that on HP-UX the gcc test will end up
4431 # making a dummy file named `D' -- because `-MD' means `put the output
4432 # in D'.
4433 mkdir conftest.dir
4434 # Copy depcomp to subdir because otherwise we won't find it if we're
4435 # using a relative directory.
4436 cp "$am_depcomp" conftest.dir
4437 cd conftest.dir
4438 # We will build objects and dependencies in a subdirectory because
4439 # it helps to detect inapplicable dependency modes. For instance
4440 # both Tru64's cc and ICC support -MD to output dependencies as a
4441 # side effect of compilation, but ICC will put the dependencies in
4442 # the current directory while Tru64 will put them in the object
4443 # directory.
4444 mkdir sub
4445
4446 am_cv_CXX_dependencies_compiler_type=none
4447 if test "$am_compiler_list" = ""; then
4448 am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
4449 fi
4450 am__universal=false
4451 case " $depcc " in #(
4452 *\ -arch\ *\ -arch\ *) am__universal=true ;;
4453 esac
4454
4455 for depmode in $am_compiler_list; do
4456 # Setup a source with many dependencies, because some compilers
4457 # like to wrap large dependency lists on column 80 (with \), and
4458 # we should not choose a depcomp mode which is confused by this.
4459 #
4460 # We need to recreate these files for each test, as the compiler may
4461 # overwrite some of them when testing with obscure command lines.
4462 # This happens at least with the AIX C compiler.
4463 : > sub/conftest.c
4464 for i in 1 2 3 4 5 6; do
4465 echo '#include "conftst'$i'.h"' >> sub/conftest.c
4466 # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
4467 # Solaris 8's {/usr,}/bin/sh.
4468 touch sub/conftst$i.h
4469 done
4470 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
4471
4472 # We check with `-c' and `-o' for the sake of the "dashmstdout"
4473 # mode. It turns out that the SunPro C++ compiler does not properly
4474 # handle `-M -o', and we need to detect this. Also, some Intel
4475 # versions had trouble with output in subdirs
4476 am__obj=sub/conftest.${OBJEXT-o}
4477 am__minus_obj="-o $am__obj"
4478 case $depmode in
4479 gcc)
4480 # This depmode causes a compiler race in universal mode.
4481 test "$am__universal" = false || continue
4482 ;;
4483 nosideeffect)
4484 # after this tag, mechanisms are not by side-effect, so they'll
4485 # only be used when explicitly requested
4486 if test "x$enable_dependency_tracking" = xyes; then
4487 continue
4488 else
4489 break
4490 fi
4491 ;;
4492 msvisualcpp | msvcmsys)
4493 # This compiler won't grok `-c -o', but also, the minuso test has
4494 # not run yet. These depmodes are late enough in the game, and
4495 # so weak that their functioning should not be impacted.
4496 am__obj=conftest.${OBJEXT-o}
4497 am__minus_obj=
4498 ;;
4499 none) break ;;
4500 esac
4501 if depmode=$depmode \
4502 source=sub/conftest.c object=$am__obj \
4503 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
4504 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
4505 >/dev/null 2>conftest.err &&
4506 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
4507 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
4508 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
4509 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
4510 # icc doesn't choke on unknown options, it will just issue warnings
4511 # or remarks (even with -Werror). So we grep stderr for any message
4512 # that says an option was ignored or not supported.
4513 # When given -MP, icc 7.0 and 7.1 complain thusly:
4514 # icc: Command line warning: ignoring option '-M'; no argument required
4515 # The diagnosis changed in icc 8.0:
4516 # icc: Command line remark: option '-MP' not supported
4517 if (grep 'ignoring option' conftest.err ||
4518 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
4519 am_cv_CXX_dependencies_compiler_type=$depmode
4520 break
4521 fi
4522 fi
4523 done
4524
4525 cd ..
4526 rm -rf conftest.dir
4527 else
4528 am_cv_CXX_dependencies_compiler_type=none
4529 fi
4530
4531 fi
4532 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
4533 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
4534 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
4535
4536 if
4537 test "x$enable_dependency_tracking" != xno \
4538 && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
4539 am__fastdepCXX_TRUE=
4540 am__fastdepCXX_FALSE='#'
4541 else
4542 am__fastdepCXX_TRUE='#'
4543 am__fastdepCXX_FALSE=
4544 fi
4545
4546
4547 ac_ext=c
4548 ac_cpp='$CPP $CPPFLAGS'
4549 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4550 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4551 ac_compiler_gnu=$ac_cv_c_compiler_gnu
4552 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
4553 $as_echo_n "checking how to run the C preprocessor... " >&6; }
4554 # On Suns, sometimes $CPP names a directory.
4555 if test -n "$CPP" && test -d "$CPP"; then
4556 CPP=
4557 fi
4558 if test -z "$CPP"; then
4559 if test "${ac_cv_prog_CPP+set}" = set; then :
4560 $as_echo_n "(cached) " >&6
4561 else
4562 # Double quotes because CPP needs to be expanded
4563 for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
4564 do
4565 ac_preproc_ok=false
4566 for ac_c_preproc_warn_flag in '' yes
4567 do
4568 # Use a header file that comes with gcc, so configuring glibc
4569 # with a fresh cross-compiler works.
4570 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4571 # <limits.h> exists even on freestanding compilers.
4572 # On the NeXT, cc -E runs the code through the compiler's parser,
4573 # not just through cpp. "Syntax error" is here to catch this case.
4574 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4575 /* end confdefs.h. */
4576 #ifdef __STDC__
4577 # include <limits.h>
4578 #else
4579 # include <assert.h>
4580 #endif
4581 Syntax error
4582 _ACEOF
4583 if ac_fn_c_try_cpp "$LINENO"; then :
4584
4585 else
4586 # Broken: fails on valid input.
4587 continue
4588 fi
4589 rm -f conftest.err conftest.i conftest.$ac_ext
4590
4591 # OK, works on sane cases. Now check whether nonexistent headers
4592 # can be detected and how.
4593 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4594 /* end confdefs.h. */
4595 #include <ac_nonexistent.h>
4596 _ACEOF
4597 if ac_fn_c_try_cpp "$LINENO"; then :
4598 # Broken: success on invalid input.
4599 continue
4600 else
4601 # Passes both tests.
4602 ac_preproc_ok=:
4603 break
4604 fi
4605 rm -f conftest.err conftest.i conftest.$ac_ext
4606
4607 done
4608 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4609 rm -f conftest.i conftest.err conftest.$ac_ext
4610 if $ac_preproc_ok; then :
4611 break
4612 fi
4613
4614 done
4615 ac_cv_prog_CPP=$CPP
4616
4617 fi
4618 CPP=$ac_cv_prog_CPP
4619 else
4620 ac_cv_prog_CPP=$CPP
4621 fi
4622 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
4623 $as_echo "$CPP" >&6; }
4624 ac_preproc_ok=false
4625 for ac_c_preproc_warn_flag in '' yes
4626 do
4627 # Use a header file that comes with gcc, so configuring glibc
4628 # with a fresh cross-compiler works.
4629 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4630 # <limits.h> exists even on freestanding compilers.
4631 # On the NeXT, cc -E runs the code through the compiler's parser,
4632 # not just through cpp. "Syntax error" is here to catch this case.
4633 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4634 /* end confdefs.h. */
4635 #ifdef __STDC__
4636 # include <limits.h>
4637 #else
4638 # include <assert.h>
4639 #endif
4640 Syntax error
4641 _ACEOF
4642 if ac_fn_c_try_cpp "$LINENO"; then :
4643
4644 else
4645 # Broken: fails on valid input.
4646 continue
4647 fi
4648 rm -f conftest.err conftest.i conftest.$ac_ext
4649
4650 # OK, works on sane cases. Now check whether nonexistent headers
4651 # can be detected and how.
4652 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4653 /* end confdefs.h. */
4654 #include <ac_nonexistent.h>
4655 _ACEOF
4656 if ac_fn_c_try_cpp "$LINENO"; then :
4657 # Broken: success on invalid input.
4658 continue
4659 else
4660 # Passes both tests.
4661 ac_preproc_ok=:
4662 break
4663 fi
4664 rm -f conftest.err conftest.i conftest.$ac_ext
4665
4666 done
4667 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4668 rm -f conftest.i conftest.err conftest.$ac_ext
4669 if $ac_preproc_ok; then :
4670
4671 else
4672 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
4673 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
4674 as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
4675 See \`config.log' for more details" "$LINENO" 5 ; }
4676 fi
4677
4678 ac_ext=c
4679 ac_cpp='$CPP $CPPFLAGS'
4680 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4681 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4682 ac_compiler_gnu=$ac_cv_c_compiler_gnu
4683
4684 ac_ext=cpp
4685 ac_cpp='$CXXCPP $CPPFLAGS'
4686 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4687 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4688 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
4689 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
4690 $as_echo_n "checking how to run the C++ preprocessor... " >&6; }
4691 if test -z "$CXXCPP"; then
4692 if test "${ac_cv_prog_CXXCPP+set}" = set; then :
4693 $as_echo_n "(cached) " >&6
4694 else
4695 # Double quotes because CXXCPP needs to be expanded
4696 for CXXCPP in "$CXX -E" "/lib/cpp"
4697 do
4698 ac_preproc_ok=false
4699 for ac_cxx_preproc_warn_flag in '' yes
4700 do
4701 # Use a header file that comes with gcc, so configuring glibc
4702 # with a fresh cross-compiler works.
4703 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4704 # <limits.h> exists even on freestanding compilers.
4705 # On the NeXT, cc -E runs the code through the compiler's parser,
4706 # not just through cpp. "Syntax error" is here to catch this case.
4707 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4708 /* end confdefs.h. */
4709 #ifdef __STDC__
4710 # include <limits.h>
4711 #else
4712 # include <assert.h>
4713 #endif
4714 Syntax error
4715 _ACEOF
4716 if ac_fn_cxx_try_cpp "$LINENO"; then :
4717
4718 else
4719 # Broken: fails on valid input.
4720 continue
4721 fi
4722 rm -f conftest.err conftest.i conftest.$ac_ext
4723
4724 # OK, works on sane cases. Now check whether nonexistent headers
4725 # can be detected and how.
4726 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4727 /* end confdefs.h. */
4728 #include <ac_nonexistent.h>
4729 _ACEOF
4730 if ac_fn_cxx_try_cpp "$LINENO"; then :
4731 # Broken: success on invalid input.
4732 continue
4733 else
4734 # Passes both tests.
4735 ac_preproc_ok=:
4736 break
4737 fi
4738 rm -f conftest.err conftest.i conftest.$ac_ext
4739
4740 done
4741 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4742 rm -f conftest.i conftest.err conftest.$ac_ext
4743 if $ac_preproc_ok; then :
4744 break
4745 fi
4746
4747 done
4748 ac_cv_prog_CXXCPP=$CXXCPP
4749
4750 fi
4751 CXXCPP=$ac_cv_prog_CXXCPP
4752 else
4753 ac_cv_prog_CXXCPP=$CXXCPP
4754 fi
4755 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
4756 $as_echo "$CXXCPP" >&6; }
4757 ac_preproc_ok=false
4758 for ac_cxx_preproc_warn_flag in '' yes
4759 do
4760 # Use a header file that comes with gcc, so configuring glibc
4761 # with a fresh cross-compiler works.
4762 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
4763 # <limits.h> exists even on freestanding compilers.
4764 # On the NeXT, cc -E runs the code through the compiler's parser,
4765 # not just through cpp. "Syntax error" is here to catch this case.
4766 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4767 /* end confdefs.h. */
4768 #ifdef __STDC__
4769 # include <limits.h>
4770 #else
4771 # include <assert.h>
4772 #endif
4773 Syntax error
4774 _ACEOF
4775 if ac_fn_cxx_try_cpp "$LINENO"; then :
4776
4777 else
4778 # Broken: fails on valid input.
4779 continue
4780 fi
4781 rm -f conftest.err conftest.i conftest.$ac_ext
4782
4783 # OK, works on sane cases. Now check whether nonexistent headers
4784 # can be detected and how.
4785 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4786 /* end confdefs.h. */
4787 #include <ac_nonexistent.h>
4788 _ACEOF
4789 if ac_fn_cxx_try_cpp "$LINENO"; then :
4790 # Broken: success on invalid input.
4791 continue
4792 else
4793 # Passes both tests.
4794 ac_preproc_ok=:
4795 break
4796 fi
4797 rm -f conftest.err conftest.i conftest.$ac_ext
4798
4799 done
4800 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
4801 rm -f conftest.i conftest.err conftest.$ac_ext
4802 if $ac_preproc_ok; then :
4803
4804 else
4805 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
4806 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
4807 as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
4808 See \`config.log' for more details" "$LINENO" 5 ; }
4809 fi
4810
4811 ac_ext=c
4812 ac_cpp='$CPP $CPPFLAGS'
4813 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4814 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4815 ac_compiler_gnu=$ac_cv_c_compiler_gnu
4816
4817
4818 case `pwd` in
4819 *\ * | *\ *)
4820 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
4821 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
4822 esac
4823
4824
4825
4826 macro_version='2.2.6b'
4827 macro_revision='1.3017'
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841 ltmain="$ac_aux_dir/ltmain.sh"
4842
4843 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
4844 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
4845 if test "${ac_cv_path_SED+set}" = set; then :
4846 $as_echo_n "(cached) " >&6
4847 else
4848 ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
4849 for ac_i in 1 2 3 4 5 6 7; do
4850 ac_script="$ac_script$as_nl$ac_script"
4851 done
4852 echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
4853 { ac_script=; unset ac_script;}
4854 if test -z "$SED"; then
4855 ac_path_SED_found=false
4856 # Loop through the user's path and test for each of PROGNAME-LIST
4857 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4858 for as_dir in $PATH
4859 do
4860 IFS=$as_save_IFS
4861 test -z "$as_dir" && as_dir=.
4862 for ac_prog in sed gsed; do
4863 for ac_exec_ext in '' $ac_executable_extensions; do
4864 ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
4865 { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
4866 # Check for GNU ac_path_SED and select it if it is found.
4867 # Check for GNU $ac_path_SED
4868 case `"$ac_path_SED" --version 2>&1` in
4869 *GNU*)
4870 ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
4871 *)
4872 ac_count=0
4873 $as_echo_n 0123456789 >"conftest.in"
4874 while :
4875 do
4876 cat "conftest.in" "conftest.in" >"conftest.tmp"
4877 mv "conftest.tmp" "conftest.in"
4878 cp "conftest.in" "conftest.nl"
4879 $as_echo '' >> "conftest.nl"
4880 "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
4881 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
4882 as_fn_arith $ac_count + 1 && ac_count=$as_val
4883 if test $ac_count -gt ${ac_path_SED_max-0}; then
4884 # Best one so far, save it but keep looking for a better one
4885 ac_cv_path_SED="$ac_path_SED"
4886 ac_path_SED_max=$ac_count
4887 fi
4888 # 10*(2^10) chars as input seems more than enough
4889 test $ac_count -gt 10 && break
4890 done
4891 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
4892 esac
4893
4894 $ac_path_SED_found && break 3
4895 done
4896 done
4897 done
4898 IFS=$as_save_IFS
4899 if test -z "$ac_cv_path_SED"; then
4900 as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
4901 fi
4902 else
4903 ac_cv_path_SED=$SED
4904 fi
4905
4906 fi
4907 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
4908 $as_echo "$ac_cv_path_SED" >&6; }
4909 SED="$ac_cv_path_SED"
4910 rm -f conftest.sed
4911
4912 test -z "$SED" && SED=sed
4913 Xsed="$SED -e 1s/^X//"
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
4926 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
4927 if test "${ac_cv_path_GREP+set}" = set; then :
4928 $as_echo_n "(cached) " >&6
4929 else
4930 if test -z "$GREP"; then
4931 ac_path_GREP_found=false
4932 # Loop through the user's path and test for each of PROGNAME-LIST
4933 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4934 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
4935 do
4936 IFS=$as_save_IFS
4937 test -z "$as_dir" && as_dir=.
4938 for ac_prog in grep ggrep; do
4939 for ac_exec_ext in '' $ac_executable_extensions; do
4940 ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
4941 { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
4942 # Check for GNU ac_path_GREP and select it if it is found.
4943 # Check for GNU $ac_path_GREP
4944 case `"$ac_path_GREP" --version 2>&1` in
4945 *GNU*)
4946 ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
4947 *)
4948 ac_count=0
4949 $as_echo_n 0123456789 >"conftest.in"
4950 while :
4951 do
4952 cat "conftest.in" "conftest.in" >"conftest.tmp"
4953 mv "conftest.tmp" "conftest.in"
4954 cp "conftest.in" "conftest.nl"
4955 $as_echo 'GREP' >> "conftest.nl"
4956 "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
4957 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
4958 as_fn_arith $ac_count + 1 && ac_count=$as_val
4959 if test $ac_count -gt ${ac_path_GREP_max-0}; then
4960 # Best one so far, save it but keep looking for a better one
4961 ac_cv_path_GREP="$ac_path_GREP"
4962 ac_path_GREP_max=$ac_count
4963 fi
4964 # 10*(2^10) chars as input seems more than enough
4965 test $ac_count -gt 10 && break
4966 done
4967 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
4968 esac
4969
4970 $ac_path_GREP_found && break 3
4971 done
4972 done
4973 done
4974 IFS=$as_save_IFS
4975 if test -z "$ac_cv_path_GREP"; then
4976 as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
4977 fi
4978 else
4979 ac_cv_path_GREP=$GREP
4980 fi
4981
4982 fi
4983 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
4984 $as_echo "$ac_cv_path_GREP" >&6; }
4985 GREP="$ac_cv_path_GREP"
4986
4987
4988 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
4989 $as_echo_n "checking for egrep... " >&6; }
4990 if test "${ac_cv_path_EGREP+set}" = set; then :
4991 $as_echo_n "(cached) " >&6
4992 else
4993 if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
4994 then ac_cv_path_EGREP="$GREP -E"
4995 else
4996 if test -z "$EGREP"; then
4997 ac_path_EGREP_found=false
4998 # Loop through the user's path and test for each of PROGNAME-LIST
4999 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5000 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
5001 do
5002 IFS=$as_save_IFS
5003 test -z "$as_dir" && as_dir=.
5004 for ac_prog in egrep; do
5005 for ac_exec_ext in '' $ac_executable_extensions; do
5006 ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
5007 { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
5008 # Check for GNU ac_path_EGREP and select it if it is found.
5009 # Check for GNU $ac_path_EGREP
5010 case `"$ac_path_EGREP" --version 2>&1` in
5011 *GNU*)
5012 ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
5013 *)
5014 ac_count=0
5015 $as_echo_n 0123456789 >"conftest.in"
5016 while :
5017 do
5018 cat "conftest.in" "conftest.in" >"conftest.tmp"
5019 mv "conftest.tmp" "conftest.in"
5020 cp "conftest.in" "conftest.nl"
5021 $as_echo 'EGREP' >> "conftest.nl"
5022 "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
5023 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
5024 as_fn_arith $ac_count + 1 && ac_count=$as_val
5025 if test $ac_count -gt ${ac_path_EGREP_max-0}; then
5026 # Best one so far, save it but keep looking for a better one
5027 ac_cv_path_EGREP="$ac_path_EGREP"
5028 ac_path_EGREP_max=$ac_count
5029 fi
5030 # 10*(2^10) chars as input seems more than enough
5031 test $ac_count -gt 10 && break
5032 done
5033 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
5034 esac
5035
5036 $ac_path_EGREP_found && break 3
5037 done
5038 done
5039 done
5040 IFS=$as_save_IFS
5041 if test -z "$ac_cv_path_EGREP"; then
5042 as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
5043 fi
5044 else
5045 ac_cv_path_EGREP=$EGREP
5046 fi
5047
5048 fi
5049 fi
5050 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
5051 $as_echo "$ac_cv_path_EGREP" >&6; }
5052 EGREP="$ac_cv_path_EGREP"
5053
5054
5055 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
5056 $as_echo_n "checking for fgrep... " >&6; }
5057 if test "${ac_cv_path_FGREP+set}" = set; then :
5058 $as_echo_n "(cached) " >&6
5059 else
5060 if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
5061 then ac_cv_path_FGREP="$GREP -F"
5062 else
5063 if test -z "$FGREP"; then
5064 ac_path_FGREP_found=false
5065 # Loop through the user's path and test for each of PROGNAME-LIST
5066 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5067 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
5068 do
5069 IFS=$as_save_IFS
5070 test -z "$as_dir" && as_dir=.
5071 for ac_prog in fgrep; do
5072 for ac_exec_ext in '' $ac_executable_extensions; do
5073 ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
5074 { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
5075 # Check for GNU ac_path_FGREP and select it if it is found.
5076 # Check for GNU $ac_path_FGREP
5077 case `"$ac_path_FGREP" --version 2>&1` in
5078 *GNU*)
5079 ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
5080 *)
5081 ac_count=0
5082 $as_echo_n 0123456789 >"conftest.in"
5083 while :
5084 do
5085 cat "conftest.in" "conftest.in" >"conftest.tmp"
5086 mv "conftest.tmp" "conftest.in"
5087 cp "conftest.in" "conftest.nl"
5088 $as_echo 'FGREP' >> "conftest.nl"
5089 "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
5090 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
5091 as_fn_arith $ac_count + 1 && ac_count=$as_val
5092 if test $ac_count -gt ${ac_path_FGREP_max-0}; then
5093 # Best one so far, save it but keep looking for a better one
5094 ac_cv_path_FGREP="$ac_path_FGREP"
5095 ac_path_FGREP_max=$ac_count
5096 fi
5097 # 10*(2^10) chars as input seems more than enough
5098 test $ac_count -gt 10 && break
5099 done
5100 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
5101 esac
5102
5103 $ac_path_FGREP_found && break 3
5104 done
5105 done
5106 done
5107 IFS=$as_save_IFS
5108 if test -z "$ac_cv_path_FGREP"; then
5109 as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
5110 fi
5111 else
5112 ac_cv_path_FGREP=$FGREP
5113 fi
5114
5115 fi
5116 fi
5117 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
5118 $as_echo "$ac_cv_path_FGREP" >&6; }
5119 FGREP="$ac_cv_path_FGREP"
5120
5121
5122 test -z "$GREP" && GREP=grep
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142 # Check whether --with-gnu-ld was given.
5143 if test "${with_gnu_ld+set}" = set; then :
5144 withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
5145 else
5146 with_gnu_ld=no
5147 fi
5148
5149 ac_prog=ld
5150 if test "$GCC" = yes; then
5151 # Check if gcc -print-prog-name=ld gives a path.
5152 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
5153 $as_echo_n "checking for ld used by $CC... " >&6; }
5154 case $host in
5155 *-*-mingw*)
5156 # gcc leaves a trailing carriage return which upsets mingw
5157 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
5158 *)
5159 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
5160 esac
5161 case $ac_prog in
5162 # Accept absolute paths.
5163 [\\/]* | ?:[\\/]*)
5164 re_direlt='/[^/][^/]*/\.\./'
5165 # Canonicalize the pathname of ld
5166 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
5167 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
5168 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
5169 done
5170 test -z "$LD" && LD="$ac_prog"
5171 ;;
5172 "")
5173 # If it fails, then pretend we aren't using GCC.
5174 ac_prog=ld
5175 ;;
5176 *)
5177 # If it is relative, then search for the first ld in PATH.
5178 with_gnu_ld=unknown
5179 ;;
5180 esac
5181 elif test "$with_gnu_ld" = yes; then
5182 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
5183 $as_echo_n "checking for GNU ld... " >&6; }
5184 else
5185 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
5186 $as_echo_n "checking for non-GNU ld... " >&6; }
5187 fi
5188 if test "${lt_cv_path_LD+set}" = set; then :
5189 $as_echo_n "(cached) " >&6
5190 else
5191 if test -z "$LD"; then
5192 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
5193 for ac_dir in $PATH; do
5194 IFS="$lt_save_ifs"
5195 test -z "$ac_dir" && ac_dir=.
5196 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
5197 lt_cv_path_LD="$ac_dir/$ac_prog"
5198 # Check to see if the program is GNU ld. I'd rather use --version,
5199 # but apparently some variants of GNU ld only accept -v.
5200 # Break only if it was the GNU/non-GNU ld that we prefer.
5201 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
5202 *GNU* | *'with BFD'*)
5203 test "$with_gnu_ld" != no && break
5204 ;;
5205 *)
5206 test "$with_gnu_ld" != yes && break
5207 ;;
5208 esac
5209 fi
5210 done
5211 IFS="$lt_save_ifs"
5212 else
5213 lt_cv_path_LD="$LD" # Let the user override the test with a path.
5214 fi
5215 fi
5216
5217 LD="$lt_cv_path_LD"
5218 if test -n "$LD"; then
5219 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
5220 $as_echo "$LD" >&6; }
5221 else
5222 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5223 $as_echo "no" >&6; }
5224 fi
5225 test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
5226 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
5227 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
5228 if test "${lt_cv_prog_gnu_ld+set}" = set; then :
5229 $as_echo_n "(cached) " >&6
5230 else
5231 # I'd rather use --version here, but apparently some GNU lds only accept -v.
5232 case `$LD -v 2>&1 </dev/null` in
5233 *GNU* | *'with BFD'*)
5234 lt_cv_prog_gnu_ld=yes
5235 ;;
5236 *)
5237 lt_cv_prog_gnu_ld=no
5238 ;;
5239 esac
5240 fi
5241 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
5242 $as_echo "$lt_cv_prog_gnu_ld" >&6; }
5243 with_gnu_ld=$lt_cv_prog_gnu_ld
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
5254 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
5255 if test "${lt_cv_path_NM+set}" = set; then :
5256 $as_echo_n "(cached) " >&6
5257 else
5258 if test -n "$NM"; then
5259 # Let the user override the test.
5260 lt_cv_path_NM="$NM"
5261 else
5262 lt_nm_to_check="${ac_tool_prefix}nm"
5263 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
5264 lt_nm_to_check="$lt_nm_to_check nm"
5265 fi
5266 for lt_tmp_nm in $lt_nm_to_check; do
5267 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
5268 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
5269 IFS="$lt_save_ifs"
5270 test -z "$ac_dir" && ac_dir=.
5271 tmp_nm="$ac_dir/$lt_tmp_nm"
5272 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
5273 # Check to see if the nm accepts a BSD-compat flag.
5274 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
5275 # nm: unknown option "B" ignored
5276 # Tru64's nm complains that /dev/null is an invalid object file
5277 case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
5278 */dev/null* | *'Invalid file or object type'*)
5279 lt_cv_path_NM="$tmp_nm -B"
5280 break
5281 ;;
5282 *)
5283 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
5284 */dev/null*)
5285 lt_cv_path_NM="$tmp_nm -p"
5286 break
5287 ;;
5288 *)
5289 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
5290 continue # so that we can try to find one that supports BSD flags
5291 ;;
5292 esac
5293 ;;
5294 esac
5295 fi
5296 done
5297 IFS="$lt_save_ifs"
5298 done
5299 : ${lt_cv_path_NM=no}
5300 fi
5301 fi
5302 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
5303 $as_echo "$lt_cv_path_NM" >&6; }
5304 if test "$lt_cv_path_NM" != "no"; then
5305 NM="$lt_cv_path_NM"
5306 else
5307 # Didn't find any BSD compatible name lister, look for dumpbin.
5308 if test -n "$ac_tool_prefix"; then
5309 for ac_prog in "dumpbin -symbols" "link -dump -symbols"
5310 do
5311 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
5312 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
5313 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5314 $as_echo_n "checking for $ac_word... " >&6; }
5315 if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
5316 $as_echo_n "(cached) " >&6
5317 else
5318 if test -n "$DUMPBIN"; then
5319 ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
5320 else
5321 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5322 for as_dir in $PATH
5323 do
5324 IFS=$as_save_IFS
5325 test -z "$as_dir" && as_dir=.
5326 for ac_exec_ext in '' $ac_executable_extensions; do
5327 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
5328 ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
5329 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5330 break 2
5331 fi
5332 done
5333 done
5334 IFS=$as_save_IFS
5335
5336 fi
5337 fi
5338 DUMPBIN=$ac_cv_prog_DUMPBIN
5339 if test -n "$DUMPBIN"; then
5340 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
5341 $as_echo "$DUMPBIN" >&6; }
5342 else
5343 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5344 $as_echo "no" >&6; }
5345 fi
5346
5347
5348 test -n "$DUMPBIN" && break
5349 done
5350 fi
5351 if test -z "$DUMPBIN"; then
5352 ac_ct_DUMPBIN=$DUMPBIN
5353 for ac_prog in "dumpbin -symbols" "link -dump -symbols"
5354 do
5355 # Extract the first word of "$ac_prog", so it can be a program name with args.
5356 set dummy $ac_prog; ac_word=$2
5357 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5358 $as_echo_n "checking for $ac_word... " >&6; }
5359 if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
5360 $as_echo_n "(cached) " >&6
5361 else
5362 if test -n "$ac_ct_DUMPBIN"; then
5363 ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
5364 else
5365 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5366 for as_dir in $PATH
5367 do
5368 IFS=$as_save_IFS
5369 test -z "$as_dir" && as_dir=.
5370 for ac_exec_ext in '' $ac_executable_extensions; do
5371 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
5372 ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
5373 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5374 break 2
5375 fi
5376 done
5377 done
5378 IFS=$as_save_IFS
5379
5380 fi
5381 fi
5382 ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
5383 if test -n "$ac_ct_DUMPBIN"; then
5384 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
5385 $as_echo "$ac_ct_DUMPBIN" >&6; }
5386 else
5387 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5388 $as_echo "no" >&6; }
5389 fi
5390
5391
5392 test -n "$ac_ct_DUMPBIN" && break
5393 done
5394
5395 if test "x$ac_ct_DUMPBIN" = x; then
5396 DUMPBIN=":"
5397 else
5398 case $cross_compiling:$ac_tool_warned in
5399 yes:)
5400 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
5401 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
5402 ac_tool_warned=yes ;;
5403 esac
5404 DUMPBIN=$ac_ct_DUMPBIN
5405 fi
5406 fi
5407
5408
5409 if test "$DUMPBIN" != ":"; then
5410 NM="$DUMPBIN"
5411 fi
5412 fi
5413 test -z "$NM" && NM=nm
5414
5415
5416
5417
5418
5419
5420 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
5421 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
5422 if test "${lt_cv_nm_interface+set}" = set; then :
5423 $as_echo_n "(cached) " >&6
5424 else
5425 lt_cv_nm_interface="BSD nm"
5426 echo "int some_variable = 0;" > conftest.$ac_ext
5427 (eval echo "\"\$as_me:5428: $ac_compile\"" >&5)
5428 (eval "$ac_compile" 2>conftest.err)
5429 cat conftest.err >&5
5430 (eval echo "\"\$as_me:5431: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
5431 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
5432 cat conftest.err >&5
5433 (eval echo "\"\$as_me:5434: output\"" >&5)
5434 cat conftest.out >&5
5435 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
5436 lt_cv_nm_interface="MS dumpbin"
5437 fi
5438 rm -f conftest*
5439 fi
5440 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
5441 $as_echo "$lt_cv_nm_interface" >&6; }
5442
5443 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
5444 $as_echo_n "checking whether ln -s works... " >&6; }
5445 LN_S=$as_ln_s
5446 if test "$LN_S" = "ln -s"; then
5447 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
5448 $as_echo "yes" >&6; }
5449 else
5450 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
5451 $as_echo "no, using $LN_S" >&6; }
5452 fi
5453
5454 # find the maximum length of command line arguments
5455 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
5456 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
5457 if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
5458 $as_echo_n "(cached) " >&6
5459 else
5460 i=0
5461 teststring="ABCD"
5462
5463 case $build_os in
5464 msdosdjgpp*)
5465 # On DJGPP, this test can blow up pretty badly due to problems in libc
5466 # (any single argument exceeding 2000 bytes causes a buffer overrun
5467 # during glob expansion). Even if it were fixed, the result of this
5468 # check would be larger than it should be.
5469 lt_cv_sys_max_cmd_len=12288; # 12K is about right
5470 ;;
5471
5472 gnu*)
5473 # Under GNU Hurd, this test is not required because there is
5474 # no limit to the length of command line arguments.
5475 # Libtool will interpret -1 as no limit whatsoever
5476 lt_cv_sys_max_cmd_len=-1;
5477 ;;
5478
5479 cygwin* | mingw* | cegcc*)
5480 # On Win9x/ME, this test blows up -- it succeeds, but takes
5481 # about 5 minutes as the teststring grows exponentially.
5482 # Worse, since 9x/ME are not pre-emptively multitasking,
5483 # you end up with a "frozen" computer, even though with patience
5484 # the test eventually succeeds (with a max line length of 256k).
5485 # Instead, let's just punt: use the minimum linelength reported by
5486 # all of the supported platforms: 8192 (on NT/2K/XP).
5487 lt_cv_sys_max_cmd_len=8192;
5488 ;;
5489
5490 amigaos*)
5491 # On AmigaOS with pdksh, this test takes hours, literally.
5492 # So we just punt and use a minimum line length of 8192.
5493 lt_cv_sys_max_cmd_len=8192;
5494 ;;
5495
5496 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
5497 # This has been around since 386BSD, at least. Likely further.
5498 if test -x /sbin/sysctl; then
5499 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
5500 elif test -x /usr/sbin/sysctl; then
5501 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
5502 else
5503 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
5504 fi
5505 # And add a safety zone
5506 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
5507 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
5508 ;;
5509
5510 interix*)
5511 # We know the value 262144 and hardcode it with a safety zone (like BSD)
5512 lt_cv_sys_max_cmd_len=196608
5513 ;;
5514
5515 osf*)
5516 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
5517 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
5518 # nice to cause kernel panics so lets avoid the loop below.
5519 # First set a reasonable default.
5520 lt_cv_sys_max_cmd_len=16384
5521 #
5522 if test -x /sbin/sysconfig; then
5523 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
5524 *1*) lt_cv_sys_max_cmd_len=-1 ;;
5525 esac
5526 fi
5527 ;;
5528 sco3.2v5*)
5529 lt_cv_sys_max_cmd_len=102400
5530 ;;
5531 sysv5* | sco5v6* | sysv4.2uw2*)
5532 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
5533 if test -n "$kargmax"; then
5534 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
5535 else
5536 lt_cv_sys_max_cmd_len=32768
5537 fi
5538 ;;
5539 *)
5540 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
5541 if test -n "$lt_cv_sys_max_cmd_len"; then
5542 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
5543 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
5544 else
5545 # Make teststring a little bigger before we do anything with it.
5546 # a 1K string should be a reasonable start.
5547 for i in 1 2 3 4 5 6 7 8 ; do
5548 teststring=$teststring$teststring
5549 done
5550 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
5551 # If test is not a shell built-in, we'll probably end up computing a
5552 # maximum length that is only half of the actual maximum length, but
5553 # we can't tell.
5554 while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
5555 = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
5556 test $i != 17 # 1/2 MB should be enough
5557 do
5558 i=`expr $i + 1`
5559 teststring=$teststring$teststring
5560 done
5561 # Only check the string length outside the loop.
5562 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
5563 teststring=
5564 # Add a significant safety factor because C++ compilers can tack on
5565 # massive amounts of additional arguments before passing them to the
5566 # linker. It appears as though 1/2 is a usable value.
5567 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
5568 fi
5569 ;;
5570 esac
5571
5572 fi
5573
5574 if test -n $lt_cv_sys_max_cmd_len ; then
5575 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
5576 $as_echo "$lt_cv_sys_max_cmd_len" >&6; }
5577 else
5578 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
5579 $as_echo "none" >&6; }
5580 fi
5581 max_cmd_len=$lt_cv_sys_max_cmd_len
5582
5583
5584
5585
5586
5587
5588 : ${CP="cp -f"}
5589 : ${MV="mv -f"}
5590 : ${RM="rm -f"}
5591
5592 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
5593 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
5594 # Try some XSI features
5595 xsi_shell=no
5596 ( _lt_dummy="a/b/c"
5597 test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
5598 = c,a/b,, \
5599 && eval 'test $(( 1 + 1 )) -eq 2 \
5600 && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
5601 && xsi_shell=yes
5602 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
5603 $as_echo "$xsi_shell" >&6; }
5604
5605
5606 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
5607 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
5608 lt_shell_append=no
5609 ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
5610 >/dev/null 2>&1 \
5611 && lt_shell_append=yes
5612 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
5613 $as_echo "$lt_shell_append" >&6; }
5614
5615
5616 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
5617 lt_unset=unset
5618 else
5619 lt_unset=false
5620 fi
5621
5622
5623
5624
5625
5626 # test EBCDIC or ASCII
5627 case `echo X|tr X '\101'` in
5628 A) # ASCII based system
5629 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
5630 lt_SP2NL='tr \040 \012'
5631 lt_NL2SP='tr \015\012 \040\040'
5632 ;;
5633 *) # EBCDIC based system
5634 lt_SP2NL='tr \100 \n'
5635 lt_NL2SP='tr \r\n \100\100'
5636 ;;
5637 esac
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
5648 $as_echo_n "checking for $LD option to reload object files... " >&6; }
5649 if test "${lt_cv_ld_reload_flag+set}" = set; then :
5650 $as_echo_n "(cached) " >&6
5651 else
5652 lt_cv_ld_reload_flag='-r'
5653 fi
5654 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
5655 $as_echo "$lt_cv_ld_reload_flag" >&6; }
5656 reload_flag=$lt_cv_ld_reload_flag
5657 case $reload_flag in
5658 "" | " "*) ;;
5659 *) reload_flag=" $reload_flag" ;;
5660 esac
5661 reload_cmds='$LD$reload_flag -o $output$reload_objs'
5662 case $host_os in
5663 darwin*)
5664 if test "$GCC" = yes; then
5665 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
5666 else
5667 reload_cmds='$LD$reload_flag -o $output$reload_objs'
5668 fi
5669 ;;
5670 esac
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680 if test -n "$ac_tool_prefix"; then
5681 # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
5682 set dummy ${ac_tool_prefix}objdump; ac_word=$2
5683 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5684 $as_echo_n "checking for $ac_word... " >&6; }
5685 if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
5686 $as_echo_n "(cached) " >&6
5687 else
5688 if test -n "$OBJDUMP"; then
5689 ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
5690 else
5691 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5692 for as_dir in $PATH
5693 do
5694 IFS=$as_save_IFS
5695 test -z "$as_dir" && as_dir=.
5696 for ac_exec_ext in '' $ac_executable_extensions; do
5697 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
5698 ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
5699 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5700 break 2
5701 fi
5702 done
5703 done
5704 IFS=$as_save_IFS
5705
5706 fi
5707 fi
5708 OBJDUMP=$ac_cv_prog_OBJDUMP
5709 if test -n "$OBJDUMP"; then
5710 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
5711 $as_echo "$OBJDUMP" >&6; }
5712 else
5713 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5714 $as_echo "no" >&6; }
5715 fi
5716
5717
5718 fi
5719 if test -z "$ac_cv_prog_OBJDUMP"; then
5720 ac_ct_OBJDUMP=$OBJDUMP
5721 # Extract the first word of "objdump", so it can be a program name with args.
5722 set dummy objdump; ac_word=$2
5723 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5724 $as_echo_n "checking for $ac_word... " >&6; }
5725 if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
5726 $as_echo_n "(cached) " >&6
5727 else
5728 if test -n "$ac_ct_OBJDUMP"; then
5729 ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
5730 else
5731 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5732 for as_dir in $PATH
5733 do
5734 IFS=$as_save_IFS
5735 test -z "$as_dir" && as_dir=.
5736 for ac_exec_ext in '' $ac_executable_extensions; do
5737 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
5738 ac_cv_prog_ac_ct_OBJDUMP="objdump"
5739 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
5740 break 2
5741 fi
5742 done
5743 done
5744 IFS=$as_save_IFS
5745
5746 fi
5747 fi
5748 ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
5749 if test -n "$ac_ct_OBJDUMP"; then
5750 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
5751 $as_echo "$ac_ct_OBJDUMP" >&6; }
5752 else
5753 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
5754 $as_echo "no" >&6; }
5755 fi
5756
5757 if test "x$ac_ct_OBJDUMP" = x; then
5758 OBJDUMP="false"
5759 else
5760 case $cross_compiling:$ac_tool_warned in
5761 yes:)
5762 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
5763 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
5764 ac_tool_warned=yes ;;
5765 esac
5766 OBJDUMP=$ac_ct_OBJDUMP
5767 fi
5768 else
5769 OBJDUMP="$ac_cv_prog_OBJDUMP"
5770 fi
5771
5772 test -z "$OBJDUMP" && OBJDUMP=objdump
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
5783 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
5784 if test "${lt_cv_deplibs_check_method+set}" = set; then :
5785 $as_echo_n "(cached) " >&6
5786 else
5787 lt_cv_file_magic_cmd='$MAGIC_CMD'
5788 lt_cv_file_magic_test_file=
5789 lt_cv_deplibs_check_method='unknown'
5790 # Need to set the preceding variable on all platforms that support
5791 # interlibrary dependencies.
5792 # 'none' -- dependencies not supported.
5793 # `unknown' -- same as none, but documents that we really don't know.
5794 # 'pass_all' -- all dependencies passed with no checks.
5795 # 'test_compile' -- check by making test program.
5796 # 'file_magic [[regex]]' -- check by looking for files in library path
5797 # which responds to the $file_magic_cmd with a given extended regex.
5798 # If you have `file' or equivalent on your system and you're not sure
5799 # whether `pass_all' will *always* work, you probably want this one.
5800
5801 case $host_os in
5802 aix[4-9]*)
5803 lt_cv_deplibs_check_method=pass_all
5804 ;;
5805
5806 beos*)
5807 lt_cv_deplibs_check_method=pass_all
5808 ;;
5809
5810 bsdi[45]*)
5811 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
5812 lt_cv_file_magic_cmd='/usr/bin/file -L'
5813 lt_cv_file_magic_test_file=/shlib/libc.so
5814 ;;
5815
5816 cygwin*)
5817 # func_win32_libid is a shell function defined in ltmain.sh
5818 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
5819 lt_cv_file_magic_cmd='func_win32_libid'
5820 ;;
5821
5822 mingw* | pw32*)
5823 # Base MSYS/MinGW do not provide the 'file' command needed by
5824 # func_win32_libid shell function, so use a weaker test based on 'objdump',
5825 # unless we find 'file', for example because we are cross-compiling.
5826 if ( file / ) >/dev/null 2>&1; then
5827 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
5828 lt_cv_file_magic_cmd='func_win32_libid'
5829 else
5830 lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
5831 lt_cv_file_magic_cmd='$OBJDUMP -f'
5832 fi
5833 ;;
5834
5835 cegcc)
5836 # use the weaker test based on 'objdump'. See mingw*.
5837 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
5838 lt_cv_file_magic_cmd='$OBJDUMP -f'
5839 ;;
5840
5841 darwin* | rhapsody*)
5842 lt_cv_deplibs_check_method=pass_all
5843 ;;
5844
5845 freebsd* | dragonfly*)
5846 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
5847 case $host_cpu in
5848 i*86 )
5849 # Not sure whether the presence of OpenBSD here was a mistake.
5850 # Let's accept both of them until this is cleared up.
5851 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
5852 lt_cv_file_magic_cmd=/usr/bin/file
5853 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
5854 ;;
5855 esac
5856 else
5857 lt_cv_deplibs_check_method=pass_all
5858 fi
5859 ;;
5860
5861 gnu*)
5862 lt_cv_deplibs_check_method=pass_all
5863 ;;
5864
5865 hpux10.20* | hpux11*)
5866 lt_cv_file_magic_cmd=/usr/bin/file
5867 case $host_cpu in
5868 ia64*)
5869 lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
5870 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
5871 ;;
5872 hppa*64*)
5873 lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
5874 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
5875 ;;
5876 *)
5877 lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
5878 lt_cv_file_magic_test_file=/usr/lib/libc.sl
5879 ;;
5880 esac
5881 ;;
5882
5883 interix[3-9]*)
5884 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
5885 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
5886 ;;
5887
5888 irix5* | irix6* | nonstopux*)
5889 case $LD in
5890 *-32|*"-32 ") libmagic=32-bit;;
5891 *-n32|*"-n32 ") libmagic=N32;;
5892 *-64|*"-64 ") libmagic=64-bit;;
5893 *) libmagic=never-match;;
5894 esac
5895 lt_cv_deplibs_check_method=pass_all
5896 ;;
5897
5898 # This must be Linux ELF.
5899 linux* | k*bsd*-gnu | kopensolaris*-gnu)
5900 lt_cv_deplibs_check_method=pass_all
5901 ;;
5902
5903 netbsd* | netbsdelf*-gnu)
5904 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
5905 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
5906 else
5907 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
5908 fi
5909 ;;
5910
5911 newos6*)
5912 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
5913 lt_cv_file_magic_cmd=/usr/bin/file
5914 lt_cv_file_magic_test_file=/usr/lib/libnls.so
5915 ;;
5916
5917 *nto* | *qnx*)
5918 lt_cv_deplibs_check_method=pass_all
5919 ;;
5920
5921 openbsd*)
5922 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
5923 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
5924 else
5925 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
5926 fi
5927 ;;
5928
5929 osf3* | osf4* | osf5*)
5930 lt_cv_deplibs_check_method=pass_all
5931 ;;
5932
5933 rdos*)
5934 lt_cv_deplibs_check_method=pass_all
5935 ;;
5936
5937 solaris*)
5938 lt_cv_deplibs_check_method=pass_all
5939 ;;
5940
5941 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
5942 lt_cv_deplibs_check_method=pass_all
5943 ;;
5944
5945 sysv4 | sysv4.3*)
5946 case $host_vendor in
5947 motorola)
5948 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
5949 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
5950 ;;
5951 ncr)
5952 lt_cv_deplibs_check_method=pass_all
5953 ;;
5954 sequent)
5955 lt_cv_file_magic_cmd='/bin/file'
5956 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
5957 ;;
5958 sni)
5959 lt_cv_file_magic_cmd='/bin/file'
5960 lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
5961 lt_cv_file_magic_test_file=/lib/libc.so
5962 ;;
5963 siemens)
5964 lt_cv_deplibs_check_method=pass_all
5965 ;;
5966 pc)
5967 lt_cv_deplibs_check_method=pass_all
5968 ;;
5969 esac
5970 ;;
5971
5972 tpf*)
5973 lt_cv_deplibs_check_method=pass_all
5974 ;;
5975 esac
5976
5977 fi
5978 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
5979 $as_echo "$lt_cv_deplibs_check_method" >&6; }
5980 file_magic_cmd=$lt_cv_file_magic_cmd
5981 deplibs_check_method=$lt_cv_deplibs_check_method
5982 test -z "$deplibs_check_method" && deplibs_check_method=unknown
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995 if test -n "$ac_tool_prefix"; then
5996 # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
5997 set dummy ${ac_tool_prefix}ar; ac_word=$2
5998 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5999 $as_echo_n "checking for $ac_word... " >&6; }
6000 if test "${ac_cv_prog_AR+set}" = set; then :
6001 $as_echo_n "(cached) " >&6
6002 else
6003 if test -n "$AR"; then
6004 ac_cv_prog_AR="$AR" # Let the user override the test.
6005 else
6006 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6007 for as_dir in $PATH
6008 do
6009 IFS=$as_save_IFS
6010 test -z "$as_dir" && as_dir=.
6011 for ac_exec_ext in '' $ac_executable_extensions; do
6012 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6013 ac_cv_prog_AR="${ac_tool_prefix}ar"
6014 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
6015 break 2
6016 fi
6017 done
6018 done
6019 IFS=$as_save_IFS
6020
6021 fi
6022 fi
6023 AR=$ac_cv_prog_AR
6024 if test -n "$AR"; then
6025 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
6026 $as_echo "$AR" >&6; }
6027 else
6028 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6029 $as_echo "no" >&6; }
6030 fi
6031
6032
6033 fi
6034 if test -z "$ac_cv_prog_AR"; then
6035 ac_ct_AR=$AR
6036 # Extract the first word of "ar", so it can be a program name with args.
6037 set dummy ar; ac_word=$2
6038 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6039 $as_echo_n "checking for $ac_word... " >&6; }
6040 if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
6041 $as_echo_n "(cached) " >&6
6042 else
6043 if test -n "$ac_ct_AR"; then
6044 ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
6045 else
6046 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6047 for as_dir in $PATH
6048 do
6049 IFS=$as_save_IFS
6050 test -z "$as_dir" && as_dir=.
6051 for ac_exec_ext in '' $ac_executable_extensions; do
6052 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6053 ac_cv_prog_ac_ct_AR="ar"
6054 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
6055 break 2
6056 fi
6057 done
6058 done
6059 IFS=$as_save_IFS
6060
6061 fi
6062 fi
6063 ac_ct_AR=$ac_cv_prog_ac_ct_AR
6064 if test -n "$ac_ct_AR"; then
6065 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
6066 $as_echo "$ac_ct_AR" >&6; }
6067 else
6068 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6069 $as_echo "no" >&6; }
6070 fi
6071
6072 if test "x$ac_ct_AR" = x; then
6073 AR="false"
6074 else
6075 case $cross_compiling:$ac_tool_warned in
6076 yes:)
6077 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
6078 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
6079 ac_tool_warned=yes ;;
6080 esac
6081 AR=$ac_ct_AR
6082 fi
6083 else
6084 AR="$ac_cv_prog_AR"
6085 fi
6086
6087 test -z "$AR" && AR=ar
6088 test -z "$AR_FLAGS" && AR_FLAGS=cru
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100 if test -n "$ac_tool_prefix"; then
6101 # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
6102 set dummy ${ac_tool_prefix}strip; ac_word=$2
6103 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6104 $as_echo_n "checking for $ac_word... " >&6; }
6105 if test "${ac_cv_prog_STRIP+set}" = set; then :
6106 $as_echo_n "(cached) " >&6
6107 else
6108 if test -n "$STRIP"; then
6109 ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
6110 else
6111 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6112 for as_dir in $PATH
6113 do
6114 IFS=$as_save_IFS
6115 test -z "$as_dir" && as_dir=.
6116 for ac_exec_ext in '' $ac_executable_extensions; do
6117 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6118 ac_cv_prog_STRIP="${ac_tool_prefix}strip"
6119 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
6120 break 2
6121 fi
6122 done
6123 done
6124 IFS=$as_save_IFS
6125
6126 fi
6127 fi
6128 STRIP=$ac_cv_prog_STRIP
6129 if test -n "$STRIP"; then
6130 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
6131 $as_echo "$STRIP" >&6; }
6132 else
6133 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6134 $as_echo "no" >&6; }
6135 fi
6136
6137
6138 fi
6139 if test -z "$ac_cv_prog_STRIP"; then
6140 ac_ct_STRIP=$STRIP
6141 # Extract the first word of "strip", so it can be a program name with args.
6142 set dummy strip; ac_word=$2
6143 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6144 $as_echo_n "checking for $ac_word... " >&6; }
6145 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
6146 $as_echo_n "(cached) " >&6
6147 else
6148 if test -n "$ac_ct_STRIP"; then
6149 ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
6150 else
6151 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6152 for as_dir in $PATH
6153 do
6154 IFS=$as_save_IFS
6155 test -z "$as_dir" && as_dir=.
6156 for ac_exec_ext in '' $ac_executable_extensions; do
6157 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6158 ac_cv_prog_ac_ct_STRIP="strip"
6159 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
6160 break 2
6161 fi
6162 done
6163 done
6164 IFS=$as_save_IFS
6165
6166 fi
6167 fi
6168 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
6169 if test -n "$ac_ct_STRIP"; then
6170 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
6171 $as_echo "$ac_ct_STRIP" >&6; }
6172 else
6173 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6174 $as_echo "no" >&6; }
6175 fi
6176
6177 if test "x$ac_ct_STRIP" = x; then
6178 STRIP=":"
6179 else
6180 case $cross_compiling:$ac_tool_warned in
6181 yes:)
6182 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
6183 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
6184 ac_tool_warned=yes ;;
6185 esac
6186 STRIP=$ac_ct_STRIP
6187 fi
6188 else
6189 STRIP="$ac_cv_prog_STRIP"
6190 fi
6191
6192 test -z "$STRIP" && STRIP=:
6193
6194
6195
6196
6197
6198
6199 if test -n "$ac_tool_prefix"; then
6200 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
6201 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
6202 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6203 $as_echo_n "checking for $ac_word... " >&6; }
6204 if test "${ac_cv_prog_RANLIB+set}" = set; then :
6205 $as_echo_n "(cached) " >&6
6206 else
6207 if test -n "$RANLIB"; then
6208 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
6209 else
6210 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6211 for as_dir in $PATH
6212 do
6213 IFS=$as_save_IFS
6214 test -z "$as_dir" && as_dir=.
6215 for ac_exec_ext in '' $ac_executable_extensions; do
6216 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6217 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
6218 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
6219 break 2
6220 fi
6221 done
6222 done
6223 IFS=$as_save_IFS
6224
6225 fi
6226 fi
6227 RANLIB=$ac_cv_prog_RANLIB
6228 if test -n "$RANLIB"; then
6229 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
6230 $as_echo "$RANLIB" >&6; }
6231 else
6232 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6233 $as_echo "no" >&6; }
6234 fi
6235
6236
6237 fi
6238 if test -z "$ac_cv_prog_RANLIB"; then
6239 ac_ct_RANLIB=$RANLIB
6240 # Extract the first word of "ranlib", so it can be a program name with args.
6241 set dummy ranlib; ac_word=$2
6242 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6243 $as_echo_n "checking for $ac_word... " >&6; }
6244 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
6245 $as_echo_n "(cached) " >&6
6246 else
6247 if test -n "$ac_ct_RANLIB"; then
6248 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
6249 else
6250 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6251 for as_dir in $PATH
6252 do
6253 IFS=$as_save_IFS
6254 test -z "$as_dir" && as_dir=.
6255 for ac_exec_ext in '' $ac_executable_extensions; do
6256 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6257 ac_cv_prog_ac_ct_RANLIB="ranlib"
6258 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
6259 break 2
6260 fi
6261 done
6262 done
6263 IFS=$as_save_IFS
6264
6265 fi
6266 fi
6267 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
6268 if test -n "$ac_ct_RANLIB"; then
6269 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
6270 $as_echo "$ac_ct_RANLIB" >&6; }
6271 else
6272 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6273 $as_echo "no" >&6; }
6274 fi
6275
6276 if test "x$ac_ct_RANLIB" = x; then
6277 RANLIB=":"
6278 else
6279 case $cross_compiling:$ac_tool_warned in
6280 yes:)
6281 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
6282 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
6283 ac_tool_warned=yes ;;
6284 esac
6285 RANLIB=$ac_ct_RANLIB
6286 fi
6287 else
6288 RANLIB="$ac_cv_prog_RANLIB"
6289 fi
6290
6291 test -z "$RANLIB" && RANLIB=:
6292
6293
6294
6295
6296
6297
6298 # Determine commands to create old-style static archives.
6299 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
6300 old_postinstall_cmds='chmod 644 $oldlib'
6301 old_postuninstall_cmds=
6302
6303 if test -n "$RANLIB"; then
6304 case $host_os in
6305 openbsd*)
6306 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
6307 ;;
6308 *)
6309 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
6310 ;;
6311 esac
6312 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
6313 fi
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348 # If no C compiler was specified, use CC.
6349 LTCC=${LTCC-"$CC"}
6350
6351 # If no C compiler flags were specified, use CFLAGS.
6352 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
6353
6354 # Allow CC to be a program name with arguments.
6355 compiler=$CC
6356
6357
6358 # Check for command to grab the raw symbol name followed by C symbol from nm.
6359 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
6360 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
6361 if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
6362 $as_echo_n "(cached) " >&6
6363 else
6364
6365 # These are sane defaults that work on at least a few old systems.
6366 # [They come from Ultrix. What could be older than Ultrix?!! ;)]
6367
6368 # Character class describing NM global symbol codes.
6369 symcode='[BCDEGRST]'
6370
6371 # Regexp to match symbols that can be accessed directly from C.
6372 sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
6373
6374 # Define system-specific variables.
6375 case $host_os in
6376 aix*)
6377 symcode='[BCDT]'
6378 ;;
6379 cygwin* | mingw* | pw32* | cegcc*)
6380 symcode='[ABCDGISTW]'
6381 ;;
6382 hpux*)
6383 if test "$host_cpu" = ia64; then
6384 symcode='[ABCDEGRST]'
6385 fi
6386 ;;
6387 irix* | nonstopux*)
6388 symcode='[BCDEGRST]'
6389 ;;
6390 osf*)
6391 symcode='[BCDEGQRST]'
6392 ;;
6393 solaris*)
6394 symcode='[BDRT]'
6395 ;;
6396 sco3.2v5*)
6397 symcode='[DT]'
6398 ;;
6399 sysv4.2uw2*)
6400 symcode='[DT]'
6401 ;;
6402 sysv5* | sco5v6* | unixware* | OpenUNIX*)
6403 symcode='[ABDT]'
6404 ;;
6405 sysv4)
6406 symcode='[DFNSTU]'
6407 ;;
6408 esac
6409
6410 # If we're using GNU nm, then use its standard symbol codes.
6411 case `$NM -V 2>&1` in
6412 *GNU* | *'with BFD'*)
6413 symcode='[ABCDGIRSTW]' ;;
6414 esac
6415
6416 # Transform an extracted symbol line into a proper C declaration.
6417 # Some systems (esp. on ia64) link data and code symbols differently,
6418 # so use this general approach.
6419 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
6420
6421 # Transform an extracted symbol line into symbol name and symbol address
6422 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
6423 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
6424
6425 # Handle CRLF in mingw tool chain
6426 opt_cr=
6427 case $build_os in
6428 mingw*)
6429 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
6430 ;;
6431 esac
6432
6433 # Try without a prefix underscore, then with it.
6434 for ac_symprfx in "" "_"; do
6435
6436 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
6437 symxfrm="\\1 $ac_symprfx\\2 \\2"
6438
6439 # Write the raw and C identifiers.
6440 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
6441 # Fake it for dumpbin and say T for any non-static function
6442 # and D for any global variable.
6443 # Also find C++ and __fastcall symbols from MSVC++,
6444 # which start with @ or ?.
6445 lt_cv_sys_global_symbol_pipe="$AWK '"\
6446 " {last_section=section; section=\$ 3};"\
6447 " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
6448 " \$ 0!~/External *\|/{next};"\
6449 " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
6450 " {if(hide[section]) next};"\
6451 " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
6452 " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
6453 " s[1]~/^[@?]/{print s[1], s[1]; next};"\
6454 " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
6455 " ' prfx=^$ac_symprfx"
6456 else
6457 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
6458 fi
6459
6460 # Check to see that the pipe works correctly.
6461 pipe_works=no
6462
6463 rm -f conftest*
6464 cat > conftest.$ac_ext <<_LT_EOF
6465 #ifdef __cplusplus
6466 extern "C" {
6467 #endif
6468 char nm_test_var;
6469 void nm_test_func(void);
6470 void nm_test_func(void){}
6471 #ifdef __cplusplus
6472 }
6473 #endif
6474 int main(){nm_test_var='a';nm_test_func();return(0);}
6475 _LT_EOF
6476
6477 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
6478 (eval $ac_compile) 2>&5
6479 ac_status=$?
6480 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
6481 test $ac_status = 0; }; then
6482 # Now try to grab the symbols.
6483 nlist=conftest.nm
6484 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5
6485 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
6486 ac_status=$?
6487 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
6488 test $ac_status = 0; } && test -s "$nlist"; then
6489 # Try sorting and uniquifying the output.
6490 if sort "$nlist" | uniq > "$nlist"T; then
6491 mv -f "$nlist"T "$nlist"
6492 else
6493 rm -f "$nlist"T
6494 fi
6495
6496 # Make sure that we snagged all the symbols we need.
6497 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
6498 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
6499 cat <<_LT_EOF > conftest.$ac_ext
6500 #ifdef __cplusplus
6501 extern "C" {
6502 #endif
6503
6504 _LT_EOF
6505 # Now generate the symbol file.
6506 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
6507
6508 cat <<_LT_EOF >> conftest.$ac_ext
6509
6510 /* The mapping between symbol names and symbols. */
6511 const struct {
6512 const char *name;
6513 void *address;
6514 }
6515 lt__PROGRAM__LTX_preloaded_symbols[] =
6516 {
6517 { "@PROGRAM@", (void *) 0 },
6518 _LT_EOF
6519 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
6520 cat <<\_LT_EOF >> conftest.$ac_ext
6521 {0, (void *) 0}
6522 };
6523
6524 /* This works around a problem in FreeBSD linker */
6525 #ifdef FREEBSD_WORKAROUND
6526 static const void *lt_preloaded_setup() {
6527 return lt__PROGRAM__LTX_preloaded_symbols;
6528 }
6529 #endif
6530
6531 #ifdef __cplusplus
6532 }
6533 #endif
6534 _LT_EOF
6535 # Now try linking the two files.
6536 mv conftest.$ac_objext conftstm.$ac_objext
6537 lt_save_LIBS="$LIBS"
6538 lt_save_CFLAGS="$CFLAGS"
6539 LIBS="conftstm.$ac_objext"
6540 CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
6541 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
6542 (eval $ac_link) 2>&5
6543 ac_status=$?
6544 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
6545 test $ac_status = 0; } && test -s conftest${ac_exeext}; then
6546 pipe_works=yes
6547 fi
6548 LIBS="$lt_save_LIBS"
6549 CFLAGS="$lt_save_CFLAGS"
6550 else
6551 echo "cannot find nm_test_func in $nlist" >&5
6552 fi
6553 else
6554 echo "cannot find nm_test_var in $nlist" >&5
6555 fi
6556 else
6557 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
6558 fi
6559 else
6560 echo "$progname: failed program was:" >&5
6561 cat conftest.$ac_ext >&5
6562 fi
6563 rm -rf conftest* conftst*
6564
6565 # Do not use the global_symbol_pipe unless it works.
6566 if test "$pipe_works" = yes; then
6567 break
6568 else
6569 lt_cv_sys_global_symbol_pipe=
6570 fi
6571 done
6572
6573 fi
6574
6575 if test -z "$lt_cv_sys_global_symbol_pipe"; then
6576 lt_cv_sys_global_symbol_to_cdecl=
6577 fi
6578 if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
6579 { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
6580 $as_echo "failed" >&6; }
6581 else
6582 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
6583 $as_echo "ok" >&6; }
6584 fi
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608 # Check whether --enable-libtool-lock was given.
6609 if test "${enable_libtool_lock+set}" = set; then :
6610 enableval=$enable_libtool_lock;
6611 fi
6612
6613 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
6614
6615 # Some flags need to be propagated to the compiler or linker for good
6616 # libtool support.
6617 case $host in
6618 ia64-*-hpux*)
6619 # Find out which ABI we are using.
6620 echo 'int i;' > conftest.$ac_ext
6621 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
6622 (eval $ac_compile) 2>&5
6623 ac_status=$?
6624 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
6625 test $ac_status = 0; }; then
6626 case `/usr/bin/file conftest.$ac_objext` in
6627 *ELF-32*)
6628 HPUX_IA64_MODE="32"
6629 ;;
6630 *ELF-64*)
6631 HPUX_IA64_MODE="64"
6632 ;;
6633 esac
6634 fi
6635 rm -rf conftest*
6636 ;;
6637 *-*-irix6*)
6638 # Find out which ABI we are using.
6639 echo '#line 6640 "configure"' > conftest.$ac_ext
6640 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
6641 (eval $ac_compile) 2>&5
6642 ac_status=$?
6643 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
6644 test $ac_status = 0; }; then
6645 if test "$lt_cv_prog_gnu_ld" = yes; then
6646 case `/usr/bin/file conftest.$ac_objext` in
6647 *32-bit*)
6648 LD="${LD-ld} -melf32bsmip"
6649 ;;
6650 *N32*)
6651 LD="${LD-ld} -melf32bmipn32"
6652 ;;
6653 *64-bit*)
6654 LD="${LD-ld} -melf64bmip"
6655 ;;
6656 esac
6657 else
6658 case `/usr/bin/file conftest.$ac_objext` in
6659 *32-bit*)
6660 LD="${LD-ld} -32"
6661 ;;
6662 *N32*)
6663 LD="${LD-ld} -n32"
6664 ;;
6665 *64-bit*)
6666 LD="${LD-ld} -64"
6667 ;;
6668 esac
6669 fi
6670 fi
6671 rm -rf conftest*
6672 ;;
6673
6674 x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
6675 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
6676 # Find out which ABI we are using.
6677 echo 'int i;' > conftest.$ac_ext
6678 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
6679 (eval $ac_compile) 2>&5
6680 ac_status=$?
6681 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
6682 test $ac_status = 0; }; then
6683 case `/usr/bin/file conftest.o` in
6684 *32-bit*)
6685 case $host in
6686 x86_64-*kfreebsd*-gnu)
6687 LD="${LD-ld} -m elf_i386_fbsd"
6688 ;;
6689 x86_64-*linux*)
6690 LD="${LD-ld} -m elf_i386"
6691 ;;
6692 ppc64-*linux*|powerpc64-*linux*)
6693 LD="${LD-ld} -m elf32ppclinux"
6694 ;;
6695 s390x-*linux*)
6696 LD="${LD-ld} -m elf_s390"
6697 ;;
6698 sparc64-*linux*)
6699 LD="${LD-ld} -m elf32_sparc"
6700 ;;
6701 esac
6702 ;;
6703 *64-bit*)
6704 case $host in
6705 x86_64-*kfreebsd*-gnu)
6706 LD="${LD-ld} -m elf_x86_64_fbsd"
6707 ;;
6708 x86_64-*linux*)
6709 LD="${LD-ld} -m elf_x86_64"
6710 ;;
6711 ppc*-*linux*|powerpc*-*linux*)
6712 LD="${LD-ld} -m elf64ppc"
6713 ;;
6714 s390*-*linux*|s390*-*tpf*)
6715 LD="${LD-ld} -m elf64_s390"
6716 ;;
6717 sparc*-*linux*)
6718 LD="${LD-ld} -m elf64_sparc"
6719 ;;
6720 esac
6721 ;;
6722 esac
6723 fi
6724 rm -rf conftest*
6725 ;;
6726
6727 *-*-sco3.2v5*)
6728 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
6729 SAVE_CFLAGS="$CFLAGS"
6730 CFLAGS="$CFLAGS -belf"
6731 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
6732 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
6733 if test "${lt_cv_cc_needs_belf+set}" = set; then :
6734 $as_echo_n "(cached) " >&6
6735 else
6736 ac_ext=c
6737 ac_cpp='$CPP $CPPFLAGS'
6738 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
6739 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
6740 ac_compiler_gnu=$ac_cv_c_compiler_gnu
6741
6742 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6743 /* end confdefs.h. */
6744
6745 int
6746 main ()
6747 {
6748
6749 ;
6750 return 0;
6751 }
6752 _ACEOF
6753 if ac_fn_c_try_link "$LINENO"; then :
6754 lt_cv_cc_needs_belf=yes
6755 else
6756 lt_cv_cc_needs_belf=no
6757 fi
6758 rm -f core conftest.err conftest.$ac_objext \
6759 conftest$ac_exeext conftest.$ac_ext
6760 ac_ext=c
6761 ac_cpp='$CPP $CPPFLAGS'
6762 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
6763 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
6764 ac_compiler_gnu=$ac_cv_c_compiler_gnu
6765
6766 fi
6767 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
6768 $as_echo "$lt_cv_cc_needs_belf" >&6; }
6769 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
6770 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
6771 CFLAGS="$SAVE_CFLAGS"
6772 fi
6773 ;;
6774 sparc*-*solaris*)
6775 # Find out which ABI we are using.
6776 echo 'int i;' > conftest.$ac_ext
6777 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
6778 (eval $ac_compile) 2>&5
6779 ac_status=$?
6780 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
6781 test $ac_status = 0; }; then
6782 case `/usr/bin/file conftest.o` in
6783 *64-bit*)
6784 case $lt_cv_prog_gnu_ld in
6785 yes*) LD="${LD-ld} -m elf64_sparc" ;;
6786 *)
6787 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
6788 LD="${LD-ld} -64"
6789 fi
6790 ;;
6791 esac
6792 ;;
6793 esac
6794 fi
6795 rm -rf conftest*
6796 ;;
6797 esac
6798
6799 need_locks="$enable_libtool_lock"
6800
6801
6802 case $host_os in
6803 rhapsody* | darwin*)
6804 if test -n "$ac_tool_prefix"; then
6805 # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
6806 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
6807 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6808 $as_echo_n "checking for $ac_word... " >&6; }
6809 if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
6810 $as_echo_n "(cached) " >&6
6811 else
6812 if test -n "$DSYMUTIL"; then
6813 ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
6814 else
6815 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6816 for as_dir in $PATH
6817 do
6818 IFS=$as_save_IFS
6819 test -z "$as_dir" && as_dir=.
6820 for ac_exec_ext in '' $ac_executable_extensions; do
6821 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6822 ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
6823 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
6824 break 2
6825 fi
6826 done
6827 done
6828 IFS=$as_save_IFS
6829
6830 fi
6831 fi
6832 DSYMUTIL=$ac_cv_prog_DSYMUTIL
6833 if test -n "$DSYMUTIL"; then
6834 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
6835 $as_echo "$DSYMUTIL" >&6; }
6836 else
6837 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6838 $as_echo "no" >&6; }
6839 fi
6840
6841
6842 fi
6843 if test -z "$ac_cv_prog_DSYMUTIL"; then
6844 ac_ct_DSYMUTIL=$DSYMUTIL
6845 # Extract the first word of "dsymutil", so it can be a program name with args.
6846 set dummy dsymutil; ac_word=$2
6847 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6848 $as_echo_n "checking for $ac_word... " >&6; }
6849 if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
6850 $as_echo_n "(cached) " >&6
6851 else
6852 if test -n "$ac_ct_DSYMUTIL"; then
6853 ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
6854 else
6855 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6856 for as_dir in $PATH
6857 do
6858 IFS=$as_save_IFS
6859 test -z "$as_dir" && as_dir=.
6860 for ac_exec_ext in '' $ac_executable_extensions; do
6861 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6862 ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
6863 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
6864 break 2
6865 fi
6866 done
6867 done
6868 IFS=$as_save_IFS
6869
6870 fi
6871 fi
6872 ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
6873 if test -n "$ac_ct_DSYMUTIL"; then
6874 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
6875 $as_echo "$ac_ct_DSYMUTIL" >&6; }
6876 else
6877 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6878 $as_echo "no" >&6; }
6879 fi
6880
6881 if test "x$ac_ct_DSYMUTIL" = x; then
6882 DSYMUTIL=":"
6883 else
6884 case $cross_compiling:$ac_tool_warned in
6885 yes:)
6886 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
6887 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
6888 ac_tool_warned=yes ;;
6889 esac
6890 DSYMUTIL=$ac_ct_DSYMUTIL
6891 fi
6892 else
6893 DSYMUTIL="$ac_cv_prog_DSYMUTIL"
6894 fi
6895
6896 if test -n "$ac_tool_prefix"; then
6897 # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
6898 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
6899 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6900 $as_echo_n "checking for $ac_word... " >&6; }
6901 if test "${ac_cv_prog_NMEDIT+set}" = set; then :
6902 $as_echo_n "(cached) " >&6
6903 else
6904 if test -n "$NMEDIT"; then
6905 ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
6906 else
6907 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6908 for as_dir in $PATH
6909 do
6910 IFS=$as_save_IFS
6911 test -z "$as_dir" && as_dir=.
6912 for ac_exec_ext in '' $ac_executable_extensions; do
6913 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6914 ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
6915 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
6916 break 2
6917 fi
6918 done
6919 done
6920 IFS=$as_save_IFS
6921
6922 fi
6923 fi
6924 NMEDIT=$ac_cv_prog_NMEDIT
6925 if test -n "$NMEDIT"; then
6926 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
6927 $as_echo "$NMEDIT" >&6; }
6928 else
6929 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6930 $as_echo "no" >&6; }
6931 fi
6932
6933
6934 fi
6935 if test -z "$ac_cv_prog_NMEDIT"; then
6936 ac_ct_NMEDIT=$NMEDIT
6937 # Extract the first word of "nmedit", so it can be a program name with args.
6938 set dummy nmedit; ac_word=$2
6939 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6940 $as_echo_n "checking for $ac_word... " >&6; }
6941 if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
6942 $as_echo_n "(cached) " >&6
6943 else
6944 if test -n "$ac_ct_NMEDIT"; then
6945 ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
6946 else
6947 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6948 for as_dir in $PATH
6949 do
6950 IFS=$as_save_IFS
6951 test -z "$as_dir" && as_dir=.
6952 for ac_exec_ext in '' $ac_executable_extensions; do
6953 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
6954 ac_cv_prog_ac_ct_NMEDIT="nmedit"
6955 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
6956 break 2
6957 fi
6958 done
6959 done
6960 IFS=$as_save_IFS
6961
6962 fi
6963 fi
6964 ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
6965 if test -n "$ac_ct_NMEDIT"; then
6966 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
6967 $as_echo "$ac_ct_NMEDIT" >&6; }
6968 else
6969 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
6970 $as_echo "no" >&6; }
6971 fi
6972
6973 if test "x$ac_ct_NMEDIT" = x; then
6974 NMEDIT=":"
6975 else
6976 case $cross_compiling:$ac_tool_warned in
6977 yes:)
6978 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
6979 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
6980 ac_tool_warned=yes ;;
6981 esac
6982 NMEDIT=$ac_ct_NMEDIT
6983 fi
6984 else
6985 NMEDIT="$ac_cv_prog_NMEDIT"
6986 fi
6987
6988 if test -n "$ac_tool_prefix"; then
6989 # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
6990 set dummy ${ac_tool_prefix}lipo; ac_word=$2
6991 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6992 $as_echo_n "checking for $ac_word... " >&6; }
6993 if test "${ac_cv_prog_LIPO+set}" = set; then :
6994 $as_echo_n "(cached) " >&6
6995 else
6996 if test -n "$LIPO"; then
6997 ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
6998 else
6999 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7000 for as_dir in $PATH
7001 do
7002 IFS=$as_save_IFS
7003 test -z "$as_dir" && as_dir=.
7004 for ac_exec_ext in '' $ac_executable_extensions; do
7005 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
7006 ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
7007 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7008 break 2
7009 fi
7010 done
7011 done
7012 IFS=$as_save_IFS
7013
7014 fi
7015 fi
7016 LIPO=$ac_cv_prog_LIPO
7017 if test -n "$LIPO"; then
7018 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
7019 $as_echo "$LIPO" >&6; }
7020 else
7021 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7022 $as_echo "no" >&6; }
7023 fi
7024
7025
7026 fi
7027 if test -z "$ac_cv_prog_LIPO"; then
7028 ac_ct_LIPO=$LIPO
7029 # Extract the first word of "lipo", so it can be a program name with args.
7030 set dummy lipo; ac_word=$2
7031 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7032 $as_echo_n "checking for $ac_word... " >&6; }
7033 if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
7034 $as_echo_n "(cached) " >&6
7035 else
7036 if test -n "$ac_ct_LIPO"; then
7037 ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
7038 else
7039 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7040 for as_dir in $PATH
7041 do
7042 IFS=$as_save_IFS
7043 test -z "$as_dir" && as_dir=.
7044 for ac_exec_ext in '' $ac_executable_extensions; do
7045 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
7046 ac_cv_prog_ac_ct_LIPO="lipo"
7047 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7048 break 2
7049 fi
7050 done
7051 done
7052 IFS=$as_save_IFS
7053
7054 fi
7055 fi
7056 ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
7057 if test -n "$ac_ct_LIPO"; then
7058 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
7059 $as_echo "$ac_ct_LIPO" >&6; }
7060 else
7061 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7062 $as_echo "no" >&6; }
7063 fi
7064
7065 if test "x$ac_ct_LIPO" = x; then
7066 LIPO=":"
7067 else
7068 case $cross_compiling:$ac_tool_warned in
7069 yes:)
7070 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
7071 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
7072 ac_tool_warned=yes ;;
7073 esac
7074 LIPO=$ac_ct_LIPO
7075 fi
7076 else
7077 LIPO="$ac_cv_prog_LIPO"
7078 fi
7079
7080 if test -n "$ac_tool_prefix"; then
7081 # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
7082 set dummy ${ac_tool_prefix}otool; ac_word=$2
7083 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7084 $as_echo_n "checking for $ac_word... " >&6; }
7085 if test "${ac_cv_prog_OTOOL+set}" = set; then :
7086 $as_echo_n "(cached) " >&6
7087 else
7088 if test -n "$OTOOL"; then
7089 ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
7090 else
7091 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7092 for as_dir in $PATH
7093 do
7094 IFS=$as_save_IFS
7095 test -z "$as_dir" && as_dir=.
7096 for ac_exec_ext in '' $ac_executable_extensions; do
7097 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
7098 ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
7099 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7100 break 2
7101 fi
7102 done
7103 done
7104 IFS=$as_save_IFS
7105
7106 fi
7107 fi
7108 OTOOL=$ac_cv_prog_OTOOL
7109 if test -n "$OTOOL"; then
7110 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
7111 $as_echo "$OTOOL" >&6; }
7112 else
7113 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7114 $as_echo "no" >&6; }
7115 fi
7116
7117
7118 fi
7119 if test -z "$ac_cv_prog_OTOOL"; then
7120 ac_ct_OTOOL=$OTOOL
7121 # Extract the first word of "otool", so it can be a program name with args.
7122 set dummy otool; ac_word=$2
7123 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7124 $as_echo_n "checking for $ac_word... " >&6; }
7125 if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
7126 $as_echo_n "(cached) " >&6
7127 else
7128 if test -n "$ac_ct_OTOOL"; then
7129 ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
7130 else
7131 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7132 for as_dir in $PATH
7133 do
7134 IFS=$as_save_IFS
7135 test -z "$as_dir" && as_dir=.
7136 for ac_exec_ext in '' $ac_executable_extensions; do
7137 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
7138 ac_cv_prog_ac_ct_OTOOL="otool"
7139 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7140 break 2
7141 fi
7142 done
7143 done
7144 IFS=$as_save_IFS
7145
7146 fi
7147 fi
7148 ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
7149 if test -n "$ac_ct_OTOOL"; then
7150 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
7151 $as_echo "$ac_ct_OTOOL" >&6; }
7152 else
7153 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7154 $as_echo "no" >&6; }
7155 fi
7156
7157 if test "x$ac_ct_OTOOL" = x; then
7158 OTOOL=":"
7159 else
7160 case $cross_compiling:$ac_tool_warned in
7161 yes:)
7162 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
7163 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
7164 ac_tool_warned=yes ;;
7165 esac
7166 OTOOL=$ac_ct_OTOOL
7167 fi
7168 else
7169 OTOOL="$ac_cv_prog_OTOOL"
7170 fi
7171
7172 if test -n "$ac_tool_prefix"; then
7173 # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
7174 set dummy ${ac_tool_prefix}otool64; ac_word=$2
7175 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7176 $as_echo_n "checking for $ac_word... " >&6; }
7177 if test "${ac_cv_prog_OTOOL64+set}" = set; then :
7178 $as_echo_n "(cached) " >&6
7179 else
7180 if test -n "$OTOOL64"; then
7181 ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
7182 else
7183 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7184 for as_dir in $PATH
7185 do
7186 IFS=$as_save_IFS
7187 test -z "$as_dir" && as_dir=.
7188 for ac_exec_ext in '' $ac_executable_extensions; do
7189 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
7190 ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
7191 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7192 break 2
7193 fi
7194 done
7195 done
7196 IFS=$as_save_IFS
7197
7198 fi
7199 fi
7200 OTOOL64=$ac_cv_prog_OTOOL64
7201 if test -n "$OTOOL64"; then
7202 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
7203 $as_echo "$OTOOL64" >&6; }
7204 else
7205 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7206 $as_echo "no" >&6; }
7207 fi
7208
7209
7210 fi
7211 if test -z "$ac_cv_prog_OTOOL64"; then
7212 ac_ct_OTOOL64=$OTOOL64
7213 # Extract the first word of "otool64", so it can be a program name with args.
7214 set dummy otool64; ac_word=$2
7215 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7216 $as_echo_n "checking for $ac_word... " >&6; }
7217 if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
7218 $as_echo_n "(cached) " >&6
7219 else
7220 if test -n "$ac_ct_OTOOL64"; then
7221 ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
7222 else
7223 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7224 for as_dir in $PATH
7225 do
7226 IFS=$as_save_IFS
7227 test -z "$as_dir" && as_dir=.
7228 for ac_exec_ext in '' $ac_executable_extensions; do
7229 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
7230 ac_cv_prog_ac_ct_OTOOL64="otool64"
7231 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7232 break 2
7233 fi
7234 done
7235 done
7236 IFS=$as_save_IFS
7237
7238 fi
7239 fi
7240 ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
7241 if test -n "$ac_ct_OTOOL64"; then
7242 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
7243 $as_echo "$ac_ct_OTOOL64" >&6; }
7244 else
7245 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7246 $as_echo "no" >&6; }
7247 fi
7248
7249 if test "x$ac_ct_OTOOL64" = x; then
7250 OTOOL64=":"
7251 else
7252 case $cross_compiling:$ac_tool_warned in
7253 yes:)
7254 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
7255 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
7256 ac_tool_warned=yes ;;
7257 esac
7258 OTOOL64=$ac_ct_OTOOL64
7259 fi
7260 else
7261 OTOOL64="$ac_cv_prog_OTOOL64"
7262 fi
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
7291 $as_echo_n "checking for -single_module linker flag... " >&6; }
7292 if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
7293 $as_echo_n "(cached) " >&6
7294 else
7295 lt_cv_apple_cc_single_mod=no
7296 if test -z "${LT_MULTI_MODULE}"; then
7297 # By default we will add the -single_module flag. You can override
7298 # by either setting the environment variable LT_MULTI_MODULE
7299 # non-empty at configure time, or by adding -multi_module to the
7300 # link flags.
7301 rm -rf libconftest.dylib*
7302 echo "int foo(void){return 1;}" > conftest.c
7303 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
7304 -dynamiclib -Wl,-single_module conftest.c" >&5
7305 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
7306 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
7307 _lt_result=$?
7308 if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
7309 lt_cv_apple_cc_single_mod=yes
7310 else
7311 cat conftest.err >&5
7312 fi
7313 rm -rf libconftest.dylib*
7314 rm -f conftest.*
7315 fi
7316 fi
7317 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
7318 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
7319 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
7320 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
7321 if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
7322 $as_echo_n "(cached) " >&6
7323 else
7324 lt_cv_ld_exported_symbols_list=no
7325 save_LDFLAGS=$LDFLAGS
7326 echo "_main" > conftest.sym
7327 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
7328 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7329 /* end confdefs.h. */
7330
7331 int
7332 main ()
7333 {
7334
7335 ;
7336 return 0;
7337 }
7338 _ACEOF
7339 if ac_fn_c_try_link "$LINENO"; then :
7340 lt_cv_ld_exported_symbols_list=yes
7341 else
7342 lt_cv_ld_exported_symbols_list=no
7343 fi
7344 rm -f core conftest.err conftest.$ac_objext \
7345 conftest$ac_exeext conftest.$ac_ext
7346 LDFLAGS="$save_LDFLAGS"
7347
7348 fi
7349 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
7350 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
7351 case $host_os in
7352 rhapsody* | darwin1.[012])
7353 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
7354 darwin1.*)
7355 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
7356 darwin*) # darwin 5.x on
7357 # if running on 10.5 or later, the deployment target defaults
7358 # to the OS version, if on x86, and 10.4, the deployment
7359 # target defaults to 10.4. Don't you love it?
7360 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
7361 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
7362 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
7363 10.[012]*)
7364 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
7365 10.*)
7366 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
7367 esac
7368 ;;
7369 esac
7370 if test "$lt_cv_apple_cc_single_mod" = "yes"; then
7371 _lt_dar_single_mod='$single_module'
7372 fi
7373 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
7374 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
7375 else
7376 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
7377 fi
7378 if test "$DSYMUTIL" != ":"; then
7379 _lt_dsymutil='~$DSYMUTIL $lib || :'
7380 else
7381 _lt_dsymutil=
7382 fi
7383 ;;
7384 esac
7385
7386
7387 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
7388 $as_echo_n "checking for ANSI C header files... " >&6; }
7389 if test "${ac_cv_header_stdc+set}" = set; then :
7390 $as_echo_n "(cached) " >&6
7391 else
7392 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7393 /* end confdefs.h. */
7394 #include <stdlib.h>
7395 #include <stdarg.h>
7396 #include <string.h>
7397 #include <float.h>
7398
7399 int
7400 main ()
7401 {
7402
7403 ;
7404 return 0;
7405 }
7406 _ACEOF
7407 if ac_fn_c_try_compile "$LINENO"; then :
7408 ac_cv_header_stdc=yes
7409 else
7410 ac_cv_header_stdc=no
7411 fi
7412 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7413
7414 if test $ac_cv_header_stdc = yes; then
7415 # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
7416 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7417 /* end confdefs.h. */
7418 #include <string.h>
7419
7420 _ACEOF
7421 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
7422 $EGREP "memchr" >/dev/null 2>&1; then :
7423
7424 else
7425 ac_cv_header_stdc=no
7426 fi
7427 rm -f conftest*
7428
7429 fi
7430
7431 if test $ac_cv_header_stdc = yes; then
7432 # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
7433 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7434 /* end confdefs.h. */
7435 #include <stdlib.h>
7436
7437 _ACEOF
7438 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
7439 $EGREP "free" >/dev/null 2>&1; then :
7440
7441 else
7442 ac_cv_header_stdc=no
7443 fi
7444 rm -f conftest*
7445
7446 fi
7447
7448 if test $ac_cv_header_stdc = yes; then
7449 # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
7450 if test "$cross_compiling" = yes; then :
7451 :
7452 else
7453 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7454 /* end confdefs.h. */
7455 #include <ctype.h>
7456 #include <stdlib.h>
7457 #if ((' ' & 0x0FF) == 0x020)
7458 # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
7459 # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
7460 #else
7461 # define ISLOWER(c) \
7462 (('a' <= (c) && (c) <= 'i') \
7463 || ('j' <= (c) && (c) <= 'r') \
7464 || ('s' <= (c) && (c) <= 'z'))
7465 # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
7466 #endif
7467
7468 #define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
7469 int
7470 main ()
7471 {
7472 int i;
7473 for (i = 0; i < 256; i++)
7474 if (XOR (islower (i), ISLOWER (i))
7475 || toupper (i) != TOUPPER (i))
7476 return 2;
7477 return 0;
7478 }
7479 _ACEOF
7480 if ac_fn_c_try_run "$LINENO"; then :
7481
7482 else
7483 ac_cv_header_stdc=no
7484 fi
7485 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
7486 conftest.$ac_objext conftest.beam conftest.$ac_ext
7487 fi
7488
7489 fi
7490 fi
7491 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
7492 $as_echo "$ac_cv_header_stdc" >&6; }
7493 if test $ac_cv_header_stdc = yes; then
7494
7495 $as_echo "#define STDC_HEADERS 1" >>confdefs.h
7496
7497 fi
7498
7499 # On IRIX 5.3, sys/types and inttypes.h are conflicting.
7500 for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
7501 inttypes.h stdint.h unistd.h
7502 do :
7503 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
7504 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
7505 "
7506 if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
7507 cat >>confdefs.h <<_ACEOF
7508 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
7509 _ACEOF
7510
7511 fi
7512
7513 done
7514
7515
7516 for ac_header in dlfcn.h
7517 do :
7518 ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
7519 "
7520 if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
7521 cat >>confdefs.h <<_ACEOF
7522 #define HAVE_DLFCN_H 1
7523 _ACEOF
7524
7525 fi
7526
7527 done
7528
7529
7530
7531 ac_ext=cpp
7532 ac_cpp='$CXXCPP $CPPFLAGS'
7533 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
7534 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
7535 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
7536 if test -z "$CXX"; then
7537 if test -n "$CCC"; then
7538 CXX=$CCC
7539 else
7540 if test -n "$ac_tool_prefix"; then
7541 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
7542 do
7543 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
7544 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
7545 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7546 $as_echo_n "checking for $ac_word... " >&6; }
7547 if test "${ac_cv_prog_CXX+set}" = set; then :
7548 $as_echo_n "(cached) " >&6
7549 else
7550 if test -n "$CXX"; then
7551 ac_cv_prog_CXX="$CXX" # Let the user override the test.
7552 else
7553 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7554 for as_dir in $PATH
7555 do
7556 IFS=$as_save_IFS
7557 test -z "$as_dir" && as_dir=.
7558 for ac_exec_ext in '' $ac_executable_extensions; do
7559 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
7560 ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
7561 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7562 break 2
7563 fi
7564 done
7565 done
7566 IFS=$as_save_IFS
7567
7568 fi
7569 fi
7570 CXX=$ac_cv_prog_CXX
7571 if test -n "$CXX"; then
7572 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
7573 $as_echo "$CXX" >&6; }
7574 else
7575 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7576 $as_echo "no" >&6; }
7577 fi
7578
7579
7580 test -n "$CXX" && break
7581 done
7582 fi
7583 if test -z "$CXX"; then
7584 ac_ct_CXX=$CXX
7585 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
7586 do
7587 # Extract the first word of "$ac_prog", so it can be a program name with args.
7588 set dummy $ac_prog; ac_word=$2
7589 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7590 $as_echo_n "checking for $ac_word... " >&6; }
7591 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
7592 $as_echo_n "(cached) " >&6
7593 else
7594 if test -n "$ac_ct_CXX"; then
7595 ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
7596 else
7597 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7598 for as_dir in $PATH
7599 do
7600 IFS=$as_save_IFS
7601 test -z "$as_dir" && as_dir=.
7602 for ac_exec_ext in '' $ac_executable_extensions; do
7603 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
7604 ac_cv_prog_ac_ct_CXX="$ac_prog"
7605 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
7606 break 2
7607 fi
7608 done
7609 done
7610 IFS=$as_save_IFS
7611
7612 fi
7613 fi
7614 ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
7615 if test -n "$ac_ct_CXX"; then
7616 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
7617 $as_echo "$ac_ct_CXX" >&6; }
7618 else
7619 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
7620 $as_echo "no" >&6; }
7621 fi
7622
7623
7624 test -n "$ac_ct_CXX" && break
7625 done
7626
7627 if test "x$ac_ct_CXX" = x; then
7628 CXX="g++"
7629 else
7630 case $cross_compiling:$ac_tool_warned in
7631 yes:)
7632 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
7633 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
7634 ac_tool_warned=yes ;;
7635 esac
7636 CXX=$ac_ct_CXX
7637 fi
7638 fi
7639
7640 fi
7641 fi
7642 # Provide some information about the compiler.
7643 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
7644 set X $ac_compile
7645 ac_compiler=$2
7646 for ac_option in --version -v -V -qversion; do
7647 { { ac_try="$ac_compiler $ac_option >&5"
7648 case "(($ac_try" in
7649 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
7650 *) ac_try_echo=$ac_try;;
7651 esac
7652 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
7653 $as_echo "$ac_try_echo"; } >&5
7654 (eval "$ac_compiler $ac_option >&5") 2>conftest.err
7655 ac_status=$?
7656 if test -s conftest.err; then
7657 sed '10a\
7658 ... rest of stderr output deleted ...
7659 10q' conftest.err >conftest.er1
7660 cat conftest.er1 >&5
7661 fi
7662 rm -f conftest.er1 conftest.err
7663 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
7664 test $ac_status = 0; }
7665 done
7666
7667 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
7668 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
7669 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
7670 $as_echo_n "(cached) " >&6
7671 else
7672 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7673 /* end confdefs.h. */
7674
7675 int
7676 main ()
7677 {
7678 #ifndef __GNUC__
7679 choke me
7680 #endif
7681
7682 ;
7683 return 0;
7684 }
7685 _ACEOF
7686 if ac_fn_cxx_try_compile "$LINENO"; then :
7687 ac_compiler_gnu=yes
7688 else
7689 ac_compiler_gnu=no
7690 fi
7691 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7692 ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
7693
7694 fi
7695 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
7696 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
7697 if test $ac_compiler_gnu = yes; then
7698 GXX=yes
7699 else
7700 GXX=
7701 fi
7702 ac_test_CXXFLAGS=${CXXFLAGS+set}
7703 ac_save_CXXFLAGS=$CXXFLAGS
7704 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
7705 $as_echo_n "checking whether $CXX accepts -g... " >&6; }
7706 if test "${ac_cv_prog_cxx_g+set}" = set; then :
7707 $as_echo_n "(cached) " >&6
7708 else
7709 ac_save_cxx_werror_flag=$ac_cxx_werror_flag
7710 ac_cxx_werror_flag=yes
7711 ac_cv_prog_cxx_g=no
7712 CXXFLAGS="-g"
7713 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7714 /* end confdefs.h. */
7715
7716 int
7717 main ()
7718 {
7719
7720 ;
7721 return 0;
7722 }
7723 _ACEOF
7724 if ac_fn_cxx_try_compile "$LINENO"; then :
7725 ac_cv_prog_cxx_g=yes
7726 else
7727 CXXFLAGS=""
7728 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7729 /* end confdefs.h. */
7730
7731 int
7732 main ()
7733 {
7734
7735 ;
7736 return 0;
7737 }
7738 _ACEOF
7739 if ac_fn_cxx_try_compile "$LINENO"; then :
7740
7741 else
7742 ac_cxx_werror_flag=$ac_save_cxx_werror_flag
7743 CXXFLAGS="-g"
7744 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7745 /* end confdefs.h. */
7746
7747 int
7748 main ()
7749 {
7750
7751 ;
7752 return 0;
7753 }
7754 _ACEOF
7755 if ac_fn_cxx_try_compile "$LINENO"; then :
7756 ac_cv_prog_cxx_g=yes
7757 fi
7758 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7759 fi
7760 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7761 fi
7762 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7763 ac_cxx_werror_flag=$ac_save_cxx_werror_flag
7764 fi
7765 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
7766 $as_echo "$ac_cv_prog_cxx_g" >&6; }
7767 if test "$ac_test_CXXFLAGS" = set; then
7768 CXXFLAGS=$ac_save_CXXFLAGS
7769 elif test $ac_cv_prog_cxx_g = yes; then
7770 if test "$GXX" = yes; then
7771 CXXFLAGS="-g -O2"
7772 else
7773 CXXFLAGS="-g"
7774 fi
7775 else
7776 if test "$GXX" = yes; then
7777 CXXFLAGS="-O2"
7778 else
7779 CXXFLAGS=
7780 fi
7781 fi
7782 ac_ext=c
7783 ac_cpp='$CPP $CPPFLAGS'
7784 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
7785 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
7786 ac_compiler_gnu=$ac_cv_c_compiler_gnu
7787
7788 depcc="$CXX" am_compiler_list=
7789
7790 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
7791 $as_echo_n "checking dependency style of $depcc... " >&6; }
7792 if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then :
7793 $as_echo_n "(cached) " >&6
7794 else
7795 if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
7796 # We make a subdir and do the tests there. Otherwise we can end up
7797 # making bogus files that we don't know about and never remove. For
7798 # instance it was reported that on HP-UX the gcc test will end up
7799 # making a dummy file named `D' -- because `-MD' means `put the output
7800 # in D'.
7801 mkdir conftest.dir
7802 # Copy depcomp to subdir because otherwise we won't find it if we're
7803 # using a relative directory.
7804 cp "$am_depcomp" conftest.dir
7805 cd conftest.dir
7806 # We will build objects and dependencies in a subdirectory because
7807 # it helps to detect inapplicable dependency modes. For instance
7808 # both Tru64's cc and ICC support -MD to output dependencies as a
7809 # side effect of compilation, but ICC will put the dependencies in
7810 # the current directory while Tru64 will put them in the object
7811 # directory.
7812 mkdir sub
7813
7814 am_cv_CXX_dependencies_compiler_type=none
7815 if test "$am_compiler_list" = ""; then
7816 am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
7817 fi
7818 am__universal=false
7819 case " $depcc " in #(
7820 *\ -arch\ *\ -arch\ *) am__universal=true ;;
7821 esac
7822
7823 for depmode in $am_compiler_list; do
7824 # Setup a source with many dependencies, because some compilers
7825 # like to wrap large dependency lists on column 80 (with \), and
7826 # we should not choose a depcomp mode which is confused by this.
7827 #
7828 # We need to recreate these files for each test, as the compiler may
7829 # overwrite some of them when testing with obscure command lines.
7830 # This happens at least with the AIX C compiler.
7831 : > sub/conftest.c
7832 for i in 1 2 3 4 5 6; do
7833 echo '#include "conftst'$i'.h"' >> sub/conftest.c
7834 # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
7835 # Solaris 8's {/usr,}/bin/sh.
7836 touch sub/conftst$i.h
7837 done
7838 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
7839
7840 # We check with `-c' and `-o' for the sake of the "dashmstdout"
7841 # mode. It turns out that the SunPro C++ compiler does not properly
7842 # handle `-M -o', and we need to detect this. Also, some Intel
7843 # versions had trouble with output in subdirs
7844 am__obj=sub/conftest.${OBJEXT-o}
7845 am__minus_obj="-o $am__obj"
7846 case $depmode in
7847 gcc)
7848 # This depmode causes a compiler race in universal mode.
7849 test "$am__universal" = false || continue
7850 ;;
7851 nosideeffect)
7852 # after this tag, mechanisms are not by side-effect, so they'll
7853 # only be used when explicitly requested
7854 if test "x$enable_dependency_tracking" = xyes; then
7855 continue
7856 else
7857 break
7858 fi
7859 ;;
7860 msvisualcpp | msvcmsys)
7861 # This compiler won't grok `-c -o', but also, the minuso test has
7862 # not run yet. These depmodes are late enough in the game, and
7863 # so weak that their functioning should not be impacted.
7864 am__obj=conftest.${OBJEXT-o}
7865 am__minus_obj=
7866 ;;
7867 none) break ;;
7868 esac
7869 if depmode=$depmode \
7870 source=sub/conftest.c object=$am__obj \
7871 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
7872 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
7873 >/dev/null 2>conftest.err &&
7874 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
7875 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
7876 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
7877 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
7878 # icc doesn't choke on unknown options, it will just issue warnings
7879 # or remarks (even with -Werror). So we grep stderr for any message
7880 # that says an option was ignored or not supported.
7881 # When given -MP, icc 7.0 and 7.1 complain thusly:
7882 # icc: Command line warning: ignoring option '-M'; no argument required
7883 # The diagnosis changed in icc 8.0:
7884 # icc: Command line remark: option '-MP' not supported
7885 if (grep 'ignoring option' conftest.err ||
7886 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
7887 am_cv_CXX_dependencies_compiler_type=$depmode
7888 break
7889 fi
7890 fi
7891 done
7892
7893 cd ..
7894 rm -rf conftest.dir
7895 else
7896 am_cv_CXX_dependencies_compiler_type=none
7897 fi
7898
7899 fi
7900 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
7901 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
7902 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
7903
7904 if
7905 test "x$enable_dependency_tracking" != xno \
7906 && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
7907 am__fastdepCXX_TRUE=
7908 am__fastdepCXX_FALSE='#'
7909 else
7910 am__fastdepCXX_TRUE='#'
7911 am__fastdepCXX_FALSE=
7912 fi
7913
7914
7915 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
7916 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
7917 (test "X$CXX" != "Xg++"))) ; then
7918 ac_ext=cpp
7919 ac_cpp='$CXXCPP $CPPFLAGS'
7920 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
7921 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
7922 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
7923 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
7924 $as_echo_n "checking how to run the C++ preprocessor... " >&6; }
7925 if test -z "$CXXCPP"; then
7926 if test "${ac_cv_prog_CXXCPP+set}" = set; then :
7927 $as_echo_n "(cached) " >&6
7928 else
7929 # Double quotes because CXXCPP needs to be expanded
7930 for CXXCPP in "$CXX -E" "/lib/cpp"
7931 do
7932 ac_preproc_ok=false
7933 for ac_cxx_preproc_warn_flag in '' yes
7934 do
7935 # Use a header file that comes with gcc, so configuring glibc
7936 # with a fresh cross-compiler works.
7937 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
7938 # <limits.h> exists even on freestanding compilers.
7939 # On the NeXT, cc -E runs the code through the compiler's parser,
7940 # not just through cpp. "Syntax error" is here to catch this case.
7941 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7942 /* end confdefs.h. */
7943 #ifdef __STDC__
7944 # include <limits.h>
7945 #else
7946 # include <assert.h>
7947 #endif
7948 Syntax error
7949 _ACEOF
7950 if ac_fn_cxx_try_cpp "$LINENO"; then :
7951
7952 else
7953 # Broken: fails on valid input.
7954 continue
7955 fi
7956 rm -f conftest.err conftest.i conftest.$ac_ext
7957
7958 # OK, works on sane cases. Now check whether nonexistent headers
7959 # can be detected and how.
7960 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7961 /* end confdefs.h. */
7962 #include <ac_nonexistent.h>
7963 _ACEOF
7964 if ac_fn_cxx_try_cpp "$LINENO"; then :
7965 # Broken: success on invalid input.
7966 continue
7967 else
7968 # Passes both tests.
7969 ac_preproc_ok=:
7970 break
7971 fi
7972 rm -f conftest.err conftest.i conftest.$ac_ext
7973
7974 done
7975 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
7976 rm -f conftest.i conftest.err conftest.$ac_ext
7977 if $ac_preproc_ok; then :
7978 break
7979 fi
7980
7981 done
7982 ac_cv_prog_CXXCPP=$CXXCPP
7983
7984 fi
7985 CXXCPP=$ac_cv_prog_CXXCPP
7986 else
7987 ac_cv_prog_CXXCPP=$CXXCPP
7988 fi
7989 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
7990 $as_echo "$CXXCPP" >&6; }
7991 ac_preproc_ok=false
7992 for ac_cxx_preproc_warn_flag in '' yes
7993 do
7994 # Use a header file that comes with gcc, so configuring glibc
7995 # with a fresh cross-compiler works.
7996 # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
7997 # <limits.h> exists even on freestanding compilers.
7998 # On the NeXT, cc -E runs the code through the compiler's parser,
7999 # not just through cpp. "Syntax error" is here to catch this case.
8000 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8001 /* end confdefs.h. */
8002 #ifdef __STDC__
8003 # include <limits.h>
8004 #else
8005 # include <assert.h>
8006 #endif
8007 Syntax error
8008 _ACEOF
8009 if ac_fn_cxx_try_cpp "$LINENO"; then :
8010
8011 else
8012 # Broken: fails on valid input.
8013 continue
8014 fi
8015 rm -f conftest.err conftest.i conftest.$ac_ext
8016
8017 # OK, works on sane cases. Now check whether nonexistent headers
8018 # can be detected and how.
8019 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
8020 /* end confdefs.h. */
8021 #include <ac_nonexistent.h>
8022 _ACEOF
8023 if ac_fn_cxx_try_cpp "$LINENO"; then :
8024 # Broken: success on invalid input.
8025 continue
8026 else
8027 # Passes both tests.
8028 ac_preproc_ok=:
8029 break
8030 fi
8031 rm -f conftest.err conftest.i conftest.$ac_ext
8032
8033 done
8034 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
8035 rm -f conftest.i conftest.err conftest.$ac_ext
8036 if $ac_preproc_ok; then :
8037
8038 else
8039 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
8040 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
8041 _lt_caught_CXX_error=yes; }
8042 fi
8043
8044 ac_ext=c
8045 ac_cpp='$CPP $CPPFLAGS'
8046 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
8047 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
8048 ac_compiler_gnu=$ac_cv_c_compiler_gnu
8049
8050 else
8051 _lt_caught_CXX_error=yes
8052 fi
8053
8054
8055
8056
8057
8058 # Set options
8059
8060
8061
8062 enable_dlopen=no
8063
8064
8065 enable_win32_dll=no
8066
8067
8068 # Check whether --enable-shared was given.
8069 if test "${enable_shared+set}" = set; then :
8070 enableval=$enable_shared; p=${PACKAGE-default}
8071 case $enableval in
8072 yes) enable_shared=yes ;;
8073 no) enable_shared=no ;;
8074 *)
8075 enable_shared=no
8076 # Look at the argument we got. We use all the common list separators.
8077 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8078 for pkg in $enableval; do
8079 IFS="$lt_save_ifs"
8080 if test "X$pkg" = "X$p"; then
8081 enable_shared=yes
8082 fi
8083 done
8084 IFS="$lt_save_ifs"
8085 ;;
8086 esac
8087 else
8088 enable_shared=yes
8089 fi
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099 # Check whether --enable-static was given.
8100 if test "${enable_static+set}" = set; then :
8101 enableval=$enable_static; p=${PACKAGE-default}
8102 case $enableval in
8103 yes) enable_static=yes ;;
8104 no) enable_static=no ;;
8105 *)
8106 enable_static=no
8107 # Look at the argument we got. We use all the common list separators.
8108 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8109 for pkg in $enableval; do
8110 IFS="$lt_save_ifs"
8111 if test "X$pkg" = "X$p"; then
8112 enable_static=yes
8113 fi
8114 done
8115 IFS="$lt_save_ifs"
8116 ;;
8117 esac
8118 else
8119 enable_static=yes
8120 fi
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131 # Check whether --with-pic was given.
8132 if test "${with_pic+set}" = set; then :
8133 withval=$with_pic; pic_mode="$withval"
8134 else
8135 pic_mode=default
8136 fi
8137
8138
8139 test -z "$pic_mode" && pic_mode=default
8140
8141
8142
8143
8144
8145
8146
8147 # Check whether --enable-fast-install was given.
8148 if test "${enable_fast_install+set}" = set; then :
8149 enableval=$enable_fast_install; p=${PACKAGE-default}
8150 case $enableval in
8151 yes) enable_fast_install=yes ;;
8152 no) enable_fast_install=no ;;
8153 *)
8154 enable_fast_install=no
8155 # Look at the argument we got. We use all the common list separators.
8156 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8157 for pkg in $enableval; do
8158 IFS="$lt_save_ifs"
8159 if test "X$pkg" = "X$p"; then
8160 enable_fast_install=yes
8161 fi
8162 done
8163 IFS="$lt_save_ifs"
8164 ;;
8165 esac
8166 else
8167 enable_fast_install=yes
8168 fi
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180 # This can be used to rebuild libtool when needed
8181 LIBTOOL_DEPS="$ltmain"
8182
8183 # Always use our own libtool.
8184 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210 test -z "$LN_S" && LN_S="ln -s"
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225 if test -n "${ZSH_VERSION+set}" ; then
8226 setopt NO_GLOB_SUBST
8227 fi
8228
8229 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
8230 $as_echo_n "checking for objdir... " >&6; }
8231 if test "${lt_cv_objdir+set}" = set; then :
8232 $as_echo_n "(cached) " >&6
8233 else
8234 rm -f .libs 2>/dev/null
8235 mkdir .libs 2>/dev/null
8236 if test -d .libs; then
8237 lt_cv_objdir=.libs
8238 else
8239 # MS-DOS does not allow filenames that begin with a dot.
8240 lt_cv_objdir=_libs
8241 fi
8242 rmdir .libs 2>/dev/null
8243 fi
8244 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
8245 $as_echo "$lt_cv_objdir" >&6; }
8246 objdir=$lt_cv_objdir
8247
8248
8249
8250
8251
8252 cat >>confdefs.h <<_ACEOF
8253 #define LT_OBJDIR "$lt_cv_objdir/"
8254 _ACEOF
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272 case $host_os in
8273 aix3*)
8274 # AIX sometimes has problems with the GCC collect2 program. For some
8275 # reason, if we set the COLLECT_NAMES environment variable, the problems
8276 # vanish in a puff of smoke.
8277 if test "X${COLLECT_NAMES+set}" != Xset; then
8278 COLLECT_NAMES=
8279 export COLLECT_NAMES
8280 fi
8281 ;;
8282 esac
8283
8284 # Sed substitution that helps us do robust quoting. It backslashifies
8285 # metacharacters that are still active within double-quoted strings.
8286 sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
8287
8288 # Same as above, but do not quote variable references.
8289 double_quote_subst='s/\(["`\\]\)/\\\1/g'
8290
8291 # Sed substitution to delay expansion of an escaped shell variable in a
8292 # double_quote_subst'ed string.
8293 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
8294
8295 # Sed substitution to delay expansion of an escaped single quote.
8296 delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
8297
8298 # Sed substitution to avoid accidental globbing in evaled expressions
8299 no_glob_subst='s/\*/\\\*/g'
8300
8301 # Global variables:
8302 ofile=libtool
8303 can_build_shared=yes
8304
8305 # All known linkers require a `.a' archive for static linking (except MSVC,
8306 # which needs '.lib').
8307 libext=a
8308
8309 with_gnu_ld="$lt_cv_prog_gnu_ld"
8310
8311 old_CC="$CC"
8312 old_CFLAGS="$CFLAGS"
8313
8314 # Set sane defaults for various variables
8315 test -z "$CC" && CC=cc
8316 test -z "$LTCC" && LTCC=$CC
8317 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
8318 test -z "$LD" && LD=ld
8319 test -z "$ac_objext" && ac_objext=o
8320
8321 for cc_temp in $compiler""; do
8322 case $cc_temp in
8323 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
8324 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
8325 \-*) ;;
8326 *) break;;
8327 esac
8328 done
8329 cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
8330
8331
8332 # Only perform the check for file, if the check method requires it
8333 test -z "$MAGIC_CMD" && MAGIC_CMD=file
8334 case $deplibs_check_method in
8335 file_magic*)
8336 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
8337 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
8338 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
8339 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
8340 $as_echo_n "(cached) " >&6
8341 else
8342 case $MAGIC_CMD in
8343 [\\/*] | ?:[\\/]*)
8344 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
8345 ;;
8346 *)
8347 lt_save_MAGIC_CMD="$MAGIC_CMD"
8348 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
8349 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
8350 for ac_dir in $ac_dummy; do
8351 IFS="$lt_save_ifs"
8352 test -z "$ac_dir" && ac_dir=.
8353 if test -f $ac_dir/${ac_tool_prefix}file; then
8354 lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
8355 if test -n "$file_magic_test_file"; then
8356 case $deplibs_check_method in
8357 "file_magic "*)
8358 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
8359 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
8360 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
8361 $EGREP "$file_magic_regex" > /dev/null; then
8362 :
8363 else
8364 cat <<_LT_EOF 1>&2
8365
8366 *** Warning: the command libtool uses to detect shared libraries,
8367 *** $file_magic_cmd, produces output that libtool cannot recognize.
8368 *** The result is that libtool may fail to recognize shared libraries
8369 *** as such. This will affect the creation of libtool libraries that
8370 *** depend on shared libraries, but programs linked with such libtool
8371 *** libraries will work regardless of this problem. Nevertheless, you
8372 *** may want to report the problem to your system manager and/or to
8373 *** bug-libtool@gnu.org
8374
8375 _LT_EOF
8376 fi ;;
8377 esac
8378 fi
8379 break
8380 fi
8381 done
8382 IFS="$lt_save_ifs"
8383 MAGIC_CMD="$lt_save_MAGIC_CMD"
8384 ;;
8385 esac
8386 fi
8387
8388 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
8389 if test -n "$MAGIC_CMD"; then
8390 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
8391 $as_echo "$MAGIC_CMD" >&6; }
8392 else
8393 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
8394 $as_echo "no" >&6; }
8395 fi
8396
8397
8398
8399
8400
8401 if test -z "$lt_cv_path_MAGIC_CMD"; then
8402 if test -n "$ac_tool_prefix"; then
8403 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
8404 $as_echo_n "checking for file... " >&6; }
8405 if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
8406 $as_echo_n "(cached) " >&6
8407 else
8408 case $MAGIC_CMD in
8409 [\\/*] | ?:[\\/]*)
8410 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
8411 ;;
8412 *)
8413 lt_save_MAGIC_CMD="$MAGIC_CMD"
8414 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
8415 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
8416 for ac_dir in $ac_dummy; do
8417 IFS="$lt_save_ifs"
8418 test -z "$ac_dir" && ac_dir=.
8419 if test -f $ac_dir/file; then
8420 lt_cv_path_MAGIC_CMD="$ac_dir/file"
8421 if test -n "$file_magic_test_file"; then
8422 case $deplibs_check_method in
8423 "file_magic "*)
8424 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
8425 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
8426 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
8427 $EGREP "$file_magic_regex" > /dev/null; then
8428 :
8429 else
8430 cat <<_LT_EOF 1>&2
8431
8432 *** Warning: the command libtool uses to detect shared libraries,
8433 *** $file_magic_cmd, produces output that libtool cannot recognize.
8434 *** The result is that libtool may fail to recognize shared libraries
8435 *** as such. This will affect the creation of libtool libraries that
8436 *** depend on shared libraries, but programs linked with such libtool
8437 *** libraries will work regardless of this problem. Nevertheless, you
8438 *** may want to report the problem to your system manager and/or to
8439 *** bug-libtool@gnu.org
8440
8441 _LT_EOF
8442 fi ;;
8443 esac
8444 fi
8445 break
8446 fi
8447 done
8448 IFS="$lt_save_ifs"
8449 MAGIC_CMD="$lt_save_MAGIC_CMD"
8450 ;;
8451 esac
8452 fi
8453
8454 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
8455 if test -n "$MAGIC_CMD"; then
8456 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
8457 $as_echo "$MAGIC_CMD" >&6; }
8458 else
8459 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
8460 $as_echo "no" >&6; }
8461 fi
8462
8463
8464 else
8465 MAGIC_CMD=:
8466 fi
8467 fi
8468
8469 fi
8470 ;;
8471 esac
8472
8473 # Use C for the default configuration in the libtool script
8474
8475 lt_save_CC="$CC"
8476 ac_ext=c
8477 ac_cpp='$CPP $CPPFLAGS'
8478 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
8479 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
8480 ac_compiler_gnu=$ac_cv_c_compiler_gnu
8481
8482
8483 # Source file extension for C test sources.
8484 ac_ext=c
8485
8486 # Object file extension for compiled C test sources.
8487 objext=o
8488 objext=$objext
8489
8490 # Code to be used in simple compile tests
8491 lt_simple_compile_test_code="int some_variable = 0;"
8492
8493 # Code to be used in simple link tests
8494 lt_simple_link_test_code='int main(){return(0);}'
8495
8496
8497
8498
8499
8500
8501
8502 # If no C compiler was specified, use CC.
8503 LTCC=${LTCC-"$CC"}
8504
8505 # If no C compiler flags were specified, use CFLAGS.
8506 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
8507
8508 # Allow CC to be a program name with arguments.
8509 compiler=$CC
8510
8511 # Save the default compiler, since it gets overwritten when the other
8512 # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
8513 compiler_DEFAULT=$CC
8514
8515 # save warnings/boilerplate of simple test code
8516 ac_outfile=conftest.$ac_objext
8517 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
8518 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
8519 _lt_compiler_boilerplate=`cat conftest.err`
8520 $RM conftest*
8521
8522 ac_outfile=conftest.$ac_objext
8523 echo "$lt_simple_link_test_code" >conftest.$ac_ext
8524 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
8525 _lt_linker_boilerplate=`cat conftest.err`
8526 $RM -r conftest*
8527
8528
8529 if test -n "$compiler"; then
8530
8531 lt_prog_compiler_no_builtin_flag=
8532
8533 if test "$GCC" = yes; then
8534 lt_prog_compiler_no_builtin_flag=' -fno-builtin'
8535
8536 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
8537 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
8538 if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
8539 $as_echo_n "(cached) " >&6
8540 else
8541 lt_cv_prog_compiler_rtti_exceptions=no
8542 ac_outfile=conftest.$ac_objext
8543 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
8544 lt_compiler_flag="-fno-rtti -fno-exceptions"
8545 # Insert the option either (1) after the last *FLAGS variable, or
8546 # (2) before a word containing "conftest.", or (3) at the end.
8547 # Note that $ac_compile itself does not contain backslashes and begins
8548 # with a dollar sign (not a hyphen), so the echo should work correctly.
8549 # The option is referenced via a variable to avoid confusing sed.
8550 lt_compile=`echo "$ac_compile" | $SED \
8551 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
8552 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
8553 -e 's:$: $lt_compiler_flag:'`
8554 (eval echo "\"\$as_me:8555: $lt_compile\"" >&5)
8555 (eval "$lt_compile" 2>conftest.err)
8556 ac_status=$?
8557 cat conftest.err >&5
8558 echo "$as_me:8559: \$? = $ac_status" >&5
8559 if (exit $ac_status) && test -s "$ac_outfile"; then
8560 # The compiler can only warn and ignore the option if not recognized
8561 # So say no if there are warnings other than the usual output.
8562 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
8563 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
8564 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
8565 lt_cv_prog_compiler_rtti_exceptions=yes
8566 fi
8567 fi
8568 $RM conftest*
8569
8570 fi
8571 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
8572 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
8573
8574 if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
8575 lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
8576 else
8577 :
8578 fi
8579
8580 fi
8581
8582
8583
8584
8585
8586
8587 lt_prog_compiler_wl=
8588 lt_prog_compiler_pic=
8589 lt_prog_compiler_static=
8590
8591 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
8592 $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
8593
8594 if test "$GCC" = yes; then
8595 lt_prog_compiler_wl='-Wl,'
8596 lt_prog_compiler_static='-static'
8597
8598 case $host_os in
8599 aix*)
8600 # All AIX code is PIC.
8601 if test "$host_cpu" = ia64; then
8602 # AIX 5 now supports IA64 processor
8603 lt_prog_compiler_static='-Bstatic'
8604 fi
8605 ;;
8606
8607 amigaos*)
8608 case $host_cpu in
8609 powerpc)
8610 # see comment about AmigaOS4 .so support
8611 lt_prog_compiler_pic='-fPIC'
8612 ;;
8613 m68k)
8614 # FIXME: we need at least 68020 code to build shared libraries, but
8615 # adding the `-m68020' flag to GCC prevents building anything better,
8616 # like `-m68040'.
8617 lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
8618 ;;
8619 esac
8620 ;;
8621
8622 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
8623 # PIC is the default for these OSes.
8624 ;;
8625
8626 mingw* | cygwin* | pw32* | os2* | cegcc*)
8627 # This hack is so that the source file can tell whether it is being
8628 # built for inclusion in a dll (and should export symbols for example).
8629 # Although the cygwin gcc ignores -fPIC, still need this for old-style
8630 # (--disable-auto-import) libraries
8631 lt_prog_compiler_pic='-DDLL_EXPORT'
8632 ;;
8633
8634 darwin* | rhapsody*)
8635 # PIC is the default on this platform
8636 # Common symbols not allowed in MH_DYLIB files
8637 lt_prog_compiler_pic='-fno-common'
8638 ;;
8639
8640 hpux*)
8641 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
8642 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
8643 # sets the default TLS model and affects inlining.
8644 case $host_cpu in
8645 hppa*64*)
8646 # +Z the default
8647 ;;
8648 *)
8649 lt_prog_compiler_pic='-fPIC'
8650 ;;
8651 esac
8652 ;;
8653
8654 interix[3-9]*)
8655 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
8656 # Instead, we relocate shared libraries at runtime.
8657 ;;
8658
8659 msdosdjgpp*)
8660 # Just because we use GCC doesn't mean we suddenly get shared libraries
8661 # on systems that don't support them.
8662 lt_prog_compiler_can_build_shared=no
8663 enable_shared=no
8664 ;;
8665
8666 *nto* | *qnx*)
8667 # QNX uses GNU C++, but need to define -shared option too, otherwise
8668 # it will coredump.
8669 lt_prog_compiler_pic='-fPIC -shared'
8670 ;;
8671
8672 sysv4*MP*)
8673 if test -d /usr/nec; then
8674 lt_prog_compiler_pic=-Kconform_pic
8675 fi
8676 ;;
8677
8678 *)
8679 lt_prog_compiler_pic='-fPIC'
8680 ;;
8681 esac
8682 else
8683 # PORTME Check for flag to pass linker flags through the system compiler.
8684 case $host_os in
8685 aix*)
8686 lt_prog_compiler_wl='-Wl,'
8687 if test "$host_cpu" = ia64; then
8688 # AIX 5 now supports IA64 processor
8689 lt_prog_compiler_static='-Bstatic'
8690 else
8691 lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
8692 fi
8693 ;;
8694
8695 mingw* | cygwin* | pw32* | os2* | cegcc*)
8696 # This hack is so that the source file can tell whether it is being
8697 # built for inclusion in a dll (and should export symbols for example).
8698 lt_prog_compiler_pic='-DDLL_EXPORT'
8699 ;;
8700
8701 hpux9* | hpux10* | hpux11*)
8702 lt_prog_compiler_wl='-Wl,'
8703 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
8704 # not for PA HP-UX.
8705 case $host_cpu in
8706 hppa*64*|ia64*)
8707 # +Z the default
8708 ;;
8709 *)
8710 lt_prog_compiler_pic='+Z'
8711 ;;
8712 esac
8713 # Is there a better lt_prog_compiler_static that works with the bundled CC?
8714 lt_prog_compiler_static='${wl}-a ${wl}archive'
8715 ;;
8716
8717 irix5* | irix6* | nonstopux*)
8718 lt_prog_compiler_wl='-Wl,'
8719 # PIC (with -KPIC) is the default.
8720 lt_prog_compiler_static='-non_shared'
8721 ;;
8722
8723 linux* | k*bsd*-gnu | kopensolaris*-gnu)
8724 case $cc_basename in
8725 # old Intel for x86_64 which still supported -KPIC.
8726 ecc*)
8727 lt_prog_compiler_wl='-Wl,'
8728 lt_prog_compiler_pic='-KPIC'
8729 lt_prog_compiler_static='-static'
8730 ;;
8731 # icc used to be incompatible with GCC.
8732 # ICC 10 doesn't accept -KPIC any more.
8733 icc* | ifort*)
8734 lt_prog_compiler_wl='-Wl,'
8735 lt_prog_compiler_pic='-fPIC'
8736 lt_prog_compiler_static='-static'
8737 ;;
8738 # Lahey Fortran 8.1.
8739 lf95*)
8740 lt_prog_compiler_wl='-Wl,'
8741 lt_prog_compiler_pic='--shared'
8742 lt_prog_compiler_static='--static'
8743 ;;
8744 pgcc* | pgf77* | pgf90* | pgf95*)
8745 # Portland Group compilers (*not* the Pentium gcc compiler,
8746 # which looks to be a dead project)
8747 lt_prog_compiler_wl='-Wl,'
8748 lt_prog_compiler_pic='-fpic'
8749 lt_prog_compiler_static='-Bstatic'
8750 ;;
8751 ccc*)
8752 lt_prog_compiler_wl='-Wl,'
8753 # All Alpha code is PIC.
8754 lt_prog_compiler_static='-non_shared'
8755 ;;
8756 xl*)
8757 # IBM XL C 8.0/Fortran 10.1 on PPC
8758 lt_prog_compiler_wl='-Wl,'
8759 lt_prog_compiler_pic='-qpic'
8760 lt_prog_compiler_static='-qstaticlink'
8761 ;;
8762 *)
8763 case `$CC -V 2>&1 | sed 5q` in
8764 *Sun\ C*)
8765 # Sun C 5.9
8766 lt_prog_compiler_pic='-KPIC'
8767 lt_prog_compiler_static='-Bstatic'
8768 lt_prog_compiler_wl='-Wl,'
8769 ;;
8770 *Sun\ F*)
8771 # Sun Fortran 8.3 passes all unrecognized flags to the linker
8772 lt_prog_compiler_pic='-KPIC'
8773 lt_prog_compiler_static='-Bstatic'
8774 lt_prog_compiler_wl=''
8775 ;;
8776 esac
8777 ;;
8778 esac
8779 ;;
8780
8781 newsos6)
8782 lt_prog_compiler_pic='-KPIC'
8783 lt_prog_compiler_static='-Bstatic'
8784 ;;
8785
8786 *nto* | *qnx*)
8787 # QNX uses GNU C++, but need to define -shared option too, otherwise
8788 # it will coredump.
8789 lt_prog_compiler_pic='-fPIC -shared'
8790 ;;
8791
8792 osf3* | osf4* | osf5*)
8793 lt_prog_compiler_wl='-Wl,'
8794 # All OSF/1 code is PIC.
8795 lt_prog_compiler_static='-non_shared'
8796 ;;
8797
8798 rdos*)
8799 lt_prog_compiler_static='-non_shared'
8800 ;;
8801
8802 solaris*)
8803 lt_prog_compiler_pic='-KPIC'
8804 lt_prog_compiler_static='-Bstatic'
8805 case $cc_basename in
8806 f77* | f90* | f95*)
8807 lt_prog_compiler_wl='-Qoption ld ';;
8808 *)
8809 lt_prog_compiler_wl='-Wl,';;
8810 esac
8811 ;;
8812
8813 sunos4*)
8814 lt_prog_compiler_wl='-Qoption ld '
8815 lt_prog_compiler_pic='-PIC'
8816 lt_prog_compiler_static='-Bstatic'
8817 ;;
8818
8819 sysv4 | sysv4.2uw2* | sysv4.3*)
8820 lt_prog_compiler_wl='-Wl,'
8821 lt_prog_compiler_pic='-KPIC'
8822 lt_prog_compiler_static='-Bstatic'
8823 ;;
8824
8825 sysv4*MP*)
8826 if test -d /usr/nec ;then
8827 lt_prog_compiler_pic='-Kconform_pic'
8828 lt_prog_compiler_static='-Bstatic'
8829 fi
8830 ;;
8831
8832 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
8833 lt_prog_compiler_wl='-Wl,'
8834 lt_prog_compiler_pic='-KPIC'
8835 lt_prog_compiler_static='-Bstatic'
8836 ;;
8837
8838 unicos*)
8839 lt_prog_compiler_wl='-Wl,'
8840 lt_prog_compiler_can_build_shared=no
8841 ;;
8842
8843 uts4*)
8844 lt_prog_compiler_pic='-pic'
8845 lt_prog_compiler_static='-Bstatic'
8846 ;;
8847
8848 *)
8849 lt_prog_compiler_can_build_shared=no
8850 ;;
8851 esac
8852 fi
8853
8854 case $host_os in
8855 # For platforms which do not support PIC, -DPIC is meaningless:
8856 *djgpp*)
8857 lt_prog_compiler_pic=
8858 ;;
8859 *)
8860 lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
8861 ;;
8862 esac
8863 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
8864 $as_echo "$lt_prog_compiler_pic" >&6; }
8865
8866
8867
8868
8869
8870
8871 #
8872 # Check to make sure the PIC flag actually works.
8873 #
8874 if test -n "$lt_prog_compiler_pic"; then
8875 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
8876 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
8877 if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
8878 $as_echo_n "(cached) " >&6
8879 else
8880 lt_cv_prog_compiler_pic_works=no
8881 ac_outfile=conftest.$ac_objext
8882 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
8883 lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
8884 # Insert the option either (1) after the last *FLAGS variable, or
8885 # (2) before a word containing "conftest.", or (3) at the end.
8886 # Note that $ac_compile itself does not contain backslashes and begins
8887 # with a dollar sign (not a hyphen), so the echo should work correctly.
8888 # The option is referenced via a variable to avoid confusing sed.
8889 lt_compile=`echo "$ac_compile" | $SED \
8890 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
8891 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
8892 -e 's:$: $lt_compiler_flag:'`
8893 (eval echo "\"\$as_me:8894: $lt_compile\"" >&5)
8894 (eval "$lt_compile" 2>conftest.err)
8895 ac_status=$?
8896 cat conftest.err >&5
8897 echo "$as_me:8898: \$? = $ac_status" >&5
8898 if (exit $ac_status) && test -s "$ac_outfile"; then
8899 # The compiler can only warn and ignore the option if not recognized
8900 # So say no if there are warnings other than the usual output.
8901 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
8902 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
8903 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
8904 lt_cv_prog_compiler_pic_works=yes
8905 fi
8906 fi
8907 $RM conftest*
8908
8909 fi
8910 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
8911 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
8912
8913 if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
8914 case $lt_prog_compiler_pic in
8915 "" | " "*) ;;
8916 *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
8917 esac
8918 else
8919 lt_prog_compiler_pic=
8920 lt_prog_compiler_can_build_shared=no
8921 fi
8922
8923 fi
8924
8925
8926
8927
8928
8929
8930 #
8931 # Check to make sure the static flag actually works.
8932 #
8933 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
8934 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
8935 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
8936 if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
8937 $as_echo_n "(cached) " >&6
8938 else
8939 lt_cv_prog_compiler_static_works=no
8940 save_LDFLAGS="$LDFLAGS"
8941 LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
8942 echo "$lt_simple_link_test_code" > conftest.$ac_ext
8943 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
8944 # The linker can only warn and ignore the option if not recognized
8945 # So say no if there are warnings
8946 if test -s conftest.err; then
8947 # Append any errors to the config.log.
8948 cat conftest.err 1>&5
8949 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
8950 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
8951 if diff conftest.exp conftest.er2 >/dev/null; then
8952 lt_cv_prog_compiler_static_works=yes
8953 fi
8954 else
8955 lt_cv_prog_compiler_static_works=yes
8956 fi
8957 fi
8958 $RM -r conftest*
8959 LDFLAGS="$save_LDFLAGS"
8960
8961 fi
8962 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
8963 $as_echo "$lt_cv_prog_compiler_static_works" >&6; }
8964
8965 if test x"$lt_cv_prog_compiler_static_works" = xyes; then
8966 :
8967 else
8968 lt_prog_compiler_static=
8969 fi
8970
8971
8972
8973
8974
8975
8976
8977 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
8978 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
8979 if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
8980 $as_echo_n "(cached) " >&6
8981 else
8982 lt_cv_prog_compiler_c_o=no
8983 $RM -r conftest 2>/dev/null
8984 mkdir conftest
8985 cd conftest
8986 mkdir out
8987 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
8988
8989 lt_compiler_flag="-o out/conftest2.$ac_objext"
8990 # Insert the option either (1) after the last *FLAGS variable, or
8991 # (2) before a word containing "conftest.", or (3) at the end.
8992 # Note that $ac_compile itself does not contain backslashes and begins
8993 # with a dollar sign (not a hyphen), so the echo should work correctly.
8994 lt_compile=`echo "$ac_compile" | $SED \
8995 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
8996 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
8997 -e 's:$: $lt_compiler_flag:'`
8998 (eval echo "\"\$as_me:8999: $lt_compile\"" >&5)
8999 (eval "$lt_compile" 2>out/conftest.err)
9000 ac_status=$?
9001 cat out/conftest.err >&5
9002 echo "$as_me:9003: \$? = $ac_status" >&5
9003 if (exit $ac_status) && test -s out/conftest2.$ac_objext
9004 then
9005 # The compiler can only warn and ignore the option if not recognized
9006 # So say no if there are warnings
9007 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
9008 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
9009 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
9010 lt_cv_prog_compiler_c_o=yes
9011 fi
9012 fi
9013 chmod u+w . 2>&5
9014 $RM conftest*
9015 # SGI C++ compiler will create directory out/ii_files/ for
9016 # template instantiation
9017 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
9018 $RM out/* && rmdir out
9019 cd ..
9020 $RM -r conftest
9021 $RM conftest*
9022
9023 fi
9024 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
9025 $as_echo "$lt_cv_prog_compiler_c_o" >&6; }
9026
9027
9028
9029
9030
9031
9032 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
9033 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
9034 if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
9035 $as_echo_n "(cached) " >&6
9036 else
9037 lt_cv_prog_compiler_c_o=no
9038 $RM -r conftest 2>/dev/null
9039 mkdir conftest
9040 cd conftest
9041 mkdir out
9042 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
9043
9044 lt_compiler_flag="-o out/conftest2.$ac_objext"
9045 # Insert the option either (1) after the last *FLAGS variable, or
9046 # (2) before a word containing "conftest.", or (3) at the end.
9047 # Note that $ac_compile itself does not contain backslashes and begins
9048 # with a dollar sign (not a hyphen), so the echo should work correctly.
9049 lt_compile=`echo "$ac_compile" | $SED \
9050 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
9051 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
9052 -e 's:$: $lt_compiler_flag:'`
9053 (eval echo "\"\$as_me:9054: $lt_compile\"" >&5)
9054 (eval "$lt_compile" 2>out/conftest.err)
9055 ac_status=$?
9056 cat out/conftest.err >&5
9057 echo "$as_me:9058: \$? = $ac_status" >&5
9058 if (exit $ac_status) && test -s out/conftest2.$ac_objext
9059 then
9060 # The compiler can only warn and ignore the option if not recognized
9061 # So say no if there are warnings
9062 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
9063 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
9064 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
9065 lt_cv_prog_compiler_c_o=yes
9066 fi
9067 fi
9068 chmod u+w . 2>&5
9069 $RM conftest*
9070 # SGI C++ compiler will create directory out/ii_files/ for
9071 # template instantiation
9072 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
9073 $RM out/* && rmdir out
9074 cd ..
9075 $RM -r conftest
9076 $RM conftest*
9077
9078 fi
9079 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
9080 $as_echo "$lt_cv_prog_compiler_c_o" >&6; }
9081
9082
9083
9084
9085 hard_links="nottested"
9086 if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
9087 # do not overwrite the value of need_locks provided by the user
9088 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
9089 $as_echo_n "checking if we can lock with hard links... " >&6; }
9090 hard_links=yes
9091 $RM conftest*
9092 ln conftest.a conftest.b 2>/dev/null && hard_links=no
9093 touch conftest.a
9094 ln conftest.a conftest.b 2>&5 || hard_links=no
9095 ln conftest.a conftest.b 2>/dev/null && hard_links=no
9096 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
9097 $as_echo "$hard_links" >&6; }
9098 if test "$hard_links" = no; then
9099 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
9100 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
9101 need_locks=warn
9102 fi
9103 else
9104 need_locks=no
9105 fi
9106
9107
9108
9109
9110
9111
9112 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
9113 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
9114
9115 runpath_var=
9116 allow_undefined_flag=
9117 always_export_symbols=no
9118 archive_cmds=
9119 archive_expsym_cmds=
9120 compiler_needs_object=no
9121 enable_shared_with_static_runtimes=no
9122 export_dynamic_flag_spec=
9123 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
9124 hardcode_automatic=no
9125 hardcode_direct=no
9126 hardcode_direct_absolute=no
9127 hardcode_libdir_flag_spec=
9128 hardcode_libdir_flag_spec_ld=
9129 hardcode_libdir_separator=
9130 hardcode_minus_L=no
9131 hardcode_shlibpath_var=unsupported
9132 inherit_rpath=no
9133 link_all_deplibs=unknown
9134 module_cmds=
9135 module_expsym_cmds=
9136 old_archive_from_new_cmds=
9137 old_archive_from_expsyms_cmds=
9138 thread_safe_flag_spec=
9139 whole_archive_flag_spec=
9140 # include_expsyms should be a list of space-separated symbols to be *always*
9141 # included in the symbol list
9142 include_expsyms=
9143 # exclude_expsyms can be an extended regexp of symbols to exclude
9144 # it will be wrapped by ` (' and `)$', so one must not match beginning or
9145 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
9146 # as well as any symbol that contains `d'.
9147 exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
9148 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
9149 # platforms (ab)use it in PIC code, but their linkers get confused if
9150 # the symbol is explicitly referenced. Since portable code cannot
9151 # rely on this symbol name, it's probably fine to never include it in
9152 # preloaded symbol tables.
9153 # Exclude shared library initialization/finalization symbols.
9154 extract_expsyms_cmds=
9155
9156 case $host_os in
9157 cygwin* | mingw* | pw32* | cegcc*)
9158 # FIXME: the MSVC++ port hasn't been tested in a loooong time
9159 # When not using gcc, we currently assume that we are using
9160 # Microsoft Visual C++.
9161 if test "$GCC" != yes; then
9162 with_gnu_ld=no
9163 fi
9164 ;;
9165 interix*)
9166 # we just hope/assume this is gcc and not c89 (= MSVC++)
9167 with_gnu_ld=yes
9168 ;;
9169 openbsd*)
9170 with_gnu_ld=no
9171 ;;
9172 linux* | k*bsd*-gnu)
9173 link_all_deplibs=no
9174 ;;
9175 esac
9176
9177 ld_shlibs=yes
9178 if test "$with_gnu_ld" = yes; then
9179 # If archive_cmds runs LD, not CC, wlarc should be empty
9180 wlarc='${wl}'
9181
9182 # Set some defaults for GNU ld with shared library support. These
9183 # are reset later if shared libraries are not supported. Putting them
9184 # here allows them to be overridden if necessary.
9185 runpath_var=LD_RUN_PATH
9186 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
9187 export_dynamic_flag_spec='${wl}--export-dynamic'
9188 # ancient GNU ld didn't support --whole-archive et. al.
9189 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
9190 whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
9191 else
9192 whole_archive_flag_spec=
9193 fi
9194 supports_anon_versioning=no
9195 case `$LD -v 2>&1` in
9196 *GNU\ gold*) supports_anon_versioning=yes ;;
9197 *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
9198 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
9199 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
9200 *\ 2.11.*) ;; # other 2.11 versions
9201 *) supports_anon_versioning=yes ;;
9202 esac
9203
9204 # See if GNU ld supports shared libraries.
9205 case $host_os in
9206 aix[3-9]*)
9207 # On AIX/PPC, the GNU linker is very broken
9208 if test "$host_cpu" != ia64; then
9209 ld_shlibs=no
9210 cat <<_LT_EOF 1>&2
9211
9212 *** Warning: the GNU linker, at least up to release 2.9.1, is reported
9213 *** to be unable to reliably create shared libraries on AIX.
9214 *** Therefore, libtool is disabling shared libraries support. If you
9215 *** really care for shared libraries, you may want to modify your PATH
9216 *** so that a non-GNU linker is found, and then restart.
9217
9218 _LT_EOF
9219 fi
9220 ;;
9221
9222 amigaos*)
9223 case $host_cpu in
9224 powerpc)
9225 # see comment about AmigaOS4 .so support
9226 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
9227 archive_expsym_cmds=''
9228 ;;
9229 m68k)
9230 archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
9231 hardcode_libdir_flag_spec='-L$libdir'
9232 hardcode_minus_L=yes
9233 ;;
9234 esac
9235 ;;
9236
9237 beos*)
9238 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
9239 allow_undefined_flag=unsupported
9240 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
9241 # support --undefined. This deserves some investigation. FIXME
9242 archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
9243 else
9244 ld_shlibs=no
9245 fi
9246 ;;
9247
9248 cygwin* | mingw* | pw32* | cegcc*)
9249 # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
9250 # as there is no search path for DLLs.
9251 hardcode_libdir_flag_spec='-L$libdir'
9252 allow_undefined_flag=unsupported
9253 always_export_symbols=no
9254 enable_shared_with_static_runtimes=yes
9255 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
9256
9257 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
9258 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
9259 # If the export-symbols file already is a .def file (1st line
9260 # is EXPORTS), use it as is; otherwise, prepend...
9261 archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
9262 cp $export_symbols $output_objdir/$soname.def;
9263 else
9264 echo EXPORTS > $output_objdir/$soname.def;
9265 cat $export_symbols >> $output_objdir/$soname.def;
9266 fi~
9267 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
9268 else
9269 ld_shlibs=no
9270 fi
9271 ;;
9272
9273 interix[3-9]*)
9274 hardcode_direct=no
9275 hardcode_shlibpath_var=no
9276 hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
9277 export_dynamic_flag_spec='${wl}-E'
9278 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
9279 # Instead, shared libraries are loaded at an image base (0x10000000 by
9280 # default) and relocated if they conflict, which is a slow very memory
9281 # consuming and fragmenting process. To avoid this, we pick a random,
9282 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
9283 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
9284 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
9285 archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
9286 ;;
9287
9288 gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
9289 tmp_diet=no
9290 if test "$host_os" = linux-dietlibc; then
9291 case $cc_basename in
9292 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
9293 esac
9294 fi
9295 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
9296 && test "$tmp_diet" = no
9297 then
9298 tmp_addflag=
9299 tmp_sharedflag='-shared'
9300 case $cc_basename,$host_cpu in
9301 pgcc*) # Portland Group C compiler
9302 whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
9303 tmp_addflag=' $pic_flag'
9304 ;;
9305 pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
9306 whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
9307 tmp_addflag=' $pic_flag -Mnomain' ;;
9308 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
9309 tmp_addflag=' -i_dynamic' ;;
9310 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
9311 tmp_addflag=' -i_dynamic -nofor_main' ;;
9312 ifc* | ifort*) # Intel Fortran compiler
9313 tmp_addflag=' -nofor_main' ;;
9314 lf95*) # Lahey Fortran 8.1
9315 whole_archive_flag_spec=
9316 tmp_sharedflag='--shared' ;;
9317 xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
9318 tmp_sharedflag='-qmkshrobj'
9319 tmp_addflag= ;;
9320 esac
9321 case `$CC -V 2>&1 | sed 5q` in
9322 *Sun\ C*) # Sun C 5.9
9323 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
9324 compiler_needs_object=yes
9325 tmp_sharedflag='-G' ;;
9326 *Sun\ F*) # Sun Fortran 8.3
9327 tmp_sharedflag='-G' ;;
9328 esac
9329 archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
9330
9331 if test "x$supports_anon_versioning" = xyes; then
9332 archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
9333 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
9334 echo "local: *; };" >> $output_objdir/$libname.ver~
9335 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
9336 fi
9337
9338 case $cc_basename in
9339 xlf*)
9340 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
9341 whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
9342 hardcode_libdir_flag_spec=
9343 hardcode_libdir_flag_spec_ld='-rpath $libdir'
9344 archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
9345 if test "x$supports_anon_versioning" = xyes; then
9346 archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
9347 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
9348 echo "local: *; };" >> $output_objdir/$libname.ver~
9349 $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
9350 fi
9351 ;;
9352 esac
9353 else
9354 ld_shlibs=no
9355 fi
9356 ;;
9357
9358 netbsd* | netbsdelf*-gnu)
9359 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
9360 archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
9361 wlarc=
9362 else
9363 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
9364 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
9365 fi
9366 ;;
9367
9368 solaris*)
9369 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
9370 ld_shlibs=no
9371 cat <<_LT_EOF 1>&2
9372
9373 *** Warning: The releases 2.8.* of the GNU linker cannot reliably
9374 *** create shared libraries on Solaris systems. Therefore, libtool
9375 *** is disabling shared libraries support. We urge you to upgrade GNU
9376 *** binutils to release 2.9.1 or newer. Another option is to modify
9377 *** your PATH or compiler configuration so that the native linker is
9378 *** used, and then restart.
9379
9380 _LT_EOF
9381 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
9382 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
9383 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
9384 else
9385 ld_shlibs=no
9386 fi
9387 ;;
9388
9389 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
9390 case `$LD -v 2>&1` in
9391 *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
9392 ld_shlibs=no
9393 cat <<_LT_EOF 1>&2
9394
9395 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
9396 *** reliably create shared libraries on SCO systems. Therefore, libtool
9397 *** is disabling shared libraries support. We urge you to upgrade GNU
9398 *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
9399 *** your PATH or compiler configuration so that the native linker is
9400 *** used, and then restart.
9401
9402 _LT_EOF
9403 ;;
9404 *)
9405 # For security reasons, it is highly recommended that you always
9406 # use absolute paths for naming shared libraries, and exclude the
9407 # DT_RUNPATH tag from executables and libraries. But doing so
9408 # requires that you compile everything twice, which is a pain.
9409 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
9410 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
9411 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
9412 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
9413 else
9414 ld_shlibs=no
9415 fi
9416 ;;
9417 esac
9418 ;;
9419
9420 sunos4*)
9421 archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
9422 wlarc=
9423 hardcode_direct=yes
9424 hardcode_shlibpath_var=no
9425 ;;
9426
9427 *)
9428 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
9429 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
9430 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
9431 else
9432 ld_shlibs=no
9433 fi
9434 ;;
9435 esac
9436
9437 if test "$ld_shlibs" = no; then
9438 runpath_var=
9439 hardcode_libdir_flag_spec=
9440 export_dynamic_flag_spec=
9441 whole_archive_flag_spec=
9442 fi
9443 else
9444 # PORTME fill in a description of your system's linker (not GNU ld)
9445 case $host_os in
9446 aix3*)
9447 allow_undefined_flag=unsupported
9448 always_export_symbols=yes
9449 archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
9450 # Note: this linker hardcodes the directories in LIBPATH if there
9451 # are no directories specified by -L.
9452 hardcode_minus_L=yes
9453 if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
9454 # Neither direct hardcoding nor static linking is supported with a
9455 # broken collect2.
9456 hardcode_direct=unsupported
9457 fi
9458 ;;
9459
9460 aix[4-9]*)
9461 if test "$host_cpu" = ia64; then
9462 # On IA64, the linker does run time linking by default, so we don't
9463 # have to do anything special.
9464 aix_use_runtimelinking=no
9465 exp_sym_flag='-Bexport'
9466 no_entry_flag=""
9467 else
9468 # If we're using GNU nm, then we don't want the "-C" option.
9469 # -C means demangle to AIX nm, but means don't demangle with GNU nm
9470 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
9471 export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
9472 else
9473 export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
9474 fi
9475 aix_use_runtimelinking=no
9476
9477 # Test if we are trying to use run time linking or normal
9478 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
9479 # need to do runtime linking.
9480 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
9481 for ld_flag in $LDFLAGS; do
9482 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
9483 aix_use_runtimelinking=yes
9484 break
9485 fi
9486 done
9487 ;;
9488 esac
9489
9490 exp_sym_flag='-bexport'
9491 no_entry_flag='-bnoentry'
9492 fi
9493
9494 # When large executables or shared objects are built, AIX ld can
9495 # have problems creating the table of contents. If linking a library
9496 # or program results in "error TOC overflow" add -mminimal-toc to
9497 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
9498 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
9499
9500 archive_cmds=''
9501 hardcode_direct=yes
9502 hardcode_direct_absolute=yes
9503 hardcode_libdir_separator=':'
9504 link_all_deplibs=yes
9505 file_list_spec='${wl}-f,'
9506
9507 if test "$GCC" = yes; then
9508 case $host_os in aix4.[012]|aix4.[012].*)
9509 # We only want to do this on AIX 4.2 and lower, the check
9510 # below for broken collect2 doesn't work under 4.3+
9511 collect2name=`${CC} -print-prog-name=collect2`
9512 if test -f "$collect2name" &&
9513 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
9514 then
9515 # We have reworked collect2
9516 :
9517 else
9518 # We have old collect2
9519 hardcode_direct=unsupported
9520 # It fails to find uninstalled libraries when the uninstalled
9521 # path is not listed in the libpath. Setting hardcode_minus_L
9522 # to unsupported forces relinking
9523 hardcode_minus_L=yes
9524 hardcode_libdir_flag_spec='-L$libdir'
9525 hardcode_libdir_separator=
9526 fi
9527 ;;
9528 esac
9529 shared_flag='-shared'
9530 if test "$aix_use_runtimelinking" = yes; then
9531 shared_flag="$shared_flag "'${wl}-G'
9532 fi
9533 link_all_deplibs=no
9534 else
9535 # not using gcc
9536 if test "$host_cpu" = ia64; then
9537 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
9538 # chokes on -Wl,-G. The following line is correct:
9539 shared_flag='-G'
9540 else
9541 if test "$aix_use_runtimelinking" = yes; then
9542 shared_flag='${wl}-G'
9543 else
9544 shared_flag='${wl}-bM:SRE'
9545 fi
9546 fi
9547 fi
9548
9549 export_dynamic_flag_spec='${wl}-bexpall'
9550 # It seems that -bexpall does not export symbols beginning with
9551 # underscore (_), so it is better to generate a list of symbols to export.
9552 always_export_symbols=yes
9553 if test "$aix_use_runtimelinking" = yes; then
9554 # Warning - without using the other runtime loading flags (-brtl),
9555 # -berok will link without error, but may produce a broken library.
9556 allow_undefined_flag='-berok'
9557 # Determine the default libpath from the value encoded in an
9558 # empty executable.
9559 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9560 /* end confdefs.h. */
9561
9562 int
9563 main ()
9564 {
9565
9566 ;
9567 return 0;
9568 }
9569 _ACEOF
9570 if ac_fn_c_try_link "$LINENO"; then :
9571
9572 lt_aix_libpath_sed='
9573 /Import File Strings/,/^$/ {
9574 /^0/ {
9575 s/^0 *\(.*\)$/\1/
9576 p
9577 }
9578 }'
9579 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
9580 # Check for a 64-bit object if we didn't find anything.
9581 if test -z "$aix_libpath"; then
9582 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
9583 fi
9584 fi
9585 rm -f core conftest.err conftest.$ac_objext \
9586 conftest$ac_exeext conftest.$ac_ext
9587 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
9588
9589 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
9590 archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
9591 else
9592 if test "$host_cpu" = ia64; then
9593 hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
9594 allow_undefined_flag="-z nodefs"
9595 archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
9596 else
9597 # Determine the default libpath from the value encoded in an
9598 # empty executable.
9599 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9600 /* end confdefs.h. */
9601
9602 int
9603 main ()
9604 {
9605
9606 ;
9607 return 0;
9608 }
9609 _ACEOF
9610 if ac_fn_c_try_link "$LINENO"; then :
9611
9612 lt_aix_libpath_sed='
9613 /Import File Strings/,/^$/ {
9614 /^0/ {
9615 s/^0 *\(.*\)$/\1/
9616 p
9617 }
9618 }'
9619 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
9620 # Check for a 64-bit object if we didn't find anything.
9621 if test -z "$aix_libpath"; then
9622 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
9623 fi
9624 fi
9625 rm -f core conftest.err conftest.$ac_objext \
9626 conftest$ac_exeext conftest.$ac_ext
9627 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
9628
9629 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
9630 # Warning - without using the other run time loading flags,
9631 # -berok will link without error, but may produce a broken library.
9632 no_undefined_flag=' ${wl}-bernotok'
9633 allow_undefined_flag=' ${wl}-berok'
9634 # Exported symbols can be pulled into shared objects from archives
9635 whole_archive_flag_spec='$convenience'
9636 archive_cmds_need_lc=yes
9637 # This is similar to how AIX traditionally builds its shared libraries.
9638 archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
9639 fi
9640 fi
9641 ;;
9642
9643 amigaos*)
9644 case $host_cpu in
9645 powerpc)
9646 # see comment about AmigaOS4 .so support
9647 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
9648 archive_expsym_cmds=''
9649 ;;
9650 m68k)
9651 archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
9652 hardcode_libdir_flag_spec='-L$libdir'
9653 hardcode_minus_L=yes
9654 ;;
9655 esac
9656 ;;
9657
9658 bsdi[45]*)
9659 export_dynamic_flag_spec=-rdynamic
9660 ;;
9661
9662 cygwin* | mingw* | pw32* | cegcc*)
9663 # When not using gcc, we currently assume that we are using
9664 # Microsoft Visual C++.
9665 # hardcode_libdir_flag_spec is actually meaningless, as there is
9666 # no search path for DLLs.
9667 hardcode_libdir_flag_spec=' '
9668 allow_undefined_flag=unsupported
9669 # Tell ltmain to make .lib files, not .a files.
9670 libext=lib
9671 # Tell ltmain to make .dll files, not .so files.
9672 shrext_cmds=".dll"
9673 # FIXME: Setting linknames here is a bad hack.
9674 archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
9675 # The linker will automatically build a .lib file if we build a DLL.
9676 old_archive_from_new_cmds='true'
9677 # FIXME: Should let the user specify the lib program.
9678 old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
9679 fix_srcfile_path='`cygpath -w "$srcfile"`'
9680 enable_shared_with_static_runtimes=yes
9681 ;;
9682
9683 darwin* | rhapsody*)
9684
9685
9686 archive_cmds_need_lc=no
9687 hardcode_direct=no
9688 hardcode_automatic=yes
9689 hardcode_shlibpath_var=unsupported
9690 whole_archive_flag_spec=''
9691 link_all_deplibs=yes
9692 allow_undefined_flag="$_lt_dar_allow_undefined"
9693 case $cc_basename in
9694 ifort*) _lt_dar_can_shared=yes ;;
9695 *) _lt_dar_can_shared=$GCC ;;
9696 esac
9697 if test "$_lt_dar_can_shared" = "yes"; then
9698 output_verbose_link_cmd=echo
9699 archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
9700 module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
9701 archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
9702 module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
9703
9704 else
9705 ld_shlibs=no
9706 fi
9707
9708 ;;
9709
9710 dgux*)
9711 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
9712 hardcode_libdir_flag_spec='-L$libdir'
9713 hardcode_shlibpath_var=no
9714 ;;
9715
9716 freebsd1*)
9717 ld_shlibs=no
9718 ;;
9719
9720 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
9721 # support. Future versions do this automatically, but an explicit c++rt0.o
9722 # does not break anything, and helps significantly (at the cost of a little
9723 # extra space).
9724 freebsd2.2*)
9725 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
9726 hardcode_libdir_flag_spec='-R$libdir'
9727 hardcode_direct=yes
9728 hardcode_shlibpath_var=no
9729 ;;
9730
9731 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
9732 freebsd2*)
9733 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
9734 hardcode_direct=yes
9735 hardcode_minus_L=yes
9736 hardcode_shlibpath_var=no
9737 ;;
9738
9739 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
9740 freebsd* | dragonfly*)
9741 archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
9742 hardcode_libdir_flag_spec='-R$libdir'
9743 hardcode_direct=yes
9744 hardcode_shlibpath_var=no
9745 ;;
9746
9747 hpux9*)
9748 if test "$GCC" = yes; then
9749 archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
9750 else
9751 archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
9752 fi
9753 hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
9754 hardcode_libdir_separator=:
9755 hardcode_direct=yes
9756
9757 # hardcode_minus_L: Not really in the search PATH,
9758 # but as the default location of the library.
9759 hardcode_minus_L=yes
9760 export_dynamic_flag_spec='${wl}-E'
9761 ;;
9762
9763 hpux10*)
9764 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
9765 archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
9766 else
9767 archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
9768 fi
9769 if test "$with_gnu_ld" = no; then
9770 hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
9771 hardcode_libdir_flag_spec_ld='+b $libdir'
9772 hardcode_libdir_separator=:
9773 hardcode_direct=yes
9774 hardcode_direct_absolute=yes
9775 export_dynamic_flag_spec='${wl}-E'
9776 # hardcode_minus_L: Not really in the search PATH,
9777 # but as the default location of the library.
9778 hardcode_minus_L=yes
9779 fi
9780 ;;
9781
9782 hpux11*)
9783 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
9784 case $host_cpu in
9785 hppa*64*)
9786 archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
9787 ;;
9788 ia64*)
9789 archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
9790 ;;
9791 *)
9792 archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
9793 ;;
9794 esac
9795 else
9796 case $host_cpu in
9797 hppa*64*)
9798 archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
9799 ;;
9800 ia64*)
9801 archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
9802 ;;
9803 *)
9804 archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
9805 ;;
9806 esac
9807 fi
9808 if test "$with_gnu_ld" = no; then
9809 hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
9810 hardcode_libdir_separator=:
9811
9812 case $host_cpu in
9813 hppa*64*|ia64*)
9814 hardcode_direct=no
9815 hardcode_shlibpath_var=no
9816 ;;
9817 *)
9818 hardcode_direct=yes
9819 hardcode_direct_absolute=yes
9820 export_dynamic_flag_spec='${wl}-E'
9821
9822 # hardcode_minus_L: Not really in the search PATH,
9823 # but as the default location of the library.
9824 hardcode_minus_L=yes
9825 ;;
9826 esac
9827 fi
9828 ;;
9829
9830 irix5* | irix6* | nonstopux*)
9831 if test "$GCC" = yes; then
9832 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
9833 # Try to use the -exported_symbol ld option, if it does not
9834 # work, assume that -exports_file does not work either and
9835 # implicitly export all symbols.
9836 save_LDFLAGS="$LDFLAGS"
9837 LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
9838 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9839 /* end confdefs.h. */
9840 int foo(void) {}
9841 _ACEOF
9842 if ac_fn_c_try_link "$LINENO"; then :
9843 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
9844
9845 fi
9846 rm -f core conftest.err conftest.$ac_objext \
9847 conftest$ac_exeext conftest.$ac_ext
9848 LDFLAGS="$save_LDFLAGS"
9849 else
9850 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
9851 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
9852 fi
9853 archive_cmds_need_lc='no'
9854 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
9855 hardcode_libdir_separator=:
9856 inherit_rpath=yes
9857 link_all_deplibs=yes
9858 ;;
9859
9860 netbsd* | netbsdelf*-gnu)
9861 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
9862 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
9863 else
9864 archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
9865 fi
9866 hardcode_libdir_flag_spec='-R$libdir'
9867 hardcode_direct=yes
9868 hardcode_shlibpath_var=no
9869 ;;
9870
9871 newsos6)
9872 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
9873 hardcode_direct=yes
9874 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
9875 hardcode_libdir_separator=:
9876 hardcode_shlibpath_var=no
9877 ;;
9878
9879 *nto* | *qnx*)
9880 ;;
9881
9882 openbsd*)
9883 if test -f /usr/libexec/ld.so; then
9884 hardcode_direct=yes
9885 hardcode_shlibpath_var=no
9886 hardcode_direct_absolute=yes
9887 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
9888 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
9889 archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
9890 hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
9891 export_dynamic_flag_spec='${wl}-E'
9892 else
9893 case $host_os in
9894 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
9895 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
9896 hardcode_libdir_flag_spec='-R$libdir'
9897 ;;
9898 *)
9899 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
9900 hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
9901 ;;
9902 esac
9903 fi
9904 else
9905 ld_shlibs=no
9906 fi
9907 ;;
9908
9909 os2*)
9910 hardcode_libdir_flag_spec='-L$libdir'
9911 hardcode_minus_L=yes
9912 allow_undefined_flag=unsupported
9913 archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
9914 old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
9915 ;;
9916
9917 osf3*)
9918 if test "$GCC" = yes; then
9919 allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
9920 archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
9921 else
9922 allow_undefined_flag=' -expect_unresolved \*'
9923 archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
9924 fi
9925 archive_cmds_need_lc='no'
9926 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
9927 hardcode_libdir_separator=:
9928 ;;
9929
9930 osf4* | osf5*) # as osf3* with the addition of -msym flag
9931 if test "$GCC" = yes; then
9932 allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
9933 archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
9934 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
9935 else
9936 allow_undefined_flag=' -expect_unresolved \*'
9937 archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
9938 archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
9939 $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
9940
9941 # Both c and cxx compiler support -rpath directly
9942 hardcode_libdir_flag_spec='-rpath $libdir'
9943 fi
9944 archive_cmds_need_lc='no'
9945 hardcode_libdir_separator=:
9946 ;;
9947
9948 solaris*)
9949 no_undefined_flag=' -z defs'
9950 if test "$GCC" = yes; then
9951 wlarc='${wl}'
9952 archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
9953 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
9954 $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
9955 else
9956 case `$CC -V 2>&1` in
9957 *"Compilers 5.0"*)
9958 wlarc=''
9959 archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
9960 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
9961 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
9962 ;;
9963 *)
9964 wlarc='${wl}'
9965 archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
9966 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
9967 $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
9968 ;;
9969 esac
9970 fi
9971 hardcode_libdir_flag_spec='-R$libdir'
9972 hardcode_shlibpath_var=no
9973 case $host_os in
9974 solaris2.[0-5] | solaris2.[0-5].*) ;;
9975 *)
9976 # The compiler driver will combine and reorder linker options,
9977 # but understands `-z linker_flag'. GCC discards it without `$wl',
9978 # but is careful enough not to reorder.
9979 # Supported since Solaris 2.6 (maybe 2.5.1?)
9980 if test "$GCC" = yes; then
9981 whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
9982 else
9983 whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
9984 fi
9985 ;;
9986 esac
9987 link_all_deplibs=yes
9988 ;;
9989
9990 sunos4*)
9991 if test "x$host_vendor" = xsequent; then
9992 # Use $CC to link under sequent, because it throws in some extra .o
9993 # files that make .init and .fini sections work.
9994 archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
9995 else
9996 archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
9997 fi
9998 hardcode_libdir_flag_spec='-L$libdir'
9999 hardcode_direct=yes
10000 hardcode_minus_L=yes
10001 hardcode_shlibpath_var=no
10002 ;;
10003
10004 sysv4)
10005 case $host_vendor in
10006 sni)
10007 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
10008 hardcode_direct=yes # is this really true???
10009 ;;
10010 siemens)
10011 ## LD is ld it makes a PLAMLIB
10012 ## CC just makes a GrossModule.
10013 archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
10014 reload_cmds='$CC -r -o $output$reload_objs'
10015 hardcode_direct=no
10016 ;;
10017 motorola)
10018 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
10019 hardcode_direct=no #Motorola manual says yes, but my tests say they lie
10020 ;;
10021 esac
10022 runpath_var='LD_RUN_PATH'
10023 hardcode_shlibpath_var=no
10024 ;;
10025
10026 sysv4.3*)
10027 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
10028 hardcode_shlibpath_var=no
10029 export_dynamic_flag_spec='-Bexport'
10030 ;;
10031
10032 sysv4*MP*)
10033 if test -d /usr/nec; then
10034 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
10035 hardcode_shlibpath_var=no
10036 runpath_var=LD_RUN_PATH
10037 hardcode_runpath_var=yes
10038 ld_shlibs=yes
10039 fi
10040 ;;
10041
10042 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
10043 no_undefined_flag='${wl}-z,text'
10044 archive_cmds_need_lc=no
10045 hardcode_shlibpath_var=no
10046 runpath_var='LD_RUN_PATH'
10047
10048 if test "$GCC" = yes; then
10049 archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10050 archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10051 else
10052 archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10053 archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10054 fi
10055 ;;
10056
10057 sysv5* | sco3.2v5* | sco5v6*)
10058 # Note: We can NOT use -z defs as we might desire, because we do not
10059 # link with -lc, and that would cause any symbols used from libc to
10060 # always be unresolved, which means just about no library would
10061 # ever link correctly. If we're not using GNU ld we use -z text
10062 # though, which does catch some bad symbols but isn't as heavy-handed
10063 # as -z defs.
10064 no_undefined_flag='${wl}-z,text'
10065 allow_undefined_flag='${wl}-z,nodefs'
10066 archive_cmds_need_lc=no
10067 hardcode_shlibpath_var=no
10068 hardcode_libdir_flag_spec='${wl}-R,$libdir'
10069 hardcode_libdir_separator=':'
10070 link_all_deplibs=yes
10071 export_dynamic_flag_spec='${wl}-Bexport'
10072 runpath_var='LD_RUN_PATH'
10073
10074 if test "$GCC" = yes; then
10075 archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10076 archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10077 else
10078 archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10079 archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10080 fi
10081 ;;
10082
10083 uts4*)
10084 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
10085 hardcode_libdir_flag_spec='-L$libdir'
10086 hardcode_shlibpath_var=no
10087 ;;
10088
10089 *)
10090 ld_shlibs=no
10091 ;;
10092 esac
10093
10094 if test x$host_vendor = xsni; then
10095 case $host in
10096 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
10097 export_dynamic_flag_spec='${wl}-Blargedynsym'
10098 ;;
10099 esac
10100 fi
10101 fi
10102
10103 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
10104 $as_echo "$ld_shlibs" >&6; }
10105 test "$ld_shlibs" = no && can_build_shared=no
10106
10107 with_gnu_ld=$with_gnu_ld
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123 #
10124 # Do we need to explicitly link libc?
10125 #
10126 case "x$archive_cmds_need_lc" in
10127 x|xyes)
10128 # Assume -lc should be added
10129 archive_cmds_need_lc=yes
10130
10131 if test "$enable_shared" = yes && test "$GCC" = yes; then
10132 case $archive_cmds in
10133 *'~'*)
10134 # FIXME: we may have to deal with multi-command sequences.
10135 ;;
10136 '$CC '*)
10137 # Test whether the compiler implicitly links with -lc since on some
10138 # systems, -lgcc has to come before -lc. If gcc already passes -lc
10139 # to ld, don't add -lc before -lgcc.
10140 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
10141 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
10142 $RM conftest*
10143 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
10144
10145 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
10146 (eval $ac_compile) 2>&5
10147 ac_status=$?
10148 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
10149 test $ac_status = 0; } 2>conftest.err; then
10150 soname=conftest
10151 lib=conftest
10152 libobjs=conftest.$ac_objext
10153 deplibs=
10154 wl=$lt_prog_compiler_wl
10155 pic_flag=$lt_prog_compiler_pic
10156 compiler_flags=-v
10157 linker_flags=-v
10158 verstring=
10159 output_objdir=.
10160 libname=conftest
10161 lt_save_allow_undefined_flag=$allow_undefined_flag
10162 allow_undefined_flag=
10163 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
10164 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
10165 ac_status=$?
10166 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
10167 test $ac_status = 0; }
10168 then
10169 archive_cmds_need_lc=no
10170 else
10171 archive_cmds_need_lc=yes
10172 fi
10173 allow_undefined_flag=$lt_save_allow_undefined_flag
10174 else
10175 cat conftest.err 1>&5
10176 fi
10177 $RM conftest*
10178 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5
10179 $as_echo "$archive_cmds_need_lc" >&6; }
10180 ;;
10181 esac
10182 fi
10183 ;;
10184 esac
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
10343 $as_echo_n "checking dynamic linker characteristics... " >&6; }
10344
10345 if test "$GCC" = yes; then
10346 case $host_os in
10347 darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
10348 *) lt_awk_arg="/^libraries:/" ;;
10349 esac
10350 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
10351 if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
10352 # if the path contains ";" then we assume it to be the separator
10353 # otherwise default to the standard path separator (i.e. ":") - it is
10354 # assumed that no part of a normal pathname contains ";" but that should
10355 # okay in the real world where ";" in dirpaths is itself problematic.
10356 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
10357 else
10358 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
10359 fi
10360 # Ok, now we have the path, separated by spaces, we can step through it
10361 # and add multilib dir if necessary.
10362 lt_tmp_lt_search_path_spec=
10363 lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
10364 for lt_sys_path in $lt_search_path_spec; do
10365 if test -d "$lt_sys_path/$lt_multi_os_dir"; then
10366 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
10367 else
10368 test -d "$lt_sys_path" && \
10369 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
10370 fi
10371 done
10372 lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
10373 BEGIN {RS=" "; FS="/|\n";} {
10374 lt_foo="";
10375 lt_count=0;
10376 for (lt_i = NF; lt_i > 0; lt_i--) {
10377 if ($lt_i != "" && $lt_i != ".") {
10378 if ($lt_i == "..") {
10379 lt_count++;
10380 } else {
10381 if (lt_count == 0) {
10382 lt_foo="/" $lt_i lt_foo;
10383 } else {
10384 lt_count--;
10385 }
10386 }
10387 }
10388 }
10389 if (lt_foo != "") { lt_freq[lt_foo]++; }
10390 if (lt_freq[lt_foo] == 1) { print lt_foo; }
10391 }'`
10392 sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
10393 else
10394 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
10395 fi
10396 library_names_spec=
10397 libname_spec='lib$name'
10398 soname_spec=
10399 shrext_cmds=".so"
10400 postinstall_cmds=
10401 postuninstall_cmds=
10402 finish_cmds=
10403 finish_eval=
10404 shlibpath_var=
10405 shlibpath_overrides_runpath=unknown
10406 version_type=none
10407 dynamic_linker="$host_os ld.so"
10408 sys_lib_dlsearch_path_spec="/lib /usr/lib"
10409 need_lib_prefix=unknown
10410 hardcode_into_libs=no
10411
10412 # when you set need_version to no, make sure it does not cause -set_version
10413 # flags to be left without arguments
10414 need_version=unknown
10415
10416 case $host_os in
10417 aix3*)
10418 version_type=linux
10419 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
10420 shlibpath_var=LIBPATH
10421
10422 # AIX 3 has no versioning support, so we append a major version to the name.
10423 soname_spec='${libname}${release}${shared_ext}$major'
10424 ;;
10425
10426 aix[4-9]*)
10427 version_type=linux
10428 need_lib_prefix=no
10429 need_version=no
10430 hardcode_into_libs=yes
10431 if test "$host_cpu" = ia64; then
10432 # AIX 5 supports IA64
10433 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
10434 shlibpath_var=LD_LIBRARY_PATH
10435 else
10436 # With GCC up to 2.95.x, collect2 would create an import file
10437 # for dependence libraries. The import file would start with
10438 # the line `#! .'. This would cause the generated library to
10439 # depend on `.', always an invalid library. This was fixed in
10440 # development snapshots of GCC prior to 3.0.
10441 case $host_os in
10442 aix4 | aix4.[01] | aix4.[01].*)
10443 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
10444 echo ' yes '
10445 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
10446 :
10447 else
10448 can_build_shared=no
10449 fi
10450 ;;
10451 esac
10452 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
10453 # soname into executable. Probably we can add versioning support to
10454 # collect2, so additional links can be useful in future.
10455 if test "$aix_use_runtimelinking" = yes; then
10456 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
10457 # instead of lib<name>.a to let people know that these are not
10458 # typical AIX shared libraries.
10459 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10460 else
10461 # We preserve .a as extension for shared libraries through AIX4.2
10462 # and later when we are not doing run time linking.
10463 library_names_spec='${libname}${release}.a $libname.a'
10464 soname_spec='${libname}${release}${shared_ext}$major'
10465 fi
10466 shlibpath_var=LIBPATH
10467 fi
10468 ;;
10469
10470 amigaos*)
10471 case $host_cpu in
10472 powerpc)
10473 # Since July 2007 AmigaOS4 officially supports .so libraries.
10474 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
10475 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10476 ;;
10477 m68k)
10478 library_names_spec='$libname.ixlibrary $libname.a'
10479 # Create ${libname}_ixlibrary.a entries in /sys/libs.
10480 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
10481 ;;
10482 esac
10483 ;;
10484
10485 beos*)
10486 library_names_spec='${libname}${shared_ext}'
10487 dynamic_linker="$host_os ld.so"
10488 shlibpath_var=LIBRARY_PATH
10489 ;;
10490
10491 bsdi[45]*)
10492 version_type=linux
10493 need_version=no
10494 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10495 soname_spec='${libname}${release}${shared_ext}$major'
10496 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
10497 shlibpath_var=LD_LIBRARY_PATH
10498 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
10499 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
10500 # the default ld.so.conf also contains /usr/contrib/lib and
10501 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
10502 # libtool to hard-code these into programs
10503 ;;
10504
10505 cygwin* | mingw* | pw32* | cegcc*)
10506 version_type=windows
10507 shrext_cmds=".dll"
10508 need_version=no
10509 need_lib_prefix=no
10510
10511 case $GCC,$host_os in
10512 yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
10513 library_names_spec='$libname.dll.a'
10514 # DLL is installed to $(libdir)/../bin by postinstall_cmds
10515 postinstall_cmds='base_file=`basename \${file}`~
10516 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
10517 dldir=$destdir/`dirname \$dlpath`~
10518 test -d \$dldir || mkdir -p \$dldir~
10519 $install_prog $dir/$dlname \$dldir/$dlname~
10520 chmod a+x \$dldir/$dlname~
10521 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
10522 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
10523 fi'
10524 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
10525 dlpath=$dir/\$dldll~
10526 $RM \$dlpath'
10527 shlibpath_overrides_runpath=yes
10528
10529 case $host_os in
10530 cygwin*)
10531 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
10532 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
10533 sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
10534 ;;
10535 mingw* | cegcc*)
10536 # MinGW DLLs use traditional 'lib' prefix
10537 soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
10538 sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
10539 if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
10540 # It is most probably a Windows format PATH printed by
10541 # mingw gcc, but we are running on Cygwin. Gcc prints its search
10542 # path with ; separators, and with drive letters. We can handle the
10543 # drive letters (cygwin fileutils understands them), so leave them,
10544 # especially as we might pass files found there to a mingw objdump,
10545 # which wouldn't understand a cygwinified path. Ahh.
10546 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
10547 else
10548 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
10549 fi
10550 ;;
10551 pw32*)
10552 # pw32 DLLs use 'pw' prefix rather than 'lib'
10553 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
10554 ;;
10555 esac
10556 ;;
10557
10558 *)
10559 library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
10560 ;;
10561 esac
10562 dynamic_linker='Win32 ld.exe'
10563 # FIXME: first we should search . and the directory the executable is in
10564 shlibpath_var=PATH
10565 ;;
10566
10567 darwin* | rhapsody*)
10568 dynamic_linker="$host_os dyld"
10569 version_type=darwin
10570 need_lib_prefix=no
10571 need_version=no
10572 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
10573 soname_spec='${libname}${release}${major}$shared_ext'
10574 shlibpath_overrides_runpath=yes
10575 shlibpath_var=DYLD_LIBRARY_PATH
10576 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
10577
10578 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
10579 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
10580 ;;
10581
10582 dgux*)
10583 version_type=linux
10584 need_lib_prefix=no
10585 need_version=no
10586 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
10587 soname_spec='${libname}${release}${shared_ext}$major'
10588 shlibpath_var=LD_LIBRARY_PATH
10589 ;;
10590
10591 freebsd1*)
10592 dynamic_linker=no
10593 ;;
10594
10595 freebsd* | dragonfly*)
10596 # DragonFly does not have aout. When/if they implement a new
10597 # versioning mechanism, adjust this.
10598 if test -x /usr/bin/objformat; then
10599 objformat=`/usr/bin/objformat`
10600 else
10601 case $host_os in
10602 freebsd[123]*) objformat=aout ;;
10603 *) objformat=elf ;;
10604 esac
10605 fi
10606 version_type=freebsd-$objformat
10607 case $version_type in
10608 freebsd-elf*)
10609 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
10610 need_version=no
10611 need_lib_prefix=no
10612 ;;
10613 freebsd-*)
10614 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
10615 need_version=yes
10616 ;;
10617 esac
10618 shlibpath_var=LD_LIBRARY_PATH
10619 case $host_os in
10620 freebsd2*)
10621 shlibpath_overrides_runpath=yes
10622 ;;
10623 freebsd3.[01]* | freebsdelf3.[01]*)
10624 shlibpath_overrides_runpath=yes
10625 hardcode_into_libs=yes
10626 ;;
10627 freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
10628 freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
10629 shlibpath_overrides_runpath=no
10630 hardcode_into_libs=yes
10631 ;;
10632 *) # from 4.6 on, and DragonFly
10633 shlibpath_overrides_runpath=yes
10634 hardcode_into_libs=yes
10635 ;;
10636 esac
10637 ;;
10638
10639 gnu*)
10640 version_type=linux
10641 need_lib_prefix=no
10642 need_version=no
10643 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
10644 soname_spec='${libname}${release}${shared_ext}$major'
10645 shlibpath_var=LD_LIBRARY_PATH
10646 hardcode_into_libs=yes
10647 ;;
10648
10649 hpux9* | hpux10* | hpux11*)
10650 # Give a soname corresponding to the major version so that dld.sl refuses to
10651 # link against other versions.
10652 version_type=sunos
10653 need_lib_prefix=no
10654 need_version=no
10655 case $host_cpu in
10656 ia64*)
10657 shrext_cmds='.so'
10658 hardcode_into_libs=yes
10659 dynamic_linker="$host_os dld.so"
10660 shlibpath_var=LD_LIBRARY_PATH
10661 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
10662 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10663 soname_spec='${libname}${release}${shared_ext}$major'
10664 if test "X$HPUX_IA64_MODE" = X32; then
10665 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
10666 else
10667 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
10668 fi
10669 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
10670 ;;
10671 hppa*64*)
10672 shrext_cmds='.sl'
10673 hardcode_into_libs=yes
10674 dynamic_linker="$host_os dld.sl"
10675 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
10676 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
10677 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10678 soname_spec='${libname}${release}${shared_ext}$major'
10679 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
10680 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
10681 ;;
10682 *)
10683 shrext_cmds='.sl'
10684 dynamic_linker="$host_os dld.sl"
10685 shlibpath_var=SHLIB_PATH
10686 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
10687 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10688 soname_spec='${libname}${release}${shared_ext}$major'
10689 ;;
10690 esac
10691 # HP-UX runs *really* slowly unless shared libraries are mode 555.
10692 postinstall_cmds='chmod 555 $lib'
10693 ;;
10694
10695 interix[3-9]*)
10696 version_type=linux
10697 need_lib_prefix=no
10698 need_version=no
10699 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
10700 soname_spec='${libname}${release}${shared_ext}$major'
10701 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
10702 shlibpath_var=LD_LIBRARY_PATH
10703 shlibpath_overrides_runpath=no
10704 hardcode_into_libs=yes
10705 ;;
10706
10707 irix5* | irix6* | nonstopux*)
10708 case $host_os in
10709 nonstopux*) version_type=nonstopux ;;
10710 *)
10711 if test "$lt_cv_prog_gnu_ld" = yes; then
10712 version_type=linux
10713 else
10714 version_type=irix
10715 fi ;;
10716 esac
10717 need_lib_prefix=no
10718 need_version=no
10719 soname_spec='${libname}${release}${shared_ext}$major'
10720 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
10721 case $host_os in
10722 irix5* | nonstopux*)
10723 libsuff= shlibsuff=
10724 ;;
10725 *)
10726 case $LD in # libtool.m4 will add one of these switches to LD
10727 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
10728 libsuff= shlibsuff= libmagic=32-bit;;
10729 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
10730 libsuff=32 shlibsuff=N32 libmagic=N32;;
10731 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
10732 libsuff=64 shlibsuff=64 libmagic=64-bit;;
10733 *) libsuff= shlibsuff= libmagic=never-match;;
10734 esac
10735 ;;
10736 esac
10737 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
10738 shlibpath_overrides_runpath=no
10739 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
10740 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
10741 hardcode_into_libs=yes
10742 ;;
10743
10744 # No shared lib support for Linux oldld, aout, or coff.
10745 linux*oldld* | linux*aout* | linux*coff*)
10746 dynamic_linker=no
10747 ;;
10748
10749 # This must be Linux ELF.
10750 linux* | k*bsd*-gnu | kopensolaris*-gnu)
10751 version_type=linux
10752 need_lib_prefix=no
10753 need_version=no
10754 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10755 soname_spec='${libname}${release}${shared_ext}$major'
10756 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
10757 shlibpath_var=LD_LIBRARY_PATH
10758 shlibpath_overrides_runpath=no
10759 # Some binutils ld are patched to set DT_RUNPATH
10760 save_LDFLAGS=$LDFLAGS
10761 save_libdir=$libdir
10762 eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
10763 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
10764 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10765 /* end confdefs.h. */
10766
10767 int
10768 main ()
10769 {
10770
10771 ;
10772 return 0;
10773 }
10774 _ACEOF
10775 if ac_fn_c_try_link "$LINENO"; then :
10776 if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
10777 shlibpath_overrides_runpath=yes
10778 fi
10779 fi
10780 rm -f core conftest.err conftest.$ac_objext \
10781 conftest$ac_exeext conftest.$ac_ext
10782 LDFLAGS=$save_LDFLAGS
10783 libdir=$save_libdir
10784
10785 # This implies no fast_install, which is unacceptable.
10786 # Some rework will be needed to allow for fast_install
10787 # before this can be enabled.
10788 hardcode_into_libs=yes
10789
10790 # Append ld.so.conf contents to the search path
10791 if test -f /etc/ld.so.conf; then
10792 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
10793 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
10794 fi
10795
10796 # We used to test for /lib/ld.so.1 and disable shared libraries on
10797 # powerpc, because MkLinux only supported shared libraries with the
10798 # GNU dynamic linker. Since this was broken with cross compilers,
10799 # most powerpc-linux boxes support dynamic linking these days and
10800 # people can always --disable-shared, the test was removed, and we
10801 # assume the GNU/Linux dynamic linker is in use.
10802 dynamic_linker='GNU/Linux ld.so'
10803 ;;
10804
10805 netbsdelf*-gnu)
10806 version_type=linux
10807 need_lib_prefix=no
10808 need_version=no
10809 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
10810 soname_spec='${libname}${release}${shared_ext}$major'
10811 shlibpath_var=LD_LIBRARY_PATH
10812 shlibpath_overrides_runpath=no
10813 hardcode_into_libs=yes
10814 dynamic_linker='NetBSD ld.elf_so'
10815 ;;
10816
10817 netbsd*)
10818 version_type=sunos
10819 need_lib_prefix=no
10820 need_version=no
10821 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
10822 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
10823 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
10824 dynamic_linker='NetBSD (a.out) ld.so'
10825 else
10826 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
10827 soname_spec='${libname}${release}${shared_ext}$major'
10828 dynamic_linker='NetBSD ld.elf_so'
10829 fi
10830 shlibpath_var=LD_LIBRARY_PATH
10831 shlibpath_overrides_runpath=yes
10832 hardcode_into_libs=yes
10833 ;;
10834
10835 newsos6)
10836 version_type=linux
10837 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10838 shlibpath_var=LD_LIBRARY_PATH
10839 shlibpath_overrides_runpath=yes
10840 ;;
10841
10842 *nto* | *qnx*)
10843 version_type=qnx
10844 need_lib_prefix=no
10845 need_version=no
10846 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10847 soname_spec='${libname}${release}${shared_ext}$major'
10848 shlibpath_var=LD_LIBRARY_PATH
10849 shlibpath_overrides_runpath=no
10850 hardcode_into_libs=yes
10851 dynamic_linker='ldqnx.so'
10852 ;;
10853
10854 openbsd*)
10855 version_type=sunos
10856 sys_lib_dlsearch_path_spec="/usr/lib"
10857 need_lib_prefix=no
10858 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
10859 case $host_os in
10860 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
10861 *) need_version=no ;;
10862 esac
10863 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
10864 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
10865 shlibpath_var=LD_LIBRARY_PATH
10866 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
10867 case $host_os in
10868 openbsd2.[89] | openbsd2.[89].*)
10869 shlibpath_overrides_runpath=no
10870 ;;
10871 *)
10872 shlibpath_overrides_runpath=yes
10873 ;;
10874 esac
10875 else
10876 shlibpath_overrides_runpath=yes
10877 fi
10878 ;;
10879
10880 os2*)
10881 libname_spec='$name'
10882 shrext_cmds=".dll"
10883 need_lib_prefix=no
10884 library_names_spec='$libname${shared_ext} $libname.a'
10885 dynamic_linker='OS/2 ld.exe'
10886 shlibpath_var=LIBPATH
10887 ;;
10888
10889 osf3* | osf4* | osf5*)
10890 version_type=osf
10891 need_lib_prefix=no
10892 need_version=no
10893 soname_spec='${libname}${release}${shared_ext}$major'
10894 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10895 shlibpath_var=LD_LIBRARY_PATH
10896 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
10897 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
10898 ;;
10899
10900 rdos*)
10901 dynamic_linker=no
10902 ;;
10903
10904 solaris*)
10905 version_type=linux
10906 need_lib_prefix=no
10907 need_version=no
10908 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10909 soname_spec='${libname}${release}${shared_ext}$major'
10910 shlibpath_var=LD_LIBRARY_PATH
10911 shlibpath_overrides_runpath=yes
10912 hardcode_into_libs=yes
10913 # ldd complains unless libraries are executable
10914 postinstall_cmds='chmod +x $lib'
10915 ;;
10916
10917 sunos4*)
10918 version_type=sunos
10919 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
10920 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
10921 shlibpath_var=LD_LIBRARY_PATH
10922 shlibpath_overrides_runpath=yes
10923 if test "$with_gnu_ld" = yes; then
10924 need_lib_prefix=no
10925 fi
10926 need_version=yes
10927 ;;
10928
10929 sysv4 | sysv4.3*)
10930 version_type=linux
10931 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10932 soname_spec='${libname}${release}${shared_ext}$major'
10933 shlibpath_var=LD_LIBRARY_PATH
10934 case $host_vendor in
10935 sni)
10936 shlibpath_overrides_runpath=no
10937 need_lib_prefix=no
10938 runpath_var=LD_RUN_PATH
10939 ;;
10940 siemens)
10941 need_lib_prefix=no
10942 ;;
10943 motorola)
10944 need_lib_prefix=no
10945 need_version=no
10946 shlibpath_overrides_runpath=no
10947 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
10948 ;;
10949 esac
10950 ;;
10951
10952 sysv4*MP*)
10953 if test -d /usr/nec ;then
10954 version_type=linux
10955 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
10956 soname_spec='$libname${shared_ext}.$major'
10957 shlibpath_var=LD_LIBRARY_PATH
10958 fi
10959 ;;
10960
10961 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
10962 version_type=freebsd-elf
10963 need_lib_prefix=no
10964 need_version=no
10965 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
10966 soname_spec='${libname}${release}${shared_ext}$major'
10967 shlibpath_var=LD_LIBRARY_PATH
10968 shlibpath_overrides_runpath=yes
10969 hardcode_into_libs=yes
10970 if test "$with_gnu_ld" = yes; then
10971 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
10972 else
10973 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
10974 case $host_os in
10975 sco3.2v5*)
10976 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
10977 ;;
10978 esac
10979 fi
10980 sys_lib_dlsearch_path_spec='/usr/lib'
10981 ;;
10982
10983 tpf*)
10984 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
10985 version_type=linux
10986 need_lib_prefix=no
10987 need_version=no
10988 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10989 shlibpath_var=LD_LIBRARY_PATH
10990 shlibpath_overrides_runpath=no
10991 hardcode_into_libs=yes
10992 ;;
10993
10994 uts4*)
10995 version_type=linux
10996 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10997 soname_spec='${libname}${release}${shared_ext}$major'
10998 shlibpath_var=LD_LIBRARY_PATH
10999 ;;
11000
11001 *)
11002 dynamic_linker=no
11003 ;;
11004 esac
11005 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
11006 $as_echo "$dynamic_linker" >&6; }
11007 test "$dynamic_linker" = no && can_build_shared=no
11008
11009 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
11010 if test "$GCC" = yes; then
11011 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
11012 fi
11013
11014 if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
11015 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
11016 fi
11017 if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
11018 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
11019 fi
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
11108 $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
11109 hardcode_action=
11110 if test -n "$hardcode_libdir_flag_spec" ||
11111 test -n "$runpath_var" ||
11112 test "X$hardcode_automatic" = "Xyes" ; then
11113
11114 # We can hardcode non-existent directories.
11115 if test "$hardcode_direct" != no &&
11116 # If the only mechanism to avoid hardcoding is shlibpath_var, we
11117 # have to relink, otherwise we might link with an installed library
11118 # when we should be linking with a yet-to-be-installed one
11119 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
11120 test "$hardcode_minus_L" != no; then
11121 # Linking always hardcodes the temporary library directory.
11122 hardcode_action=relink
11123 else
11124 # We can link without hardcoding, and we can hardcode nonexisting dirs.
11125 hardcode_action=immediate
11126 fi
11127 else
11128 # We cannot hardcode anything, or else we can only hardcode existing
11129 # directories.
11130 hardcode_action=unsupported
11131 fi
11132 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
11133 $as_echo "$hardcode_action" >&6; }
11134
11135 if test "$hardcode_action" = relink ||
11136 test "$inherit_rpath" = yes; then
11137 # Fast installation is not supported
11138 enable_fast_install=no
11139 elif test "$shlibpath_overrides_runpath" = yes ||
11140 test "$enable_shared" = no; then
11141 # Fast installation is not necessary
11142 enable_fast_install=needless
11143 fi
11144
11145
11146
11147
11148
11149
11150 if test "x$enable_dlopen" != xyes; then
11151 enable_dlopen=unknown
11152 enable_dlopen_self=unknown
11153 enable_dlopen_self_static=unknown
11154 else
11155 lt_cv_dlopen=no
11156 lt_cv_dlopen_libs=
11157
11158 case $host_os in
11159 beos*)
11160 lt_cv_dlopen="load_add_on"
11161 lt_cv_dlopen_libs=
11162 lt_cv_dlopen_self=yes
11163 ;;
11164
11165 mingw* | pw32* | cegcc*)
11166 lt_cv_dlopen="LoadLibrary"
11167 lt_cv_dlopen_libs=
11168 ;;
11169
11170 cygwin*)
11171 lt_cv_dlopen="dlopen"
11172 lt_cv_dlopen_libs=
11173 ;;
11174
11175 darwin*)
11176 # if libdl is installed we need to link against it
11177 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
11178 $as_echo_n "checking for dlopen in -ldl... " >&6; }
11179 if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
11180 $as_echo_n "(cached) " >&6
11181 else
11182 ac_check_lib_save_LIBS=$LIBS
11183 LIBS="-ldl $LIBS"
11184 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11185 /* end confdefs.h. */
11186
11187 /* Override any GCC internal prototype to avoid an error.
11188 Use char because int might match the return type of a GCC
11189 builtin and then its argument prototype would still apply. */
11190 #ifdef __cplusplus
11191 extern "C"
11192 #endif
11193 char dlopen ();
11194 int
11195 main ()
11196 {
11197 return dlopen ();
11198 ;
11199 return 0;
11200 }
11201 _ACEOF
11202 if ac_fn_c_try_link "$LINENO"; then :
11203 ac_cv_lib_dl_dlopen=yes
11204 else
11205 ac_cv_lib_dl_dlopen=no
11206 fi
11207 rm -f core conftest.err conftest.$ac_objext \
11208 conftest$ac_exeext conftest.$ac_ext
11209 LIBS=$ac_check_lib_save_LIBS
11210 fi
11211 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
11212 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
11213 if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
11214 lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
11215 else
11216
11217 lt_cv_dlopen="dyld"
11218 lt_cv_dlopen_libs=
11219 lt_cv_dlopen_self=yes
11220
11221 fi
11222
11223 ;;
11224
11225 *)
11226 ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
11227 if test "x$ac_cv_func_shl_load" = x""yes; then :
11228 lt_cv_dlopen="shl_load"
11229 else
11230 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
11231 $as_echo_n "checking for shl_load in -ldld... " >&6; }
11232 if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
11233 $as_echo_n "(cached) " >&6
11234 else
11235 ac_check_lib_save_LIBS=$LIBS
11236 LIBS="-ldld $LIBS"
11237 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11238 /* end confdefs.h. */
11239
11240 /* Override any GCC internal prototype to avoid an error.
11241 Use char because int might match the return type of a GCC
11242 builtin and then its argument prototype would still apply. */
11243 #ifdef __cplusplus
11244 extern "C"
11245 #endif
11246 char shl_load ();
11247 int
11248 main ()
11249 {
11250 return shl_load ();
11251 ;
11252 return 0;
11253 }
11254 _ACEOF
11255 if ac_fn_c_try_link "$LINENO"; then :
11256 ac_cv_lib_dld_shl_load=yes
11257 else
11258 ac_cv_lib_dld_shl_load=no
11259 fi
11260 rm -f core conftest.err conftest.$ac_objext \
11261 conftest$ac_exeext conftest.$ac_ext
11262 LIBS=$ac_check_lib_save_LIBS
11263 fi
11264 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
11265 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
11266 if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
11267 lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
11268 else
11269 ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
11270 if test "x$ac_cv_func_dlopen" = x""yes; then :
11271 lt_cv_dlopen="dlopen"
11272 else
11273 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
11274 $as_echo_n "checking for dlopen in -ldl... " >&6; }
11275 if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
11276 $as_echo_n "(cached) " >&6
11277 else
11278 ac_check_lib_save_LIBS=$LIBS
11279 LIBS="-ldl $LIBS"
11280 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11281 /* end confdefs.h. */
11282
11283 /* Override any GCC internal prototype to avoid an error.
11284 Use char because int might match the return type of a GCC
11285 builtin and then its argument prototype would still apply. */
11286 #ifdef __cplusplus
11287 extern "C"
11288 #endif
11289 char dlopen ();
11290 int
11291 main ()
11292 {
11293 return dlopen ();
11294 ;
11295 return 0;
11296 }
11297 _ACEOF
11298 if ac_fn_c_try_link "$LINENO"; then :
11299 ac_cv_lib_dl_dlopen=yes
11300 else
11301 ac_cv_lib_dl_dlopen=no
11302 fi
11303 rm -f core conftest.err conftest.$ac_objext \
11304 conftest$ac_exeext conftest.$ac_ext
11305 LIBS=$ac_check_lib_save_LIBS
11306 fi
11307 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
11308 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
11309 if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
11310 lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
11311 else
11312 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
11313 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
11314 if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
11315 $as_echo_n "(cached) " >&6
11316 else
11317 ac_check_lib_save_LIBS=$LIBS
11318 LIBS="-lsvld $LIBS"
11319 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11320 /* end confdefs.h. */
11321
11322 /* Override any GCC internal prototype to avoid an error.
11323 Use char because int might match the return type of a GCC
11324 builtin and then its argument prototype would still apply. */
11325 #ifdef __cplusplus
11326 extern "C"
11327 #endif
11328 char dlopen ();
11329 int
11330 main ()
11331 {
11332 return dlopen ();
11333 ;
11334 return 0;
11335 }
11336 _ACEOF
11337 if ac_fn_c_try_link "$LINENO"; then :
11338 ac_cv_lib_svld_dlopen=yes
11339 else
11340 ac_cv_lib_svld_dlopen=no
11341 fi
11342 rm -f core conftest.err conftest.$ac_objext \
11343 conftest$ac_exeext conftest.$ac_ext
11344 LIBS=$ac_check_lib_save_LIBS
11345 fi
11346 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
11347 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
11348 if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
11349 lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
11350 else
11351 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
11352 $as_echo_n "checking for dld_link in -ldld... " >&6; }
11353 if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
11354 $as_echo_n "(cached) " >&6
11355 else
11356 ac_check_lib_save_LIBS=$LIBS
11357 LIBS="-ldld $LIBS"
11358 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
11359 /* end confdefs.h. */
11360
11361 /* Override any GCC internal prototype to avoid an error.
11362 Use char because int might match the return type of a GCC
11363 builtin and then its argument prototype would still apply. */
11364 #ifdef __cplusplus
11365 extern "C"
11366 #endif
11367 char dld_link ();
11368 int
11369 main ()
11370 {
11371 return dld_link ();
11372 ;
11373 return 0;
11374 }
11375 _ACEOF
11376 if ac_fn_c_try_link "$LINENO"; then :
11377 ac_cv_lib_dld_dld_link=yes
11378 else
11379 ac_cv_lib_dld_dld_link=no
11380 fi
11381 rm -f core conftest.err conftest.$ac_objext \
11382 conftest$ac_exeext conftest.$ac_ext
11383 LIBS=$ac_check_lib_save_LIBS
11384 fi
11385 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
11386 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
11387 if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
11388 lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
11389 fi
11390
11391
11392 fi
11393
11394
11395 fi
11396
11397
11398 fi
11399
11400
11401 fi
11402
11403
11404 fi
11405
11406 ;;
11407 esac
11408
11409 if test "x$lt_cv_dlopen" != xno; then
11410 enable_dlopen=yes
11411 else
11412 enable_dlopen=no
11413 fi
11414
11415 case $lt_cv_dlopen in
11416 dlopen)
11417 save_CPPFLAGS="$CPPFLAGS"
11418 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
11419
11420 save_LDFLAGS="$LDFLAGS"
11421 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
11422
11423 save_LIBS="$LIBS"
11424 LIBS="$lt_cv_dlopen_libs $LIBS"
11425
11426 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
11427 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
11428 if test "${lt_cv_dlopen_self+set}" = set; then :
11429 $as_echo_n "(cached) " >&6
11430 else
11431 if test "$cross_compiling" = yes; then :
11432 lt_cv_dlopen_self=cross
11433 else
11434 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
11435 lt_status=$lt_dlunknown
11436 cat > conftest.$ac_ext <<_LT_EOF
11437 #line 11438 "configure"
11438 #include "confdefs.h"
11439
11440 #if HAVE_DLFCN_H
11441 #include <dlfcn.h>
11442 #endif
11443
11444 #include <stdio.h>
11445
11446 #ifdef RTLD_GLOBAL
11447 # define LT_DLGLOBAL RTLD_GLOBAL
11448 #else
11449 # ifdef DL_GLOBAL
11450 # define LT_DLGLOBAL DL_GLOBAL
11451 # else
11452 # define LT_DLGLOBAL 0
11453 # endif
11454 #endif
11455
11456 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
11457 find out it does not work in some platform. */
11458 #ifndef LT_DLLAZY_OR_NOW
11459 # ifdef RTLD_LAZY
11460 # define LT_DLLAZY_OR_NOW RTLD_LAZY
11461 # else
11462 # ifdef DL_LAZY
11463 # define LT_DLLAZY_OR_NOW DL_LAZY
11464 # else
11465 # ifdef RTLD_NOW
11466 # define LT_DLLAZY_OR_NOW RTLD_NOW
11467 # else
11468 # ifdef DL_NOW
11469 # define LT_DLLAZY_OR_NOW DL_NOW
11470 # else
11471 # define LT_DLLAZY_OR_NOW 0
11472 # endif
11473 # endif
11474 # endif
11475 # endif
11476 #endif
11477
11478 void fnord() { int i=42;}
11479 int main ()
11480 {
11481 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
11482 int status = $lt_dlunknown;
11483
11484 if (self)
11485 {
11486 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
11487 else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
11488 /* dlclose (self); */
11489 }
11490 else
11491 puts (dlerror ());
11492
11493 return status;
11494 }
11495 _LT_EOF
11496 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
11497 (eval $ac_link) 2>&5
11498 ac_status=$?
11499 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
11500 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
11501 (./conftest; exit; ) >&5 2>/dev/null
11502 lt_status=$?
11503 case x$lt_status in
11504 x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
11505 x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
11506 x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
11507 esac
11508 else :
11509 # compilation failed
11510 lt_cv_dlopen_self=no
11511 fi
11512 fi
11513 rm -fr conftest*
11514
11515
11516 fi
11517 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
11518 $as_echo "$lt_cv_dlopen_self" >&6; }
11519
11520 if test "x$lt_cv_dlopen_self" = xyes; then
11521 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
11522 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
11523 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
11524 if test "${lt_cv_dlopen_self_static+set}" = set; then :
11525 $as_echo_n "(cached) " >&6
11526 else
11527 if test "$cross_compiling" = yes; then :
11528 lt_cv_dlopen_self_static=cross
11529 else
11530 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
11531 lt_status=$lt_dlunknown
11532 cat > conftest.$ac_ext <<_LT_EOF
11533 #line 11534 "configure"
11534 #include "confdefs.h"
11535
11536 #if HAVE_DLFCN_H
11537 #include <dlfcn.h>
11538 #endif
11539
11540 #include <stdio.h>
11541
11542 #ifdef RTLD_GLOBAL
11543 # define LT_DLGLOBAL RTLD_GLOBAL
11544 #else
11545 # ifdef DL_GLOBAL
11546 # define LT_DLGLOBAL DL_GLOBAL
11547 # else
11548 # define LT_DLGLOBAL 0
11549 # endif
11550 #endif
11551
11552 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
11553 find out it does not work in some platform. */
11554 #ifndef LT_DLLAZY_OR_NOW
11555 # ifdef RTLD_LAZY
11556 # define LT_DLLAZY_OR_NOW RTLD_LAZY
11557 # else
11558 # ifdef DL_LAZY
11559 # define LT_DLLAZY_OR_NOW DL_LAZY
11560 # else
11561 # ifdef RTLD_NOW
11562 # define LT_DLLAZY_OR_NOW RTLD_NOW
11563 # else
11564 # ifdef DL_NOW
11565 # define LT_DLLAZY_OR_NOW DL_NOW
11566 # else
11567 # define LT_DLLAZY_OR_NOW 0
11568 # endif
11569 # endif
11570 # endif
11571 # endif
11572 #endif
11573
11574 void fnord() { int i=42;}
11575 int main ()
11576 {
11577 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
11578 int status = $lt_dlunknown;
11579
11580 if (self)
11581 {
11582 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
11583 else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
11584 /* dlclose (self); */
11585 }
11586 else
11587 puts (dlerror ());
11588
11589 return status;
11590 }
11591 _LT_EOF
11592 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
11593 (eval $ac_link) 2>&5
11594 ac_status=$?
11595 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
11596 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
11597 (./conftest; exit; ) >&5 2>/dev/null
11598 lt_status=$?
11599 case x$lt_status in
11600 x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
11601 x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
11602 x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
11603 esac
11604 else :
11605 # compilation failed
11606 lt_cv_dlopen_self_static=no
11607 fi
11608 fi
11609 rm -fr conftest*
11610
11611
11612 fi
11613 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
11614 $as_echo "$lt_cv_dlopen_self_static" >&6; }
11615 fi
11616
11617 CPPFLAGS="$save_CPPFLAGS"
11618 LDFLAGS="$save_LDFLAGS"
11619 LIBS="$save_LIBS"
11620 ;;
11621 esac
11622
11623 case $lt_cv_dlopen_self in
11624 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
11625 *) enable_dlopen_self=unknown ;;
11626 esac
11627
11628 case $lt_cv_dlopen_self_static in
11629 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
11630 *) enable_dlopen_self_static=unknown ;;
11631 esac
11632 fi
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650 striplib=
11651 old_striplib=
11652 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
11653 $as_echo_n "checking whether stripping libraries is possible... " >&6; }
11654 if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
11655 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
11656 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
11657 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11658 $as_echo "yes" >&6; }
11659 else
11660 # FIXME - insert some real tests, host_os isn't really good enough
11661 case $host_os in
11662 darwin*)
11663 if test -n "$STRIP" ; then
11664 striplib="$STRIP -x"
11665 old_striplib="$STRIP -S"
11666 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
11667 $as_echo "yes" >&6; }
11668 else
11669 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11670 $as_echo "no" >&6; }
11671 fi
11672 ;;
11673 *)
11674 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11675 $as_echo "no" >&6; }
11676 ;;
11677 esac
11678 fi
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691 # Report which library types will actually be built
11692 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
11693 $as_echo_n "checking if libtool supports shared libraries... " >&6; }
11694 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
11695 $as_echo "$can_build_shared" >&6; }
11696
11697 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
11698 $as_echo_n "checking whether to build shared libraries... " >&6; }
11699 test "$can_build_shared" = "no" && enable_shared=no
11700
11701 # On AIX, shared libraries and static libraries use the same namespace, and
11702 # are all built from PIC.
11703 case $host_os in
11704 aix3*)
11705 test "$enable_shared" = yes && enable_static=no
11706 if test -n "$RANLIB"; then
11707 archive_cmds="$archive_cmds~\$RANLIB \$lib"
11708 postinstall_cmds='$RANLIB $lib'
11709 fi
11710 ;;
11711
11712 aix[4-9]*)
11713 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
11714 test "$enable_shared" = yes && enable_static=no
11715 fi
11716 ;;
11717 esac
11718 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
11719 $as_echo "$enable_shared" >&6; }
11720
11721 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
11722 $as_echo_n "checking whether to build static libraries... " >&6; }
11723 # Make sure either enable_shared or enable_static is yes.
11724 test "$enable_shared" = yes || enable_static=yes
11725 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
11726 $as_echo "$enable_static" >&6; }
11727
11728
11729
11730
11731 fi
11732 ac_ext=c
11733 ac_cpp='$CPP $CPPFLAGS'
11734 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
11735 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
11736 ac_compiler_gnu=$ac_cv_c_compiler_gnu
11737
11738 CC="$lt_save_CC"
11739
11740
11741 ac_ext=cpp
11742 ac_cpp='$CXXCPP $CPPFLAGS'
11743 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
11744 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
11745 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
11746
11747 archive_cmds_need_lc_CXX=no
11748 allow_undefined_flag_CXX=
11749 always_export_symbols_CXX=no
11750 archive_expsym_cmds_CXX=
11751 compiler_needs_object_CXX=no
11752 export_dynamic_flag_spec_CXX=
11753 hardcode_direct_CXX=no
11754 hardcode_direct_absolute_CXX=no
11755 hardcode_libdir_flag_spec_CXX=
11756 hardcode_libdir_flag_spec_ld_CXX=
11757 hardcode_libdir_separator_CXX=
11758 hardcode_minus_L_CXX=no
11759 hardcode_shlibpath_var_CXX=unsupported
11760 hardcode_automatic_CXX=no
11761 inherit_rpath_CXX=no
11762 module_cmds_CXX=
11763 module_expsym_cmds_CXX=
11764 link_all_deplibs_CXX=unknown
11765 old_archive_cmds_CXX=$old_archive_cmds
11766 no_undefined_flag_CXX=
11767 whole_archive_flag_spec_CXX=
11768 enable_shared_with_static_runtimes_CXX=no
11769
11770 # Source file extension for C++ test sources.
11771 ac_ext=cpp
11772
11773 # Object file extension for compiled C++ test sources.
11774 objext=o
11775 objext_CXX=$objext
11776
11777 # No sense in running all these tests if we already determined that
11778 # the CXX compiler isn't working. Some variables (like enable_shared)
11779 # are currently assumed to apply to all compilers on this platform,
11780 # and will be corrupted by setting them based on a non-working compiler.
11781 if test "$_lt_caught_CXX_error" != yes; then
11782 # Code to be used in simple compile tests
11783 lt_simple_compile_test_code="int some_variable = 0;"
11784
11785 # Code to be used in simple link tests
11786 lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
11787
11788 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
11789
11790
11791
11792
11793
11794
11795 # If no C compiler was specified, use CC.
11796 LTCC=${LTCC-"$CC"}
11797
11798 # If no C compiler flags were specified, use CFLAGS.
11799 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
11800
11801 # Allow CC to be a program name with arguments.
11802 compiler=$CC
11803
11804
11805 # save warnings/boilerplate of simple test code
11806 ac_outfile=conftest.$ac_objext
11807 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
11808 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
11809 _lt_compiler_boilerplate=`cat conftest.err`
11810 $RM conftest*
11811
11812 ac_outfile=conftest.$ac_objext
11813 echo "$lt_simple_link_test_code" >conftest.$ac_ext
11814 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
11815 _lt_linker_boilerplate=`cat conftest.err`
11816 $RM -r conftest*
11817
11818
11819 # Allow CC to be a program name with arguments.
11820 lt_save_CC=$CC
11821 lt_save_LD=$LD
11822 lt_save_GCC=$GCC
11823 GCC=$GXX
11824 lt_save_with_gnu_ld=$with_gnu_ld
11825 lt_save_path_LD=$lt_cv_path_LD
11826 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
11827 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
11828 else
11829 $as_unset lt_cv_prog_gnu_ld
11830 fi
11831 if test -n "${lt_cv_path_LDCXX+set}"; then
11832 lt_cv_path_LD=$lt_cv_path_LDCXX
11833 else
11834 $as_unset lt_cv_path_LD
11835 fi
11836 test -z "${LDCXX+set}" || LD=$LDCXX
11837 CC=${CXX-"c++"}
11838 compiler=$CC
11839 compiler_CXX=$CC
11840 for cc_temp in $compiler""; do
11841 case $cc_temp in
11842 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
11843 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
11844 \-*) ;;
11845 *) break;;
11846 esac
11847 done
11848 cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
11849
11850
11851 if test -n "$compiler"; then
11852 # We don't want -fno-exception when compiling C++ code, so set the
11853 # no_builtin_flag separately
11854 if test "$GXX" = yes; then
11855 lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
11856 else
11857 lt_prog_compiler_no_builtin_flag_CXX=
11858 fi
11859
11860 if test "$GXX" = yes; then
11861 # Set up default GNU C++ configuration
11862
11863
11864
11865 # Check whether --with-gnu-ld was given.
11866 if test "${with_gnu_ld+set}" = set; then :
11867 withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
11868 else
11869 with_gnu_ld=no
11870 fi
11871
11872 ac_prog=ld
11873 if test "$GCC" = yes; then
11874 # Check if gcc -print-prog-name=ld gives a path.
11875 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
11876 $as_echo_n "checking for ld used by $CC... " >&6; }
11877 case $host in
11878 *-*-mingw*)
11879 # gcc leaves a trailing carriage return which upsets mingw
11880 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
11881 *)
11882 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
11883 esac
11884 case $ac_prog in
11885 # Accept absolute paths.
11886 [\\/]* | ?:[\\/]*)
11887 re_direlt='/[^/][^/]*/\.\./'
11888 # Canonicalize the pathname of ld
11889 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
11890 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
11891 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
11892 done
11893 test -z "$LD" && LD="$ac_prog"
11894 ;;
11895 "")
11896 # If it fails, then pretend we aren't using GCC.
11897 ac_prog=ld
11898 ;;
11899 *)
11900 # If it is relative, then search for the first ld in PATH.
11901 with_gnu_ld=unknown
11902 ;;
11903 esac
11904 elif test "$with_gnu_ld" = yes; then
11905 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
11906 $as_echo_n "checking for GNU ld... " >&6; }
11907 else
11908 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
11909 $as_echo_n "checking for non-GNU ld... " >&6; }
11910 fi
11911 if test "${lt_cv_path_LD+set}" = set; then :
11912 $as_echo_n "(cached) " >&6
11913 else
11914 if test -z "$LD"; then
11915 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
11916 for ac_dir in $PATH; do
11917 IFS="$lt_save_ifs"
11918 test -z "$ac_dir" && ac_dir=.
11919 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
11920 lt_cv_path_LD="$ac_dir/$ac_prog"
11921 # Check to see if the program is GNU ld. I'd rather use --version,
11922 # but apparently some variants of GNU ld only accept -v.
11923 # Break only if it was the GNU/non-GNU ld that we prefer.
11924 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
11925 *GNU* | *'with BFD'*)
11926 test "$with_gnu_ld" != no && break
11927 ;;
11928 *)
11929 test "$with_gnu_ld" != yes && break
11930 ;;
11931 esac
11932 fi
11933 done
11934 IFS="$lt_save_ifs"
11935 else
11936 lt_cv_path_LD="$LD" # Let the user override the test with a path.
11937 fi
11938 fi
11939
11940 LD="$lt_cv_path_LD"
11941 if test -n "$LD"; then
11942 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
11943 $as_echo "$LD" >&6; }
11944 else
11945 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
11946 $as_echo "no" >&6; }
11947 fi
11948 test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
11949 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
11950 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
11951 if test "${lt_cv_prog_gnu_ld+set}" = set; then :
11952 $as_echo_n "(cached) " >&6
11953 else
11954 # I'd rather use --version here, but apparently some GNU lds only accept -v.
11955 case `$LD -v 2>&1 </dev/null` in
11956 *GNU* | *'with BFD'*)
11957 lt_cv_prog_gnu_ld=yes
11958 ;;
11959 *)
11960 lt_cv_prog_gnu_ld=no
11961 ;;
11962 esac
11963 fi
11964 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
11965 $as_echo "$lt_cv_prog_gnu_ld" >&6; }
11966 with_gnu_ld=$lt_cv_prog_gnu_ld
11967
11968
11969
11970
11971
11972
11973
11974 # Check if GNU C++ uses GNU ld as the underlying linker, since the
11975 # archiving commands below assume that GNU ld is being used.
11976 if test "$with_gnu_ld" = yes; then
11977 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
11978 archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
11979
11980 hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
11981 export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
11982
11983 # If archive_cmds runs LD, not CC, wlarc should be empty
11984 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
11985 # investigate it a little bit more. (MM)
11986 wlarc='${wl}'
11987
11988 # ancient GNU ld didn't support --whole-archive et. al.
11989 if eval "`$CC -print-prog-name=ld` --help 2>&1" |
11990 $GREP 'no-whole-archive' > /dev/null; then
11991 whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
11992 else
11993 whole_archive_flag_spec_CXX=
11994 fi
11995 else
11996 with_gnu_ld=no
11997 wlarc=
11998
11999 # A generic and very simple default shared library creation
12000 # command for GNU C++ for the case where it uses the native
12001 # linker, instead of GNU ld. If possible, this setting should
12002 # overridden to take advantage of the native linker features on
12003 # the platform it is being used on.
12004 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
12005 fi
12006
12007 # Commands to make compiler produce verbose output that lists
12008 # what "hidden" libraries, object files and flags are used when
12009 # linking a shared library.
12010 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
12011
12012 else
12013 GXX=no
12014 with_gnu_ld=no
12015 wlarc=
12016 fi
12017
12018 # PORTME: fill in a description of your system's C++ link characteristics
12019 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
12020 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
12021 ld_shlibs_CXX=yes
12022 case $host_os in
12023 aix3*)
12024 # FIXME: insert proper C++ library support
12025 ld_shlibs_CXX=no
12026 ;;
12027 aix[4-9]*)
12028 if test "$host_cpu" = ia64; then
12029 # On IA64, the linker does run time linking by default, so we don't
12030 # have to do anything special.
12031 aix_use_runtimelinking=no
12032 exp_sym_flag='-Bexport'
12033 no_entry_flag=""
12034 else
12035 aix_use_runtimelinking=no
12036
12037 # Test if we are trying to use run time linking or normal
12038 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
12039 # need to do runtime linking.
12040 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
12041 for ld_flag in $LDFLAGS; do
12042 case $ld_flag in
12043 *-brtl*)
12044 aix_use_runtimelinking=yes
12045 break
12046 ;;
12047 esac
12048 done
12049 ;;
12050 esac
12051
12052 exp_sym_flag='-bexport'
12053 no_entry_flag='-bnoentry'
12054 fi
12055
12056 # When large executables or shared objects are built, AIX ld can
12057 # have problems creating the table of contents. If linking a library
12058 # or program results in "error TOC overflow" add -mminimal-toc to
12059 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
12060 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
12061
12062 archive_cmds_CXX=''
12063 hardcode_direct_CXX=yes
12064 hardcode_direct_absolute_CXX=yes
12065 hardcode_libdir_separator_CXX=':'
12066 link_all_deplibs_CXX=yes
12067 file_list_spec_CXX='${wl}-f,'
12068
12069 if test "$GXX" = yes; then
12070 case $host_os in aix4.[012]|aix4.[012].*)
12071 # We only want to do this on AIX 4.2 and lower, the check
12072 # below for broken collect2 doesn't work under 4.3+
12073 collect2name=`${CC} -print-prog-name=collect2`
12074 if test -f "$collect2name" &&
12075 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
12076 then
12077 # We have reworked collect2
12078 :
12079 else
12080 # We have old collect2
12081 hardcode_direct_CXX=unsupported
12082 # It fails to find uninstalled libraries when the uninstalled
12083 # path is not listed in the libpath. Setting hardcode_minus_L
12084 # to unsupported forces relinking
12085 hardcode_minus_L_CXX=yes
12086 hardcode_libdir_flag_spec_CXX='-L$libdir'
12087 hardcode_libdir_separator_CXX=
12088 fi
12089 esac
12090 shared_flag='-shared'
12091 if test "$aix_use_runtimelinking" = yes; then
12092 shared_flag="$shared_flag "'${wl}-G'
12093 fi
12094 else
12095 # not using gcc
12096 if test "$host_cpu" = ia64; then
12097 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
12098 # chokes on -Wl,-G. The following line is correct:
12099 shared_flag='-G'
12100 else
12101 if test "$aix_use_runtimelinking" = yes; then
12102 shared_flag='${wl}-G'
12103 else
12104 shared_flag='${wl}-bM:SRE'
12105 fi
12106 fi
12107 fi
12108
12109 export_dynamic_flag_spec_CXX='${wl}-bexpall'
12110 # It seems that -bexpall does not export symbols beginning with
12111 # underscore (_), so it is better to generate a list of symbols to
12112 # export.
12113 always_export_symbols_CXX=yes
12114 if test "$aix_use_runtimelinking" = yes; then
12115 # Warning - without using the other runtime loading flags (-brtl),
12116 # -berok will link without error, but may produce a broken library.
12117 allow_undefined_flag_CXX='-berok'
12118 # Determine the default libpath from the value encoded in an empty
12119 # executable.
12120 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12121 /* end confdefs.h. */
12122
12123 int
12124 main ()
12125 {
12126
12127 ;
12128 return 0;
12129 }
12130 _ACEOF
12131 if ac_fn_cxx_try_link "$LINENO"; then :
12132
12133 lt_aix_libpath_sed='
12134 /Import File Strings/,/^$/ {
12135 /^0/ {
12136 s/^0 *\(.*\)$/\1/
12137 p
12138 }
12139 }'
12140 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
12141 # Check for a 64-bit object if we didn't find anything.
12142 if test -z "$aix_libpath"; then
12143 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
12144 fi
12145 fi
12146 rm -f core conftest.err conftest.$ac_objext \
12147 conftest$ac_exeext conftest.$ac_ext
12148 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
12149
12150 hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
12151
12152 archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
12153 else
12154 if test "$host_cpu" = ia64; then
12155 hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
12156 allow_undefined_flag_CXX="-z nodefs"
12157 archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
12158 else
12159 # Determine the default libpath from the value encoded in an
12160 # empty executable.
12161 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12162 /* end confdefs.h. */
12163
12164 int
12165 main ()
12166 {
12167
12168 ;
12169 return 0;
12170 }
12171 _ACEOF
12172 if ac_fn_cxx_try_link "$LINENO"; then :
12173
12174 lt_aix_libpath_sed='
12175 /Import File Strings/,/^$/ {
12176 /^0/ {
12177 s/^0 *\(.*\)$/\1/
12178 p
12179 }
12180 }'
12181 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
12182 # Check for a 64-bit object if we didn't find anything.
12183 if test -z "$aix_libpath"; then
12184 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
12185 fi
12186 fi
12187 rm -f core conftest.err conftest.$ac_objext \
12188 conftest$ac_exeext conftest.$ac_ext
12189 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
12190
12191 hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
12192 # Warning - without using the other run time loading flags,
12193 # -berok will link without error, but may produce a broken library.
12194 no_undefined_flag_CXX=' ${wl}-bernotok'
12195 allow_undefined_flag_CXX=' ${wl}-berok'
12196 # Exported symbols can be pulled into shared objects from archives
12197 whole_archive_flag_spec_CXX='$convenience'
12198 archive_cmds_need_lc_CXX=yes
12199 # This is similar to how AIX traditionally builds its shared
12200 # libraries.
12201 archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
12202 fi
12203 fi
12204 ;;
12205
12206 beos*)
12207 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
12208 allow_undefined_flag_CXX=unsupported
12209 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
12210 # support --undefined. This deserves some investigation. FIXME
12211 archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12212 else
12213 ld_shlibs_CXX=no
12214 fi
12215 ;;
12216
12217 chorus*)
12218 case $cc_basename in
12219 *)
12220 # FIXME: insert proper C++ library support
12221 ld_shlibs_CXX=no
12222 ;;
12223 esac
12224 ;;
12225
12226 cygwin* | mingw* | pw32* | cegcc*)
12227 # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
12228 # as there is no search path for DLLs.
12229 hardcode_libdir_flag_spec_CXX='-L$libdir'
12230 allow_undefined_flag_CXX=unsupported
12231 always_export_symbols_CXX=no
12232 enable_shared_with_static_runtimes_CXX=yes
12233
12234 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
12235 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
12236 # If the export-symbols file already is a .def file (1st line
12237 # is EXPORTS), use it as is; otherwise, prepend...
12238 archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
12239 cp $export_symbols $output_objdir/$soname.def;
12240 else
12241 echo EXPORTS > $output_objdir/$soname.def;
12242 cat $export_symbols >> $output_objdir/$soname.def;
12243 fi~
12244 $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
12245 else
12246 ld_shlibs_CXX=no
12247 fi
12248 ;;
12249 darwin* | rhapsody*)
12250
12251
12252 archive_cmds_need_lc_CXX=no
12253 hardcode_direct_CXX=no
12254 hardcode_automatic_CXX=yes
12255 hardcode_shlibpath_var_CXX=unsupported
12256 whole_archive_flag_spec_CXX=''
12257 link_all_deplibs_CXX=yes
12258 allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
12259 case $cc_basename in
12260 ifort*) _lt_dar_can_shared=yes ;;
12261 *) _lt_dar_can_shared=$GCC ;;
12262 esac
12263 if test "$_lt_dar_can_shared" = "yes"; then
12264 output_verbose_link_cmd=echo
12265 archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
12266 module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
12267 archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
12268 module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
12269 if test "$lt_cv_apple_cc_single_mod" != "yes"; then
12270 archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
12271 archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
12272 fi
12273
12274 else
12275 ld_shlibs_CXX=no
12276 fi
12277
12278 ;;
12279
12280 dgux*)
12281 case $cc_basename in
12282 ec++*)
12283 # FIXME: insert proper C++ library support
12284 ld_shlibs_CXX=no
12285 ;;
12286 ghcx*)
12287 # Green Hills C++ Compiler
12288 # FIXME: insert proper C++ library support
12289 ld_shlibs_CXX=no
12290 ;;
12291 *)
12292 # FIXME: insert proper C++ library support
12293 ld_shlibs_CXX=no
12294 ;;
12295 esac
12296 ;;
12297
12298 freebsd[12]*)
12299 # C++ shared libraries reported to be fairly broken before
12300 # switch to ELF
12301 ld_shlibs_CXX=no
12302 ;;
12303
12304 freebsd-elf*)
12305 archive_cmds_need_lc_CXX=no
12306 ;;
12307
12308 freebsd* | dragonfly*)
12309 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
12310 # conventions
12311 ld_shlibs_CXX=yes
12312 ;;
12313
12314 gnu*)
12315 ;;
12316
12317 hpux9*)
12318 hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
12319 hardcode_libdir_separator_CXX=:
12320 export_dynamic_flag_spec_CXX='${wl}-E'
12321 hardcode_direct_CXX=yes
12322 hardcode_minus_L_CXX=yes # Not in the search PATH,
12323 # but as the default
12324 # location of the library.
12325
12326 case $cc_basename in
12327 CC*)
12328 # FIXME: insert proper C++ library support
12329 ld_shlibs_CXX=no
12330 ;;
12331 aCC*)
12332 archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
12333 # Commands to make compiler produce verbose output that lists
12334 # what "hidden" libraries, object files and flags are used when
12335 # linking a shared library.
12336 #
12337 # There doesn't appear to be a way to prevent this compiler from
12338 # explicitly linking system object files so we need to strip them
12339 # from the output so that they don't get included in the library
12340 # dependencies.
12341 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
12342 ;;
12343 *)
12344 if test "$GXX" = yes; then
12345 archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
12346 else
12347 # FIXME: insert proper C++ library support
12348 ld_shlibs_CXX=no
12349 fi
12350 ;;
12351 esac
12352 ;;
12353
12354 hpux10*|hpux11*)
12355 if test $with_gnu_ld = no; then
12356 hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
12357 hardcode_libdir_separator_CXX=:
12358
12359 case $host_cpu in
12360 hppa*64*|ia64*)
12361 ;;
12362 *)
12363 export_dynamic_flag_spec_CXX='${wl}-E'
12364 ;;
12365 esac
12366 fi
12367 case $host_cpu in
12368 hppa*64*|ia64*)
12369 hardcode_direct_CXX=no
12370 hardcode_shlibpath_var_CXX=no
12371 ;;
12372 *)
12373 hardcode_direct_CXX=yes
12374 hardcode_direct_absolute_CXX=yes
12375 hardcode_minus_L_CXX=yes # Not in the search PATH,
12376 # but as the default
12377 # location of the library.
12378 ;;
12379 esac
12380
12381 case $cc_basename in
12382 CC*)
12383 # FIXME: insert proper C++ library support
12384 ld_shlibs_CXX=no
12385 ;;
12386 aCC*)
12387 case $host_cpu in
12388 hppa*64*)
12389 archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
12390 ;;
12391 ia64*)
12392 archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
12393 ;;
12394 *)
12395 archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
12396 ;;
12397 esac
12398 # Commands to make compiler produce verbose output that lists
12399 # what "hidden" libraries, object files and flags are used when
12400 # linking a shared library.
12401 #
12402 # There doesn't appear to be a way to prevent this compiler from
12403 # explicitly linking system object files so we need to strip them
12404 # from the output so that they don't get included in the library
12405 # dependencies.
12406 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
12407 ;;
12408 *)
12409 if test "$GXX" = yes; then
12410 if test $with_gnu_ld = no; then
12411 case $host_cpu in
12412 hppa*64*)
12413 archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
12414 ;;
12415 ia64*)
12416 archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
12417 ;;
12418 *)
12419 archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
12420 ;;
12421 esac
12422 fi
12423 else
12424 # FIXME: insert proper C++ library support
12425 ld_shlibs_CXX=no
12426 fi
12427 ;;
12428 esac
12429 ;;
12430
12431 interix[3-9]*)
12432 hardcode_direct_CXX=no
12433 hardcode_shlibpath_var_CXX=no
12434 hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
12435 export_dynamic_flag_spec_CXX='${wl}-E'
12436 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
12437 # Instead, shared libraries are loaded at an image base (0x10000000 by
12438 # default) and relocated if they conflict, which is a slow very memory
12439 # consuming and fragmenting process. To avoid this, we pick a random,
12440 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
12441 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
12442 archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
12443 archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
12444 ;;
12445 irix5* | irix6*)
12446 case $cc_basename in
12447 CC*)
12448 # SGI C++
12449 archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
12450
12451 # Archives containing C++ object files must be created using
12452 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
12453 # necessary to make sure instantiated templates are included
12454 # in the archive.
12455 old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
12456 ;;
12457 *)
12458 if test "$GXX" = yes; then
12459 if test "$with_gnu_ld" = no; then
12460 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
12461 else
12462 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
12463 fi
12464 fi
12465 link_all_deplibs_CXX=yes
12466 ;;
12467 esac
12468 hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
12469 hardcode_libdir_separator_CXX=:
12470 inherit_rpath_CXX=yes
12471 ;;
12472
12473 linux* | k*bsd*-gnu | kopensolaris*-gnu)
12474 case $cc_basename in
12475 KCC*)
12476 # Kuck and Associates, Inc. (KAI) C++ Compiler
12477
12478 # KCC will only create a shared library if the output file
12479 # ends with ".so" (or ".sl" for HP-UX), so rename the library
12480 # to its proper name (with version) after linking.
12481 archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
12482 archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
12483 # Commands to make compiler produce verbose output that lists
12484 # what "hidden" libraries, object files and flags are used when
12485 # linking a shared library.
12486 #
12487 # There doesn't appear to be a way to prevent this compiler from
12488 # explicitly linking system object files so we need to strip them
12489 # from the output so that they don't get included in the library
12490 # dependencies.
12491 output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
12492
12493 hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
12494 export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
12495
12496 # Archives containing C++ object files must be created using
12497 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
12498 old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
12499 ;;
12500 icpc* | ecpc* )
12501 # Intel C++
12502 with_gnu_ld=yes
12503 # version 8.0 and above of icpc choke on multiply defined symbols
12504 # if we add $predep_objects and $postdep_objects, however 7.1 and
12505 # earlier do not add the objects themselves.
12506 case `$CC -V 2>&1` in
12507 *"Version 7."*)
12508 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
12509 archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12510 ;;
12511 *) # Version 8.0 or newer
12512 tmp_idyn=
12513 case $host_cpu in
12514 ia64*) tmp_idyn=' -i_dynamic';;
12515 esac
12516 archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12517 archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12518 ;;
12519 esac
12520 archive_cmds_need_lc_CXX=no
12521 hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
12522 export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
12523 whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
12524 ;;
12525 pgCC* | pgcpp*)
12526 # Portland Group C++ compiler
12527 case `$CC -V` in
12528 *pgCC\ [1-5]* | *pgcpp\ [1-5]*)
12529 prelink_cmds_CXX='tpldir=Template.dir~
12530 rm -rf $tpldir~
12531 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
12532 compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
12533 old_archive_cmds_CXX='tpldir=Template.dir~
12534 rm -rf $tpldir~
12535 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
12536 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
12537 $RANLIB $oldlib'
12538 archive_cmds_CXX='tpldir=Template.dir~
12539 rm -rf $tpldir~
12540 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
12541 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
12542 archive_expsym_cmds_CXX='tpldir=Template.dir~
12543 rm -rf $tpldir~
12544 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
12545 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
12546 ;;
12547 *) # Version 6 will use weak symbols
12548 archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
12549 archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
12550 ;;
12551 esac
12552
12553 hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
12554 export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
12555 whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
12556 ;;
12557 cxx*)
12558 # Compaq C++
12559 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
12560 archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
12561
12562 runpath_var=LD_RUN_PATH
12563 hardcode_libdir_flag_spec_CXX='-rpath $libdir'
12564 hardcode_libdir_separator_CXX=:
12565
12566 # Commands to make compiler produce verbose output that lists
12567 # what "hidden" libraries, object files and flags are used when
12568 # linking a shared library.
12569 #
12570 # There doesn't appear to be a way to prevent this compiler from
12571 # explicitly linking system object files so we need to strip them
12572 # from the output so that they don't get included in the library
12573 # dependencies.
12574 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
12575 ;;
12576 xl*)
12577 # IBM XL 8.0 on PPC, with GNU ld
12578 hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
12579 export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
12580 archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12581 if test "x$supports_anon_versioning" = xyes; then
12582 archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
12583 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
12584 echo "local: *; };" >> $output_objdir/$libname.ver~
12585 $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
12586 fi
12587 ;;
12588 *)
12589 case `$CC -V 2>&1 | sed 5q` in
12590 *Sun\ C*)
12591 # Sun C++ 5.9
12592 no_undefined_flag_CXX=' -zdefs'
12593 archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
12594 archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
12595 hardcode_libdir_flag_spec_CXX='-R$libdir'
12596 whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
12597 compiler_needs_object_CXX=yes
12598
12599 # Not sure whether something based on
12600 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
12601 # would be better.
12602 output_verbose_link_cmd='echo'
12603
12604 # Archives containing C++ object files must be created using
12605 # "CC -xar", where "CC" is the Sun C++ compiler. This is
12606 # necessary to make sure instantiated templates are included
12607 # in the archive.
12608 old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
12609 ;;
12610 esac
12611 ;;
12612 esac
12613 ;;
12614
12615 lynxos*)
12616 # FIXME: insert proper C++ library support
12617 ld_shlibs_CXX=no
12618 ;;
12619
12620 m88k*)
12621 # FIXME: insert proper C++ library support
12622 ld_shlibs_CXX=no
12623 ;;
12624
12625 mvs*)
12626 case $cc_basename in
12627 cxx*)
12628 # FIXME: insert proper C++ library support
12629 ld_shlibs_CXX=no
12630 ;;
12631 *)
12632 # FIXME: insert proper C++ library support
12633 ld_shlibs_CXX=no
12634 ;;
12635 esac
12636 ;;
12637
12638 netbsd*)
12639 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
12640 archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
12641 wlarc=
12642 hardcode_libdir_flag_spec_CXX='-R$libdir'
12643 hardcode_direct_CXX=yes
12644 hardcode_shlibpath_var_CXX=no
12645 fi
12646 # Workaround some broken pre-1.5 toolchains
12647 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
12648 ;;
12649
12650 *nto* | *qnx*)
12651 ld_shlibs_CXX=yes
12652 ;;
12653
12654 openbsd2*)
12655 # C++ shared libraries are fairly broken
12656 ld_shlibs_CXX=no
12657 ;;
12658
12659 openbsd*)
12660 if test -f /usr/libexec/ld.so; then
12661 hardcode_direct_CXX=yes
12662 hardcode_shlibpath_var_CXX=no
12663 hardcode_direct_absolute_CXX=yes
12664 archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
12665 hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
12666 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
12667 archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
12668 export_dynamic_flag_spec_CXX='${wl}-E'
12669 whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
12670 fi
12671 output_verbose_link_cmd=echo
12672 else
12673 ld_shlibs_CXX=no
12674 fi
12675 ;;
12676
12677 osf3* | osf4* | osf5*)
12678 case $cc_basename in
12679 KCC*)
12680 # Kuck and Associates, Inc. (KAI) C++ Compiler
12681
12682 # KCC will only create a shared library if the output file
12683 # ends with ".so" (or ".sl" for HP-UX), so rename the library
12684 # to its proper name (with version) after linking.
12685 archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
12686
12687 hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
12688 hardcode_libdir_separator_CXX=:
12689
12690 # Archives containing C++ object files must be created using
12691 # the KAI C++ compiler.
12692 case $host in
12693 osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
12694 *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
12695 esac
12696 ;;
12697 RCC*)
12698 # Rational C++ 2.4.1
12699 # FIXME: insert proper C++ library support
12700 ld_shlibs_CXX=no
12701 ;;
12702 cxx*)
12703 case $host in
12704 osf3*)
12705 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
12706 archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
12707 hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
12708 ;;
12709 *)
12710 allow_undefined_flag_CXX=' -expect_unresolved \*'
12711 archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
12712 archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
12713 echo "-hidden">> $lib.exp~
12714 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
12715 $RM $lib.exp'
12716 hardcode_libdir_flag_spec_CXX='-rpath $libdir'
12717 ;;
12718 esac
12719
12720 hardcode_libdir_separator_CXX=:
12721
12722 # Commands to make compiler produce verbose output that lists
12723 # what "hidden" libraries, object files and flags are used when
12724 # linking a shared library.
12725 #
12726 # There doesn't appear to be a way to prevent this compiler from
12727 # explicitly linking system object files so we need to strip them
12728 # from the output so that they don't get included in the library
12729 # dependencies.
12730 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
12731 ;;
12732 *)
12733 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
12734 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
12735 case $host in
12736 osf3*)
12737 archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
12738 ;;
12739 *)
12740 archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
12741 ;;
12742 esac
12743
12744 hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
12745 hardcode_libdir_separator_CXX=:
12746
12747 # Commands to make compiler produce verbose output that lists
12748 # what "hidden" libraries, object files and flags are used when
12749 # linking a shared library.
12750 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
12751
12752 else
12753 # FIXME: insert proper C++ library support
12754 ld_shlibs_CXX=no
12755 fi
12756 ;;
12757 esac
12758 ;;
12759
12760 psos*)
12761 # FIXME: insert proper C++ library support
12762 ld_shlibs_CXX=no
12763 ;;
12764
12765 sunos4*)
12766 case $cc_basename in
12767 CC*)
12768 # Sun C++ 4.x
12769 # FIXME: insert proper C++ library support
12770 ld_shlibs_CXX=no
12771 ;;
12772 lcc*)
12773 # Lucid
12774 # FIXME: insert proper C++ library support
12775 ld_shlibs_CXX=no
12776 ;;
12777 *)
12778 # FIXME: insert proper C++ library support
12779 ld_shlibs_CXX=no
12780 ;;
12781 esac
12782 ;;
12783
12784 solaris*)
12785 case $cc_basename in
12786 CC*)
12787 # Sun C++ 4.2, 5.x and Centerline C++
12788 archive_cmds_need_lc_CXX=yes
12789 no_undefined_flag_CXX=' -zdefs'
12790 archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
12791 archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
12792 $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
12793
12794 hardcode_libdir_flag_spec_CXX='-R$libdir'
12795 hardcode_shlibpath_var_CXX=no
12796 case $host_os in
12797 solaris2.[0-5] | solaris2.[0-5].*) ;;
12798 *)
12799 # The compiler driver will combine and reorder linker options,
12800 # but understands `-z linker_flag'.
12801 # Supported since Solaris 2.6 (maybe 2.5.1?)
12802 whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
12803 ;;
12804 esac
12805 link_all_deplibs_CXX=yes
12806
12807 output_verbose_link_cmd='echo'
12808
12809 # Archives containing C++ object files must be created using
12810 # "CC -xar", where "CC" is the Sun C++ compiler. This is
12811 # necessary to make sure instantiated templates are included
12812 # in the archive.
12813 old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
12814 ;;
12815 gcx*)
12816 # Green Hills C++ Compiler
12817 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
12818
12819 # The C++ compiler must be used to create the archive.
12820 old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
12821 ;;
12822 *)
12823 # GNU C++ compiler with Solaris linker
12824 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
12825 no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
12826 if $CC --version | $GREP -v '^2\.7' > /dev/null; then
12827 archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
12828 archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
12829 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
12830
12831 # Commands to make compiler produce verbose output that lists
12832 # what "hidden" libraries, object files and flags are used when
12833 # linking a shared library.
12834 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
12835 else
12836 # g++ 2.7 appears to require `-G' NOT `-shared' on this
12837 # platform.
12838 archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
12839 archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
12840 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
12841
12842 # Commands to make compiler produce verbose output that lists
12843 # what "hidden" libraries, object files and flags are used when
12844 # linking a shared library.
12845 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
12846 fi
12847
12848 hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
12849 case $host_os in
12850 solaris2.[0-5] | solaris2.[0-5].*) ;;
12851 *)
12852 whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
12853 ;;
12854 esac
12855 fi
12856 ;;
12857 esac
12858 ;;
12859
12860 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
12861 no_undefined_flag_CXX='${wl}-z,text'
12862 archive_cmds_need_lc_CXX=no
12863 hardcode_shlibpath_var_CXX=no
12864 runpath_var='LD_RUN_PATH'
12865
12866 case $cc_basename in
12867 CC*)
12868 archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
12869 archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
12870 ;;
12871 *)
12872 archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
12873 archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
12874 ;;
12875 esac
12876 ;;
12877
12878 sysv5* | sco3.2v5* | sco5v6*)
12879 # Note: We can NOT use -z defs as we might desire, because we do not
12880 # link with -lc, and that would cause any symbols used from libc to
12881 # always be unresolved, which means just about no library would
12882 # ever link correctly. If we're not using GNU ld we use -z text
12883 # though, which does catch some bad symbols but isn't as heavy-handed
12884 # as -z defs.
12885 no_undefined_flag_CXX='${wl}-z,text'
12886 allow_undefined_flag_CXX='${wl}-z,nodefs'
12887 archive_cmds_need_lc_CXX=no
12888 hardcode_shlibpath_var_CXX=no
12889 hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir'
12890 hardcode_libdir_separator_CXX=':'
12891 link_all_deplibs_CXX=yes
12892 export_dynamic_flag_spec_CXX='${wl}-Bexport'
12893 runpath_var='LD_RUN_PATH'
12894
12895 case $cc_basename in
12896 CC*)
12897 archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
12898 archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
12899 ;;
12900 *)
12901 archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
12902 archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
12903 ;;
12904 esac
12905 ;;
12906
12907 tandem*)
12908 case $cc_basename in
12909 NCC*)
12910 # NonStop-UX NCC 3.20
12911 # FIXME: insert proper C++ library support
12912 ld_shlibs_CXX=no
12913 ;;
12914 *)
12915 # FIXME: insert proper C++ library support
12916 ld_shlibs_CXX=no
12917 ;;
12918 esac
12919 ;;
12920
12921 vxworks*)
12922 # FIXME: insert proper C++ library support
12923 ld_shlibs_CXX=no
12924 ;;
12925
12926 *)
12927 # FIXME: insert proper C++ library support
12928 ld_shlibs_CXX=no
12929 ;;
12930 esac
12931
12932 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
12933 $as_echo "$ld_shlibs_CXX" >&6; }
12934 test "$ld_shlibs_CXX" = no && can_build_shared=no
12935
12936 GCC_CXX="$GXX"
12937 LD_CXX="$LD"
12938
12939 ## CAVEAT EMPTOR:
12940 ## There is no encapsulation within the following macros, do not change
12941 ## the running order or otherwise move them around unless you know exactly
12942 ## what you are doing...
12943 # Dependencies to place before and after the object being linked:
12944 predep_objects_CXX=
12945 postdep_objects_CXX=
12946 predeps_CXX=
12947 postdeps_CXX=
12948 compiler_lib_search_path_CXX=
12949
12950 cat > conftest.$ac_ext <<_LT_EOF
12951 class Foo
12952 {
12953 public:
12954 Foo (void) { a = 0; }
12955 private:
12956 int a;
12957 };
12958 _LT_EOF
12959
12960 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
12961 (eval $ac_compile) 2>&5
12962 ac_status=$?
12963 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
12964 test $ac_status = 0; }; then
12965 # Parse the compiler output and extract the necessary
12966 # objects, libraries and library flags.
12967
12968 # Sentinel used to keep track of whether or not we are before
12969 # the conftest object file.
12970 pre_test_object_deps_done=no
12971
12972 for p in `eval "$output_verbose_link_cmd"`; do
12973 case $p in
12974
12975 -L* | -R* | -l*)
12976 # Some compilers place space between "-{L,R}" and the path.
12977 # Remove the space.
12978 if test $p = "-L" ||
12979 test $p = "-R"; then
12980 prev=$p
12981 continue
12982 else
12983 prev=
12984 fi
12985
12986 if test "$pre_test_object_deps_done" = no; then
12987 case $p in
12988 -L* | -R*)
12989 # Internal compiler library paths should come after those
12990 # provided the user. The postdeps already come after the
12991 # user supplied libs so there is no need to process them.
12992 if test -z "$compiler_lib_search_path_CXX"; then
12993 compiler_lib_search_path_CXX="${prev}${p}"
12994 else
12995 compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
12996 fi
12997 ;;
12998 # The "-l" case would never come before the object being
12999 # linked, so don't bother handling this case.
13000 esac
13001 else
13002 if test -z "$postdeps_CXX"; then
13003 postdeps_CXX="${prev}${p}"
13004 else
13005 postdeps_CXX="${postdeps_CXX} ${prev}${p}"
13006 fi
13007 fi
13008 ;;
13009
13010 *.$objext)
13011 # This assumes that the test object file only shows up
13012 # once in the compiler output.
13013 if test "$p" = "conftest.$objext"; then
13014 pre_test_object_deps_done=yes
13015 continue
13016 fi
13017
13018 if test "$pre_test_object_deps_done" = no; then
13019 if test -z "$predep_objects_CXX"; then
13020 predep_objects_CXX="$p"
13021 else
13022 predep_objects_CXX="$predep_objects_CXX $p"
13023 fi
13024 else
13025 if test -z "$postdep_objects_CXX"; then
13026 postdep_objects_CXX="$p"
13027 else
13028 postdep_objects_CXX="$postdep_objects_CXX $p"
13029 fi
13030 fi
13031 ;;
13032
13033 *) ;; # Ignore the rest.
13034
13035 esac
13036 done
13037
13038 # Clean up.
13039 rm -f a.out a.exe
13040 else
13041 echo "libtool.m4: error: problem compiling CXX test program"
13042 fi
13043
13044 $RM -f confest.$objext
13045
13046 # PORTME: override above test on systems where it is broken
13047 case $host_os in
13048 interix[3-9]*)
13049 # Interix 3.5 installs completely hosed .la files for C++, so rather than
13050 # hack all around it, let's just trust "g++" to DTRT.
13051 predep_objects_CXX=
13052 postdep_objects_CXX=
13053 postdeps_CXX=
13054 ;;
13055
13056 linux*)
13057 case `$CC -V 2>&1 | sed 5q` in
13058 *Sun\ C*)
13059 # Sun C++ 5.9
13060
13061 # The more standards-conforming stlport4 library is
13062 # incompatible with the Cstd library. Avoid specifying
13063 # it if it's in CXXFLAGS. Ignore libCrun as
13064 # -library=stlport4 depends on it.
13065 case " $CXX $CXXFLAGS " in
13066 *" -library=stlport4 "*)
13067 solaris_use_stlport4=yes
13068 ;;
13069 esac
13070
13071 if test "$solaris_use_stlport4" != yes; then
13072 postdeps_CXX='-library=Cstd -library=Crun'
13073 fi
13074 ;;
13075 esac
13076 ;;
13077
13078 solaris*)
13079 case $cc_basename in
13080 CC*)
13081 # The more standards-conforming stlport4 library is
13082 # incompatible with the Cstd library. Avoid specifying
13083 # it if it's in CXXFLAGS. Ignore libCrun as
13084 # -library=stlport4 depends on it.
13085 case " $CXX $CXXFLAGS " in
13086 *" -library=stlport4 "*)
13087 solaris_use_stlport4=yes
13088 ;;
13089 esac
13090
13091 # Adding this requires a known-good setup of shared libraries for
13092 # Sun compiler versions before 5.6, else PIC objects from an old
13093 # archive will be linked into the output, leading to subtle bugs.
13094 if test "$solaris_use_stlport4" != yes; then
13095 postdeps_CXX='-library=Cstd -library=Crun'
13096 fi
13097 ;;
13098 esac
13099 ;;
13100 esac
13101
13102
13103 case " $postdeps_CXX " in
13104 *" -lc "*) archive_cmds_need_lc_CXX=no ;;
13105 esac
13106 compiler_lib_search_dirs_CXX=
13107 if test -n "${compiler_lib_search_path_CXX}"; then
13108 compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
13109 fi
13110
13111
13112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141 lt_prog_compiler_wl_CXX=
13142 lt_prog_compiler_pic_CXX=
13143 lt_prog_compiler_static_CXX=
13144
13145 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
13146 $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
13147
13148 # C++ specific cases for pic, static, wl, etc.
13149 if test "$GXX" = yes; then
13150 lt_prog_compiler_wl_CXX='-Wl,'
13151 lt_prog_compiler_static_CXX='-static'
13152
13153 case $host_os in
13154 aix*)
13155 # All AIX code is PIC.
13156 if test "$host_cpu" = ia64; then
13157 # AIX 5 now supports IA64 processor
13158 lt_prog_compiler_static_CXX='-Bstatic'
13159 fi
13160 ;;
13161
13162 amigaos*)
13163 case $host_cpu in
13164 powerpc)
13165 # see comment about AmigaOS4 .so support
13166 lt_prog_compiler_pic_CXX='-fPIC'
13167 ;;
13168 m68k)
13169 # FIXME: we need at least 68020 code to build shared libraries, but
13170 # adding the `-m68020' flag to GCC prevents building anything better,
13171 # like `-m68040'.
13172 lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
13173 ;;
13174 esac
13175 ;;
13176
13177 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
13178 # PIC is the default for these OSes.
13179 ;;
13180 mingw* | cygwin* | os2* | pw32* | cegcc*)
13181 # This hack is so that the source file can tell whether it is being
13182 # built for inclusion in a dll (and should export symbols for example).
13183 # Although the cygwin gcc ignores -fPIC, still need this for old-style
13184 # (--disable-auto-import) libraries
13185 lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
13186 ;;
13187 darwin* | rhapsody*)
13188 # PIC is the default on this platform
13189 # Common symbols not allowed in MH_DYLIB files
13190 lt_prog_compiler_pic_CXX='-fno-common'
13191 ;;
13192 *djgpp*)
13193 # DJGPP does not support shared libraries at all
13194 lt_prog_compiler_pic_CXX=
13195 ;;
13196 interix[3-9]*)
13197 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
13198 # Instead, we relocate shared libraries at runtime.
13199 ;;
13200 sysv4*MP*)
13201 if test -d /usr/nec; then
13202 lt_prog_compiler_pic_CXX=-Kconform_pic
13203 fi
13204 ;;
13205 hpux*)
13206 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
13207 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
13208 # sets the default TLS model and affects inlining.
13209 case $host_cpu in
13210 hppa*64*)
13211 ;;
13212 *)
13213 lt_prog_compiler_pic_CXX='-fPIC'
13214 ;;
13215 esac
13216 ;;
13217 *qnx* | *nto*)
13218 # QNX uses GNU C++, but need to define -shared option too, otherwise
13219 # it will coredump.
13220 lt_prog_compiler_pic_CXX='-fPIC -shared'
13221 ;;
13222 *)
13223 lt_prog_compiler_pic_CXX='-fPIC'
13224 ;;
13225 esac
13226 else
13227 case $host_os in
13228 aix[4-9]*)
13229 # All AIX code is PIC.
13230 if test "$host_cpu" = ia64; then
13231 # AIX 5 now supports IA64 processor
13232 lt_prog_compiler_static_CXX='-Bstatic'
13233 else
13234 lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
13235 fi
13236 ;;
13237 chorus*)
13238 case $cc_basename in
13239 cxch68*)
13240 # Green Hills C++ Compiler
13241 # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
13242 ;;
13243 esac
13244 ;;
13245 dgux*)
13246 case $cc_basename in
13247 ec++*)
13248 lt_prog_compiler_pic_CXX='-KPIC'
13249 ;;
13250 ghcx*)
13251 # Green Hills C++ Compiler
13252 lt_prog_compiler_pic_CXX='-pic'
13253 ;;
13254 *)
13255 ;;
13256 esac
13257 ;;
13258 freebsd* | dragonfly*)
13259 # FreeBSD uses GNU C++
13260 ;;
13261 hpux9* | hpux10* | hpux11*)
13262 case $cc_basename in
13263 CC*)
13264 lt_prog_compiler_wl_CXX='-Wl,'
13265 lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
13266 if test "$host_cpu" != ia64; then
13267 lt_prog_compiler_pic_CXX='+Z'
13268 fi
13269 ;;
13270 aCC*)
13271 lt_prog_compiler_wl_CXX='-Wl,'
13272 lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
13273 case $host_cpu in
13274 hppa*64*|ia64*)
13275 # +Z the default
13276 ;;
13277 *)
13278 lt_prog_compiler_pic_CXX='+Z'
13279 ;;
13280 esac
13281 ;;
13282 *)
13283 ;;
13284 esac
13285 ;;
13286 interix*)
13287 # This is c89, which is MS Visual C++ (no shared libs)
13288 # Anyone wants to do a port?
13289 ;;
13290 irix5* | irix6* | nonstopux*)
13291 case $cc_basename in
13292 CC*)
13293 lt_prog_compiler_wl_CXX='-Wl,'
13294 lt_prog_compiler_static_CXX='-non_shared'
13295 # CC pic flag -KPIC is the default.
13296 ;;
13297 *)
13298 ;;
13299 esac
13300 ;;
13301 linux* | k*bsd*-gnu | kopensolaris*-gnu)
13302 case $cc_basename in
13303 KCC*)
13304 # KAI C++ Compiler
13305 lt_prog_compiler_wl_CXX='--backend -Wl,'
13306 lt_prog_compiler_pic_CXX='-fPIC'
13307 ;;
13308 ecpc* )
13309 # old Intel C++ for x86_64 which still supported -KPIC.
13310 lt_prog_compiler_wl_CXX='-Wl,'
13311 lt_prog_compiler_pic_CXX='-KPIC'
13312 lt_prog_compiler_static_CXX='-static'
13313 ;;
13314 icpc* )
13315 # Intel C++, used to be incompatible with GCC.
13316 # ICC 10 doesn't accept -KPIC any more.
13317 lt_prog_compiler_wl_CXX='-Wl,'
13318 lt_prog_compiler_pic_CXX='-fPIC'
13319 lt_prog_compiler_static_CXX='-static'
13320 ;;
13321 pgCC* | pgcpp*)
13322 # Portland Group C++ compiler
13323 lt_prog_compiler_wl_CXX='-Wl,'
13324 lt_prog_compiler_pic_CXX='-fpic'
13325 lt_prog_compiler_static_CXX='-Bstatic'
13326 ;;
13327 cxx*)
13328 # Compaq C++
13329 # Make sure the PIC flag is empty. It appears that all Alpha
13330 # Linux and Compaq Tru64 Unix objects are PIC.
13331 lt_prog_compiler_pic_CXX=
13332 lt_prog_compiler_static_CXX='-non_shared'
13333 ;;
13334 xlc* | xlC*)
13335 # IBM XL 8.0 on PPC
13336 lt_prog_compiler_wl_CXX='-Wl,'
13337 lt_prog_compiler_pic_CXX='-qpic'
13338 lt_prog_compiler_static_CXX='-qstaticlink'
13339 ;;
13340 *)
13341 case `$CC -V 2>&1 | sed 5q` in
13342 *Sun\ C*)
13343 # Sun C++ 5.9
13344 lt_prog_compiler_pic_CXX='-KPIC'
13345 lt_prog_compiler_static_CXX='-Bstatic'
13346 lt_prog_compiler_wl_CXX='-Qoption ld '
13347 ;;
13348 esac
13349 ;;
13350 esac
13351 ;;
13352 lynxos*)
13353 ;;
13354 m88k*)
13355 ;;
13356 mvs*)
13357 case $cc_basename in
13358 cxx*)
13359 lt_prog_compiler_pic_CXX='-W c,exportall'
13360 ;;
13361 *)
13362 ;;
13363 esac
13364 ;;
13365 netbsd* | netbsdelf*-gnu)
13366 ;;
13367 *qnx* | *nto*)
13368 # QNX uses GNU C++, but need to define -shared option too, otherwise
13369 # it will coredump.
13370 lt_prog_compiler_pic_CXX='-fPIC -shared'
13371 ;;
13372 osf3* | osf4* | osf5*)
13373 case $cc_basename in
13374 KCC*)
13375 lt_prog_compiler_wl_CXX='--backend -Wl,'
13376 ;;
13377 RCC*)
13378 # Rational C++ 2.4.1
13379 lt_prog_compiler_pic_CXX='-pic'
13380 ;;
13381 cxx*)
13382 # Digital/Compaq C++
13383 lt_prog_compiler_wl_CXX='-Wl,'
13384 # Make sure the PIC flag is empty. It appears that all Alpha
13385 # Linux and Compaq Tru64 Unix objects are PIC.
13386 lt_prog_compiler_pic_CXX=
13387 lt_prog_compiler_static_CXX='-non_shared'
13388 ;;
13389 *)
13390 ;;
13391 esac
13392 ;;
13393 psos*)
13394 ;;
13395 solaris*)
13396 case $cc_basename in
13397 CC*)
13398 # Sun C++ 4.2, 5.x and Centerline C++
13399 lt_prog_compiler_pic_CXX='-KPIC'
13400 lt_prog_compiler_static_CXX='-Bstatic'
13401 lt_prog_compiler_wl_CXX='-Qoption ld '
13402 ;;
13403 gcx*)
13404 # Green Hills C++ Compiler
13405 lt_prog_compiler_pic_CXX='-PIC'
13406 ;;
13407 *)
13408 ;;
13409 esac
13410 ;;
13411 sunos4*)
13412 case $cc_basename in
13413 CC*)
13414 # Sun C++ 4.x
13415 lt_prog_compiler_pic_CXX='-pic'
13416 lt_prog_compiler_static_CXX='-Bstatic'
13417 ;;
13418 lcc*)
13419 # Lucid
13420 lt_prog_compiler_pic_CXX='-pic'
13421 ;;
13422 *)
13423 ;;
13424 esac
13425 ;;
13426 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
13427 case $cc_basename in
13428 CC*)
13429 lt_prog_compiler_wl_CXX='-Wl,'
13430 lt_prog_compiler_pic_CXX='-KPIC'
13431 lt_prog_compiler_static_CXX='-Bstatic'
13432 ;;
13433 esac
13434 ;;
13435 tandem*)
13436 case $cc_basename in
13437 NCC*)
13438 # NonStop-UX NCC 3.20
13439 lt_prog_compiler_pic_CXX='-KPIC'
13440 ;;
13441 *)
13442 ;;
13443 esac
13444 ;;
13445 vxworks*)
13446 ;;
13447 *)
13448 lt_prog_compiler_can_build_shared_CXX=no
13449 ;;
13450 esac
13451 fi
13452
13453 case $host_os in
13454 # For platforms which do not support PIC, -DPIC is meaningless:
13455 *djgpp*)
13456 lt_prog_compiler_pic_CXX=
13457 ;;
13458 *)
13459 lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
13460 ;;
13461 esac
13462 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5
13463 $as_echo "$lt_prog_compiler_pic_CXX" >&6; }
13464
13465
13466
13467 #
13468 # Check to make sure the PIC flag actually works.
13469 #
13470 if test -n "$lt_prog_compiler_pic_CXX"; then
13471 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
13472 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
13473 if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then :
13474 $as_echo_n "(cached) " >&6
13475 else
13476 lt_cv_prog_compiler_pic_works_CXX=no
13477 ac_outfile=conftest.$ac_objext
13478 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
13479 lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
13480 # Insert the option either (1) after the last *FLAGS variable, or
13481 # (2) before a word containing "conftest.", or (3) at the end.
13482 # Note that $ac_compile itself does not contain backslashes and begins
13483 # with a dollar sign (not a hyphen), so the echo should work correctly.
13484 # The option is referenced via a variable to avoid confusing sed.
13485 lt_compile=`echo "$ac_compile" | $SED \
13486 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
13487 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
13488 -e 's:$: $lt_compiler_flag:'`
13489 (eval echo "\"\$as_me:13490: $lt_compile\"" >&5)
13490 (eval "$lt_compile" 2>conftest.err)
13491 ac_status=$?
13492 cat conftest.err >&5
13493 echo "$as_me:13494: \$? = $ac_status" >&5
13494 if (exit $ac_status) && test -s "$ac_outfile"; then
13495 # The compiler can only warn and ignore the option if not recognized
13496 # So say no if there are warnings other than the usual output.
13497 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
13498 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
13499 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
13500 lt_cv_prog_compiler_pic_works_CXX=yes
13501 fi
13502 fi
13503 $RM conftest*
13504
13505 fi
13506 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
13507 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
13508
13509 if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
13510 case $lt_prog_compiler_pic_CXX in
13511 "" | " "*) ;;
13512 *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
13513 esac
13514 else
13515 lt_prog_compiler_pic_CXX=
13516 lt_prog_compiler_can_build_shared_CXX=no
13517 fi
13518
13519 fi
13520
13521
13522
13523 #
13524 # Check to make sure the static flag actually works.
13525 #
13526 wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
13527 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
13528 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
13529 if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then :
13530 $as_echo_n "(cached) " >&6
13531 else
13532 lt_cv_prog_compiler_static_works_CXX=no
13533 save_LDFLAGS="$LDFLAGS"
13534 LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
13535 echo "$lt_simple_link_test_code" > conftest.$ac_ext
13536 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
13537 # The linker can only warn and ignore the option if not recognized
13538 # So say no if there are warnings
13539 if test -s conftest.err; then
13540 # Append any errors to the config.log.
13541 cat conftest.err 1>&5
13542 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
13543 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
13544 if diff conftest.exp conftest.er2 >/dev/null; then
13545 lt_cv_prog_compiler_static_works_CXX=yes
13546 fi
13547 else
13548 lt_cv_prog_compiler_static_works_CXX=yes
13549 fi
13550 fi
13551 $RM -r conftest*
13552 LDFLAGS="$save_LDFLAGS"
13553
13554 fi
13555 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
13556 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
13557
13558 if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
13559 :
13560 else
13561 lt_prog_compiler_static_CXX=
13562 fi
13563
13564
13565
13566
13567 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
13568 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
13569 if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
13570 $as_echo_n "(cached) " >&6
13571 else
13572 lt_cv_prog_compiler_c_o_CXX=no
13573 $RM -r conftest 2>/dev/null
13574 mkdir conftest
13575 cd conftest
13576 mkdir out
13577 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
13578
13579 lt_compiler_flag="-o out/conftest2.$ac_objext"
13580 # Insert the option either (1) after the last *FLAGS variable, or
13581 # (2) before a word containing "conftest.", or (3) at the end.
13582 # Note that $ac_compile itself does not contain backslashes and begins
13583 # with a dollar sign (not a hyphen), so the echo should work correctly.
13584 lt_compile=`echo "$ac_compile" | $SED \
13585 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
13586 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
13587 -e 's:$: $lt_compiler_flag:'`
13588 (eval echo "\"\$as_me:13589: $lt_compile\"" >&5)
13589 (eval "$lt_compile" 2>out/conftest.err)
13590 ac_status=$?
13591 cat out/conftest.err >&5
13592 echo "$as_me:13593: \$? = $ac_status" >&5
13593 if (exit $ac_status) && test -s out/conftest2.$ac_objext
13594 then
13595 # The compiler can only warn and ignore the option if not recognized
13596 # So say no if there are warnings
13597 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
13598 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
13599 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
13600 lt_cv_prog_compiler_c_o_CXX=yes
13601 fi
13602 fi
13603 chmod u+w . 2>&5
13604 $RM conftest*
13605 # SGI C++ compiler will create directory out/ii_files/ for
13606 # template instantiation
13607 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
13608 $RM out/* && rmdir out
13609 cd ..
13610 $RM -r conftest
13611 $RM conftest*
13612
13613 fi
13614 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
13615 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
13616
13617
13618
13619 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
13620 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
13621 if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
13622 $as_echo_n "(cached) " >&6
13623 else
13624 lt_cv_prog_compiler_c_o_CXX=no
13625 $RM -r conftest 2>/dev/null
13626 mkdir conftest
13627 cd conftest
13628 mkdir out
13629 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
13630
13631 lt_compiler_flag="-o out/conftest2.$ac_objext"
13632 # Insert the option either (1) after the last *FLAGS variable, or
13633 # (2) before a word containing "conftest.", or (3) at the end.
13634 # Note that $ac_compile itself does not contain backslashes and begins
13635 # with a dollar sign (not a hyphen), so the echo should work correctly.
13636 lt_compile=`echo "$ac_compile" | $SED \
13637 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
13638 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
13639 -e 's:$: $lt_compiler_flag:'`
13640 (eval echo "\"\$as_me:13641: $lt_compile\"" >&5)
13641 (eval "$lt_compile" 2>out/conftest.err)
13642 ac_status=$?
13643 cat out/conftest.err >&5
13644 echo "$as_me:13645: \$? = $ac_status" >&5
13645 if (exit $ac_status) && test -s out/conftest2.$ac_objext
13646 then
13647 # The compiler can only warn and ignore the option if not recognized
13648 # So say no if there are warnings
13649 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
13650 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
13651 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
13652 lt_cv_prog_compiler_c_o_CXX=yes
13653 fi
13654 fi
13655 chmod u+w . 2>&5
13656 $RM conftest*
13657 # SGI C++ compiler will create directory out/ii_files/ for
13658 # template instantiation
13659 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
13660 $RM out/* && rmdir out
13661 cd ..
13662 $RM -r conftest
13663 $RM conftest*
13664
13665 fi
13666 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
13667 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
13668
13669
13670
13671
13672 hard_links="nottested"
13673 if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
13674 # do not overwrite the value of need_locks provided by the user
13675 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
13676 $as_echo_n "checking if we can lock with hard links... " >&6; }
13677 hard_links=yes
13678 $RM conftest*
13679 ln conftest.a conftest.b 2>/dev/null && hard_links=no
13680 touch conftest.a
13681 ln conftest.a conftest.b 2>&5 || hard_links=no
13682 ln conftest.a conftest.b 2>/dev/null && hard_links=no
13683 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
13684 $as_echo "$hard_links" >&6; }
13685 if test "$hard_links" = no; then
13686 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
13687 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
13688 need_locks=warn
13689 fi
13690 else
13691 need_locks=no
13692 fi
13693
13694
13695
13696 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
13697 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
13698
13699 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
13700 case $host_os in
13701 aix[4-9]*)
13702 # If we're using GNU nm, then we don't want the "-C" option.
13703 # -C means demangle to AIX nm, but means don't demangle with GNU nm
13704 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
13705 export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
13706 else
13707 export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
13708 fi
13709 ;;
13710 pw32*)
13711 export_symbols_cmds_CXX="$ltdll_cmds"
13712 ;;
13713 cygwin* | mingw* | cegcc*)
13714 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
13715 ;;
13716 linux* | k*bsd*-gnu)
13717 link_all_deplibs_CXX=no
13718 ;;
13719 *)
13720 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
13721 ;;
13722 esac
13723 exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
13724
13725 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
13726 $as_echo "$ld_shlibs_CXX" >&6; }
13727 test "$ld_shlibs_CXX" = no && can_build_shared=no
13728
13729 with_gnu_ld_CXX=$with_gnu_ld
13730
13731
13732
13733
13734
13735
13736 #
13737 # Do we need to explicitly link libc?
13738 #
13739 case "x$archive_cmds_need_lc_CXX" in
13740 x|xyes)
13741 # Assume -lc should be added
13742 archive_cmds_need_lc_CXX=yes
13743
13744 if test "$enable_shared" = yes && test "$GCC" = yes; then
13745 case $archive_cmds_CXX in
13746 *'~'*)
13747 # FIXME: we may have to deal with multi-command sequences.
13748 ;;
13749 '$CC '*)
13750 # Test whether the compiler implicitly links with -lc since on some
13751 # systems, -lgcc has to come before -lc. If gcc already passes -lc
13752 # to ld, don't add -lc before -lgcc.
13753 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
13754 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
13755 $RM conftest*
13756 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
13757
13758 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
13759 (eval $ac_compile) 2>&5
13760 ac_status=$?
13761 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
13762 test $ac_status = 0; } 2>conftest.err; then
13763 soname=conftest
13764 lib=conftest
13765 libobjs=conftest.$ac_objext
13766 deplibs=
13767 wl=$lt_prog_compiler_wl_CXX
13768 pic_flag=$lt_prog_compiler_pic_CXX
13769 compiler_flags=-v
13770 linker_flags=-v
13771 verstring=
13772 output_objdir=.
13773 libname=conftest
13774 lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
13775 allow_undefined_flag_CXX=
13776 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
13777 (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
13778 ac_status=$?
13779 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
13780 test $ac_status = 0; }
13781 then
13782 archive_cmds_need_lc_CXX=no
13783 else
13784 archive_cmds_need_lc_CXX=yes
13785 fi
13786 allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
13787 else
13788 cat conftest.err 1>&5
13789 fi
13790 $RM conftest*
13791 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc_CXX" >&5
13792 $as_echo "$archive_cmds_need_lc_CXX" >&6; }
13793 ;;
13794 esac
13795 fi
13796 ;;
13797 esac
13798
13799
13800
13801
13802
13803
13804
13805
13806
13807
13808
13809
13810
13811
13812
13813
13814
13815
13816
13817
13818
13819
13820
13821
13822
13823
13824
13825
13826
13827
13828
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
13863 $as_echo_n "checking dynamic linker characteristics... " >&6; }
13864
13865 library_names_spec=
13866 libname_spec='lib$name'
13867 soname_spec=
13868 shrext_cmds=".so"
13869 postinstall_cmds=
13870 postuninstall_cmds=
13871 finish_cmds=
13872 finish_eval=
13873 shlibpath_var=
13874 shlibpath_overrides_runpath=unknown
13875 version_type=none
13876 dynamic_linker="$host_os ld.so"
13877 sys_lib_dlsearch_path_spec="/lib /usr/lib"
13878 need_lib_prefix=unknown
13879 hardcode_into_libs=no
13880
13881 # when you set need_version to no, make sure it does not cause -set_version
13882 # flags to be left without arguments
13883 need_version=unknown
13884
13885 case $host_os in
13886 aix3*)
13887 version_type=linux
13888 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
13889 shlibpath_var=LIBPATH
13890
13891 # AIX 3 has no versioning support, so we append a major version to the name.
13892 soname_spec='${libname}${release}${shared_ext}$major'
13893 ;;
13894
13895 aix[4-9]*)
13896 version_type=linux
13897 need_lib_prefix=no
13898 need_version=no
13899 hardcode_into_libs=yes
13900 if test "$host_cpu" = ia64; then
13901 # AIX 5 supports IA64
13902 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
13903 shlibpath_var=LD_LIBRARY_PATH
13904 else
13905 # With GCC up to 2.95.x, collect2 would create an import file
13906 # for dependence libraries. The import file would start with
13907 # the line `#! .'. This would cause the generated library to
13908 # depend on `.', always an invalid library. This was fixed in
13909 # development snapshots of GCC prior to 3.0.
13910 case $host_os in
13911 aix4 | aix4.[01] | aix4.[01].*)
13912 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
13913 echo ' yes '
13914 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
13915 :
13916 else
13917 can_build_shared=no
13918 fi
13919 ;;
13920 esac
13921 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
13922 # soname into executable. Probably we can add versioning support to
13923 # collect2, so additional links can be useful in future.
13924 if test "$aix_use_runtimelinking" = yes; then
13925 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
13926 # instead of lib<name>.a to let people know that these are not
13927 # typical AIX shared libraries.
13928 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13929 else
13930 # We preserve .a as extension for shared libraries through AIX4.2
13931 # and later when we are not doing run time linking.
13932 library_names_spec='${libname}${release}.a $libname.a'
13933 soname_spec='${libname}${release}${shared_ext}$major'
13934 fi
13935 shlibpath_var=LIBPATH
13936 fi
13937 ;;
13938
13939 amigaos*)
13940 case $host_cpu in
13941 powerpc)
13942 # Since July 2007 AmigaOS4 officially supports .so libraries.
13943 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
13944 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13945 ;;
13946 m68k)
13947 library_names_spec='$libname.ixlibrary $libname.a'
13948 # Create ${libname}_ixlibrary.a entries in /sys/libs.
13949 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
13950 ;;
13951 esac
13952 ;;
13953
13954 beos*)
13955 library_names_spec='${libname}${shared_ext}'
13956 dynamic_linker="$host_os ld.so"
13957 shlibpath_var=LIBRARY_PATH
13958 ;;
13959
13960 bsdi[45]*)
13961 version_type=linux
13962 need_version=no
13963 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13964 soname_spec='${libname}${release}${shared_ext}$major'
13965 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
13966 shlibpath_var=LD_LIBRARY_PATH
13967 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
13968 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
13969 # the default ld.so.conf also contains /usr/contrib/lib and
13970 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
13971 # libtool to hard-code these into programs
13972 ;;
13973
13974 cygwin* | mingw* | pw32* | cegcc*)
13975 version_type=windows
13976 shrext_cmds=".dll"
13977 need_version=no
13978 need_lib_prefix=no
13979
13980 case $GCC,$host_os in
13981 yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
13982 library_names_spec='$libname.dll.a'
13983 # DLL is installed to $(libdir)/../bin by postinstall_cmds
13984 postinstall_cmds='base_file=`basename \${file}`~
13985 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
13986 dldir=$destdir/`dirname \$dlpath`~
13987 test -d \$dldir || mkdir -p \$dldir~
13988 $install_prog $dir/$dlname \$dldir/$dlname~
13989 chmod a+x \$dldir/$dlname~
13990 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
13991 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
13992 fi'
13993 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
13994 dlpath=$dir/\$dldll~
13995 $RM \$dlpath'
13996 shlibpath_overrides_runpath=yes
13997
13998 case $host_os in
13999 cygwin*)
14000 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
14001 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
14002 sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
14003 ;;
14004 mingw* | cegcc*)
14005 # MinGW DLLs use traditional 'lib' prefix
14006 soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
14007 sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
14008 if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
14009 # It is most probably a Windows format PATH printed by
14010 # mingw gcc, but we are running on Cygwin. Gcc prints its search
14011 # path with ; separators, and with drive letters. We can handle the
14012 # drive letters (cygwin fileutils understands them), so leave them,
14013 # especially as we might pass files found there to a mingw objdump,
14014 # which wouldn't understand a cygwinified path. Ahh.
14015 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
14016 else
14017 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
14018 fi
14019 ;;
14020 pw32*)
14021 # pw32 DLLs use 'pw' prefix rather than 'lib'
14022 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
14023 ;;
14024 esac
14025 ;;
14026
14027 *)
14028 library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
14029 ;;
14030 esac
14031 dynamic_linker='Win32 ld.exe'
14032 # FIXME: first we should search . and the directory the executable is in
14033 shlibpath_var=PATH
14034 ;;
14035
14036 darwin* | rhapsody*)
14037 dynamic_linker="$host_os dyld"
14038 version_type=darwin
14039 need_lib_prefix=no
14040 need_version=no
14041 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
14042 soname_spec='${libname}${release}${major}$shared_ext'
14043 shlibpath_overrides_runpath=yes
14044 shlibpath_var=DYLD_LIBRARY_PATH
14045 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
14046
14047 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
14048 ;;
14049
14050 dgux*)
14051 version_type=linux
14052 need_lib_prefix=no
14053 need_version=no
14054 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
14055 soname_spec='${libname}${release}${shared_ext}$major'
14056 shlibpath_var=LD_LIBRARY_PATH
14057 ;;
14058
14059 freebsd1*)
14060 dynamic_linker=no
14061 ;;
14062
14063 freebsd* | dragonfly*)
14064 # DragonFly does not have aout. When/if they implement a new
14065 # versioning mechanism, adjust this.
14066 if test -x /usr/bin/objformat; then
14067 objformat=`/usr/bin/objformat`
14068 else
14069 case $host_os in
14070 freebsd[123]*) objformat=aout ;;
14071 *) objformat=elf ;;
14072 esac
14073 fi
14074 version_type=freebsd-$objformat
14075 case $version_type in
14076 freebsd-elf*)
14077 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
14078 need_version=no
14079 need_lib_prefix=no
14080 ;;
14081 freebsd-*)
14082 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
14083 need_version=yes
14084 ;;
14085 esac
14086 shlibpath_var=LD_LIBRARY_PATH
14087 case $host_os in
14088 freebsd2*)
14089 shlibpath_overrides_runpath=yes
14090 ;;
14091 freebsd3.[01]* | freebsdelf3.[01]*)
14092 shlibpath_overrides_runpath=yes
14093 hardcode_into_libs=yes
14094 ;;
14095 freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
14096 freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
14097 shlibpath_overrides_runpath=no
14098 hardcode_into_libs=yes
14099 ;;
14100 *) # from 4.6 on, and DragonFly
14101 shlibpath_overrides_runpath=yes
14102 hardcode_into_libs=yes
14103 ;;
14104 esac
14105 ;;
14106
14107 gnu*)
14108 version_type=linux
14109 need_lib_prefix=no
14110 need_version=no
14111 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
14112 soname_spec='${libname}${release}${shared_ext}$major'
14113 shlibpath_var=LD_LIBRARY_PATH
14114 hardcode_into_libs=yes
14115 ;;
14116
14117 hpux9* | hpux10* | hpux11*)
14118 # Give a soname corresponding to the major version so that dld.sl refuses to
14119 # link against other versions.
14120 version_type=sunos
14121 need_lib_prefix=no
14122 need_version=no
14123 case $host_cpu in
14124 ia64*)
14125 shrext_cmds='.so'
14126 hardcode_into_libs=yes
14127 dynamic_linker="$host_os dld.so"
14128 shlibpath_var=LD_LIBRARY_PATH
14129 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
14130 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14131 soname_spec='${libname}${release}${shared_ext}$major'
14132 if test "X$HPUX_IA64_MODE" = X32; then
14133 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
14134 else
14135 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
14136 fi
14137 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
14138 ;;
14139 hppa*64*)
14140 shrext_cmds='.sl'
14141 hardcode_into_libs=yes
14142 dynamic_linker="$host_os dld.sl"
14143 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
14144 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
14145 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14146 soname_spec='${libname}${release}${shared_ext}$major'
14147 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
14148 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
14149 ;;
14150 *)
14151 shrext_cmds='.sl'
14152 dynamic_linker="$host_os dld.sl"
14153 shlibpath_var=SHLIB_PATH
14154 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
14155 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14156 soname_spec='${libname}${release}${shared_ext}$major'
14157 ;;
14158 esac
14159 # HP-UX runs *really* slowly unless shared libraries are mode 555.
14160 postinstall_cmds='chmod 555 $lib'
14161 ;;
14162
14163 interix[3-9]*)
14164 version_type=linux
14165 need_lib_prefix=no
14166 need_version=no
14167 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
14168 soname_spec='${libname}${release}${shared_ext}$major'
14169 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
14170 shlibpath_var=LD_LIBRARY_PATH
14171 shlibpath_overrides_runpath=no
14172 hardcode_into_libs=yes
14173 ;;
14174
14175 irix5* | irix6* | nonstopux*)
14176 case $host_os in
14177 nonstopux*) version_type=nonstopux ;;
14178 *)
14179 if test "$lt_cv_prog_gnu_ld" = yes; then
14180 version_type=linux
14181 else
14182 version_type=irix
14183 fi ;;
14184 esac
14185 need_lib_prefix=no
14186 need_version=no
14187 soname_spec='${libname}${release}${shared_ext}$major'
14188 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
14189 case $host_os in
14190 irix5* | nonstopux*)
14191 libsuff= shlibsuff=
14192 ;;
14193 *)
14194 case $LD in # libtool.m4 will add one of these switches to LD
14195 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
14196 libsuff= shlibsuff= libmagic=32-bit;;
14197 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
14198 libsuff=32 shlibsuff=N32 libmagic=N32;;
14199 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
14200 libsuff=64 shlibsuff=64 libmagic=64-bit;;
14201 *) libsuff= shlibsuff= libmagic=never-match;;
14202 esac
14203 ;;
14204 esac
14205 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
14206 shlibpath_overrides_runpath=no
14207 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
14208 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
14209 hardcode_into_libs=yes
14210 ;;
14211
14212 # No shared lib support for Linux oldld, aout, or coff.
14213 linux*oldld* | linux*aout* | linux*coff*)
14214 dynamic_linker=no
14215 ;;
14216
14217 # This must be Linux ELF.
14218 linux* | k*bsd*-gnu | kopensolaris*-gnu)
14219 version_type=linux
14220 need_lib_prefix=no
14221 need_version=no
14222 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14223 soname_spec='${libname}${release}${shared_ext}$major'
14224 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
14225 shlibpath_var=LD_LIBRARY_PATH
14226 shlibpath_overrides_runpath=no
14227 # Some binutils ld are patched to set DT_RUNPATH
14228 save_LDFLAGS=$LDFLAGS
14229 save_libdir=$libdir
14230 eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
14231 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
14232 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14233 /* end confdefs.h. */
14234
14235 int
14236 main ()
14237 {
14238
14239 ;
14240 return 0;
14241 }
14242 _ACEOF
14243 if ac_fn_cxx_try_link "$LINENO"; then :
14244 if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
14245 shlibpath_overrides_runpath=yes
14246 fi
14247 fi
14248 rm -f core conftest.err conftest.$ac_objext \
14249 conftest$ac_exeext conftest.$ac_ext
14250 LDFLAGS=$save_LDFLAGS
14251 libdir=$save_libdir
14252
14253 # This implies no fast_install, which is unacceptable.
14254 # Some rework will be needed to allow for fast_install
14255 # before this can be enabled.
14256 hardcode_into_libs=yes
14257
14258 # Append ld.so.conf contents to the search path
14259 if test -f /etc/ld.so.conf; then
14260 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
14261 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
14262 fi
14263
14264 # We used to test for /lib/ld.so.1 and disable shared libraries on
14265 # powerpc, because MkLinux only supported shared libraries with the
14266 # GNU dynamic linker. Since this was broken with cross compilers,
14267 # most powerpc-linux boxes support dynamic linking these days and
14268 # people can always --disable-shared, the test was removed, and we
14269 # assume the GNU/Linux dynamic linker is in use.
14270 dynamic_linker='GNU/Linux ld.so'
14271 ;;
14272
14273 netbsdelf*-gnu)
14274 version_type=linux
14275 need_lib_prefix=no
14276 need_version=no
14277 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
14278 soname_spec='${libname}${release}${shared_ext}$major'
14279 shlibpath_var=LD_LIBRARY_PATH
14280 shlibpath_overrides_runpath=no
14281 hardcode_into_libs=yes
14282 dynamic_linker='NetBSD ld.elf_so'
14283 ;;
14284
14285 netbsd*)
14286 version_type=sunos
14287 need_lib_prefix=no
14288 need_version=no
14289 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
14290 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
14291 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
14292 dynamic_linker='NetBSD (a.out) ld.so'
14293 else
14294 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
14295 soname_spec='${libname}${release}${shared_ext}$major'
14296 dynamic_linker='NetBSD ld.elf_so'
14297 fi
14298 shlibpath_var=LD_LIBRARY_PATH
14299 shlibpath_overrides_runpath=yes
14300 hardcode_into_libs=yes
14301 ;;
14302
14303 newsos6)
14304 version_type=linux
14305 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14306 shlibpath_var=LD_LIBRARY_PATH
14307 shlibpath_overrides_runpath=yes
14308 ;;
14309
14310 *nto* | *qnx*)
14311 version_type=qnx
14312 need_lib_prefix=no
14313 need_version=no
14314 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14315 soname_spec='${libname}${release}${shared_ext}$major'
14316 shlibpath_var=LD_LIBRARY_PATH
14317 shlibpath_overrides_runpath=no
14318 hardcode_into_libs=yes
14319 dynamic_linker='ldqnx.so'
14320 ;;
14321
14322 openbsd*)
14323 version_type=sunos
14324 sys_lib_dlsearch_path_spec="/usr/lib"
14325 need_lib_prefix=no
14326 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
14327 case $host_os in
14328 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
14329 *) need_version=no ;;
14330 esac
14331 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
14332 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
14333 shlibpath_var=LD_LIBRARY_PATH
14334 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
14335 case $host_os in
14336 openbsd2.[89] | openbsd2.[89].*)
14337 shlibpath_overrides_runpath=no
14338 ;;
14339 *)
14340 shlibpath_overrides_runpath=yes
14341 ;;
14342 esac
14343 else
14344 shlibpath_overrides_runpath=yes
14345 fi
14346 ;;
14347
14348 os2*)
14349 libname_spec='$name'
14350 shrext_cmds=".dll"
14351 need_lib_prefix=no
14352 library_names_spec='$libname${shared_ext} $libname.a'
14353 dynamic_linker='OS/2 ld.exe'
14354 shlibpath_var=LIBPATH
14355 ;;
14356
14357 osf3* | osf4* | osf5*)
14358 version_type=osf
14359 need_lib_prefix=no
14360 need_version=no
14361 soname_spec='${libname}${release}${shared_ext}$major'
14362 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14363 shlibpath_var=LD_LIBRARY_PATH
14364 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
14365 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
14366 ;;
14367
14368 rdos*)
14369 dynamic_linker=no
14370 ;;
14371
14372 solaris*)
14373 version_type=linux
14374 need_lib_prefix=no
14375 need_version=no
14376 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14377 soname_spec='${libname}${release}${shared_ext}$major'
14378 shlibpath_var=LD_LIBRARY_PATH
14379 shlibpath_overrides_runpath=yes
14380 hardcode_into_libs=yes
14381 # ldd complains unless libraries are executable
14382 postinstall_cmds='chmod +x $lib'
14383 ;;
14384
14385 sunos4*)
14386 version_type=sunos
14387 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
14388 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
14389 shlibpath_var=LD_LIBRARY_PATH
14390 shlibpath_overrides_runpath=yes
14391 if test "$with_gnu_ld" = yes; then
14392 need_lib_prefix=no
14393 fi
14394 need_version=yes
14395 ;;
14396
14397 sysv4 | sysv4.3*)
14398 version_type=linux
14399 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14400 soname_spec='${libname}${release}${shared_ext}$major'
14401 shlibpath_var=LD_LIBRARY_PATH
14402 case $host_vendor in
14403 sni)
14404 shlibpath_overrides_runpath=no
14405 need_lib_prefix=no
14406 runpath_var=LD_RUN_PATH
14407 ;;
14408 siemens)
14409 need_lib_prefix=no
14410 ;;
14411 motorola)
14412 need_lib_prefix=no
14413 need_version=no
14414 shlibpath_overrides_runpath=no
14415 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
14416 ;;
14417 esac
14418 ;;
14419
14420 sysv4*MP*)
14421 if test -d /usr/nec ;then
14422 version_type=linux
14423 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
14424 soname_spec='$libname${shared_ext}.$major'
14425 shlibpath_var=LD_LIBRARY_PATH
14426 fi
14427 ;;
14428
14429 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
14430 version_type=freebsd-elf
14431 need_lib_prefix=no
14432 need_version=no
14433 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
14434 soname_spec='${libname}${release}${shared_ext}$major'
14435 shlibpath_var=LD_LIBRARY_PATH
14436 shlibpath_overrides_runpath=yes
14437 hardcode_into_libs=yes
14438 if test "$with_gnu_ld" = yes; then
14439 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
14440 else
14441 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
14442 case $host_os in
14443 sco3.2v5*)
14444 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
14445 ;;
14446 esac
14447 fi
14448 sys_lib_dlsearch_path_spec='/usr/lib'
14449 ;;
14450
14451 tpf*)
14452 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
14453 version_type=linux
14454 need_lib_prefix=no
14455 need_version=no
14456 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14457 shlibpath_var=LD_LIBRARY_PATH
14458 shlibpath_overrides_runpath=no
14459 hardcode_into_libs=yes
14460 ;;
14461
14462 uts4*)
14463 version_type=linux
14464 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14465 soname_spec='${libname}${release}${shared_ext}$major'
14466 shlibpath_var=LD_LIBRARY_PATH
14467 ;;
14468
14469 *)
14470 dynamic_linker=no
14471 ;;
14472 esac
14473 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
14474 $as_echo "$dynamic_linker" >&6; }
14475 test "$dynamic_linker" = no && can_build_shared=no
14476
14477 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
14478 if test "$GCC" = yes; then
14479 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
14480 fi
14481
14482 if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
14483 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
14484 fi
14485 if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
14486 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
14487 fi
14488
14489
14490
14491
14492
14493
14494
14495
14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510
14511
14512
14513
14514
14515
14516
14517
14518
14519
14520
14521
14522
14523
14524 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
14525 $as_echo_n "checking how to hardcode library paths into programs... " >&6; }
14526 hardcode_action_CXX=
14527 if test -n "$hardcode_libdir_flag_spec_CXX" ||
14528 test -n "$runpath_var_CXX" ||
14529 test "X$hardcode_automatic_CXX" = "Xyes" ; then
14530
14531 # We can hardcode non-existent directories.
14532 if test "$hardcode_direct_CXX" != no &&
14533 # If the only mechanism to avoid hardcoding is shlibpath_var, we
14534 # have to relink, otherwise we might link with an installed library
14535 # when we should be linking with a yet-to-be-installed one
14536 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
14537 test "$hardcode_minus_L_CXX" != no; then
14538 # Linking always hardcodes the temporary library directory.
14539 hardcode_action_CXX=relink
14540 else
14541 # We can link without hardcoding, and we can hardcode nonexisting dirs.
14542 hardcode_action_CXX=immediate
14543 fi
14544 else
14545 # We cannot hardcode anything, or else we can only hardcode existing
14546 # directories.
14547 hardcode_action_CXX=unsupported
14548 fi
14549 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
14550 $as_echo "$hardcode_action_CXX" >&6; }
14551
14552 if test "$hardcode_action_CXX" = relink ||
14553 test "$inherit_rpath_CXX" = yes; then
14554 # Fast installation is not supported
14555 enable_fast_install=no
14556 elif test "$shlibpath_overrides_runpath" = yes ||
14557 test "$enable_shared" = no; then
14558 # Fast installation is not necessary
14559 enable_fast_install=needless
14560 fi
14561
14562
14563
14564
14565
14566
14567
14568 fi # test -n "$compiler"
14569
14570 CC=$lt_save_CC
14571 LDCXX=$LD
14572 LD=$lt_save_LD
14573 GCC=$lt_save_GCC
14574 with_gnu_ld=$lt_save_with_gnu_ld
14575 lt_cv_path_LDCXX=$lt_cv_path_LD
14576 lt_cv_path_LD=$lt_save_path_LD
14577 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
14578 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
14579 fi # test "$_lt_caught_CXX_error" != yes
14580
14581 ac_ext=c
14582 ac_cpp='$CPP $CPPFLAGS'
14583 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
14584 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
14585 ac_compiler_gnu=$ac_cv_c_compiler_gnu
14586
14587
14588
14589
14590
14591
14592
14593
14594
14595
14596
14597
14598
14599 ac_config_commands="$ac_config_commands libtool"
14600
14601
14602
14603
14604 # Only expand once:
14605
14606
14607 # Extract the first word of "ar", so it can be a program name with args.
14608 set dummy ar; ac_word=$2
14609 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
14610 $as_echo_n "checking for $ac_word... " >&6; }
14611 if test "${ac_cv_path_AR+set}" = set; then :
14612 $as_echo_n "(cached) " >&6
14613 else
14614 case $AR in
14615 [\\/]* | ?:[\\/]*)
14616 ac_cv_path_AR="$AR" # Let the user override the test with a path.
14617 ;;
14618 *)
14619 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
14620 for as_dir in $PATH
14621 do
14622 IFS=$as_save_IFS
14623 test -z "$as_dir" && as_dir=.
14624 for ac_exec_ext in '' $ac_executable_extensions; do
14625 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
14626 ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
14627 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
14628 break 2
14629 fi
14630 done
14631 done
14632 IFS=$as_save_IFS
14633
14634 test -z "$ac_cv_path_AR" && ac_cv_path_AR="ar"
14635 ;;
14636 esac
14637 fi
14638 AR=$ac_cv_path_AR
14639 if test -n "$AR"; then
14640 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
14641 $as_echo "$AR" >&6; }
14642 else
14643 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14644 $as_echo "no" >&6; }
14645 fi
14646
14647
14648 # Extract the first word of "sh", so it can be a program name with args.
14649 set dummy sh; ac_word=$2
14650 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
14651 $as_echo_n "checking for $ac_word... " >&6; }
14652 if test "${ac_cv_path_SHELL+set}" = set; then :
14653 $as_echo_n "(cached) " >&6
14654 else
14655 case $SHELL in
14656 [\\/]* | ?:[\\/]*)
14657 ac_cv_path_SHELL="$SHELL" # Let the user override the test with a path.
14658 ;;
14659 *)
14660 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
14661 for as_dir in $PATH
14662 do
14663 IFS=$as_save_IFS
14664 test -z "$as_dir" && as_dir=.
14665 for ac_exec_ext in '' $ac_executable_extensions; do
14666 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
14667 ac_cv_path_SHELL="$as_dir/$ac_word$ac_exec_ext"
14668 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
14669 break 2
14670 fi
14671 done
14672 done
14673 IFS=$as_save_IFS
14674
14675 test -z "$ac_cv_path_SHELL" && ac_cv_path_SHELL="/bin/sh"
14676 ;;
14677 esac
14678 fi
14679 SHELL=$ac_cv_path_SHELL
14680 if test -n "$SHELL"; then
14681 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SHELL" >&5
14682 $as_echo "$SHELL" >&6; }
14683 else
14684 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14685 $as_echo "no" >&6; }
14686 fi
14687
14688
14689 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
14690 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
14691 set x ${MAKE-make}
14692 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
14693 if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
14694 $as_echo_n "(cached) " >&6
14695 else
14696 cat >conftest.make <<\_ACEOF
14697 SHELL = /bin/sh
14698 all:
14699 @echo '@@@%%%=$(MAKE)=@@@%%%'
14700 _ACEOF
14701 # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
14702 case `${MAKE-make} -f conftest.make 2>/dev/null` in
14703 *@@@%%%=?*=@@@%%%*)
14704 eval ac_cv_prog_make_${ac_make}_set=yes;;
14705 *)
14706 eval ac_cv_prog_make_${ac_make}_set=no;;
14707 esac
14708 rm -f conftest.make
14709 fi
14710 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
14711 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14712 $as_echo "yes" >&6; }
14713 SET_MAKE=
14714 else
14715 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14716 $as_echo "no" >&6; }
14717 SET_MAKE="MAKE=${MAKE-make}"
14718 fi
14719
14720
14721
14722
14723
14724
14725
14726 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
14727 if test -n "$ac_tool_prefix"; then
14728 # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
14729 set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
14730 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
14731 $as_echo_n "checking for $ac_word... " >&6; }
14732 if test "${ac_cv_path_PKG_CONFIG+set}" = set; then :
14733 $as_echo_n "(cached) " >&6
14734 else
14735 case $PKG_CONFIG in
14736 [\\/]* | ?:[\\/]*)
14737 ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
14738 ;;
14739 *)
14740 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
14741 for as_dir in $PATH
14742 do
14743 IFS=$as_save_IFS
14744 test -z "$as_dir" && as_dir=.
14745 for ac_exec_ext in '' $ac_executable_extensions; do
14746 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
14747 ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
14748 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
14749 break 2
14750 fi
14751 done
14752 done
14753 IFS=$as_save_IFS
14754
14755 ;;
14756 esac
14757 fi
14758 PKG_CONFIG=$ac_cv_path_PKG_CONFIG
14759 if test -n "$PKG_CONFIG"; then
14760 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
14761 $as_echo "$PKG_CONFIG" >&6; }
14762 else
14763 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14764 $as_echo "no" >&6; }
14765 fi
14766
14767
14768 fi
14769 if test -z "$ac_cv_path_PKG_CONFIG"; then
14770 ac_pt_PKG_CONFIG=$PKG_CONFIG
14771 # Extract the first word of "pkg-config", so it can be a program name with args.
14772 set dummy pkg-config; ac_word=$2
14773 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
14774 $as_echo_n "checking for $ac_word... " >&6; }
14775 if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then :
14776 $as_echo_n "(cached) " >&6
14777 else
14778 case $ac_pt_PKG_CONFIG in
14779 [\\/]* | ?:[\\/]*)
14780 ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
14781 ;;
14782 *)
14783 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
14784 for as_dir in $PATH
14785 do
14786 IFS=$as_save_IFS
14787 test -z "$as_dir" && as_dir=.
14788 for ac_exec_ext in '' $ac_executable_extensions; do
14789 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
14790 ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
14791 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
14792 break 2
14793 fi
14794 done
14795 done
14796 IFS=$as_save_IFS
14797
14798 ;;
14799 esac
14800 fi
14801 ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
14802 if test -n "$ac_pt_PKG_CONFIG"; then
14803 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
14804 $as_echo "$ac_pt_PKG_CONFIG" >&6; }
14805 else
14806 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14807 $as_echo "no" >&6; }
14808 fi
14809
14810 if test "x$ac_pt_PKG_CONFIG" = x; then
14811 PKG_CONFIG=""
14812 else
14813 case $cross_compiling:$ac_tool_warned in
14814 yes:)
14815 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
14816 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
14817 ac_tool_warned=yes ;;
14818 esac
14819 PKG_CONFIG=$ac_pt_PKG_CONFIG
14820 fi
14821 else
14822 PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
14823 fi
14824
14825 fi
14826 if test -n "$PKG_CONFIG"; then
14827 _pkg_min_version=0.9.0
14828 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
14829 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
14830 if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
14831 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
14832 $as_echo "yes" >&6; }
14833 else
14834 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14835 $as_echo "no" >&6; }
14836 PKG_CONFIG=""
14837 fi
14838 fi
14839
14840 ## these are for 18n only...
14841 ##^^^^^^^^^^^^^^^^^^^^^^^^^^^
14842 ## also see po/Makefile.in AC_CONFIG_FILES
14843 ##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
14844
14845 ##IT_PROG_INTLTOOL([0.35.0])
14846
14847 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
14848 $as_echo_n "checking whether NLS is requested... " >&6; }
14849 # Check whether --enable-nls was given.
14850 if test "${enable_nls+set}" = set; then :
14851 enableval=$enable_nls; USE_NLS=$enableval
14852 else
14853 USE_NLS=yes
14854 fi
14855
14856 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
14857 $as_echo "$USE_NLS" >&6; }
14858
14859
14860
14861
14862 case "$am__api_version" in
14863 1.01234)
14864 as_fn_error $? "Automake 1.5 or newer is required to use intltool" "$LINENO" 5
14865 ;;
14866 *)
14867 ;;
14868 esac
14869
14870 if test -n "0.40.0"; then
14871 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intltool >= 0.40.0" >&5
14872 $as_echo_n "checking for intltool >= 0.40.0... " >&6; }
14873
14874 INTLTOOL_REQUIRED_VERSION_AS_INT=`echo 0.40.0 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
14875 INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3`
14876 INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
14877
14878 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_APPLIED_VERSION found" >&5
14879 $as_echo "$INTLTOOL_APPLIED_VERSION found" >&6; }
14880 test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" ||
14881 as_fn_error $? "Your intltool is too old. You need intltool 0.40.0 or later." "$LINENO" 5
14882 fi
14883
14884 # Extract the first word of "intltool-update", so it can be a program name with args.
14885 set dummy intltool-update; ac_word=$2
14886 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
14887 $as_echo_n "checking for $ac_word... " >&6; }
14888 if test "${ac_cv_path_INTLTOOL_UPDATE+set}" = set; then :
14889 $as_echo_n "(cached) " >&6
14890 else
14891 case $INTLTOOL_UPDATE in
14892 [\\/]* | ?:[\\/]*)
14893 ac_cv_path_INTLTOOL_UPDATE="$INTLTOOL_UPDATE" # Let the user override the test with a path.
14894 ;;
14895 *)
14896 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
14897 for as_dir in $PATH
14898 do
14899 IFS=$as_save_IFS
14900 test -z "$as_dir" && as_dir=.
14901 for ac_exec_ext in '' $ac_executable_extensions; do
14902 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
14903 ac_cv_path_INTLTOOL_UPDATE="$as_dir/$ac_word$ac_exec_ext"
14904 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
14905 break 2
14906 fi
14907 done
14908 done
14909 IFS=$as_save_IFS
14910
14911 ;;
14912 esac
14913 fi
14914 INTLTOOL_UPDATE=$ac_cv_path_INTLTOOL_UPDATE
14915 if test -n "$INTLTOOL_UPDATE"; then
14916 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_UPDATE" >&5
14917 $as_echo "$INTLTOOL_UPDATE" >&6; }
14918 else
14919 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14920 $as_echo "no" >&6; }
14921 fi
14922
14923
14924 # Extract the first word of "intltool-merge", so it can be a program name with args.
14925 set dummy intltool-merge; ac_word=$2
14926 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
14927 $as_echo_n "checking for $ac_word... " >&6; }
14928 if test "${ac_cv_path_INTLTOOL_MERGE+set}" = set; then :
14929 $as_echo_n "(cached) " >&6
14930 else
14931 case $INTLTOOL_MERGE in
14932 [\\/]* | ?:[\\/]*)
14933 ac_cv_path_INTLTOOL_MERGE="$INTLTOOL_MERGE" # Let the user override the test with a path.
14934 ;;
14935 *)
14936 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
14937 for as_dir in $PATH
14938 do
14939 IFS=$as_save_IFS
14940 test -z "$as_dir" && as_dir=.
14941 for ac_exec_ext in '' $ac_executable_extensions; do
14942 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
14943 ac_cv_path_INTLTOOL_MERGE="$as_dir/$ac_word$ac_exec_ext"
14944 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
14945 break 2
14946 fi
14947 done
14948 done
14949 IFS=$as_save_IFS
14950
14951 ;;
14952 esac
14953 fi
14954 INTLTOOL_MERGE=$ac_cv_path_INTLTOOL_MERGE
14955 if test -n "$INTLTOOL_MERGE"; then
14956 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_MERGE" >&5
14957 $as_echo "$INTLTOOL_MERGE" >&6; }
14958 else
14959 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
14960 $as_echo "no" >&6; }
14961 fi
14962
14963
14964 # Extract the first word of "intltool-extract", so it can be a program name with args.
14965 set dummy intltool-extract; ac_word=$2
14966 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
14967 $as_echo_n "checking for $ac_word... " >&6; }
14968 if test "${ac_cv_path_INTLTOOL_EXTRACT+set}" = set; then :
14969 $as_echo_n "(cached) " >&6
14970 else
14971 case $INTLTOOL_EXTRACT in
14972 [\\/]* | ?:[\\/]*)
14973 ac_cv_path_INTLTOOL_EXTRACT="$INTLTOOL_EXTRACT" # Let the user override the test with a path.
14974 ;;
14975 *)
14976 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
14977 for as_dir in $PATH
14978 do
14979 IFS=$as_save_IFS
14980 test -z "$as_dir" && as_dir=.
14981 for ac_exec_ext in '' $ac_executable_extensions; do
14982 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
14983 ac_cv_path_INTLTOOL_EXTRACT="$as_dir/$ac_word$ac_exec_ext"
14984 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
14985 break 2
14986 fi
14987 done
14988 done
14989 IFS=$as_save_IFS
14990
14991 ;;
14992 esac
14993 fi
14994 INTLTOOL_EXTRACT=$ac_cv_path_INTLTOOL_EXTRACT
14995 if test -n "$INTLTOOL_EXTRACT"; then
14996 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_EXTRACT" >&5
14997 $as_echo "$INTLTOOL_EXTRACT" >&6; }
14998 else
14999 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15000 $as_echo "no" >&6; }
15001 fi
15002
15003
15004 if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then
15005 as_fn_error $? "The intltool scripts were not found. Please install intltool." "$LINENO" 5
15006 fi
15007
15008 INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
15009 INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
15010 INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
15011 INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
15012 INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@'
15013 INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
15014 INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
15015 INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
15016 INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
15017 INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
15018 INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
15019 INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@'
15020 INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
15021 INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
15022 INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
15023 INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
15024 INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
15025 INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
15026 INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
15027
15028
15029
15030
15031
15032
15033
15034
15035
15036
15037
15038
15039
15040
15041
15042
15043
15044
15045
15046
15047
15048
15049
15050
15051
15052
15053
15054
15055
15056
15057
15058
15059
15060
15061
15062
15063
15064
15065
15066
15067
15068
15069
15070
15071
15072
15073
15074
15075
15076
15077
15078
15079
15080
15081
15082
15083
15084
15085
15086
15087
15088
15089
15090
15091
15092
15093
15094
15095
15096
15097
15098
15099
15100
15101
15102
15103
15104
15105
15106
15107
15108
15109
15110
15111
15112
15113
15114
15115
15116
15117
15118
15119
15120
15121
15122
15123
15124 # Check the gettext tools to make sure they are GNU
15125 # Extract the first word of "xgettext", so it can be a program name with args.
15126 set dummy xgettext; ac_word=$2
15127 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
15128 $as_echo_n "checking for $ac_word... " >&6; }
15129 if test "${ac_cv_path_XGETTEXT+set}" = set; then :
15130 $as_echo_n "(cached) " >&6
15131 else
15132 case $XGETTEXT in
15133 [\\/]* | ?:[\\/]*)
15134 ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
15135 ;;
15136 *)
15137 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
15138 for as_dir in $PATH
15139 do
15140 IFS=$as_save_IFS
15141 test -z "$as_dir" && as_dir=.
15142 for ac_exec_ext in '' $ac_executable_extensions; do
15143 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
15144 ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext"
15145 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
15146 break 2
15147 fi
15148 done
15149 done
15150 IFS=$as_save_IFS
15151
15152 ;;
15153 esac
15154 fi
15155 XGETTEXT=$ac_cv_path_XGETTEXT
15156 if test -n "$XGETTEXT"; then
15157 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
15158 $as_echo "$XGETTEXT" >&6; }
15159 else
15160 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15161 $as_echo "no" >&6; }
15162 fi
15163
15164
15165 # Extract the first word of "msgmerge", so it can be a program name with args.
15166 set dummy msgmerge; ac_word=$2
15167 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
15168 $as_echo_n "checking for $ac_word... " >&6; }
15169 if test "${ac_cv_path_MSGMERGE+set}" = set; then :
15170 $as_echo_n "(cached) " >&6
15171 else
15172 case $MSGMERGE in
15173 [\\/]* | ?:[\\/]*)
15174 ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
15175 ;;
15176 *)
15177 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
15178 for as_dir in $PATH
15179 do
15180 IFS=$as_save_IFS
15181 test -z "$as_dir" && as_dir=.
15182 for ac_exec_ext in '' $ac_executable_extensions; do
15183 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
15184 ac_cv_path_MSGMERGE="$as_dir/$ac_word$ac_exec_ext"
15185 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
15186 break 2
15187 fi
15188 done
15189 done
15190 IFS=$as_save_IFS
15191
15192 ;;
15193 esac
15194 fi
15195 MSGMERGE=$ac_cv_path_MSGMERGE
15196 if test -n "$MSGMERGE"; then
15197 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
15198 $as_echo "$MSGMERGE" >&6; }
15199 else
15200 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15201 $as_echo "no" >&6; }
15202 fi
15203
15204
15205 # Extract the first word of "msgfmt", so it can be a program name with args.
15206 set dummy msgfmt; ac_word=$2
15207 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
15208 $as_echo_n "checking for $ac_word... " >&6; }
15209 if test "${ac_cv_path_MSGFMT+set}" = set; then :
15210 $as_echo_n "(cached) " >&6
15211 else
15212 case $MSGFMT in
15213 [\\/]* | ?:[\\/]*)
15214 ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
15215 ;;
15216 *)
15217 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
15218 for as_dir in $PATH
15219 do
15220 IFS=$as_save_IFS
15221 test -z "$as_dir" && as_dir=.
15222 for ac_exec_ext in '' $ac_executable_extensions; do
15223 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
15224 ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext"
15225 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
15226 break 2
15227 fi
15228 done
15229 done
15230 IFS=$as_save_IFS
15231
15232 ;;
15233 esac
15234 fi
15235 MSGFMT=$ac_cv_path_MSGFMT
15236 if test -n "$MSGFMT"; then
15237 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
15238 $as_echo "$MSGFMT" >&6; }
15239 else
15240 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15241 $as_echo "no" >&6; }
15242 fi
15243
15244
15245 # Extract the first word of "gmsgfmt", so it can be a program name with args.
15246 set dummy gmsgfmt; ac_word=$2
15247 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
15248 $as_echo_n "checking for $ac_word... " >&6; }
15249 if test "${ac_cv_path_GMSGFMT+set}" = set; then :
15250 $as_echo_n "(cached) " >&6
15251 else
15252 case $GMSGFMT in
15253 [\\/]* | ?:[\\/]*)
15254 ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
15255 ;;
15256 *)
15257 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
15258 for as_dir in $PATH
15259 do
15260 IFS=$as_save_IFS
15261 test -z "$as_dir" && as_dir=.
15262 for ac_exec_ext in '' $ac_executable_extensions; do
15263 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
15264 ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
15265 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
15266 break 2
15267 fi
15268 done
15269 done
15270 IFS=$as_save_IFS
15271
15272 test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
15273 ;;
15274 esac
15275 fi
15276 GMSGFMT=$ac_cv_path_GMSGFMT
15277 if test -n "$GMSGFMT"; then
15278 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
15279 $as_echo "$GMSGFMT" >&6; }
15280 else
15281 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15282 $as_echo "no" >&6; }
15283 fi
15284
15285
15286 if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then
15287 as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5
15288 fi
15289 xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`"
15290 mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`"
15291 mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`"
15292 if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then
15293 as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5
15294 fi
15295
15296 # Extract the first word of "perl", so it can be a program name with args.
15297 set dummy perl; ac_word=$2
15298 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
15299 $as_echo_n "checking for $ac_word... " >&6; }
15300 if test "${ac_cv_path_INTLTOOL_PERL+set}" = set; then :
15301 $as_echo_n "(cached) " >&6
15302 else
15303 case $INTLTOOL_PERL in
15304 [\\/]* | ?:[\\/]*)
15305 ac_cv_path_INTLTOOL_PERL="$INTLTOOL_PERL" # Let the user override the test with a path.
15306 ;;
15307 *)
15308 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
15309 for as_dir in $PATH
15310 do
15311 IFS=$as_save_IFS
15312 test -z "$as_dir" && as_dir=.
15313 for ac_exec_ext in '' $ac_executable_extensions; do
15314 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
15315 ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext"
15316 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
15317 break 2
15318 fi
15319 done
15320 done
15321 IFS=$as_save_IFS
15322
15323 ;;
15324 esac
15325 fi
15326 INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL
15327 if test -n "$INTLTOOL_PERL"; then
15328 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_PERL" >&5
15329 $as_echo "$INTLTOOL_PERL" >&6; }
15330 else
15331 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15332 $as_echo "no" >&6; }
15333 fi
15334
15335
15336 if test -z "$INTLTOOL_PERL"; then
15337 as_fn_error $? "perl not found" "$LINENO" 5
15338 fi
15339 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl >= 5.8.1" >&5
15340 $as_echo_n "checking for perl >= 5.8.1... " >&6; }
15341 $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1
15342 if test $? -ne 0; then
15343 as_fn_error $? "perl 5.8.1 is required for intltool" "$LINENO" 5
15344 else
15345 IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`"
15346 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $IT_PERL_VERSION" >&5
15347 $as_echo "$IT_PERL_VERSION" >&6; }
15348 fi
15349 if test "x" != "xno-xml"; then
15350 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML::Parser" >&5
15351 $as_echo_n "checking for XML::Parser... " >&6; }
15352 if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
15353 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
15354 $as_echo "ok" >&6; }
15355 else
15356 as_fn_error $? "XML::Parser perl module is required for intltool" "$LINENO" 5
15357 fi
15358 fi
15359
15360 # Substitute ALL_LINGUAS so we can use it in po/Makefile
15361
15362
15363 # Set DATADIRNAME correctly if it is not set yet
15364 # (copied from glib-gettext.m4)
15365 if test -z "$DATADIRNAME"; then
15366 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15367 /* end confdefs.h. */
15368
15369 int
15370 main ()
15371 {
15372 extern int _nl_msg_cat_cntr;
15373 return _nl_msg_cat_cntr
15374 ;
15375 return 0;
15376 }
15377 _ACEOF
15378 if ac_fn_c_try_link "$LINENO"; then :
15379 DATADIRNAME=share
15380 else
15381 case $host in
15382 *-*-solaris*)
15383 ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
15384 if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then :
15385 DATADIRNAME=share
15386 else
15387 DATADIRNAME=lib
15388 fi
15389
15390 ;;
15391 *)
15392 DATADIRNAME=lib
15393 ;;
15394 esac
15395 fi
15396 rm -f core conftest.err conftest.$ac_objext \
15397 conftest$ac_exeext conftest.$ac_ext
15398 fi
15399
15400
15401
15402
15403
15404
15405
15406 for ac_header in locale.h
15407 do :
15408 ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default"
15409 if test "x$ac_cv_header_locale_h" = x""yes; then :
15410 cat >>confdefs.h <<_ACEOF
15411 #define HAVE_LOCALE_H 1
15412 _ACEOF
15413
15414 fi
15415
15416 done
15417
15418 if test $ac_cv_header_locale_h = yes; then
15419 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5
15420 $as_echo_n "checking for LC_MESSAGES... " >&6; }
15421 if test "${am_cv_val_LC_MESSAGES+set}" = set; then :
15422 $as_echo_n "(cached) " >&6
15423 else
15424 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15425 /* end confdefs.h. */
15426 #include <locale.h>
15427 int
15428 main ()
15429 {
15430 return LC_MESSAGES
15431 ;
15432 return 0;
15433 }
15434 _ACEOF
15435 if ac_fn_c_try_link "$LINENO"; then :
15436 am_cv_val_LC_MESSAGES=yes
15437 else
15438 am_cv_val_LC_MESSAGES=no
15439 fi
15440 rm -f core conftest.err conftest.$ac_objext \
15441 conftest$ac_exeext conftest.$ac_ext
15442 fi
15443 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_val_LC_MESSAGES" >&5
15444 $as_echo "$am_cv_val_LC_MESSAGES" >&6; }
15445 if test $am_cv_val_LC_MESSAGES = yes; then
15446
15447 $as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h
15448
15449 fi
15450 fi
15451 USE_NLS=yes
15452
15453
15454 gt_cv_have_gettext=no
15455
15456 CATOBJEXT=NONE
15457 XGETTEXT=:
15458 INTLLIBS=
15459
15460 ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default"
15461 if test "x$ac_cv_header_libintl_h" = x""yes; then :
15462 gt_cv_func_dgettext_libintl="no"
15463 libintl_extra_libs=""
15464
15465 #
15466 # First check in libc
15467 #
15468 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in libc" >&5
15469 $as_echo_n "checking for ngettext in libc... " >&6; }
15470 if test "${gt_cv_func_ngettext_libc+set}" = set; then :
15471 $as_echo_n "(cached) " >&6
15472 else
15473 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15474 /* end confdefs.h. */
15475
15476 #include <libintl.h>
15477
15478 int
15479 main ()
15480 {
15481 return !ngettext ("","", 1)
15482 ;
15483 return 0;
15484 }
15485 _ACEOF
15486 if ac_fn_c_try_link "$LINENO"; then :
15487 gt_cv_func_ngettext_libc=yes
15488 else
15489 gt_cv_func_ngettext_libc=no
15490 fi
15491 rm -f core conftest.err conftest.$ac_objext \
15492 conftest$ac_exeext conftest.$ac_ext
15493
15494 fi
15495 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_ngettext_libc" >&5
15496 $as_echo "$gt_cv_func_ngettext_libc" >&6; }
15497
15498 if test "$gt_cv_func_ngettext_libc" = "yes" ; then
15499 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in libc" >&5
15500 $as_echo_n "checking for dgettext in libc... " >&6; }
15501 if test "${gt_cv_func_dgettext_libc+set}" = set; then :
15502 $as_echo_n "(cached) " >&6
15503 else
15504 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15505 /* end confdefs.h. */
15506
15507 #include <libintl.h>
15508
15509 int
15510 main ()
15511 {
15512 return !dgettext ("","")
15513 ;
15514 return 0;
15515 }
15516 _ACEOF
15517 if ac_fn_c_try_link "$LINENO"; then :
15518 gt_cv_func_dgettext_libc=yes
15519 else
15520 gt_cv_func_dgettext_libc=no
15521 fi
15522 rm -f core conftest.err conftest.$ac_objext \
15523 conftest$ac_exeext conftest.$ac_ext
15524
15525 fi
15526 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_dgettext_libc" >&5
15527 $as_echo "$gt_cv_func_dgettext_libc" >&6; }
15528 fi
15529
15530 if test "$gt_cv_func_ngettext_libc" = "yes" ; then
15531 for ac_func in bind_textdomain_codeset
15532 do :
15533 ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
15534 if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then :
15535 cat >>confdefs.h <<_ACEOF
15536 #define HAVE_BIND_TEXTDOMAIN_CODESET 1
15537 _ACEOF
15538
15539 fi
15540 done
15541
15542 fi
15543
15544 #
15545 # If we don't have everything we want, check in libintl
15546 #
15547 if test "$gt_cv_func_dgettext_libc" != "yes" \
15548 || test "$gt_cv_func_ngettext_libc" != "yes" \
15549 || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then
15550
15551 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bindtextdomain in -lintl" >&5
15552 $as_echo_n "checking for bindtextdomain in -lintl... " >&6; }
15553 if test "${ac_cv_lib_intl_bindtextdomain+set}" = set; then :
15554 $as_echo_n "(cached) " >&6
15555 else
15556 ac_check_lib_save_LIBS=$LIBS
15557 LIBS="-lintl $LIBS"
15558 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15559 /* end confdefs.h. */
15560
15561 /* Override any GCC internal prototype to avoid an error.
15562 Use char because int might match the return type of a GCC
15563 builtin and then its argument prototype would still apply. */
15564 #ifdef __cplusplus
15565 extern "C"
15566 #endif
15567 char bindtextdomain ();
15568 int
15569 main ()
15570 {
15571 return bindtextdomain ();
15572 ;
15573 return 0;
15574 }
15575 _ACEOF
15576 if ac_fn_c_try_link "$LINENO"; then :
15577 ac_cv_lib_intl_bindtextdomain=yes
15578 else
15579 ac_cv_lib_intl_bindtextdomain=no
15580 fi
15581 rm -f core conftest.err conftest.$ac_objext \
15582 conftest$ac_exeext conftest.$ac_ext
15583 LIBS=$ac_check_lib_save_LIBS
15584 fi
15585 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_bindtextdomain" >&5
15586 $as_echo "$ac_cv_lib_intl_bindtextdomain" >&6; }
15587 if test "x$ac_cv_lib_intl_bindtextdomain" = x""yes; then :
15588 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5
15589 $as_echo_n "checking for ngettext in -lintl... " >&6; }
15590 if test "${ac_cv_lib_intl_ngettext+set}" = set; then :
15591 $as_echo_n "(cached) " >&6
15592 else
15593 ac_check_lib_save_LIBS=$LIBS
15594 LIBS="-lintl $LIBS"
15595 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15596 /* end confdefs.h. */
15597
15598 /* Override any GCC internal prototype to avoid an error.
15599 Use char because int might match the return type of a GCC
15600 builtin and then its argument prototype would still apply. */
15601 #ifdef __cplusplus
15602 extern "C"
15603 #endif
15604 char ngettext ();
15605 int
15606 main ()
15607 {
15608 return ngettext ();
15609 ;
15610 return 0;
15611 }
15612 _ACEOF
15613 if ac_fn_c_try_link "$LINENO"; then :
15614 ac_cv_lib_intl_ngettext=yes
15615 else
15616 ac_cv_lib_intl_ngettext=no
15617 fi
15618 rm -f core conftest.err conftest.$ac_objext \
15619 conftest$ac_exeext conftest.$ac_ext
15620 LIBS=$ac_check_lib_save_LIBS
15621 fi
15622 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5
15623 $as_echo "$ac_cv_lib_intl_ngettext" >&6; }
15624 if test "x$ac_cv_lib_intl_ngettext" = x""yes; then :
15625 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in -lintl" >&5
15626 $as_echo_n "checking for dgettext in -lintl... " >&6; }
15627 if test "${ac_cv_lib_intl_dgettext+set}" = set; then :
15628 $as_echo_n "(cached) " >&6
15629 else
15630 ac_check_lib_save_LIBS=$LIBS
15631 LIBS="-lintl $LIBS"
15632 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15633 /* end confdefs.h. */
15634
15635 /* Override any GCC internal prototype to avoid an error.
15636 Use char because int might match the return type of a GCC
15637 builtin and then its argument prototype would still apply. */
15638 #ifdef __cplusplus
15639 extern "C"
15640 #endif
15641 char dgettext ();
15642 int
15643 main ()
15644 {
15645 return dgettext ();
15646 ;
15647 return 0;
15648 }
15649 _ACEOF
15650 if ac_fn_c_try_link "$LINENO"; then :
15651 ac_cv_lib_intl_dgettext=yes
15652 else
15653 ac_cv_lib_intl_dgettext=no
15654 fi
15655 rm -f core conftest.err conftest.$ac_objext \
15656 conftest$ac_exeext conftest.$ac_ext
15657 LIBS=$ac_check_lib_save_LIBS
15658 fi
15659 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dgettext" >&5
15660 $as_echo "$ac_cv_lib_intl_dgettext" >&6; }
15661 if test "x$ac_cv_lib_intl_dgettext" = x""yes; then :
15662 gt_cv_func_dgettext_libintl=yes
15663 fi
15664
15665 fi
15666
15667 fi
15668
15669
15670 if test "$gt_cv_func_dgettext_libintl" != "yes" ; then
15671 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -liconv is needed to use gettext" >&5
15672 $as_echo_n "checking if -liconv is needed to use gettext... " >&6; }
15673 { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
15674 $as_echo "" >&6; }
15675 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5
15676 $as_echo_n "checking for ngettext in -lintl... " >&6; }
15677 if test "${ac_cv_lib_intl_ngettext+set}" = set; then :
15678 $as_echo_n "(cached) " >&6
15679 else
15680 ac_check_lib_save_LIBS=$LIBS
15681 LIBS="-lintl -liconv $LIBS"
15682 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15683 /* end confdefs.h. */
15684
15685 /* Override any GCC internal prototype to avoid an error.
15686 Use char because int might match the return type of a GCC
15687 builtin and then its argument prototype would still apply. */
15688 #ifdef __cplusplus
15689 extern "C"
15690 #endif
15691 char ngettext ();
15692 int
15693 main ()
15694 {
15695 return ngettext ();
15696 ;
15697 return 0;
15698 }
15699 _ACEOF
15700 if ac_fn_c_try_link "$LINENO"; then :
15701 ac_cv_lib_intl_ngettext=yes
15702 else
15703 ac_cv_lib_intl_ngettext=no
15704 fi
15705 rm -f core conftest.err conftest.$ac_objext \
15706 conftest$ac_exeext conftest.$ac_ext
15707 LIBS=$ac_check_lib_save_LIBS
15708 fi
15709 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5
15710 $as_echo "$ac_cv_lib_intl_ngettext" >&6; }
15711 if test "x$ac_cv_lib_intl_ngettext" = x""yes; then :
15712 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dcgettext in -lintl" >&5
15713 $as_echo_n "checking for dcgettext in -lintl... " >&6; }
15714 if test "${ac_cv_lib_intl_dcgettext+set}" = set; then :
15715 $as_echo_n "(cached) " >&6
15716 else
15717 ac_check_lib_save_LIBS=$LIBS
15718 LIBS="-lintl -liconv $LIBS"
15719 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15720 /* end confdefs.h. */
15721
15722 /* Override any GCC internal prototype to avoid an error.
15723 Use char because int might match the return type of a GCC
15724 builtin and then its argument prototype would still apply. */
15725 #ifdef __cplusplus
15726 extern "C"
15727 #endif
15728 char dcgettext ();
15729 int
15730 main ()
15731 {
15732 return dcgettext ();
15733 ;
15734 return 0;
15735 }
15736 _ACEOF
15737 if ac_fn_c_try_link "$LINENO"; then :
15738 ac_cv_lib_intl_dcgettext=yes
15739 else
15740 ac_cv_lib_intl_dcgettext=no
15741 fi
15742 rm -f core conftest.err conftest.$ac_objext \
15743 conftest$ac_exeext conftest.$ac_ext
15744 LIBS=$ac_check_lib_save_LIBS
15745 fi
15746 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dcgettext" >&5
15747 $as_echo "$ac_cv_lib_intl_dcgettext" >&6; }
15748 if test "x$ac_cv_lib_intl_dcgettext" = x""yes; then :
15749 gt_cv_func_dgettext_libintl=yes
15750 libintl_extra_libs=-liconv
15751 else
15752 :
15753 fi
15754
15755 else
15756 :
15757 fi
15758
15759 fi
15760
15761 #
15762 # If we found libintl, then check in it for bind_textdomain_codeset();
15763 # we'll prefer libc if neither have bind_textdomain_codeset(),
15764 # and both have dgettext and ngettext
15765 #
15766 if test "$gt_cv_func_dgettext_libintl" = "yes" ; then
15767 glib_save_LIBS="$LIBS"
15768 LIBS="$LIBS -lintl $libintl_extra_libs"
15769 unset ac_cv_func_bind_textdomain_codeset
15770 for ac_func in bind_textdomain_codeset
15771 do :
15772 ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
15773 if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then :
15774 cat >>confdefs.h <<_ACEOF
15775 #define HAVE_BIND_TEXTDOMAIN_CODESET 1
15776 _ACEOF
15777
15778 fi
15779 done
15780
15781 LIBS="$glib_save_LIBS"
15782
15783 if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then
15784 gt_cv_func_dgettext_libc=no
15785 else
15786 if test "$gt_cv_func_dgettext_libc" = "yes" \
15787 && test "$gt_cv_func_ngettext_libc" = "yes"; then
15788 gt_cv_func_dgettext_libintl=no
15789 fi
15790 fi
15791 fi
15792 fi
15793
15794 if test "$gt_cv_func_dgettext_libc" = "yes" \
15795 || test "$gt_cv_func_dgettext_libintl" = "yes"; then
15796 gt_cv_have_gettext=yes
15797 fi
15798
15799 if test "$gt_cv_func_dgettext_libintl" = "yes"; then
15800 INTLLIBS="-lintl $libintl_extra_libs"
15801 fi
15802
15803 if test "$gt_cv_have_gettext" = "yes"; then
15804
15805 $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
15806
15807 # Extract the first word of "msgfmt", so it can be a program name with args.
15808 set dummy msgfmt; ac_word=$2
15809 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
15810 $as_echo_n "checking for $ac_word... " >&6; }
15811 if test "${ac_cv_path_MSGFMT+set}" = set; then :
15812 $as_echo_n "(cached) " >&6
15813 else
15814 case "$MSGFMT" in
15815 /*)
15816 ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
15817 ;;
15818 *)
15819 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
15820 for ac_dir in $PATH; do
15821 test -z "$ac_dir" && ac_dir=.
15822 if test -f $ac_dir/$ac_word; then
15823 if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then
15824 ac_cv_path_MSGFMT="$ac_dir/$ac_word"
15825 break
15826 fi
15827 fi
15828 done
15829 IFS="$ac_save_ifs"
15830 test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no"
15831 ;;
15832 esac
15833 fi
15834 MSGFMT="$ac_cv_path_MSGFMT"
15835 if test "$MSGFMT" != "no"; then
15836 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
15837 $as_echo "$MSGFMT" >&6; }
15838 else
15839 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15840 $as_echo "no" >&6; }
15841 fi
15842 if test "$MSGFMT" != "no"; then
15843 glib_save_LIBS="$LIBS"
15844 LIBS="$LIBS $INTLLIBS"
15845 for ac_func in dcgettext
15846 do :
15847 ac_fn_c_check_func "$LINENO" "dcgettext" "ac_cv_func_dcgettext"
15848 if test "x$ac_cv_func_dcgettext" = x""yes; then :
15849 cat >>confdefs.h <<_ACEOF
15850 #define HAVE_DCGETTEXT 1
15851 _ACEOF
15852
15853 fi
15854 done
15855
15856 MSGFMT_OPTS=
15857 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if msgfmt accepts -c" >&5
15858 $as_echo_n "checking if msgfmt accepts -c... " >&6; }
15859 cat >conftest.foo <<_ACEOF
15860
15861 msgid ""
15862 msgstr ""
15863 "Content-Type: text/plain; charset=UTF-8\n"
15864 "Project-Id-Version: test 1.0\n"
15865 "PO-Revision-Date: 2007-02-15 12:01+0100\n"
15866 "Last-Translator: test <foo@bar.xx>\n"
15867 "Language-Team: C <LL@li.org>\n"
15868 "MIME-Version: 1.0\n"
15869 "Content-Transfer-Encoding: 8bit\n"
15870
15871 _ACEOF
15872 if { { $as_echo "$as_me:${as_lineno-$LINENO}: \$MSGFMT -c -o /dev/null conftest.foo"; } >&5
15873 ($MSGFMT -c -o /dev/null conftest.foo) 2>&5
15874 ac_status=$?
15875 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
15876 test $ac_status = 0; }; then
15877 MSGFMT_OPTS=-c; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15878 $as_echo "yes" >&6; }
15879 else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15880 $as_echo "no" >&6; }
15881 echo "$as_me: failed input was:" >&5
15882 sed 's/^/| /' conftest.foo >&5
15883 fi
15884
15885 # Extract the first word of "gmsgfmt", so it can be a program name with args.
15886 set dummy gmsgfmt; ac_word=$2
15887 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
15888 $as_echo_n "checking for $ac_word... " >&6; }
15889 if test "${ac_cv_path_GMSGFMT+set}" = set; then :
15890 $as_echo_n "(cached) " >&6
15891 else
15892 case $GMSGFMT in
15893 [\\/]* | ?:[\\/]*)
15894 ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
15895 ;;
15896 *)
15897 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
15898 for as_dir in $PATH
15899 do
15900 IFS=$as_save_IFS
15901 test -z "$as_dir" && as_dir=.
15902 for ac_exec_ext in '' $ac_executable_extensions; do
15903 if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
15904 ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
15905 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
15906 break 2
15907 fi
15908 done
15909 done
15910 IFS=$as_save_IFS
15911
15912 test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
15913 ;;
15914 esac
15915 fi
15916 GMSGFMT=$ac_cv_path_GMSGFMT
15917 if test -n "$GMSGFMT"; then
15918 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
15919 $as_echo "$GMSGFMT" >&6; }
15920 else
15921 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15922 $as_echo "no" >&6; }
15923 fi
15924
15925
15926 # Extract the first word of "xgettext", so it can be a program name with args.
15927 set dummy xgettext; ac_word=$2
15928 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
15929 $as_echo_n "checking for $ac_word... " >&6; }
15930 if test "${ac_cv_path_XGETTEXT+set}" = set; then :
15931 $as_echo_n "(cached) " >&6
15932 else
15933 case "$XGETTEXT" in
15934 /*)
15935 ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
15936 ;;
15937 *)
15938 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
15939 for ac_dir in $PATH; do
15940 test -z "$ac_dir" && ac_dir=.
15941 if test -f $ac_dir/$ac_word; then
15942 if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then
15943 ac_cv_path_XGETTEXT="$ac_dir/$ac_word"
15944 break
15945 fi
15946 fi
15947 done
15948 IFS="$ac_save_ifs"
15949 test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
15950 ;;
15951 esac
15952 fi
15953 XGETTEXT="$ac_cv_path_XGETTEXT"
15954 if test "$XGETTEXT" != ":"; then
15955 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
15956 $as_echo "$XGETTEXT" >&6; }
15957 else
15958 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
15959 $as_echo "no" >&6; }
15960 fi
15961
15962 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15963 /* end confdefs.h. */
15964
15965 int
15966 main ()
15967 {
15968 extern int _nl_msg_cat_cntr;
15969 return _nl_msg_cat_cntr
15970 ;
15971 return 0;
15972 }
15973 _ACEOF
15974 if ac_fn_c_try_link "$LINENO"; then :
15975 CATOBJEXT=.gmo
15976 DATADIRNAME=share
15977 else
15978 case $host in
15979 *-*-solaris*)
15980 ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
15981 if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then :
15982 CATOBJEXT=.gmo
15983 DATADIRNAME=share
15984 else
15985 CATOBJEXT=.mo
15986 DATADIRNAME=lib
15987 fi
15988
15989 ;;
15990 *)
15991 CATOBJEXT=.mo
15992 DATADIRNAME=lib
15993 ;;
15994 esac
15995 fi
15996 rm -f core conftest.err conftest.$ac_objext \
15997 conftest$ac_exeext conftest.$ac_ext
15998 LIBS="$glib_save_LIBS"
15999 INSTOBJEXT=.mo
16000 else
16001 gt_cv_have_gettext=no
16002 fi
16003 fi
16004
16005 fi
16006
16007
16008
16009 if test "$gt_cv_have_gettext" = "yes" ; then
16010
16011 $as_echo "#define ENABLE_NLS 1" >>confdefs.h
16012
16013 fi
16014
16015 if test "$XGETTEXT" != ":"; then
16016 if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
16017 : ;
16018 else
16019 { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5
16020 $as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; }
16021 XGETTEXT=":"
16022 fi
16023 fi
16024
16025 # We need to process the po/ directory.
16026 POSUB=po
16027
16028 ac_config_commands="$ac_config_commands default-1"
16029
16030
16031 for lang in $ALL_LINGUAS; do
16032 GMOFILES="$GMOFILES $lang.gmo"
16033 POFILES="$POFILES $lang.po"
16034 done
16035
16036
16037
16038
16039
16040
16041
16042
16043
16044
16045
16046
16047
16048 if test "$gt_cv_have_gettext" = "yes"; then
16049 if test "x$ALL_LINGUAS" = "x"; then
16050 LINGUAS=
16051 else
16052 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for catalogs to be installed" >&5
16053 $as_echo_n "checking for catalogs to be installed... " >&6; }
16054 NEW_LINGUAS=
16055 for presentlang in $ALL_LINGUAS; do
16056 useit=no
16057 if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then
16058 desiredlanguages="$LINGUAS"
16059 else
16060 desiredlanguages="$ALL_LINGUAS"
16061 fi
16062 for desiredlang in $desiredlanguages; do
16063 # Use the presentlang catalog if desiredlang is
16064 # a. equal to presentlang, or
16065 # b. a variant of presentlang (because in this case,
16066 # presentlang can be used as a fallback for messages
16067 # which are not translated in the desiredlang catalog).
16068 case "$desiredlang" in
16069 "$presentlang"*) useit=yes;;
16070 esac
16071 done
16072 if test $useit = yes; then
16073 NEW_LINGUAS="$NEW_LINGUAS $presentlang"
16074 fi
16075 done
16076 LINGUAS=$NEW_LINGUAS
16077 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINGUAS" >&5
16078 $as_echo "$LINGUAS" >&6; }
16079 fi
16080
16081 if test -n "$LINGUAS"; then
16082 for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
16083 fi
16084 fi
16085
16086 MKINSTALLDIRS=
16087 if test -n "$ac_aux_dir"; then
16088 MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
16089 fi
16090 if test -z "$MKINSTALLDIRS"; then
16091 MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
16092 fi
16093
16094
16095 test -d po || mkdir po
16096 if test "x$srcdir" != "x."; then
16097 if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
16098 posrcprefix="$srcdir/"
16099 else
16100 posrcprefix="../$srcdir/"
16101 fi
16102 else
16103 posrcprefix="../"
16104 fi
16105 rm -f po/POTFILES
16106 sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
16107 < $srcdir/po/POTFILES.in > po/POTFILES
16108
16109
16110 GETTEXT_PACKAGE="ghemical"
16111
16112
16113 cat >>confdefs.h <<_ACEOF
16114 #define GETTEXT_PACKAGE "$GETTEXT_PACKAGE"
16115 _ACEOF
16116
16117
16118 ## end of i18n-stuff...
16119 ##^^^^^^^^^^^^^^^^^^^^^^
16120
16121 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
16122 $as_echo_n "checking whether build environment is sane... " >&6; }
16123 # Just in case
16124 sleep 1
16125 echo timestamp > conftestfile
16126 # Do `set' in a subshell so we don't clobber the current shell's
16127 # arguments. Must try -L first in case configure is actually a
16128 # symlink; some systems play weird games with the mod time of symlinks
16129 # (eg FreeBSD returns the mod time of the symlink's containing
16130 # directory).
16131 if (
16132 set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
16133 if test "$*" = "X"; then
16134 # -L didn't work.
16135 set X `ls -t $srcdir/configure conftestfile`
16136 fi
16137 if test "$*" != "X $srcdir/configure conftestfile" \
16138 && test "$*" != "X conftestfile $srcdir/configure"; then
16139
16140 # If neither matched, then we have a broken ls. This can happen
16141 # if, for instance, CONFIG_SHELL is bash and it inherits a
16142 # broken ls alias from the environment. This has actually
16143 # happened. Such a system could not be considered "sane".
16144 as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
16145 alias in your environment" "$LINENO" 5
16146 fi
16147
16148 test "$2" = conftestfile
16149 )
16150 then
16151 # Ok.
16152 :
16153 else
16154 as_fn_error $? "newly created file is older than distributed files!
16155 Check your system clock" "$LINENO" 5
16156 fi
16157 rm -f conftest*
16158 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
16159 $as_echo "yes" >&6; }
16160
16161 # Checks for libraries.
16162 # ^^^^^^^^^^^^^^^^^^^^^
16163
16164 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for acos in -lm" >&5
16165 $as_echo_n "checking for acos in -lm... " >&6; }
16166 if test "${ac_cv_lib_m_acos+set}" = set; then :
16167 $as_echo_n "(cached) " >&6
16168 else
16169 ac_check_lib_save_LIBS=$LIBS
16170 LIBS="-lm $LIBS"
16171 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16172 /* end confdefs.h. */
16173
16174 /* Override any GCC internal prototype to avoid an error.
16175 Use char because int might match the return type of a GCC
16176 builtin and then its argument prototype would still apply. */
16177 #ifdef __cplusplus
16178 extern "C"
16179 #endif
16180 char acos ();
16181 int
16182 main ()
16183 {
16184 return acos ();
16185 ;
16186 return 0;
16187 }
16188 _ACEOF
16189 if ac_fn_c_try_link "$LINENO"; then :
16190 ac_cv_lib_m_acos=yes
16191 else
16192 ac_cv_lib_m_acos=no
16193 fi
16194 rm -f core conftest.err conftest.$ac_objext \
16195 conftest$ac_exeext conftest.$ac_ext
16196 LIBS=$ac_check_lib_save_LIBS
16197 fi
16198 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_acos" >&5
16199 $as_echo "$ac_cv_lib_m_acos" >&6; }
16200 if test "x$ac_cv_lib_m_acos" = x""yes; then :
16201 cat >>confdefs.h <<_ACEOF
16202 #define HAVE_LIBM 1
16203 _ACEOF
16204
16205 LIBS="-lm $LIBS"
16206
16207 else
16208 as_fn_error $? "math library missing" "$LINENO" 5
16209 fi
16210
16211
16212 LIBS="$LIBS -L/usr/X11R6/lib"
16213
16214 ## the GL/GLU library checks won't work at mingw environment...
16215 ## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
16216 #AC_CHECK_LIB([GL], [glRenderMode],, AC_MSG_ERROR([GL library missing]))
16217 #AC_CHECK_LIB([GLU], [gluCylinder],, AC_MSG_ERROR([GLU library missing]))
16218
16219 ## the X11 check should be skipped at mingw environment...
16220 ## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
16221 #AC_CHECK_LIB([X11], [XOpenDisplay],, AC_MSG_ERROR([X11 library missing]))
16222
16223 ## are the rest necessary???
16224
16225 #AC_CHECK_LIB([Xmu], [XmuDrawLogo])
16226 #AC_CHECK_LIB([Xext], [XShmAttach])
16227 #AC_CHECK_LIB([Xi], [XOpenDevice])
16228
16229 # gtk+ feature GtkUIManager is needed -> v2.4 or newer is required.
16230 # glib feature GOptionContext is needed -> v2.6 or newer is required.
16231
16232 ## the PKG_CHECK_MODULES() function is not working at mingw environment...
16233 ## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
16234
16235 if test $enable_gtk = yes; then
16236
16237 $as_echo "#define ENABLE_GTK /**/" >>confdefs.h
16238
16239
16240 if test $enable_threads = yes; then
16241
16242 $as_echo "#define ENABLE_THREADS /**/" >>confdefs.h
16243
16244
16245
16246 pkg_failed=no
16247 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTHREAD" >&5
16248 $as_echo_n "checking for GTHREAD... " >&6; }
16249
16250 if test -n "$GTHREAD_CFLAGS"; then
16251 pkg_cv_GTHREAD_CFLAGS="$GTHREAD_CFLAGS"
16252 elif test -n "$PKG_CONFIG"; then
16253 if test -n "$PKG_CONFIG" && \
16254 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gthread-2.0 >= 2.6.0\""; } >&5
16255 ($PKG_CONFIG --exists --print-errors "gthread-2.0 >= 2.6.0") 2>&5
16256 ac_status=$?
16257 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
16258 test $ac_status = 0; }; then
16259 pkg_cv_GTHREAD_CFLAGS=`$PKG_CONFIG --cflags "gthread-2.0 >= 2.6.0" 2>/dev/null`
16260 else
16261 pkg_failed=yes
16262 fi
16263 else
16264 pkg_failed=untried
16265 fi
16266 if test -n "$GTHREAD_LIBS"; then
16267 pkg_cv_GTHREAD_LIBS="$GTHREAD_LIBS"
16268 elif test -n "$PKG_CONFIG"; then
16269 if test -n "$PKG_CONFIG" && \
16270 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gthread-2.0 >= 2.6.0\""; } >&5
16271 ($PKG_CONFIG --exists --print-errors "gthread-2.0 >= 2.6.0") 2>&5
16272 ac_status=$?
16273 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
16274 test $ac_status = 0; }; then
16275 pkg_cv_GTHREAD_LIBS=`$PKG_CONFIG --libs "gthread-2.0 >= 2.6.0" 2>/dev/null`
16276 else
16277 pkg_failed=yes
16278 fi
16279 else
16280 pkg_failed=untried
16281 fi
16282
16283
16284
16285 if test $pkg_failed = yes; then
16286 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16287 $as_echo "no" >&6; }
16288
16289 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
16290 _pkg_short_errors_supported=yes
16291 else
16292 _pkg_short_errors_supported=no
16293 fi
16294 if test $_pkg_short_errors_supported = yes; then
16295 GTHREAD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gthread-2.0 >= 2.6.0" 2>&1`
16296 else
16297 GTHREAD_PKG_ERRORS=`$PKG_CONFIG --print-errors "gthread-2.0 >= 2.6.0" 2>&1`
16298 fi
16299 # Put the nasty error message in config.log where it belongs
16300 echo "$GTHREAD_PKG_ERRORS" >&5
16301
16302 as_fn_error $? "Package requirements (gthread-2.0 >= 2.6.0) were not met:
16303
16304 $GTHREAD_PKG_ERRORS
16305
16306 Consider adjusting the PKG_CONFIG_PATH environment variable if you
16307 installed software in a non-standard prefix.
16308
16309 Alternatively, you may set the environment variables GTHREAD_CFLAGS
16310 and GTHREAD_LIBS to avoid the need to call pkg-config.
16311 See the pkg-config man page for more details." "$LINENO" 5
16312 elif test $pkg_failed = untried; then
16313 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16314 $as_echo "no" >&6; }
16315 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
16316 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
16317 as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
16318 is in your PATH or set the PKG_CONFIG environment variable to the full
16319 path to pkg-config.
16320
16321 Alternatively, you may set the environment variables GTHREAD_CFLAGS
16322 and GTHREAD_LIBS to avoid the need to call pkg-config.
16323 See the pkg-config man page for more details.
16324
16325 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
16326 See \`config.log' for more details" "$LINENO" 5 ; }
16327 else
16328 GTHREAD_CFLAGS=$pkg_cv_GTHREAD_CFLAGS
16329 GTHREAD_LIBS=$pkg_cv_GTHREAD_LIBS
16330 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
16331 $as_echo "yes" >&6; }
16332
16333 fi
16334 ##alt GTHREAD_CFLAGS=`$PKG_CONFIG --cflags "gthread-2.0 >= 2.6.0"`
16335 ##alt GTHREAD_LIBS=`$PKG_CONFIG --libs gthread-2.0`
16336
16337 CPPFLAGS="$CPPFLAGS $GTHREAD_CFLAGS"
16338 LIBS="$LIBS $GTHREAD_LIBS"
16339 fi
16340
16341
16342 pkg_failed=no
16343 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK" >&5
16344 $as_echo_n "checking for GTK... " >&6; }
16345
16346 if test -n "$GTK_CFLAGS"; then
16347 pkg_cv_GTK_CFLAGS="$GTK_CFLAGS"
16348 elif test -n "$PKG_CONFIG"; then
16349 if test -n "$PKG_CONFIG" && \
16350 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.6.0 gtkglext-1.0 >= 1.0.5 libglade-2.0 >= 2.4.0\""; } >&5
16351 ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.6.0 gtkglext-1.0 >= 1.0.5 libglade-2.0 >= 2.4.0") 2>&5
16352 ac_status=$?
16353 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
16354 test $ac_status = 0; }; then
16355 pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.6.0 gtkglext-1.0 >= 1.0.5 libglade-2.0 >= 2.4.0" 2>/dev/null`
16356 else
16357 pkg_failed=yes
16358 fi
16359 else
16360 pkg_failed=untried
16361 fi
16362 if test -n "$GTK_LIBS"; then
16363 pkg_cv_GTK_LIBS="$GTK_LIBS"
16364 elif test -n "$PKG_CONFIG"; then
16365 if test -n "$PKG_CONFIG" && \
16366 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.6.0 gtkglext-1.0 >= 1.0.5 libglade-2.0 >= 2.4.0\""; } >&5
16367 ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.6.0 gtkglext-1.0 >= 1.0.5 libglade-2.0 >= 2.4.0") 2>&5
16368 ac_status=$?
16369 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
16370 test $ac_status = 0; }; then
16371 pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.6.0 gtkglext-1.0 >= 1.0.5 libglade-2.0 >= 2.4.0" 2>/dev/null`
16372 else
16373 pkg_failed=yes
16374 fi
16375 else
16376 pkg_failed=untried
16377 fi
16378
16379
16380
16381 if test $pkg_failed = yes; then
16382 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16383 $as_echo "no" >&6; }
16384
16385 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
16386 _pkg_short_errors_supported=yes
16387 else
16388 _pkg_short_errors_supported=no
16389 fi
16390 if test $_pkg_short_errors_supported = yes; then
16391 GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gtk+-2.0 >= 2.6.0 gtkglext-1.0 >= 1.0.5 libglade-2.0 >= 2.4.0" 2>&1`
16392 else
16393 GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors "gtk+-2.0 >= 2.6.0 gtkglext-1.0 >= 1.0.5 libglade-2.0 >= 2.4.0" 2>&1`
16394 fi
16395 # Put the nasty error message in config.log where it belongs
16396 echo "$GTK_PKG_ERRORS" >&5
16397
16398 as_fn_error $? "Package requirements (gtk+-2.0 >= 2.6.0 gtkglext-1.0 >= 1.0.5 libglade-2.0 >= 2.4.0) were not met:
16399
16400 $GTK_PKG_ERRORS
16401
16402 Consider adjusting the PKG_CONFIG_PATH environment variable if you
16403 installed software in a non-standard prefix.
16404
16405 Alternatively, you may set the environment variables GTK_CFLAGS
16406 and GTK_LIBS to avoid the need to call pkg-config.
16407 See the pkg-config man page for more details." "$LINENO" 5
16408 elif test $pkg_failed = untried; then
16409 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16410 $as_echo "no" >&6; }
16411 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
16412 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
16413 as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
16414 is in your PATH or set the PKG_CONFIG environment variable to the full
16415 path to pkg-config.
16416
16417 Alternatively, you may set the environment variables GTK_CFLAGS
16418 and GTK_LIBS to avoid the need to call pkg-config.
16419 See the pkg-config man page for more details.
16420
16421 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
16422 See \`config.log' for more details" "$LINENO" 5 ; }
16423 else
16424 GTK_CFLAGS=$pkg_cv_GTK_CFLAGS
16425 GTK_LIBS=$pkg_cv_GTK_LIBS
16426 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
16427 $as_echo "yes" >&6; }
16428
16429 fi
16430 ##alt GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.6.0 gtkglext-1.0 >= 1.0.5 libglade-2.0 >= 2.4.0"`
16431 ##alt GTK_LIBS=`$PKG_CONFIG --libs gtk+-2.0 gtkglext-1.0 libglade-2.0`
16432
16433 CPPFLAGS="$CPPFLAGS $GTK_CFLAGS"
16434 LIBS="$LIBS $GTK_LIBS"
16435 fi
16436
16437 if test $enable_openbabel = yes; then
16438
16439 $as_echo "#define ENABLE_OPENBABEL /**/" >>confdefs.h
16440
16441
16442
16443 pkg_failed=no
16444 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OPENBABEL" >&5
16445 $as_echo_n "checking for OPENBABEL... " >&6; }
16446
16447 if test -n "$OPENBABEL_CFLAGS"; then
16448 pkg_cv_OPENBABEL_CFLAGS="$OPENBABEL_CFLAGS"
16449 elif test -n "$PKG_CONFIG"; then
16450 if test -n "$PKG_CONFIG" && \
16451 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openbabel-2.0\""; } >&5
16452 ($PKG_CONFIG --exists --print-errors "openbabel-2.0") 2>&5
16453 ac_status=$?
16454 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
16455 test $ac_status = 0; }; then
16456 pkg_cv_OPENBABEL_CFLAGS=`$PKG_CONFIG --cflags "openbabel-2.0" 2>/dev/null`
16457 else
16458 pkg_failed=yes
16459 fi
16460 else
16461 pkg_failed=untried
16462 fi
16463 if test -n "$OPENBABEL_LIBS"; then
16464 pkg_cv_OPENBABEL_LIBS="$OPENBABEL_LIBS"
16465 elif test -n "$PKG_CONFIG"; then
16466 if test -n "$PKG_CONFIG" && \
16467 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"openbabel-2.0\""; } >&5
16468 ($PKG_CONFIG --exists --print-errors "openbabel-2.0") 2>&5
16469 ac_status=$?
16470 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
16471 test $ac_status = 0; }; then
16472 pkg_cv_OPENBABEL_LIBS=`$PKG_CONFIG --libs "openbabel-2.0" 2>/dev/null`
16473 else
16474 pkg_failed=yes
16475 fi
16476 else
16477 pkg_failed=untried
16478 fi
16479
16480
16481
16482 if test $pkg_failed = yes; then
16483 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16484 $as_echo "no" >&6; }
16485
16486 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
16487 _pkg_short_errors_supported=yes
16488 else
16489 _pkg_short_errors_supported=no
16490 fi
16491 if test $_pkg_short_errors_supported = yes; then
16492 OPENBABEL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "openbabel-2.0" 2>&1`
16493 else
16494 OPENBABEL_PKG_ERRORS=`$PKG_CONFIG --print-errors "openbabel-2.0" 2>&1`
16495 fi
16496 # Put the nasty error message in config.log where it belongs
16497 echo "$OPENBABEL_PKG_ERRORS" >&5
16498
16499 as_fn_error $? "Package requirements (openbabel-2.0) were not met:
16500
16501 $OPENBABEL_PKG_ERRORS
16502
16503 Consider adjusting the PKG_CONFIG_PATH environment variable if you
16504 installed software in a non-standard prefix.
16505
16506 Alternatively, you may set the environment variables OPENBABEL_CFLAGS
16507 and OPENBABEL_LIBS to avoid the need to call pkg-config.
16508 See the pkg-config man page for more details." "$LINENO" 5
16509 elif test $pkg_failed = untried; then
16510 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16511 $as_echo "no" >&6; }
16512 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
16513 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
16514 as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
16515 is in your PATH or set the PKG_CONFIG environment variable to the full
16516 path to pkg-config.
16517
16518 Alternatively, you may set the environment variables OPENBABEL_CFLAGS
16519 and OPENBABEL_LIBS to avoid the need to call pkg-config.
16520 See the pkg-config man page for more details.
16521
16522 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
16523 See \`config.log' for more details" "$LINENO" 5 ; }
16524 else
16525 OPENBABEL_CFLAGS=$pkg_cv_OPENBABEL_CFLAGS
16526 OPENBABEL_LIBS=$pkg_cv_OPENBABEL_LIBS
16527 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
16528 $as_echo "yes" >&6; }
16529
16530 fi
16531 ##alt OPENBABEL_CFLAGS=`$PKG_CONFIG --cflags openbabel-2.0`
16532 ##alt OPENBABEL_LIBS=`$PKG_CONFIG --libs openbabel-2.0`
16533
16534 CPPFLAGS="$CPPFLAGS $OPENBABEL_CFLAGS"
16535 LIBS="$LIBS $OPENBABEL_LIBS"
16536 fi
16537
16538
16539 pkg_failed=no
16540 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBGHEMICAL" >&5
16541 $as_echo_n "checking for LIBGHEMICAL... " >&6; }
16542
16543 if test -n "$LIBGHEMICAL_CFLAGS"; then
16544 pkg_cv_LIBGHEMICAL_CFLAGS="$LIBGHEMICAL_CFLAGS"
16545 elif test -n "$PKG_CONFIG"; then
16546 if test -n "$PKG_CONFIG" && \
16547 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libghemical >= 3.0.0 liboglappth >= 1.0.0\""; } >&5
16548 ($PKG_CONFIG --exists --print-errors "libghemical >= 3.0.0 liboglappth >= 1.0.0") 2>&5
16549 ac_status=$?
16550 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
16551 test $ac_status = 0; }; then
16552 pkg_cv_LIBGHEMICAL_CFLAGS=`$PKG_CONFIG --cflags "libghemical >= 3.0.0 liboglappth >= 1.0.0" 2>/dev/null`
16553 else
16554 pkg_failed=yes
16555 fi
16556 else
16557 pkg_failed=untried
16558 fi
16559 if test -n "$LIBGHEMICAL_LIBS"; then
16560 pkg_cv_LIBGHEMICAL_LIBS="$LIBGHEMICAL_LIBS"
16561 elif test -n "$PKG_CONFIG"; then
16562 if test -n "$PKG_CONFIG" && \
16563 { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libghemical >= 3.0.0 liboglappth >= 1.0.0\""; } >&5
16564 ($PKG_CONFIG --exists --print-errors "libghemical >= 3.0.0 liboglappth >= 1.0.0") 2>&5
16565 ac_status=$?
16566 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
16567 test $ac_status = 0; }; then
16568 pkg_cv_LIBGHEMICAL_LIBS=`$PKG_CONFIG --libs "libghemical >= 3.0.0 liboglappth >= 1.0.0" 2>/dev/null`
16569 else
16570 pkg_failed=yes
16571 fi
16572 else
16573 pkg_failed=untried
16574 fi
16575
16576
16577
16578 if test $pkg_failed = yes; then
16579 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16580 $as_echo "no" >&6; }
16581
16582 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
16583 _pkg_short_errors_supported=yes
16584 else
16585 _pkg_short_errors_supported=no
16586 fi
16587 if test $_pkg_short_errors_supported = yes; then
16588 LIBGHEMICAL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libghemical >= 3.0.0 liboglappth >= 1.0.0" 2>&1`
16589 else
16590 LIBGHEMICAL_PKG_ERRORS=`$PKG_CONFIG --print-errors "libghemical >= 3.0.0 liboglappth >= 1.0.0" 2>&1`
16591 fi
16592 # Put the nasty error message in config.log where it belongs
16593 echo "$LIBGHEMICAL_PKG_ERRORS" >&5
16594
16595 as_fn_error $? "Package requirements (libghemical >= 3.0.0 liboglappth >= 1.0.0) were not met:
16596
16597 $LIBGHEMICAL_PKG_ERRORS
16598
16599 Consider adjusting the PKG_CONFIG_PATH environment variable if you
16600 installed software in a non-standard prefix.
16601
16602 Alternatively, you may set the environment variables LIBGHEMICAL_CFLAGS
16603 and LIBGHEMICAL_LIBS to avoid the need to call pkg-config.
16604 See the pkg-config man page for more details." "$LINENO" 5
16605 elif test $pkg_failed = untried; then
16606 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
16607 $as_echo "no" >&6; }
16608 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
16609 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
16610 as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
16611 is in your PATH or set the PKG_CONFIG environment variable to the full
16612 path to pkg-config.
16613
16614 Alternatively, you may set the environment variables LIBGHEMICAL_CFLAGS
16615 and LIBGHEMICAL_LIBS to avoid the need to call pkg-config.
16616 See the pkg-config man page for more details.
16617
16618 To get pkg-config, see <http://pkg-config.freedesktop.org/>.
16619 See \`config.log' for more details" "$LINENO" 5 ; }
16620 else
16621 LIBGHEMICAL_CFLAGS=$pkg_cv_LIBGHEMICAL_CFLAGS
16622 LIBGHEMICAL_LIBS=$pkg_cv_LIBGHEMICAL_LIBS
16623 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
16624 $as_echo "yes" >&6; }
16625
16626 fi
16627 ##alt LIBGHEMICAL_CFLAGS=`$PKG_CONFIG --cflags "libghemical >= 3.0.0 liboglappth >= 1.0.0"`
16628 ##alt LIBGHEMICAL_LIBS=`$PKG_CONFIG --libs libghemical liboglappth`
16629
16630 CPPFLAGS="$CPPFLAGS $LIBGHEMICAL_CFLAGS"
16631 LIBS="$LIBS $LIBGHEMICAL_LIBS"
16632
16633 # Checks for header files.
16634 # ^^^^^^^^^^^^^^^^^^^^^^^^
16635
16636 for ac_header in GL/gl.h
16637 do :
16638 ac_fn_c_check_header_mongrel "$LINENO" "GL/gl.h" "ac_cv_header_GL_gl_h" "$ac_includes_default"
16639 if test "x$ac_cv_header_GL_gl_h" = x""yes; then :
16640 cat >>confdefs.h <<_ACEOF
16641 #define HAVE_GL_GL_H 1
16642 _ACEOF
16643
16644 fi
16645
16646 done
16647
16648 for ac_header in GL/glu.h
16649 do :
16650 ac_fn_c_check_header_mongrel "$LINENO" "GL/glu.h" "ac_cv_header_GL_glu_h" "$ac_includes_default"
16651 if test "x$ac_cv_header_GL_glu_h" = x""yes; then :
16652 cat >>confdefs.h <<_ACEOF
16653 #define HAVE_GL_GLU_H 1
16654 _ACEOF
16655
16656 fi
16657
16658 done
16659
16660
16661 # Checks for typedefs, structures, and compiler characteristics.
16662 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
16663
16664 case $ac_cv_prog_cc_stdc in #(
16665 no) :
16666 ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #(
16667 *) :
16668 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5
16669 $as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
16670 if test "${ac_cv_prog_cc_c99+set}" = set; then :
16671 $as_echo_n "(cached) " >&6
16672 else
16673 ac_cv_prog_cc_c99=no
16674 ac_save_CC=$CC
16675 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16676 /* end confdefs.h. */
16677 #include <stdarg.h>
16678 #include <stdbool.h>
16679 #include <stdlib.h>
16680 #include <wchar.h>
16681 #include <stdio.h>
16682
16683 // Check varargs macros. These examples are taken from C99 6.10.3.5.
16684 #define debug(...) fprintf (stderr, __VA_ARGS__)
16685 #define showlist(...) puts (#__VA_ARGS__)
16686 #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
16687 static void
16688 test_varargs_macros (void)
16689 {
16690 int x = 1234;
16691 int y = 5678;
16692 debug ("Flag");
16693 debug ("X = %d\n", x);
16694 showlist (The first, second, and third items.);
16695 report (x>y, "x is %d but y is %d", x, y);
16696 }
16697
16698 // Check long long types.
16699 #define BIG64 18446744073709551615ull
16700 #define BIG32 4294967295ul
16701 #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
16702 #if !BIG_OK
16703 your preprocessor is broken;
16704 #endif
16705 #if BIG_OK
16706 #else
16707 your preprocessor is broken;
16708 #endif
16709 static long long int bignum = -9223372036854775807LL;
16710 static unsigned long long int ubignum = BIG64;
16711
16712 struct incomplete_array
16713 {
16714 int datasize;
16715 double data[];
16716 };
16717
16718 struct named_init {
16719 int number;
16720 const wchar_t *name;
16721 double average;
16722 };
16723
16724 typedef const char *ccp;
16725
16726 static inline int
16727 test_restrict (ccp restrict text)
16728 {
16729 // See if C++-style comments work.
16730 // Iterate through items via the restricted pointer.
16731 // Also check for declarations in for loops.
16732 for (unsigned int i = 0; *(text+i) != '\0'; ++i)
16733 continue;
16734 return 0;
16735 }
16736
16737 // Check varargs and va_copy.
16738 static void
16739 test_varargs (const char *format, ...)
16740 {
16741 va_list args;
16742 va_start (args, format);
16743 va_list args_copy;
16744 va_copy (args_copy, args);
16745
16746 const char *str;
16747 int number;
16748 float fnumber;
16749
16750 while (*format)
16751 {
16752 switch (*format++)
16753 {
16754 case 's': // string
16755 str = va_arg (args_copy, const char *);
16756 break;
16757 case 'd': // int
16758 number = va_arg (args_copy, int);
16759 break;
16760 case 'f': // float
16761 fnumber = va_arg (args_copy, double);
16762 break;
16763 default:
16764 break;
16765 }
16766 }
16767 va_end (args_copy);
16768 va_end (args);
16769 }
16770
16771 int
16772 main ()
16773 {
16774
16775 // Check bool.
16776 _Bool success = false;
16777
16778 // Check restrict.
16779 if (test_restrict ("String literal") == 0)
16780 success = true;
16781 char *restrict newvar = "Another string";
16782
16783 // Check varargs.
16784 test_varargs ("s, d' f .", "string", 65, 34.234);
16785 test_varargs_macros ();
16786
16787 // Check flexible array members.
16788 struct incomplete_array *ia =
16789 malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
16790 ia->datasize = 10;
16791 for (int i = 0; i < ia->datasize; ++i)
16792 ia->data[i] = i * 1.234;
16793
16794 // Check named initializers.
16795 struct named_init ni = {
16796 .number = 34,
16797 .name = L"Test wide string",
16798 .average = 543.34343,
16799 };
16800
16801 ni.number = 58;
16802
16803 int dynamic_array[ni.number];
16804 dynamic_array[ni.number - 1] = 543;
16805
16806 // work around unused variable warnings
16807 return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
16808 || dynamic_array[ni.number - 1] != 543);
16809
16810 ;
16811 return 0;
16812 }
16813 _ACEOF
16814 for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99
16815 do
16816 CC="$ac_save_CC $ac_arg"
16817 if ac_fn_c_try_compile "$LINENO"; then :
16818 ac_cv_prog_cc_c99=$ac_arg
16819 fi
16820 rm -f core conftest.err conftest.$ac_objext
16821 test "x$ac_cv_prog_cc_c99" != "xno" && break
16822 done
16823 rm -f conftest.$ac_ext
16824 CC=$ac_save_CC
16825
16826 fi
16827 # AC_CACHE_VAL
16828 case "x$ac_cv_prog_cc_c99" in
16829 x)
16830 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
16831 $as_echo "none needed" >&6; } ;;
16832 xno)
16833 { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
16834 $as_echo "unsupported" >&6; } ;;
16835 *)
16836 CC="$CC $ac_cv_prog_cc_c99"
16837 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
16838 $as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
16839 esac
16840 if test "x$ac_cv_prog_cc_c99" != xno; then :
16841 ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
16842 else
16843 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
16844 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
16845 if test "${ac_cv_prog_cc_c89+set}" = set; then :
16846 $as_echo_n "(cached) " >&6
16847 else
16848 ac_cv_prog_cc_c89=no
16849 ac_save_CC=$CC
16850 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16851 /* end confdefs.h. */
16852 #include <stdarg.h>
16853 #include <stdio.h>
16854 #include <sys/types.h>
16855 #include <sys/stat.h>
16856 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
16857 struct buf { int x; };
16858 FILE * (*rcsopen) (struct buf *, struct stat *, int);
16859 static char *e (p, i)
16860 char **p;
16861 int i;
16862 {
16863 return p[i];
16864 }
16865 static char *f (char * (*g) (char **, int), char **p, ...)
16866 {
16867 char *s;
16868 va_list v;
16869 va_start (v,p);
16870 s = g (p, va_arg (v,int));
16871 va_end (v);
16872 return s;
16873 }
16874
16875 /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
16876 function prototypes and stuff, but not '\xHH' hex character constants.
16877 These don't provoke an error unfortunately, instead are silently treated
16878 as 'x'. The following induces an error, until -std is added to get
16879 proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
16880 array size at least. It's necessary to write '\x00'==0 to get something
16881 that's true only with -std. */
16882 int osf4_cc_array ['\x00' == 0 ? 1 : -1];
16883
16884 /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
16885 inside strings and character constants. */
16886 #define FOO(x) 'x'
16887 int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
16888
16889 int test (int i, double x);
16890 struct s1 {int (*f) (int a);};
16891 struct s2 {int (*f) (double a);};
16892 int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
16893 int argc;
16894 char **argv;
16895 int
16896 main ()
16897 {
16898 return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
16899 ;
16900 return 0;
16901 }
16902 _ACEOF
16903 for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
16904 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
16905 do
16906 CC="$ac_save_CC $ac_arg"
16907 if ac_fn_c_try_compile "$LINENO"; then :
16908 ac_cv_prog_cc_c89=$ac_arg
16909 fi
16910 rm -f core conftest.err conftest.$ac_objext
16911 test "x$ac_cv_prog_cc_c89" != "xno" && break
16912 done
16913 rm -f conftest.$ac_ext
16914 CC=$ac_save_CC
16915
16916 fi
16917 # AC_CACHE_VAL
16918 case "x$ac_cv_prog_cc_c89" in
16919 x)
16920 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
16921 $as_echo "none needed" >&6; } ;;
16922 xno)
16923 { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
16924 $as_echo "unsupported" >&6; } ;;
16925 *)
16926 CC="$CC $ac_cv_prog_cc_c89"
16927 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
16928 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
16929 esac
16930 if test "x$ac_cv_prog_cc_c89" != xno; then :
16931 ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
16932 else
16933 ac_cv_prog_cc_stdc=no
16934 fi
16935
16936 fi
16937 ;;
16938 esac
16939 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5
16940 $as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; }
16941 if test "${ac_cv_prog_cc_stdc+set}" = set; then :
16942 $as_echo_n "(cached) " >&6
16943 fi
16944
16945 case $ac_cv_prog_cc_stdc in #(
16946 no) :
16947 { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
16948 $as_echo "unsupported" >&6; } ;; #(
16949 '') :
16950 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
16951 $as_echo "none needed" >&6; } ;; #(
16952 *) :
16953 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5
16954 $as_echo "$ac_cv_prog_cc_stdc" >&6; } ;;
16955 esac
16956
16957 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
16958 $as_echo_n "checking for inline... " >&6; }
16959 if test "${ac_cv_c_inline+set}" = set; then :
16960 $as_echo_n "(cached) " >&6
16961 else
16962 ac_cv_c_inline=no
16963 for ac_kw in inline __inline__ __inline; do
16964 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
16965 /* end confdefs.h. */
16966 #ifndef __cplusplus
16967 typedef int foo_t;
16968 static $ac_kw foo_t static_foo () {return 0; }
16969 $ac_kw foo_t foo () {return 0; }
16970 #endif
16971
16972 _ACEOF
16973 if ac_fn_c_try_compile "$LINENO"; then :
16974 ac_cv_c_inline=$ac_kw
16975 fi
16976 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
16977 test "$ac_cv_c_inline" != no && break
16978 done
16979
16980 fi
16981 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
16982 $as_echo "$ac_cv_c_inline" >&6; }
16983
16984 case $ac_cv_c_inline in
16985 inline | yes) ;;
16986 *)
16987 case $ac_cv_c_inline in
16988 no) ac_val=;;
16989 *) ac_val=$ac_cv_c_inline;;
16990 esac
16991 cat >>confdefs.h <<_ACEOF
16992 #ifndef __cplusplus
16993 #define inline $ac_val
16994 #endif
16995 _ACEOF
16996 ;;
16997 esac
16998
16999 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
17000 $as_echo_n "checking for an ANSI C-conforming const... " >&6; }
17001 if test "${ac_cv_c_const+set}" = set; then :
17002 $as_echo_n "(cached) " >&6
17003 else
17004 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17005 /* end confdefs.h. */
17006
17007 int
17008 main ()
17009 {
17010 /* FIXME: Include the comments suggested by Paul. */
17011 #ifndef __cplusplus
17012 /* Ultrix mips cc rejects this. */
17013 typedef int charset[2];
17014 const charset cs;
17015 /* SunOS 4.1.1 cc rejects this. */
17016 char const *const *pcpcc;
17017 char **ppc;
17018 /* NEC SVR4.0.2 mips cc rejects this. */
17019 struct point {int x, y;};
17020 static struct point const zero = {0,0};
17021 /* AIX XL C 1.02.0.0 rejects this.
17022 It does not let you subtract one const X* pointer from another in
17023 an arm of an if-expression whose if-part is not a constant
17024 expression */
17025 const char *g = "string";
17026 pcpcc = &g + (g ? g-g : 0);
17027 /* HPUX 7.0 cc rejects these. */
17028 ++pcpcc;
17029 ppc = (char**) pcpcc;
17030 pcpcc = (char const *const *) ppc;
17031 { /* SCO 3.2v4 cc rejects this. */
17032 char *t;
17033 char const *s = 0 ? (char *) 0 : (char const *) 0;
17034
17035 *t++ = 0;
17036 if (s) return 0;
17037 }
17038 { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
17039 int x[] = {25, 17};
17040 const int *foo = &x[0];
17041 ++foo;
17042 }
17043 { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
17044 typedef const int *iptr;
17045 iptr p = 0;
17046 ++p;
17047 }
17048 { /* AIX XL C 1.02.0.0 rejects this saying
17049 "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
17050 struct s { int j; const int *ap[3]; };
17051 struct s *b; b->j = 5;
17052 }
17053 { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
17054 const int foo = 10;
17055 if (!foo) return 0;
17056 }
17057 return !cs[0] && !zero.x;
17058 #endif
17059
17060 ;
17061 return 0;
17062 }
17063 _ACEOF
17064 if ac_fn_c_try_compile "$LINENO"; then :
17065 ac_cv_c_const=yes
17066 else
17067 ac_cv_c_const=no
17068 fi
17069 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17070 fi
17071 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
17072 $as_echo "$ac_cv_c_const" >&6; }
17073 if test $ac_cv_c_const = no; then
17074
17075 $as_echo "#define const /**/" >>confdefs.h
17076
17077 fi
17078
17079
17080
17081
17082
17083 # Checks for library functions.
17084 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
17085
17086 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
17087 $as_echo_n "checking for ANSI C header files... " >&6; }
17088 if test "${ac_cv_header_stdc+set}" = set; then :
17089 $as_echo_n "(cached) " >&6
17090 else
17091 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17092 /* end confdefs.h. */
17093 #include <stdlib.h>
17094 #include <stdarg.h>
17095 #include <string.h>
17096 #include <float.h>
17097
17098 int
17099 main ()
17100 {
17101
17102 ;
17103 return 0;
17104 }
17105 _ACEOF
17106 if ac_fn_c_try_compile "$LINENO"; then :
17107 ac_cv_header_stdc=yes
17108 else
17109 ac_cv_header_stdc=no
17110 fi
17111 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
17112
17113 if test $ac_cv_header_stdc = yes; then
17114 # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
17115 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17116 /* end confdefs.h. */
17117 #include <string.h>
17118
17119 _ACEOF
17120 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17121 $EGREP "memchr" >/dev/null 2>&1; then :
17122
17123 else
17124 ac_cv_header_stdc=no
17125 fi
17126 rm -f conftest*
17127
17128 fi
17129
17130 if test $ac_cv_header_stdc = yes; then
17131 # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
17132 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17133 /* end confdefs.h. */
17134 #include <stdlib.h>
17135
17136 _ACEOF
17137 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
17138 $EGREP "free" >/dev/null 2>&1; then :
17139
17140 else
17141 ac_cv_header_stdc=no
17142 fi
17143 rm -f conftest*
17144
17145 fi
17146
17147 if test $ac_cv_header_stdc = yes; then
17148 # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
17149 if test "$cross_compiling" = yes; then :
17150 :
17151 else
17152 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
17153 /* end confdefs.h. */
17154 #include <ctype.h>
17155 #include <stdlib.h>
17156 #if ((' ' & 0x0FF) == 0x020)
17157 # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
17158 # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
17159 #else
17160 # define ISLOWER(c) \
17161 (('a' <= (c) && (c) <= 'i') \
17162 || ('j' <= (c) && (c) <= 'r') \
17163 || ('s' <= (c) && (c) <= 'z'))
17164 # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
17165 #endif
17166
17167 #define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
17168 int
17169 main ()
17170 {
17171 int i;
17172 for (i = 0; i < 256; i++)
17173 if (XOR (islower (i), ISLOWER (i))
17174 || toupper (i) != TOUPPER (i))
17175 return 2;
17176 return 0;
17177 }
17178 _ACEOF
17179 if ac_fn_c_try_run "$LINENO"; then :
17180
17181 else
17182 ac_cv_header_stdc=no
17183 fi
17184 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
17185 conftest.$ac_objext conftest.beam conftest.$ac_ext
17186 fi
17187
17188 fi
17189 fi
17190 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
17191 $as_echo "$ac_cv_header_stdc" >&6; }
17192 if test $ac_cv_header_stdc = yes; then
17193
17194 $as_echo "#define STDC_HEADERS 1" >>confdefs.h
17195
17196 fi
17197
17198
17199 ac_config_files="$ac_config_files Makefile docs/Makefile docs/user-docs/Makefile docs/user-docs/images/Makefile examples/Makefile examples/TSS/Makefile examples/TSS/carbocation_rearrangement_hydride_shift/Makefile examples/TSS/carbocation_rearrangement_methide_shift/Makefile examples/TSS/cycloaddition_Diels-Alder/Makefile examples/TSS/E2-reaction/Makefile examples/TSS/sigmatropic_rearrangement_Cope/Makefile examples/TSS/SN2-reaction/Makefile examples/TSS/tautomeric_shift_keto_enol/Makefile po/Makefile.in src/Makefile src/res_gtk/Makefile"
17200
17201
17202 { $as_echo "$as_me:${as_lineno-$LINENO}:
17203
17204 build options:
17205 ^^^^^^^^^^^^^^
17206 enable gtk : $enable_gtk
17207 enable threads : $enable_threads
17208 enable OpenBabel : $enable_openbabel
17209 " >&5
17210 $as_echo "$as_me:
17211
17212 build options:
17213 ^^^^^^^^^^^^^^
17214 enable gtk : $enable_gtk
17215 enable threads : $enable_threads
17216 enable OpenBabel : $enable_openbabel
17217 " >&6;}
17218
17219 ac_config_commands="$ac_config_commands stamp.h"
17220
17221
17222 cat >confcache <<\_ACEOF
17223 # This file is a shell script that caches the results of configure
17224 # tests run on this system so they can be shared between configure
17225 # scripts and configure runs, see configure's option --config-cache.
17226 # It is not useful on other systems. If it contains results you don't
17227 # want to keep, you may remove or edit it.
17228 #
17229 # config.status only pays attention to the cache file if you give it
17230 # the --recheck option to rerun configure.
17231 #
17232 # `ac_cv_env_foo' variables (set or unset) will be overridden when
17233 # loading this file, other *unset* `ac_cv_foo' will be assigned the
17234 # following values.
17235
17236 _ACEOF
17237
17238 # The following way of writing the cache mishandles newlines in values,
17239 # but we know of no workaround that is simple, portable, and efficient.
17240 # So, we kill variables containing newlines.
17241 # Ultrix sh set writes to stderr and can't be redirected directly,
17242 # and sets the high bit in the cache file unless we assign to the vars.
17243 (
17244 for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
17245 eval ac_val=\$$ac_var
17246 case $ac_val in #(
17247 *${as_nl}*)
17248 case $ac_var in #(
17249 *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
17250 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
17251 esac
17252 case $ac_var in #(
17253 _ | IFS | as_nl) ;; #(
17254 BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
17255 *) { eval $ac_var=; unset $ac_var;} ;;
17256 esac ;;
17257 esac
17258 done
17259
17260 (set) 2>&1 |
17261 case $as_nl`(ac_space=' '; set) 2>&1` in #(
17262 *${as_nl}ac_space=\ *)
17263 # `set' does not quote correctly, so add quotes: double-quote
17264 # substitution turns \\\\ into \\, and sed turns \\ into \.
17265 sed -n \
17266 "s/'/'\\\\''/g;
17267 s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
17268 ;; #(
17269 *)
17270 # `set' quotes correctly as required by POSIX, so do not add quotes.
17271 sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
17272 ;;
17273 esac |
17274 sort
17275 ) |
17276 sed '
17277 /^ac_cv_env_/b end
17278 t clear
17279 :clear
17280 s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
17281 t end
17282 s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
17283 :end' >>confcache
17284 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
17285 if test -w "$cache_file"; then
17286 test "x$cache_file" != "x/dev/null" &&
17287 { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
17288 $as_echo "$as_me: updating cache $cache_file" >&6;}
17289 cat confcache >$cache_file
17290 else
17291 { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
17292 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
17293 fi
17294 fi
17295 rm -f confcache
17296
17297 test "x$prefix" = xNONE && prefix=$ac_default_prefix
17298 # Let make expand exec_prefix.
17299 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
17300
17301 DEFS=-DHAVE_CONFIG_H
17302
17303 ac_libobjs=
17304 ac_ltlibobjs=
17305 U=
17306 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
17307 # 1. Remove the extension, and $U if already installed.
17308 ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
17309 ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
17310 # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
17311 # will be set to the directory where LIBOBJS objects are built.
17312 as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
17313 as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
17314 done
17315 LIBOBJS=$ac_libobjs
17316
17317 LTLIBOBJS=$ac_ltlibobjs
17318
17319
17320 if test -n "$EXEEXT"; then
17321 am__EXEEXT_TRUE=
17322 am__EXEEXT_FALSE='#'
17323 else
17324 am__EXEEXT_TRUE='#'
17325 am__EXEEXT_FALSE=
17326 fi
17327
17328 if test -z "${COND_USE_GTK_TRUE}" && test -z "${COND_USE_GTK_FALSE}"; then
17329 as_fn_error $? "conditional \"COND_USE_GTK\" was never defined.
17330 Usually this means the macro was only invoked conditionally." "$LINENO" 5
17331 fi
17332 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
17333 as_fn_error $? "conditional \"AMDEP\" was never defined.
17334 Usually this means the macro was only invoked conditionally." "$LINENO" 5
17335 fi
17336 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
17337 as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
17338 Usually this means the macro was only invoked conditionally." "$LINENO" 5
17339 fi
17340 if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
17341 as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
17342 Usually this means the macro was only invoked conditionally." "$LINENO" 5
17343 fi
17344 if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
17345 as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
17346 Usually this means the macro was only invoked conditionally." "$LINENO" 5
17347 fi
17348
17349 ac_config_commands="$ac_config_commands po/stamp-it"
17350
17351
17352
17353 : ${CONFIG_STATUS=./config.status}
17354 ac_write_fail=0
17355 ac_clean_files_save=$ac_clean_files
17356 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
17357 { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
17358 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
17359 as_write_fail=0
17360 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
17361 #! $SHELL
17362 # Generated by $as_me.
17363 # Run this file to recreate the current configuration.
17364 # Compiler output produced by configure, useful for debugging
17365 # configure, is in config.log if it exists.
17366
17367 debug=false
17368 ac_cs_recheck=false
17369 ac_cs_silent=false
17370
17371 SHELL=\${CONFIG_SHELL-$SHELL}
17372 export SHELL
17373 _ASEOF
17374 cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
17375 ## -------------------- ##
17376 ## M4sh Initialization. ##
17377 ## -------------------- ##
17378
17379 # Be more Bourne compatible
17380 DUALCASE=1; export DUALCASE # for MKS sh
17381 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
17382 emulate sh
17383 NULLCMD=:
17384 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
17385 # is contrary to our usage. Disable this feature.
17386 alias -g '${1+"$@"}'='"$@"'
17387 setopt NO_GLOB_SUBST
17388 else
17389 case `(set -o) 2>/dev/null` in #(
17390 *posix*) :
17391 set -o posix ;; #(
17392 *) :
17393 ;;
17394 esac
17395 fi
17396
17397
17398 as_nl='
17399 '
17400 export as_nl
17401 # Printing a long string crashes Solaris 7 /usr/bin/printf.
17402 as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
17403 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
17404 as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
17405 # Prefer a ksh shell builtin over an external printf program on Solaris,
17406 # but without wasting forks for bash or zsh.
17407 if test -z "$BASH_VERSION$ZSH_VERSION" \
17408 && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
17409 as_echo='print -r --'
17410 as_echo_n='print -rn --'
17411 elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
17412 as_echo='printf %s\n'
17413 as_echo_n='printf %s'
17414 else
17415 if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
17416 as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
17417 as_echo_n='/usr/ucb/echo -n'
17418 else
17419 as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
17420 as_echo_n_body='eval
17421 arg=$1;
17422 case $arg in #(
17423 *"$as_nl"*)
17424 expr "X$arg" : "X\\(.*\\)$as_nl";
17425 arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
17426 esac;
17427 expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
17428 '
17429 export as_echo_n_body
17430 as_echo_n='sh -c $as_echo_n_body as_echo'
17431 fi
17432 export as_echo_body
17433 as_echo='sh -c $as_echo_body as_echo'
17434 fi
17435
17436 # The user is always right.
17437 if test "${PATH_SEPARATOR+set}" != set; then
17438 PATH_SEPARATOR=:
17439 (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
17440 (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
17441 PATH_SEPARATOR=';'
17442 }
17443 fi
17444
17445
17446 # IFS
17447 # We need space, tab and new line, in precisely that order. Quoting is
17448 # there to prevent editors from complaining about space-tab.
17449 # (If _AS_PATH_WALK were called with IFS unset, it would disable word
17450 # splitting by setting IFS to empty value.)
17451 IFS=" "" $as_nl"
17452
17453 # Find who we are. Look in the path if we contain no directory separator.
17454 case $0 in #((
17455 *[\\/]* ) as_myself=$0 ;;
17456 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
17457 for as_dir in $PATH
17458 do
17459 IFS=$as_save_IFS
17460 test -z "$as_dir" && as_dir=.
17461 test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
17462 done
17463 IFS=$as_save_IFS
17464
17465 ;;
17466 esac
17467 # We did not find ourselves, most probably we were run as `sh COMMAND'
17468 # in which case we are not to be found in the path.
17469 if test "x$as_myself" = x; then
17470 as_myself=$0
17471 fi
17472 if test ! -f "$as_myself"; then
17473 $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
17474 exit 1
17475 fi
17476
17477 # Unset variables that we do not need and which cause bugs (e.g. in
17478 # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
17479 # suppresses any "Segmentation fault" message there. '((' could
17480 # trigger a bug in pdksh 5.2.14.
17481 for as_var in BASH_ENV ENV MAIL MAILPATH
17482 do eval test x\${$as_var+set} = xset \
17483 && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
17484 done
17485 PS1='$ '
17486 PS2='> '
17487 PS4='+ '
17488
17489 # NLS nuisances.
17490 LC_ALL=C
17491 export LC_ALL
17492 LANGUAGE=C
17493 export LANGUAGE
17494
17495 # CDPATH.
17496 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
17497
17498
17499 # as_fn_error STATUS ERROR [LINENO LOG_FD]
17500 # ----------------------------------------
17501 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
17502 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
17503 # script with STATUS, using 1 if that was 0.
17504 as_fn_error ()
17505 {
17506 as_status=$1; test $as_status -eq 0 && as_status=1
17507 if test "$4"; then
17508 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
17509 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
17510 fi
17511 $as_echo "$as_me: error: $2" >&2
17512 as_fn_exit $as_status
17513 } # as_fn_error
17514
17515
17516 # as_fn_set_status STATUS
17517 # -----------------------
17518 # Set $? to STATUS, without forking.
17519 as_fn_set_status ()
17520 {
17521 return $1
17522 } # as_fn_set_status
17523
17524 # as_fn_exit STATUS
17525 # -----------------
17526 # Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
17527 as_fn_exit ()
17528 {
17529 set +e
17530 as_fn_set_status $1
17531 exit $1
17532 } # as_fn_exit
17533
17534 # as_fn_unset VAR
17535 # ---------------
17536 # Portably unset VAR.
17537 as_fn_unset ()
17538 {
17539 { eval $1=; unset $1;}
17540 }
17541 as_unset=as_fn_unset
17542 # as_fn_append VAR VALUE
17543 # ----------------------
17544 # Append the text in VALUE to the end of the definition contained in VAR. Take
17545 # advantage of any shell optimizations that allow amortized linear growth over
17546 # repeated appends, instead of the typical quadratic growth present in naive
17547 # implementations.
17548 if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
17549 eval 'as_fn_append ()
17550 {
17551 eval $1+=\$2
17552 }'
17553 else
17554 as_fn_append ()
17555 {
17556 eval $1=\$$1\$2
17557 }
17558 fi # as_fn_append
17559
17560 # as_fn_arith ARG...
17561 # ------------------
17562 # Perform arithmetic evaluation on the ARGs, and store the result in the
17563 # global $as_val. Take advantage of shells that can avoid forks. The arguments
17564 # must be portable across $(()) and expr.
17565 if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
17566 eval 'as_fn_arith ()
17567 {
17568 as_val=$(( $* ))
17569 }'
17570 else
17571 as_fn_arith ()
17572 {
17573 as_val=`expr "$@" || test $? -eq 1`
17574 }
17575 fi # as_fn_arith
17576
17577
17578 if expr a : '\(a\)' >/dev/null 2>&1 &&
17579 test "X`expr 00001 : '.*\(...\)'`" = X001; then
17580 as_expr=expr
17581 else
17582 as_expr=false
17583 fi
17584
17585 if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
17586 as_basename=basename
17587 else
17588 as_basename=false
17589 fi
17590
17591 if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
17592 as_dirname=dirname
17593 else
17594 as_dirname=false
17595 fi
17596
17597 as_me=`$as_basename -- "$0" ||
17598 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
17599 X"$0" : 'X\(//\)$' \| \
17600 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
17601 $as_echo X/"$0" |
17602 sed '/^.*\/\([^/][^/]*\)\/*$/{
17603 s//\1/
17604 q
17605 }
17606 /^X\/\(\/\/\)$/{
17607 s//\1/
17608 q
17609 }
17610 /^X\/\(\/\).*/{
17611 s//\1/
17612 q
17613 }
17614 s/.*/./; q'`
17615
17616 # Avoid depending upon Character Ranges.
17617 as_cr_letters='abcdefghijklmnopqrstuvwxyz'
17618 as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
17619 as_cr_Letters=$as_cr_letters$as_cr_LETTERS
17620 as_cr_digits='0123456789'
17621 as_cr_alnum=$as_cr_Letters$as_cr_digits
17622
17623 ECHO_C= ECHO_N= ECHO_T=
17624 case `echo -n x` in #(((((
17625 -n*)
17626 case `echo 'xy\c'` in
17627 *c*) ECHO_T=' ';; # ECHO_T is single tab character.
17628 xy) ECHO_C='\c';;
17629 *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
17630 ECHO_T=' ';;
17631 esac;;
17632 *)
17633 ECHO_N='-n';;
17634 esac
17635
17636 rm -f conf$$ conf$$.exe conf$$.file
17637 if test -d conf$$.dir; then
17638 rm -f conf$$.dir/conf$$.file
17639 else
17640 rm -f conf$$.dir
17641 mkdir conf$$.dir 2>/dev/null
17642 fi
17643 if (echo >conf$$.file) 2>/dev/null; then
17644 if ln -s conf$$.file conf$$ 2>/dev/null; then
17645 as_ln_s='ln -s'
17646 # ... but there are two gotchas:
17647 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
17648 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
17649 # In both cases, we have to default to `cp -p'.
17650 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
17651 as_ln_s='cp -p'
17652 elif ln conf$$.file conf$$ 2>/dev/null; then
17653 as_ln_s=ln
17654 else
17655 as_ln_s='cp -p'
17656 fi
17657 else
17658 as_ln_s='cp -p'
17659 fi
17660 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
17661 rmdir conf$$.dir 2>/dev/null
17662
17663
17664 # as_fn_mkdir_p
17665 # -------------
17666 # Create "$as_dir" as a directory, including parents if necessary.
17667 as_fn_mkdir_p ()
17668 {
17669
17670 case $as_dir in #(
17671 -*) as_dir=./$as_dir;;
17672 esac
17673 test -d "$as_dir" || eval $as_mkdir_p || {
17674 as_dirs=
17675 while :; do
17676 case $as_dir in #(
17677 *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
17678 *) as_qdir=$as_dir;;
17679 esac
17680 as_dirs="'$as_qdir' $as_dirs"
17681 as_dir=`$as_dirname -- "$as_dir" ||
17682 $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
17683 X"$as_dir" : 'X\(//\)[^/]' \| \
17684 X"$as_dir" : 'X\(//\)$' \| \
17685 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
17686 $as_echo X"$as_dir" |
17687 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
17688 s//\1/
17689 q
17690 }
17691 /^X\(\/\/\)[^/].*/{
17692 s//\1/
17693 q
17694 }
17695 /^X\(\/\/\)$/{
17696 s//\1/
17697 q
17698 }
17699 /^X\(\/\).*/{
17700 s//\1/
17701 q
17702 }
17703 s/.*/./; q'`
17704 test -d "$as_dir" && break
17705 done
17706 test -z "$as_dirs" || eval "mkdir $as_dirs"
17707 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
17708
17709
17710 } # as_fn_mkdir_p
17711 if mkdir -p . 2>/dev/null; then
17712 as_mkdir_p='mkdir -p "$as_dir"'
17713 else
17714 test -d ./-p && rmdir ./-p
17715 as_mkdir_p=false
17716 fi
17717
17718 if test -x / >/dev/null 2>&1; then
17719 as_test_x='test -x'
17720 else
17721 if ls -dL / >/dev/null 2>&1; then
17722 as_ls_L_option=L
17723 else
17724 as_ls_L_option=
17725 fi
17726 as_test_x='
17727 eval sh -c '\''
17728 if test -d "$1"; then
17729 test -d "$1/.";
17730 else
17731 case $1 in #(
17732 -*)set "./$1";;
17733 esac;
17734 case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
17735 ???[sx]*):;;*)false;;esac;fi
17736 '\'' sh
17737 '
17738 fi
17739 as_executable_p=$as_test_x
17740
17741 # Sed expression to map a string onto a valid CPP name.
17742 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
17743
17744 # Sed expression to map a string onto a valid variable name.
17745 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
17746
17747
17748 exec 6>&1
17749 ## ----------------------------------- ##
17750 ## Main body of $CONFIG_STATUS script. ##
17751 ## ----------------------------------- ##
17752 _ASEOF
17753 test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
17754
17755 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
17756 # Save the log message, to keep $0 and so on meaningful, and to
17757 # report actual input values of CONFIG_FILES etc. instead of their
17758 # values after options handling.
17759 ac_log="
17760 This file was extended by ghemical $as_me 3.0.0, which was
17761 generated by GNU Autoconf 2.67. Invocation command line was
17762
17763 CONFIG_FILES = $CONFIG_FILES
17764 CONFIG_HEADERS = $CONFIG_HEADERS
17765 CONFIG_LINKS = $CONFIG_LINKS
17766 CONFIG_COMMANDS = $CONFIG_COMMANDS
17767 $ $0 $@
17768
17769 on `(hostname || uname -n) 2>/dev/null | sed 1q`
17770 "
17771
17772 _ACEOF
17773
17774 case $ac_config_files in *"
17775 "*) set x $ac_config_files; shift; ac_config_files=$*;;
17776 esac
17777
17778 case $ac_config_headers in *"
17779 "*) set x $ac_config_headers; shift; ac_config_headers=$*;;
17780 esac
17781
17782
17783 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
17784 # Files that config.status was made for.
17785 config_files="$ac_config_files"
17786 config_headers="$ac_config_headers"
17787 config_commands="$ac_config_commands"
17788
17789 _ACEOF
17790
17791 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
17792 ac_cs_usage="\
17793 \`$as_me' instantiates files and other configuration actions
17794 from templates according to the current configuration. Unless the files
17795 and actions are specified as TAGs, all are instantiated by default.
17796
17797 Usage: $0 [OPTION]... [TAG]...
17798
17799 -h, --help print this help, then exit
17800 -V, --version print version number and configuration settings, then exit
17801 --config print configuration, then exit
17802 -q, --quiet, --silent
17803 do not print progress messages
17804 -d, --debug don't remove temporary files
17805 --recheck update $as_me by reconfiguring in the same conditions
17806 --file=FILE[:TEMPLATE]
17807 instantiate the configuration file FILE
17808 --header=FILE[:TEMPLATE]
17809 instantiate the configuration header FILE
17810
17811 Configuration files:
17812 $config_files
17813
17814 Configuration headers:
17815 $config_headers
17816
17817 Configuration commands:
17818 $config_commands
17819
17820 Report bugs to the package provider."
17821
17822 _ACEOF
17823 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
17824 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
17825 ac_cs_version="\\
17826 ghemical config.status 3.0.0
17827 configured by $0, generated by GNU Autoconf 2.67,
17828 with options \\"\$ac_cs_config\\"
17829
17830 Copyright (C) 2010 Free Software Foundation, Inc.
17831 This config.status script is free software; the Free Software Foundation
17832 gives unlimited permission to copy, distribute and modify it."
17833
17834 ac_pwd='$ac_pwd'
17835 srcdir='$srcdir'
17836 INSTALL='$INSTALL'
17837 MKDIR_P='$MKDIR_P'
17838 AWK='$AWK'
17839 test -n "\$AWK" || AWK=awk
17840 _ACEOF
17841
17842 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
17843 # The default lists apply if the user does not specify any file.
17844 ac_need_defaults=:
17845 while test $# != 0
17846 do
17847 case $1 in
17848 --*=?*)
17849 ac_option=`expr "X$1" : 'X\([^=]*\)='`
17850 ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
17851 ac_shift=:
17852 ;;
17853 --*=)
17854 ac_option=`expr "X$1" : 'X\([^=]*\)='`
17855 ac_optarg=
17856 ac_shift=:
17857 ;;
17858 *)
17859 ac_option=$1
17860 ac_optarg=$2
17861 ac_shift=shift
17862 ;;
17863 esac
17864
17865 case $ac_option in
17866 # Handling of the options.
17867 -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
17868 ac_cs_recheck=: ;;
17869 --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
17870 $as_echo "$ac_cs_version"; exit ;;
17871 --config | --confi | --conf | --con | --co | --c )
17872 $as_echo "$ac_cs_config"; exit ;;
17873 --debug | --debu | --deb | --de | --d | -d )
17874 debug=: ;;
17875 --file | --fil | --fi | --f )
17876 $ac_shift
17877 case $ac_optarg in
17878 *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
17879 '') as_fn_error $? "missing file argument" ;;
17880 esac
17881 as_fn_append CONFIG_FILES " '$ac_optarg'"
17882 ac_need_defaults=false;;
17883 --header | --heade | --head | --hea )
17884 $ac_shift
17885 case $ac_optarg in
17886 *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
17887 esac
17888 as_fn_append CONFIG_HEADERS " '$ac_optarg'"
17889 ac_need_defaults=false;;
17890 --he | --h)
17891 # Conflict between --help and --header
17892 as_fn_error $? "ambiguous option: \`$1'
17893 Try \`$0 --help' for more information.";;
17894 --help | --hel | -h )
17895 $as_echo "$ac_cs_usage"; exit ;;
17896 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
17897 | -silent | --silent | --silen | --sile | --sil | --si | --s)
17898 ac_cs_silent=: ;;
17899
17900 # This is an error.
17901 -*) as_fn_error $? "unrecognized option: \`$1'
17902 Try \`$0 --help' for more information." ;;
17903
17904 *) as_fn_append ac_config_targets " $1"
17905 ac_need_defaults=false ;;
17906
17907 esac
17908 shift
17909 done
17910
17911 ac_configure_extra_args=
17912
17913 if $ac_cs_silent; then
17914 exec 6>/dev/null
17915 ac_configure_extra_args="$ac_configure_extra_args --silent"
17916 fi
17917
17918 _ACEOF
17919 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
17920 if \$ac_cs_recheck; then
17921 set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
17922 shift
17923 \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
17924 CONFIG_SHELL='$SHELL'
17925 export CONFIG_SHELL
17926 exec "\$@"
17927 fi
17928
17929 _ACEOF
17930 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
17931 exec 5>>config.log
17932 {
17933 echo
17934 sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
17935 ## Running $as_me. ##
17936 _ASBOX
17937 $as_echo "$ac_log"
17938 } >&5
17939
17940 _ACEOF
17941 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
17942 #
17943 # INIT-COMMANDS
17944 #
17945 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
17946
17947
17948 # The HP-UX ksh and POSIX shell print the target directory to stdout
17949 # if CDPATH is set.
17950 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
17951
17952 sed_quote_subst='$sed_quote_subst'
17953 double_quote_subst='$double_quote_subst'
17954 delay_variable_subst='$delay_variable_subst'
17955 macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
17956 macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
17957 enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
17958 enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
17959 pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
17960 enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
17961 host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
17962 host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
17963 host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
17964 build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
17965 build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
17966 build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
17967 SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
17968 Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
17969 GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
17970 EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
17971 FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
17972 LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
17973 NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
17974 LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
17975 max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
17976 ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
17977 exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
17978 lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
17979 lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
17980 lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
17981 reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
17982 reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
17983 OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
17984 deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
17985 file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
17986 AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
17987 AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
17988 STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
17989 RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
17990 old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
17991 old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
17992 old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
17993 CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
17994 CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
17995 compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
17996 GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
17997 lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
17998 lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
17999 lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
18000 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
18001 objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
18002 SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
18003 ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
18004 MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
18005 lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
18006 lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
18007 lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
18008 lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
18009 lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
18010 need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
18011 DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
18012 NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
18013 LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
18014 OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
18015 OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
18016 libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
18017 shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
18018 extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
18019 archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
18020 enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
18021 export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
18022 whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
18023 compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
18024 old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
18025 old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
18026 archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
18027 archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
18028 module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
18029 module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
18030 with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
18031 allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
18032 no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
18033 hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
18034 hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
18035 hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
18036 hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
18037 hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
18038 hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
18039 hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
18040 hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
18041 inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
18042 link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
18043 fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
18044 always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
18045 export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
18046 exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
18047 include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
18048 prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
18049 file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
18050 variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
18051 need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
18052 need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
18053 version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
18054 runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
18055 shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
18056 shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
18057 libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
18058 library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
18059 soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
18060 postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
18061 postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
18062 finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
18063 finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
18064 hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
18065 sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
18066 sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
18067 hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
18068 enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
18069 enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
18070 enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
18071 old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
18072 striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
18073 compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`'
18074 predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`'
18075 postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`'
18076 predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`'
18077 postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`'
18078 compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`'
18079 LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18080 old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18081 compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18082 GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18083 lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18084 lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18085 lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18086 lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18087 lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18088 archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18089 enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18090 export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18091 whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18092 compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18093 old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18094 old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18095 archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18096 archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18097 module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18098 module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18099 with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18100 allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18101 no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18102 hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18103 hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18104 hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18105 hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18106 hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18107 hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18108 hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18109 hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18110 inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18111 link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18112 fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18113 always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18114 export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18115 exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18116 include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18117 prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18118 file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18119 hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18120 compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18121 predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18122 postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18123 predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18124 postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18125 compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
18126
18127 LTCC='$LTCC'
18128 LTCFLAGS='$LTCFLAGS'
18129 compiler='$compiler_DEFAULT'
18130
18131 # Quote evaled strings.
18132 for var in SED \
18133 GREP \
18134 EGREP \
18135 FGREP \
18136 LD \
18137 NM \
18138 LN_S \
18139 lt_SP2NL \
18140 lt_NL2SP \
18141 reload_flag \
18142 OBJDUMP \
18143 deplibs_check_method \
18144 file_magic_cmd \
18145 AR \
18146 AR_FLAGS \
18147 STRIP \
18148 RANLIB \
18149 CC \
18150 CFLAGS \
18151 compiler \
18152 lt_cv_sys_global_symbol_pipe \
18153 lt_cv_sys_global_symbol_to_cdecl \
18154 lt_cv_sys_global_symbol_to_c_name_address \
18155 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
18156 SHELL \
18157 ECHO \
18158 lt_prog_compiler_no_builtin_flag \
18159 lt_prog_compiler_wl \
18160 lt_prog_compiler_pic \
18161 lt_prog_compiler_static \
18162 lt_cv_prog_compiler_c_o \
18163 need_locks \
18164 DSYMUTIL \
18165 NMEDIT \
18166 LIPO \
18167 OTOOL \
18168 OTOOL64 \
18169 shrext_cmds \
18170 export_dynamic_flag_spec \
18171 whole_archive_flag_spec \
18172 compiler_needs_object \
18173 with_gnu_ld \
18174 allow_undefined_flag \
18175 no_undefined_flag \
18176 hardcode_libdir_flag_spec \
18177 hardcode_libdir_flag_spec_ld \
18178 hardcode_libdir_separator \
18179 fix_srcfile_path \
18180 exclude_expsyms \
18181 include_expsyms \
18182 file_list_spec \
18183 variables_saved_for_relink \
18184 libname_spec \
18185 library_names_spec \
18186 soname_spec \
18187 finish_eval \
18188 old_striplib \
18189 striplib \
18190 compiler_lib_search_dirs \
18191 predep_objects \
18192 postdep_objects \
18193 predeps \
18194 postdeps \
18195 compiler_lib_search_path \
18196 LD_CXX \
18197 compiler_CXX \
18198 lt_prog_compiler_no_builtin_flag_CXX \
18199 lt_prog_compiler_wl_CXX \
18200 lt_prog_compiler_pic_CXX \
18201 lt_prog_compiler_static_CXX \
18202 lt_cv_prog_compiler_c_o_CXX \
18203 export_dynamic_flag_spec_CXX \
18204 whole_archive_flag_spec_CXX \
18205 compiler_needs_object_CXX \
18206 with_gnu_ld_CXX \
18207 allow_undefined_flag_CXX \
18208 no_undefined_flag_CXX \
18209 hardcode_libdir_flag_spec_CXX \
18210 hardcode_libdir_flag_spec_ld_CXX \
18211 hardcode_libdir_separator_CXX \
18212 fix_srcfile_path_CXX \
18213 exclude_expsyms_CXX \
18214 include_expsyms_CXX \
18215 file_list_spec_CXX \
18216 compiler_lib_search_dirs_CXX \
18217 predep_objects_CXX \
18218 postdep_objects_CXX \
18219 predeps_CXX \
18220 postdeps_CXX \
18221 compiler_lib_search_path_CXX; do
18222 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
18223 *[\\\\\\\`\\"\\\$]*)
18224 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
18225 ;;
18226 *)
18227 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
18228 ;;
18229 esac
18230 done
18231
18232 # Double-quote double-evaled strings.
18233 for var in reload_cmds \
18234 old_postinstall_cmds \
18235 old_postuninstall_cmds \
18236 old_archive_cmds \
18237 extract_expsyms_cmds \
18238 old_archive_from_new_cmds \
18239 old_archive_from_expsyms_cmds \
18240 archive_cmds \
18241 archive_expsym_cmds \
18242 module_cmds \
18243 module_expsym_cmds \
18244 export_symbols_cmds \
18245 prelink_cmds \
18246 postinstall_cmds \
18247 postuninstall_cmds \
18248 finish_cmds \
18249 sys_lib_search_path_spec \
18250 sys_lib_dlsearch_path_spec \
18251 old_archive_cmds_CXX \
18252 old_archive_from_new_cmds_CXX \
18253 old_archive_from_expsyms_cmds_CXX \
18254 archive_cmds_CXX \
18255 archive_expsym_cmds_CXX \
18256 module_cmds_CXX \
18257 module_expsym_cmds_CXX \
18258 export_symbols_cmds_CXX \
18259 prelink_cmds_CXX; do
18260 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
18261 *[\\\\\\\`\\"\\\$]*)
18262 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
18263 ;;
18264 *)
18265 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
18266 ;;
18267 esac
18268 done
18269
18270 # Fix-up fallback echo if it was mangled by the above quoting rules.
18271 case \$lt_ECHO in
18272 *'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
18273 ;;
18274 esac
18275
18276 ac_aux_dir='$ac_aux_dir'
18277 xsi_shell='$xsi_shell'
18278 lt_shell_append='$lt_shell_append'
18279
18280 # See if we are running on zsh, and set the options which allow our
18281 # commands through without removal of \ escapes INIT.
18282 if test -n "\${ZSH_VERSION+set}" ; then
18283 setopt NO_GLOB_SUBST
18284 fi
18285
18286
18287 PACKAGE='$PACKAGE'
18288 VERSION='$VERSION'
18289 TIMESTAMP='$TIMESTAMP'
18290 RM='$RM'
18291 ofile='$ofile'
18292
18293
18294
18295
18296
18297
18298
18299 _ACEOF
18300
18301 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
18302
18303 # Handling of arguments.
18304 for ac_config_target in $ac_config_targets
18305 do
18306 case $ac_config_target in
18307 "src/ghemicalconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS src/ghemicalconfig.h" ;;
18308 "src/ghemicalconfig2.h") CONFIG_COMMANDS="$CONFIG_COMMANDS src/ghemicalconfig2.h" ;;
18309 "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
18310 "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
18311 "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
18312 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
18313 "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
18314 "docs/user-docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/user-docs/Makefile" ;;
18315 "docs/user-docs/images/Makefile") CONFIG_FILES="$CONFIG_FILES docs/user-docs/images/Makefile" ;;
18316 "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
18317 "examples/TSS/Makefile") CONFIG_FILES="$CONFIG_FILES examples/TSS/Makefile" ;;
18318 "examples/TSS/carbocation_rearrangement_hydride_shift/Makefile") CONFIG_FILES="$CONFIG_FILES examples/TSS/carbocation_rearrangement_hydride_shift/Makefile" ;;
18319 "examples/TSS/carbocation_rearrangement_methide_shift/Makefile") CONFIG_FILES="$CONFIG_FILES examples/TSS/carbocation_rearrangement_methide_shift/Makefile" ;;
18320 "examples/TSS/cycloaddition_Diels-Alder/Makefile") CONFIG_FILES="$CONFIG_FILES examples/TSS/cycloaddition_Diels-Alder/Makefile" ;;
18321 "examples/TSS/E2-reaction/Makefile") CONFIG_FILES="$CONFIG_FILES examples/TSS/E2-reaction/Makefile" ;;
18322 "examples/TSS/sigmatropic_rearrangement_Cope/Makefile") CONFIG_FILES="$CONFIG_FILES examples/TSS/sigmatropic_rearrangement_Cope/Makefile" ;;
18323 "examples/TSS/SN2-reaction/Makefile") CONFIG_FILES="$CONFIG_FILES examples/TSS/SN2-reaction/Makefile" ;;
18324 "examples/TSS/tautomeric_shift_keto_enol/Makefile") CONFIG_FILES="$CONFIG_FILES examples/TSS/tautomeric_shift_keto_enol/Makefile" ;;
18325 "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
18326 "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
18327 "src/res_gtk/Makefile") CONFIG_FILES="$CONFIG_FILES src/res_gtk/Makefile" ;;
18328 "stamp.h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp.h" ;;
18329 "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;;
18330
18331 *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
18332 esac
18333 done
18334
18335
18336 # If the user did not use the arguments to specify the items to instantiate,
18337 # then the envvar interface is used. Set only those that are not.
18338 # We use the long form for the default assignment because of an extremely
18339 # bizarre bug on SunOS 4.1.3.
18340 if $ac_need_defaults; then
18341 test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
18342 test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
18343 test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
18344 fi
18345
18346 # Have a temporary directory for convenience. Make it in the build tree
18347 # simply because there is no reason against having it here, and in addition,
18348 # creating and moving files from /tmp can sometimes cause problems.
18349 # Hook for its removal unless debugging.
18350 # Note that there is a small window in which the directory will not be cleaned:
18351 # after its creation but before its name has been assigned to `$tmp'.
18352 $debug ||
18353 {
18354 tmp=
18355 trap 'exit_status=$?
18356 { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
18357 ' 0
18358 trap 'as_fn_exit 1' 1 2 13 15
18359 }
18360 # Create a (secure) tmp directory for tmp files.
18361
18362 {
18363 tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
18364 test -n "$tmp" && test -d "$tmp"
18365 } ||
18366 {
18367 tmp=./conf$$-$RANDOM
18368 (umask 077 && mkdir "$tmp")
18369 } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
18370
18371 # Set up the scripts for CONFIG_FILES section.
18372 # No need to generate them if there are no CONFIG_FILES.
18373 # This happens for instance with `./config.status config.h'.
18374 if test -n "$CONFIG_FILES"; then
18375
18376
18377 ac_cr=`echo X | tr X '\015'`
18378 # On cygwin, bash can eat \r inside `` if the user requested igncr.
18379 # But we know of no other shell where ac_cr would be empty at this
18380 # point, so we can use a bashism as a fallback.
18381 if test "x$ac_cr" = x; then
18382 eval ac_cr=\$\'\\r\'
18383 fi
18384 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
18385 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
18386 ac_cs_awk_cr='\\r'
18387 else
18388 ac_cs_awk_cr=$ac_cr
18389 fi
18390
18391 echo 'BEGIN {' >"$tmp/subs1.awk" &&
18392 _ACEOF
18393
18394
18395 {
18396 echo "cat >conf$$subs.awk <<_ACEOF" &&
18397 echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
18398 echo "_ACEOF"
18399 } >conf$$subs.sh ||
18400 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
18401 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
18402 ac_delim='%!_!# '
18403 for ac_last_try in false false false false false :; do
18404 . ./conf$$subs.sh ||
18405 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
18406
18407 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
18408 if test $ac_delim_n = $ac_delim_num; then
18409 break
18410 elif $ac_last_try; then
18411 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
18412 else
18413 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
18414 fi
18415 done
18416 rm -f conf$$subs.sh
18417
18418 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
18419 cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
18420 _ACEOF
18421 sed -n '
18422 h
18423 s/^/S["/; s/!.*/"]=/
18424 p
18425 g
18426 s/^[^!]*!//
18427 :repl
18428 t repl
18429 s/'"$ac_delim"'$//
18430 t delim
18431 :nl
18432 h
18433 s/\(.\{148\}\)..*/\1/
18434 t more1
18435 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
18436 p
18437 n
18438 b repl
18439 :more1
18440 s/["\\]/\\&/g; s/^/"/; s/$/"\\/
18441 p
18442 g
18443 s/.\{148\}//
18444 t nl
18445 :delim
18446 h
18447 s/\(.\{148\}\)..*/\1/
18448 t more2
18449 s/["\\]/\\&/g; s/^/"/; s/$/"/
18450 p
18451 b
18452 :more2
18453 s/["\\]/\\&/g; s/^/"/; s/$/"\\/
18454 p
18455 g
18456 s/.\{148\}//
18457 t delim
18458 ' <conf$$subs.awk | sed '
18459 /^[^""]/{
18460 N
18461 s/\n//
18462 }
18463 ' >>$CONFIG_STATUS || ac_write_fail=1
18464 rm -f conf$$subs.awk
18465 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
18466 _ACAWK
18467 cat >>"\$tmp/subs1.awk" <<_ACAWK &&
18468 for (key in S) S_is_set[key] = 1
18469 FS = ""
18470
18471 }
18472 {
18473 line = $ 0
18474 nfields = split(line, field, "@")
18475 substed = 0
18476 len = length(field[1])
18477 for (i = 2; i < nfields; i++) {
18478 key = field[i]
18479 keylen = length(key)
18480 if (S_is_set[key]) {
18481 value = S[key]
18482 line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
18483 len += length(value) + length(field[++i])
18484 substed = 1
18485 } else
18486 len += 1 + keylen
18487 }
18488
18489 print line
18490 }
18491
18492 _ACAWK
18493 _ACEOF
18494 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
18495 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
18496 sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
18497 else
18498 cat
18499 fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
18500 || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
18501 _ACEOF
18502
18503 # VPATH may cause trouble with some makes, so we remove sole $(srcdir),
18504 # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
18505 # trailing colons and then remove the whole line if VPATH becomes empty
18506 # (actually we leave an empty line to preserve line numbers).
18507 if test "x$srcdir" = x.; then
18508 ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
18509 h
18510 s///
18511 s/^/:/
18512 s/[ ]*$/:/
18513 s/:\$(srcdir):/:/g
18514 s/:\${srcdir}:/:/g
18515 s/:@srcdir@:/:/g
18516 s/^:*//
18517 s/:*$//
18518 x
18519 s/\(=[ ]*\).*/\1/
18520 G
18521 s/\n//
18522 s/^[^=]*=[ ]*$//
18523 }'
18524 fi
18525
18526 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
18527 fi # test -n "$CONFIG_FILES"
18528
18529 # Set up the scripts for CONFIG_HEADERS section.
18530 # No need to generate them if there are no CONFIG_HEADERS.
18531 # This happens for instance with `./config.status Makefile'.
18532 if test -n "$CONFIG_HEADERS"; then
18533 cat >"$tmp/defines.awk" <<\_ACAWK ||
18534 BEGIN {
18535 _ACEOF
18536
18537 # Transform confdefs.h into an awk script `defines.awk', embedded as
18538 # here-document in config.status, that substitutes the proper values into
18539 # config.h.in to produce config.h.
18540
18541 # Create a delimiter string that does not exist in confdefs.h, to ease
18542 # handling of long lines.
18543 ac_delim='%!_!# '
18544 for ac_last_try in false false :; do
18545 ac_t=`sed -n "/$ac_delim/p" confdefs.h`
18546 if test -z "$ac_t"; then
18547 break
18548 elif $ac_last_try; then
18549 as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
18550 else
18551 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
18552 fi
18553 done
18554
18555 # For the awk script, D is an array of macro values keyed by name,
18556 # likewise P contains macro parameters if any. Preserve backslash
18557 # newline sequences.
18558
18559 ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
18560 sed -n '
18561 s/.\{148\}/&'"$ac_delim"'/g
18562 t rset
18563 :rset
18564 s/^[ ]*#[ ]*define[ ][ ]*/ /
18565 t def
18566 d
18567 :def
18568 s/\\$//
18569 t bsnl
18570 s/["\\]/\\&/g
18571 s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
18572 D["\1"]=" \3"/p
18573 s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
18574 d
18575 :bsnl
18576 s/["\\]/\\&/g
18577 s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
18578 D["\1"]=" \3\\\\\\n"\\/p
18579 t cont
18580 s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
18581 t cont
18582 d
18583 :cont
18584 n
18585 s/.\{148\}/&'"$ac_delim"'/g
18586 t clear
18587 :clear
18588 s/\\$//
18589 t bsnlc
18590 s/["\\]/\\&/g; s/^/"/; s/$/"/p
18591 d
18592 :bsnlc
18593 s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
18594 b cont
18595 ' <confdefs.h | sed '
18596 s/'"$ac_delim"'/"\\\
18597 "/g' >>$CONFIG_STATUS || ac_write_fail=1
18598
18599 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
18600 for (key in D) D_is_set[key] = 1
18601 FS = ""
18602 }
18603 /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
18604 line = \$ 0
18605 split(line, arg, " ")
18606 if (arg[1] == "#") {
18607 defundef = arg[2]
18608 mac1 = arg[3]
18609 } else {
18610 defundef = substr(arg[1], 2)
18611 mac1 = arg[2]
18612 }
18613 split(mac1, mac2, "(") #)
18614 macro = mac2[1]
18615 prefix = substr(line, 1, index(line, defundef) - 1)
18616 if (D_is_set[macro]) {
18617 # Preserve the white space surrounding the "#".
18618 print prefix "define", macro P[macro] D[macro]
18619 next
18620 } else {
18621 # Replace #undef with comments. This is necessary, for example,
18622 # in the case of _POSIX_SOURCE, which is predefined and required
18623 # on some systems where configure will not decide to define it.
18624 if (defundef == "undef") {
18625 print "/*", prefix defundef, macro, "*/"
18626 next
18627 }
18628 }
18629 }
18630 { print }
18631 _ACAWK
18632 _ACEOF
18633 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
18634 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
18635 fi # test -n "$CONFIG_HEADERS"
18636
18637
18638 eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
18639 shift
18640 for ac_tag
18641 do
18642 case $ac_tag in
18643 :[FHLC]) ac_mode=$ac_tag; continue;;
18644 esac
18645 case $ac_mode$ac_tag in
18646 :[FHL]*:*);;
18647 :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
18648 :[FH]-) ac_tag=-:-;;
18649 :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
18650 esac
18651 ac_save_IFS=$IFS
18652 IFS=:
18653 set x $ac_tag
18654 IFS=$ac_save_IFS
18655 shift
18656 ac_file=$1
18657 shift
18658
18659 case $ac_mode in
18660 :L) ac_source=$1;;
18661 :[FH])
18662 ac_file_inputs=
18663 for ac_f
18664 do
18665 case $ac_f in
18666 -) ac_f="$tmp/stdin";;
18667 *) # Look for the file first in the build tree, then in the source tree
18668 # (if the path is not absolute). The absolute path cannot be DOS-style,
18669 # because $ac_f cannot contain `:'.
18670 test -f "$ac_f" ||
18671 case $ac_f in
18672 [\\/$]*) false;;
18673 *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
18674 esac ||
18675 as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
18676 esac
18677 case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
18678 as_fn_append ac_file_inputs " '$ac_f'"
18679 done
18680
18681 # Let's still pretend it is `configure' which instantiates (i.e., don't
18682 # use $as_me), people would be surprised to read:
18683 # /* config.h. Generated by config.status. */
18684 configure_input='Generated from '`
18685 $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
18686 `' by configure.'
18687 if test x"$ac_file" != x-; then
18688 configure_input="$ac_file. $configure_input"
18689 { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
18690 $as_echo "$as_me: creating $ac_file" >&6;}
18691 fi
18692 # Neutralize special characters interpreted by sed in replacement strings.
18693 case $configure_input in #(
18694 *\&* | *\|* | *\\* )
18695 ac_sed_conf_input=`$as_echo "$configure_input" |
18696 sed 's/[\\\\&|]/\\\\&/g'`;; #(
18697 *) ac_sed_conf_input=$configure_input;;
18698 esac
18699
18700 case $ac_tag in
18701 *:-:* | *:-) cat >"$tmp/stdin" \
18702 || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
18703 esac
18704 ;;
18705 esac
18706
18707 ac_dir=`$as_dirname -- "$ac_file" ||
18708 $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
18709 X"$ac_file" : 'X\(//\)[^/]' \| \
18710 X"$ac_file" : 'X\(//\)$' \| \
18711 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
18712 $as_echo X"$ac_file" |
18713 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
18714 s//\1/
18715 q
18716 }
18717 /^X\(\/\/\)[^/].*/{
18718 s//\1/
18719 q
18720 }
18721 /^X\(\/\/\)$/{
18722 s//\1/
18723 q
18724 }
18725 /^X\(\/\).*/{
18726 s//\1/
18727 q
18728 }
18729 s/.*/./; q'`
18730 as_dir="$ac_dir"; as_fn_mkdir_p
18731 ac_builddir=.
18732
18733 case "$ac_dir" in
18734 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
18735 *)
18736 ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
18737 # A ".." for each directory in $ac_dir_suffix.
18738 ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
18739 case $ac_top_builddir_sub in
18740 "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
18741 *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
18742 esac ;;
18743 esac
18744 ac_abs_top_builddir=$ac_pwd
18745 ac_abs_builddir=$ac_pwd$ac_dir_suffix
18746 # for backward compatibility:
18747 ac_top_builddir=$ac_top_build_prefix
18748
18749 case $srcdir in
18750 .) # We are building in place.
18751 ac_srcdir=.
18752 ac_top_srcdir=$ac_top_builddir_sub
18753 ac_abs_top_srcdir=$ac_pwd ;;
18754 [\\/]* | ?:[\\/]* ) # Absolute name.
18755 ac_srcdir=$srcdir$ac_dir_suffix;
18756 ac_top_srcdir=$srcdir
18757 ac_abs_top_srcdir=$srcdir ;;
18758 *) # Relative name.
18759 ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
18760 ac_top_srcdir=$ac_top_build_prefix$srcdir
18761 ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
18762 esac
18763 ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
18764
18765
18766 case $ac_mode in
18767 :F)
18768 #
18769 # CONFIG_FILE
18770 #
18771
18772 case $INSTALL in
18773 [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
18774 *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
18775 esac
18776 ac_MKDIR_P=$MKDIR_P
18777 case $MKDIR_P in
18778 [\\/$]* | ?:[\\/]* ) ;;
18779 */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
18780 esac
18781 _ACEOF
18782
18783 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
18784 # If the template does not know about datarootdir, expand it.
18785 # FIXME: This hack should be removed a few years after 2.60.
18786 ac_datarootdir_hack=; ac_datarootdir_seen=
18787 ac_sed_dataroot='
18788 /datarootdir/ {
18789 p
18790 q
18791 }
18792 /@datadir@/p
18793 /@docdir@/p
18794 /@infodir@/p
18795 /@localedir@/p
18796 /@mandir@/p'
18797 case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
18798 *datarootdir*) ac_datarootdir_seen=yes;;
18799 *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
18800 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
18801 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
18802 _ACEOF
18803 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
18804 ac_datarootdir_hack='
18805 s&@datadir@&$datadir&g
18806 s&@docdir@&$docdir&g
18807 s&@infodir@&$infodir&g
18808 s&@localedir@&$localedir&g
18809 s&@mandir@&$mandir&g
18810 s&\\\${datarootdir}&$datarootdir&g' ;;
18811 esac
18812 _ACEOF
18813
18814 # Neutralize VPATH when `$srcdir' = `.'.
18815 # Shell code in configure.ac might set extrasub.
18816 # FIXME: do we really want to maintain this feature?
18817 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
18818 ac_sed_extra="$ac_vpsub
18819 $extrasub
18820 _ACEOF
18821 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
18822 :t
18823 /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
18824 s|@configure_input@|$ac_sed_conf_input|;t t
18825 s&@top_builddir@&$ac_top_builddir_sub&;t t
18826 s&@top_build_prefix@&$ac_top_build_prefix&;t t
18827 s&@srcdir@&$ac_srcdir&;t t
18828 s&@abs_srcdir@&$ac_abs_srcdir&;t t
18829 s&@top_srcdir@&$ac_top_srcdir&;t t
18830 s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
18831 s&@builddir@&$ac_builddir&;t t
18832 s&@abs_builddir@&$ac_abs_builddir&;t t
18833 s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
18834 s&@INSTALL@&$ac_INSTALL&;t t
18835 s&@MKDIR_P@&$ac_MKDIR_P&;t t
18836 $ac_datarootdir_hack
18837 "
18838 eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
18839 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
18840
18841 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
18842 { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
18843 { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
18844 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
18845 which seems to be undefined. Please make sure it is defined" >&5
18846 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
18847 which seems to be undefined. Please make sure it is defined" >&2;}
18848
18849 rm -f "$tmp/stdin"
18850 case $ac_file in
18851 -) cat "$tmp/out" && rm -f "$tmp/out";;
18852 *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
18853 esac \
18854 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
18855 ;;
18856 :H)
18857 #
18858 # CONFIG_HEADER
18859 #
18860 if test x"$ac_file" != x-; then
18861 {
18862 $as_echo "/* $configure_input */" \
18863 && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
18864 } >"$tmp/config.h" \
18865 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
18866 if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
18867 { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
18868 $as_echo "$as_me: $ac_file is unchanged" >&6;}
18869 else
18870 rm -f "$ac_file"
18871 mv "$tmp/config.h" "$ac_file" \
18872 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
18873 fi
18874 else
18875 $as_echo "/* $configure_input */" \
18876 && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
18877 || as_fn_error $? "could not create -" "$LINENO" 5
18878 fi
18879 # Compute "$ac_file"'s index in $config_headers.
18880 _am_arg="$ac_file"
18881 _am_stamp_count=1
18882 for _am_header in $config_headers :; do
18883 case $_am_header in
18884 $_am_arg | $_am_arg:* )
18885 break ;;
18886 * )
18887 _am_stamp_count=`expr $_am_stamp_count + 1` ;;
18888 esac
18889 done
18890 echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
18891 $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
18892 X"$_am_arg" : 'X\(//\)[^/]' \| \
18893 X"$_am_arg" : 'X\(//\)$' \| \
18894 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
18895 $as_echo X"$_am_arg" |
18896 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
18897 s//\1/
18898 q
18899 }
18900 /^X\(\/\/\)[^/].*/{
18901 s//\1/
18902 q
18903 }
18904 /^X\(\/\/\)$/{
18905 s//\1/
18906 q
18907 }
18908 /^X\(\/\).*/{
18909 s//\1/
18910 q
18911 }
18912 s/.*/./; q'`/stamp-h$_am_stamp_count
18913 ;;
18914
18915 :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
18916 $as_echo "$as_me: executing $ac_file commands" >&6;}
18917 ;;
18918 esac
18919
18920
18921 case $ac_file$ac_mode in
18922 "src/ghemicalconfig2.h":C) cat src/ghemicalconfig.h | grep -v PACKAGE > src/ghemicalconfig2.h ;;
18923 "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
18924 # Autoconf 2.62 quotes --file arguments for eval, but not when files
18925 # are listed without --file. Let's play safe and only enable the eval
18926 # if we detect the quoting.
18927 case $CONFIG_FILES in
18928 *\'*) eval set x "$CONFIG_FILES" ;;
18929 *) set x $CONFIG_FILES ;;
18930 esac
18931 shift
18932 for mf
18933 do
18934 # Strip MF so we end up with the name of the file.
18935 mf=`echo "$mf" | sed -e 's/:.*$//'`
18936 # Check whether this is an Automake generated Makefile or not.
18937 # We used to match only the files named `Makefile.in', but
18938 # some people rename them; so instead we look at the file content.
18939 # Grep'ing the first line is not enough: some people post-process
18940 # each Makefile.in and add a new line on top of each file to say so.
18941 # Grep'ing the whole file is not good either: AIX grep has a line
18942 # limit of 2048, but all sed's we know have understand at least 4000.
18943 if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
18944 dirpart=`$as_dirname -- "$mf" ||
18945 $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
18946 X"$mf" : 'X\(//\)[^/]' \| \
18947 X"$mf" : 'X\(//\)$' \| \
18948 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
18949 $as_echo X"$mf" |
18950 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
18951 s//\1/
18952 q
18953 }
18954 /^X\(\/\/\)[^/].*/{
18955 s//\1/
18956 q
18957 }
18958 /^X\(\/\/\)$/{
18959 s//\1/
18960 q
18961 }
18962 /^X\(\/\).*/{
18963 s//\1/
18964 q
18965 }
18966 s/.*/./; q'`
18967 else
18968 continue
18969 fi
18970 # Extract the definition of DEPDIR, am__include, and am__quote
18971 # from the Makefile without running `make'.
18972 DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
18973 test -z "$DEPDIR" && continue
18974 am__include=`sed -n 's/^am__include = //p' < "$mf"`
18975 test -z "am__include" && continue
18976 am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
18977 # When using ansi2knr, U may be empty or an underscore; expand it
18978 U=`sed -n 's/^U = //p' < "$mf"`
18979 # Find all dependency output files, they are included files with
18980 # $(DEPDIR) in their names. We invoke sed twice because it is the
18981 # simplest approach to changing $(DEPDIR) to its actual value in the
18982 # expansion.
18983 for file in `sed -n "
18984 s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
18985 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
18986 # Make sure the directory exists.
18987 test -f "$dirpart/$file" && continue
18988 fdir=`$as_dirname -- "$file" ||
18989 $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
18990 X"$file" : 'X\(//\)[^/]' \| \
18991 X"$file" : 'X\(//\)$' \| \
18992 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
18993 $as_echo X"$file" |
18994 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
18995 s//\1/
18996 q
18997 }
18998 /^X\(\/\/\)[^/].*/{
18999 s//\1/
19000 q
19001 }
19002 /^X\(\/\/\)$/{
19003 s//\1/
19004 q
19005 }
19006 /^X\(\/\).*/{
19007 s//\1/
19008 q
19009 }
19010 s/.*/./; q'`
19011 as_dir=$dirpart/$fdir; as_fn_mkdir_p
19012 # echo "creating $dirpart/$file"
19013 echo '# dummy' > "$dirpart/$file"
19014 done
19015 done
19016 }
19017 ;;
19018 "libtool":C)
19019
19020 # See if we are running on zsh, and set the options which allow our
19021 # commands through without removal of \ escapes.
19022 if test -n "${ZSH_VERSION+set}" ; then
19023 setopt NO_GLOB_SUBST
19024 fi
19025
19026 cfgfile="${ofile}T"
19027 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
19028 $RM "$cfgfile"
19029
19030 cat <<_LT_EOF >> "$cfgfile"
19031 #! $SHELL
19032
19033 # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
19034 # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
19035 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
19036 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
19037 #
19038 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
19039 # 2006, 2007, 2008 Free Software Foundation, Inc.
19040 # Written by Gordon Matzigkeit, 1996
19041 #
19042 # This file is part of GNU Libtool.
19043 #
19044 # GNU Libtool is free software; you can redistribute it and/or
19045 # modify it under the terms of the GNU General Public License as
19046 # published by the Free Software Foundation; either version 2 of
19047 # the License, or (at your option) any later version.
19048 #
19049 # As a special exception to the GNU General Public License,
19050 # if you distribute this file as part of a program or library that
19051 # is built using GNU Libtool, you may include this file under the
19052 # same distribution terms that you use for the rest of that program.
19053 #
19054 # GNU Libtool is distributed in the hope that it will be useful,
19055 # but WITHOUT ANY WARRANTY; without even the implied warranty of
19056 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19057 # GNU General Public License for more details.
19058 #
19059 # You should have received a copy of the GNU General Public License
19060 # along with GNU Libtool; see the file COPYING. If not, a copy
19061 # can be downloaded from http://www.gnu.org/licenses/gpl.html, or
19062 # obtained by writing to the Free Software Foundation, Inc.,
19063 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19064
19065
19066 # The names of the tagged configurations supported by this script.
19067 available_tags="CXX "
19068
19069 # ### BEGIN LIBTOOL CONFIG
19070
19071 # Which release of libtool.m4 was used?
19072 macro_version=$macro_version
19073 macro_revision=$macro_revision
19074
19075 # Whether or not to build shared libraries.
19076 build_libtool_libs=$enable_shared
19077
19078 # Whether or not to build static libraries.
19079 build_old_libs=$enable_static
19080
19081 # What type of objects to build.
19082 pic_mode=$pic_mode
19083
19084 # Whether or not to optimize for fast installation.
19085 fast_install=$enable_fast_install
19086
19087 # The host system.
19088 host_alias=$host_alias
19089 host=$host
19090 host_os=$host_os
19091
19092 # The build system.
19093 build_alias=$build_alias
19094 build=$build
19095 build_os=$build_os
19096
19097 # A sed program that does not truncate output.
19098 SED=$lt_SED
19099
19100 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
19101 Xsed="\$SED -e 1s/^X//"
19102
19103 # A grep program that handles long lines.
19104 GREP=$lt_GREP
19105
19106 # An ERE matcher.
19107 EGREP=$lt_EGREP
19108
19109 # A literal string matcher.
19110 FGREP=$lt_FGREP
19111
19112 # A BSD- or MS-compatible name lister.
19113 NM=$lt_NM
19114
19115 # Whether we need soft or hard links.
19116 LN_S=$lt_LN_S
19117
19118 # What is the maximum length of a command?
19119 max_cmd_len=$max_cmd_len
19120
19121 # Object file suffix (normally "o").
19122 objext=$ac_objext
19123
19124 # Executable file suffix (normally "").
19125 exeext=$exeext
19126
19127 # whether the shell understands "unset".
19128 lt_unset=$lt_unset
19129
19130 # turn spaces into newlines.
19131 SP2NL=$lt_lt_SP2NL
19132
19133 # turn newlines into spaces.
19134 NL2SP=$lt_lt_NL2SP
19135
19136 # How to create reloadable object files.
19137 reload_flag=$lt_reload_flag
19138 reload_cmds=$lt_reload_cmds
19139
19140 # An object symbol dumper.
19141 OBJDUMP=$lt_OBJDUMP
19142
19143 # Method to check whether dependent libraries are shared objects.
19144 deplibs_check_method=$lt_deplibs_check_method
19145
19146 # Command to use when deplibs_check_method == "file_magic".
19147 file_magic_cmd=$lt_file_magic_cmd
19148
19149 # The archiver.
19150 AR=$lt_AR
19151 AR_FLAGS=$lt_AR_FLAGS
19152
19153 # A symbol stripping program.
19154 STRIP=$lt_STRIP
19155
19156 # Commands used to install an old-style archive.
19157 RANLIB=$lt_RANLIB
19158 old_postinstall_cmds=$lt_old_postinstall_cmds
19159 old_postuninstall_cmds=$lt_old_postuninstall_cmds
19160
19161 # A C compiler.
19162 LTCC=$lt_CC
19163
19164 # LTCC compiler flags.
19165 LTCFLAGS=$lt_CFLAGS
19166
19167 # Take the output of nm and produce a listing of raw symbols and C names.
19168 global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
19169
19170 # Transform the output of nm in a proper C declaration.
19171 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
19172
19173 # Transform the output of nm in a C name address pair.
19174 global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
19175
19176 # Transform the output of nm in a C name address pair when lib prefix is needed.
19177 global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
19178
19179 # The name of the directory that contains temporary libtool files.
19180 objdir=$objdir
19181
19182 # Shell to use when invoking shell scripts.
19183 SHELL=$lt_SHELL
19184
19185 # An echo program that does not interpret backslashes.
19186 ECHO=$lt_ECHO
19187
19188 # Used to examine libraries when file_magic_cmd begins with "file".
19189 MAGIC_CMD=$MAGIC_CMD
19190
19191 # Must we lock files when doing compilation?
19192 need_locks=$lt_need_locks
19193
19194 # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
19195 DSYMUTIL=$lt_DSYMUTIL
19196
19197 # Tool to change global to local symbols on Mac OS X.
19198 NMEDIT=$lt_NMEDIT
19199
19200 # Tool to manipulate fat objects and archives on Mac OS X.
19201 LIPO=$lt_LIPO
19202
19203 # ldd/readelf like tool for Mach-O binaries on Mac OS X.
19204 OTOOL=$lt_OTOOL
19205
19206 # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
19207 OTOOL64=$lt_OTOOL64
19208
19209 # Old archive suffix (normally "a").
19210 libext=$libext
19211
19212 # Shared library suffix (normally ".so").
19213 shrext_cmds=$lt_shrext_cmds
19214
19215 # The commands to extract the exported symbol list from a shared archive.
19216 extract_expsyms_cmds=$lt_extract_expsyms_cmds
19217
19218 # Variables whose values should be saved in libtool wrapper scripts and
19219 # restored at link time.
19220 variables_saved_for_relink=$lt_variables_saved_for_relink
19221
19222 # Do we need the "lib" prefix for modules?
19223 need_lib_prefix=$need_lib_prefix
19224
19225 # Do we need a version for libraries?
19226 need_version=$need_version
19227
19228 # Library versioning type.
19229 version_type=$version_type
19230
19231 # Shared library runtime path variable.
19232 runpath_var=$runpath_var
19233
19234 # Shared library path variable.
19235 shlibpath_var=$shlibpath_var
19236
19237 # Is shlibpath searched before the hard-coded library search path?
19238 shlibpath_overrides_runpath=$shlibpath_overrides_runpath
19239
19240 # Format of library name prefix.
19241 libname_spec=$lt_libname_spec
19242
19243 # List of archive names. First name is the real one, the rest are links.
19244 # The last name is the one that the linker finds with -lNAME
19245 library_names_spec=$lt_library_names_spec
19246
19247 # The coded name of the library, if different from the real name.
19248 soname_spec=$lt_soname_spec
19249
19250 # Command to use after installation of a shared archive.
19251 postinstall_cmds=$lt_postinstall_cmds
19252
19253 # Command to use after uninstallation of a shared archive.
19254 postuninstall_cmds=$lt_postuninstall_cmds
19255
19256 # Commands used to finish a libtool library installation in a directory.
19257 finish_cmds=$lt_finish_cmds
19258
19259 # As "finish_cmds", except a single script fragment to be evaled but
19260 # not shown.
19261 finish_eval=$lt_finish_eval
19262
19263 # Whether we should hardcode library paths into libraries.
19264 hardcode_into_libs=$hardcode_into_libs
19265
19266 # Compile-time system search path for libraries.
19267 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
19268
19269 # Run-time system search path for libraries.
19270 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
19271
19272 # Whether dlopen is supported.
19273 dlopen_support=$enable_dlopen
19274
19275 # Whether dlopen of programs is supported.
19276 dlopen_self=$enable_dlopen_self
19277
19278 # Whether dlopen of statically linked programs is supported.
19279 dlopen_self_static=$enable_dlopen_self_static
19280
19281 # Commands to strip libraries.
19282 old_striplib=$lt_old_striplib
19283 striplib=$lt_striplib
19284
19285
19286 # The linker used to build libraries.
19287 LD=$lt_LD
19288
19289 # Commands used to build an old-style archive.
19290 old_archive_cmds=$lt_old_archive_cmds
19291
19292 # A language specific compiler.
19293 CC=$lt_compiler
19294
19295 # Is the compiler the GNU compiler?
19296 with_gcc=$GCC
19297
19298 # Compiler flag to turn off builtin functions.
19299 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
19300
19301 # How to pass a linker flag through the compiler.
19302 wl=$lt_lt_prog_compiler_wl
19303
19304 # Additional compiler flags for building library objects.
19305 pic_flag=$lt_lt_prog_compiler_pic
19306
19307 # Compiler flag to prevent dynamic linking.
19308 link_static_flag=$lt_lt_prog_compiler_static
19309
19310 # Does compiler simultaneously support -c and -o options?
19311 compiler_c_o=$lt_lt_cv_prog_compiler_c_o
19312
19313 # Whether or not to add -lc for building shared libraries.
19314 build_libtool_need_lc=$archive_cmds_need_lc
19315
19316 # Whether or not to disallow shared libs when runtime libs are static.
19317 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
19318
19319 # Compiler flag to allow reflexive dlopens.
19320 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
19321
19322 # Compiler flag to generate shared objects directly from archives.
19323 whole_archive_flag_spec=$lt_whole_archive_flag_spec
19324
19325 # Whether the compiler copes with passing no objects directly.
19326 compiler_needs_object=$lt_compiler_needs_object
19327
19328 # Create an old-style archive from a shared archive.
19329 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
19330
19331 # Create a temporary old-style archive to link instead of a shared archive.
19332 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
19333
19334 # Commands used to build a shared archive.
19335 archive_cmds=$lt_archive_cmds
19336 archive_expsym_cmds=$lt_archive_expsym_cmds
19337
19338 # Commands used to build a loadable module if different from building
19339 # a shared archive.
19340 module_cmds=$lt_module_cmds
19341 module_expsym_cmds=$lt_module_expsym_cmds
19342
19343 # Whether we are building with GNU ld or not.
19344 with_gnu_ld=$lt_with_gnu_ld
19345
19346 # Flag that allows shared libraries with undefined symbols to be built.
19347 allow_undefined_flag=$lt_allow_undefined_flag
19348
19349 # Flag that enforces no undefined symbols.
19350 no_undefined_flag=$lt_no_undefined_flag
19351
19352 # Flag to hardcode \$libdir into a binary during linking.
19353 # This must work even if \$libdir does not exist
19354 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
19355
19356 # If ld is used when linking, flag to hardcode \$libdir into a binary
19357 # during linking. This must work even if \$libdir does not exist.
19358 hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
19359
19360 # Whether we need a single "-rpath" flag with a separated argument.
19361 hardcode_libdir_separator=$lt_hardcode_libdir_separator
19362
19363 # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
19364 # DIR into the resulting binary.
19365 hardcode_direct=$hardcode_direct
19366
19367 # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
19368 # DIR into the resulting binary and the resulting library dependency is
19369 # "absolute",i.e impossible to change by setting \${shlibpath_var} if the
19370 # library is relocated.
19371 hardcode_direct_absolute=$hardcode_direct_absolute
19372
19373 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR
19374 # into the resulting binary.
19375 hardcode_minus_L=$hardcode_minus_L
19376
19377 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
19378 # into the resulting binary.
19379 hardcode_shlibpath_var=$hardcode_shlibpath_var
19380
19381 # Set to "yes" if building a shared library automatically hardcodes DIR
19382 # into the library and all subsequent libraries and executables linked
19383 # against it.
19384 hardcode_automatic=$hardcode_automatic
19385
19386 # Set to yes if linker adds runtime paths of dependent libraries
19387 # to runtime path list.
19388 inherit_rpath=$inherit_rpath
19389
19390 # Whether libtool must link a program against all its dependency libraries.
19391 link_all_deplibs=$link_all_deplibs
19392
19393 # Fix the shell variable \$srcfile for the compiler.
19394 fix_srcfile_path=$lt_fix_srcfile_path
19395
19396 # Set to "yes" if exported symbols are required.
19397 always_export_symbols=$always_export_symbols
19398
19399 # The commands to list exported symbols.
19400 export_symbols_cmds=$lt_export_symbols_cmds
19401
19402 # Symbols that should not be listed in the preloaded symbols.
19403 exclude_expsyms=$lt_exclude_expsyms
19404
19405 # Symbols that must always be exported.
19406 include_expsyms=$lt_include_expsyms
19407
19408 # Commands necessary for linking programs (against libraries) with templates.
19409 prelink_cmds=$lt_prelink_cmds
19410
19411 # Specify filename containing input files.
19412 file_list_spec=$lt_file_list_spec
19413
19414 # How to hardcode a shared library path into an executable.
19415 hardcode_action=$hardcode_action
19416
19417 # The directories searched by this compiler when creating a shared library.
19418 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
19419
19420 # Dependencies to place before and after the objects being linked to
19421 # create a shared library.
19422 predep_objects=$lt_predep_objects
19423 postdep_objects=$lt_postdep_objects
19424 predeps=$lt_predeps
19425 postdeps=$lt_postdeps
19426
19427 # The library search path used internally by the compiler when linking
19428 # a shared library.
19429 compiler_lib_search_path=$lt_compiler_lib_search_path
19430
19431 # ### END LIBTOOL CONFIG
19432
19433 _LT_EOF
19434
19435 case $host_os in
19436 aix3*)
19437 cat <<\_LT_EOF >> "$cfgfile"
19438 # AIX sometimes has problems with the GCC collect2 program. For some
19439 # reason, if we set the COLLECT_NAMES environment variable, the problems
19440 # vanish in a puff of smoke.
19441 if test "X${COLLECT_NAMES+set}" != Xset; then
19442 COLLECT_NAMES=
19443 export COLLECT_NAMES
19444 fi
19445 _LT_EOF
19446 ;;
19447 esac
19448
19449
19450 ltmain="$ac_aux_dir/ltmain.sh"
19451
19452
19453 # We use sed instead of cat because bash on DJGPP gets confused if
19454 # if finds mixed CR/LF and LF-only lines. Since sed operates in
19455 # text mode, it properly converts lines to CR/LF. This bash problem
19456 # is reportedly fixed, but why not run on old versions too?
19457 sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
19458 || (rm -f "$cfgfile"; exit 1)
19459
19460 case $xsi_shell in
19461 yes)
19462 cat << \_LT_EOF >> "$cfgfile"
19463
19464 # func_dirname file append nondir_replacement
19465 # Compute the dirname of FILE. If nonempty, add APPEND to the result,
19466 # otherwise set result to NONDIR_REPLACEMENT.
19467 func_dirname ()
19468 {
19469 case ${1} in
19470 */*) func_dirname_result="${1%/*}${2}" ;;
19471 * ) func_dirname_result="${3}" ;;
19472 esac
19473 }
19474
19475 # func_basename file
19476 func_basename ()
19477 {
19478 func_basename_result="${1##*/}"
19479 }
19480
19481 # func_dirname_and_basename file append nondir_replacement
19482 # perform func_basename and func_dirname in a single function
19483 # call:
19484 # dirname: Compute the dirname of FILE. If nonempty,
19485 # add APPEND to the result, otherwise set result
19486 # to NONDIR_REPLACEMENT.
19487 # value returned in "$func_dirname_result"
19488 # basename: Compute filename of FILE.
19489 # value retuned in "$func_basename_result"
19490 # Implementation must be kept synchronized with func_dirname
19491 # and func_basename. For efficiency, we do not delegate to
19492 # those functions but instead duplicate the functionality here.
19493 func_dirname_and_basename ()
19494 {
19495 case ${1} in
19496 */*) func_dirname_result="${1%/*}${2}" ;;
19497 * ) func_dirname_result="${3}" ;;
19498 esac
19499 func_basename_result="${1##*/}"
19500 }
19501
19502 # func_stripname prefix suffix name
19503 # strip PREFIX and SUFFIX off of NAME.
19504 # PREFIX and SUFFIX must not contain globbing or regex special
19505 # characters, hashes, percent signs, but SUFFIX may contain a leading
19506 # dot (in which case that matches only a dot).
19507 func_stripname ()
19508 {
19509 # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
19510 # positional parameters, so assign one to ordinary parameter first.
19511 func_stripname_result=${3}
19512 func_stripname_result=${func_stripname_result#"${1}"}
19513 func_stripname_result=${func_stripname_result%"${2}"}
19514 }
19515
19516 # func_opt_split
19517 func_opt_split ()
19518 {
19519 func_opt_split_opt=${1%%=*}
19520 func_opt_split_arg=${1#*=}
19521 }
19522
19523 # func_lo2o object
19524 func_lo2o ()
19525 {
19526 case ${1} in
19527 *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
19528 *) func_lo2o_result=${1} ;;
19529 esac
19530 }
19531
19532 # func_xform libobj-or-source
19533 func_xform ()
19534 {
19535 func_xform_result=${1%.*}.lo
19536 }
19537
19538 # func_arith arithmetic-term...
19539 func_arith ()
19540 {
19541 func_arith_result=$(( $* ))
19542 }
19543
19544 # func_len string
19545 # STRING may not start with a hyphen.
19546 func_len ()
19547 {
19548 func_len_result=${#1}
19549 }
19550
19551 _LT_EOF
19552 ;;
19553 *) # Bourne compatible functions.
19554 cat << \_LT_EOF >> "$cfgfile"
19555
19556 # func_dirname file append nondir_replacement
19557 # Compute the dirname of FILE. If nonempty, add APPEND to the result,
19558 # otherwise set result to NONDIR_REPLACEMENT.
19559 func_dirname ()
19560 {
19561 # Extract subdirectory from the argument.
19562 func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
19563 if test "X$func_dirname_result" = "X${1}"; then
19564 func_dirname_result="${3}"
19565 else
19566 func_dirname_result="$func_dirname_result${2}"
19567 fi
19568 }
19569
19570 # func_basename file
19571 func_basename ()
19572 {
19573 func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
19574 }
19575
19576
19577 # func_stripname prefix suffix name
19578 # strip PREFIX and SUFFIX off of NAME.
19579 # PREFIX and SUFFIX must not contain globbing or regex special
19580 # characters, hashes, percent signs, but SUFFIX may contain a leading
19581 # dot (in which case that matches only a dot).
19582 # func_strip_suffix prefix name
19583 func_stripname ()
19584 {
19585 case ${2} in
19586 .*) func_stripname_result=`$ECHO "X${3}" \
19587 | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
19588 *) func_stripname_result=`$ECHO "X${3}" \
19589 | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
19590 esac
19591 }
19592
19593 # sed scripts:
19594 my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
19595 my_sed_long_arg='1s/^-[^=]*=//'
19596
19597 # func_opt_split
19598 func_opt_split ()
19599 {
19600 func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
19601 func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
19602 }
19603
19604 # func_lo2o object
19605 func_lo2o ()
19606 {
19607 func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
19608 }
19609
19610 # func_xform libobj-or-source
19611 func_xform ()
19612 {
19613 func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
19614 }
19615
19616 # func_arith arithmetic-term...
19617 func_arith ()
19618 {
19619 func_arith_result=`expr "$@"`
19620 }
19621
19622 # func_len string
19623 # STRING may not start with a hyphen.
19624 func_len ()
19625 {
19626 func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
19627 }
19628
19629 _LT_EOF
19630 esac
19631
19632 case $lt_shell_append in
19633 yes)
19634 cat << \_LT_EOF >> "$cfgfile"
19635
19636 # func_append var value
19637 # Append VALUE to the end of shell variable VAR.
19638 func_append ()
19639 {
19640 eval "$1+=\$2"
19641 }
19642 _LT_EOF
19643 ;;
19644 *)
19645 cat << \_LT_EOF >> "$cfgfile"
19646
19647 # func_append var value
19648 # Append VALUE to the end of shell variable VAR.
19649 func_append ()
19650 {
19651 eval "$1=\$$1\$2"
19652 }
19653
19654 _LT_EOF
19655 ;;
19656 esac
19657
19658
19659 sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
19660 || (rm -f "$cfgfile"; exit 1)
19661
19662 mv -f "$cfgfile" "$ofile" ||
19663 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
19664 chmod +x "$ofile"
19665
19666
19667 cat <<_LT_EOF >> "$ofile"
19668
19669 # ### BEGIN LIBTOOL TAG CONFIG: CXX
19670
19671 # The linker used to build libraries.
19672 LD=$lt_LD_CXX
19673
19674 # Commands used to build an old-style archive.
19675 old_archive_cmds=$lt_old_archive_cmds_CXX
19676
19677 # A language specific compiler.
19678 CC=$lt_compiler_CXX
19679
19680 # Is the compiler the GNU compiler?
19681 with_gcc=$GCC_CXX
19682
19683 # Compiler flag to turn off builtin functions.
19684 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
19685
19686 # How to pass a linker flag through the compiler.
19687 wl=$lt_lt_prog_compiler_wl_CXX
19688
19689 # Additional compiler flags for building library objects.
19690 pic_flag=$lt_lt_prog_compiler_pic_CXX
19691
19692 # Compiler flag to prevent dynamic linking.
19693 link_static_flag=$lt_lt_prog_compiler_static_CXX
19694
19695 # Does compiler simultaneously support -c and -o options?
19696 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
19697
19698 # Whether or not to add -lc for building shared libraries.
19699 build_libtool_need_lc=$archive_cmds_need_lc_CXX
19700
19701 # Whether or not to disallow shared libs when runtime libs are static.
19702 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
19703
19704 # Compiler flag to allow reflexive dlopens.
19705 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
19706
19707 # Compiler flag to generate shared objects directly from archives.
19708 whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
19709
19710 # Whether the compiler copes with passing no objects directly.
19711 compiler_needs_object=$lt_compiler_needs_object_CXX
19712
19713 # Create an old-style archive from a shared archive.
19714 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
19715
19716 # Create a temporary old-style archive to link instead of a shared archive.
19717 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
19718
19719 # Commands used to build a shared archive.
19720 archive_cmds=$lt_archive_cmds_CXX
19721 archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
19722
19723 # Commands used to build a loadable module if different from building
19724 # a shared archive.
19725 module_cmds=$lt_module_cmds_CXX
19726 module_expsym_cmds=$lt_module_expsym_cmds_CXX
19727
19728 # Whether we are building with GNU ld or not.
19729 with_gnu_ld=$lt_with_gnu_ld_CXX
19730
19731 # Flag that allows shared libraries with undefined symbols to be built.
19732 allow_undefined_flag=$lt_allow_undefined_flag_CXX
19733
19734 # Flag that enforces no undefined symbols.
19735 no_undefined_flag=$lt_no_undefined_flag_CXX
19736
19737 # Flag to hardcode \$libdir into a binary during linking.
19738 # This must work even if \$libdir does not exist
19739 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
19740
19741 # If ld is used when linking, flag to hardcode \$libdir into a binary
19742 # during linking. This must work even if \$libdir does not exist.
19743 hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
19744
19745 # Whether we need a single "-rpath" flag with a separated argument.
19746 hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
19747
19748 # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
19749 # DIR into the resulting binary.
19750 hardcode_direct=$hardcode_direct_CXX
19751
19752 # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
19753 # DIR into the resulting binary and the resulting library dependency is
19754 # "absolute",i.e impossible to change by setting \${shlibpath_var} if the
19755 # library is relocated.
19756 hardcode_direct_absolute=$hardcode_direct_absolute_CXX
19757
19758 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR
19759 # into the resulting binary.
19760 hardcode_minus_L=$hardcode_minus_L_CXX
19761
19762 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
19763 # into the resulting binary.
19764 hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
19765
19766 # Set to "yes" if building a shared library automatically hardcodes DIR
19767 # into the library and all subsequent libraries and executables linked
19768 # against it.
19769 hardcode_automatic=$hardcode_automatic_CXX
19770
19771 # Set to yes if linker adds runtime paths of dependent libraries
19772 # to runtime path list.
19773 inherit_rpath=$inherit_rpath_CXX
19774
19775 # Whether libtool must link a program against all its dependency libraries.
19776 link_all_deplibs=$link_all_deplibs_CXX
19777
19778 # Fix the shell variable \$srcfile for the compiler.
19779 fix_srcfile_path=$lt_fix_srcfile_path_CXX
19780
19781 # Set to "yes" if exported symbols are required.
19782 always_export_symbols=$always_export_symbols_CXX
19783
19784 # The commands to list exported symbols.
19785 export_symbols_cmds=$lt_export_symbols_cmds_CXX
19786
19787 # Symbols that should not be listed in the preloaded symbols.
19788 exclude_expsyms=$lt_exclude_expsyms_CXX
19789
19790 # Symbols that must always be exported.
19791 include_expsyms=$lt_include_expsyms_CXX
19792
19793 # Commands necessary for linking programs (against libraries) with templates.
19794 prelink_cmds=$lt_prelink_cmds_CXX
19795
19796 # Specify filename containing input files.
19797 file_list_spec=$lt_file_list_spec_CXX
19798
19799 # How to hardcode a shared library path into an executable.
19800 hardcode_action=$hardcode_action_CXX
19801
19802 # The directories searched by this compiler when creating a shared library.
19803 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
19804
19805 # Dependencies to place before and after the objects being linked to
19806 # create a shared library.
19807 predep_objects=$lt_predep_objects_CXX
19808 postdep_objects=$lt_postdep_objects_CXX
19809 predeps=$lt_predeps_CXX
19810 postdeps=$lt_postdeps_CXX
19811
19812 # The library search path used internally by the compiler when linking
19813 # a shared library.
19814 compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
19815
19816 # ### END LIBTOOL TAG CONFIG: CXX
19817 _LT_EOF
19818
19819 ;;
19820 "default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*)
19821 sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
19822 esac ;;
19823 "stamp.h":C) echo timestamp > stamp.h ;;
19824 "po/stamp-it":C)
19825 if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" > /dev/null ; then
19826 as_fn_error $? "po/Makefile.in.in was not created by intltoolize." "$LINENO" 5
19827 fi
19828 rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp"
19829 >"po/stamp-it.tmp"
19830 sed '/^#/d
19831 s/^[[].*] *//
19832 /^[ ]*$/d
19833 '"s|^| $ac_top_srcdir/|" \
19834 "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES"
19835
19836 sed '/^POTFILES =/,/[^\\]$/ {
19837 /^POTFILES =/!d
19838 r po/POTFILES
19839 }
19840 ' "po/Makefile.in" >"po/Makefile"
19841 rm -f "po/Makefile.tmp"
19842 mv "po/stamp-it.tmp" "po/stamp-it"
19843 ;;
19844
19845 esac
19846 done # for ac_tag
19847
19848
19849 as_fn_exit 0
19850 _ACEOF
19851 ac_clean_files=$ac_clean_files_save
19852
19853 test $ac_write_fail = 0 ||
19854 as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
19855
19856
19857 # configure is writing to config.log, and then calls config.status.
19858 # config.status does its own redirection, appending to config.log.
19859 # Unfortunately, on DOS this fails, as config.log is still kept open
19860 # by configure, so config.status won't be able to write to it; its
19861 # output is simply discarded. So we exec the FD to /dev/null,
19862 # effectively closing config.log, so it can be properly (re)opened and
19863 # appended to by config.status. When coming back to configure, we
19864 # need to make the FD available again.
19865 if test "$no_create" != yes; then
19866 ac_cs_success=:
19867 ac_config_status_args=
19868 test "$silent" = yes &&
19869 ac_config_status_args="$ac_config_status_args --quiet"
19870 exec 5>/dev/null
19871 $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
19872 exec 5>>config.log
19873 # Use ||, not &&, to avoid exiting from the if with $? = 1, which
19874 # would make configure fail if this is the last instruction.
19875 $ac_cs_success || as_fn_exit 1
19876 fi
19877 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
19878 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
19879 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
19880 fi
19881
19882
0 # Configuration for ghemical.
1 # Copyright (C) 2000- Geoff Hutchison, Michael Banck, Jean Brefort,
2 # Tommi Hassinen, Daniel Leidert.
3
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
7 # any later version.
8
9 # Process this file with aclocal/autoconf to produce a configure script.
10
11 AC_INIT([ghemical], [3.0.0])
12
13 AC_DEFINE([APPVERSION], ["3.0.0"], [This is the version of ghemical to be built--it is set in the configure.ac])
14 AC_SUBST([APPVERSION], ["3.0.0"])
15
16 AC_DEFINE([APPRELEASEDATE], ["2011-10-12"], [This is the releasedate of ghemical--it is set in the configure.ac])
17 AC_SUBST([APPRELEASEDATE], ["2011-10-12"])
18
19 AC_PREREQ([2.48])
20 AC_CONFIG_SRCDIR([src/project.cpp])
21 AM_CONFIG_HEADER([src/ghemicalconfig.h])
22
23 # todo : how to prevent from VERSION being written into the config.h file???
24 # the same will be written into the libghemical config header, causing warnings.
25
26 AM_INIT_AUTOMAKE([-Wall])
27
28 AC_CANONICAL_HOST
29
30 top_builddir_=`pwd`
31 AC_SUBST(top_builddir_)
32
33 AC_DEFINE_DIR([APPDATA_PATH], [datadir/ghemical], [Where the data files are ; set in the configure.ac])
34
35 # create a version of config.h where the PACKAGE definitions are stripped away.
36 AC_CONFIG_COMMANDS([src/ghemicalconfig2.h],[cat src/ghemicalconfig.h | grep -v PACKAGE > src/ghemicalconfig2.h])
37
38 # Get any build/host and enable/disable flags now.
39 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
40
41 # if a mingw32 host is specified, then ???
42 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
43 ##case $host in
44 ## *-*-mingw32*)
45 ## CPPFLAGS="-Dmno-cygwin -Dmms_bitfields $CPPFLAGS"
46 ## LIBS="$LIBS -mwindows"
47 ## ;;
48 ##esac
49
50 AC_ARG_ENABLE(
51 [gtk],
52 AS_HELP_STRING([--enable-gtk],
53 [build a GTK2 application @<:@default=yes@:>@]
54 ),
55 [enable_gtk=$enableval],
56 [enable_gtk=yes]
57 )
58
59 AM_CONDITIONAL([COND_USE_GTK], [test "x$enable_gtk" = "xyes"])
60
61 AC_ARG_ENABLE(
62 [threads],
63 AS_HELP_STRING([--enable-threads],
64 [build a multithreaded application @<:@default=yes@:>@]
65 ),
66 [enable_threads=$enableval],
67 [enable_threads=yes]
68 )
69
70 AC_ARG_ENABLE(
71 [openbabel],
72 AS_HELP_STRING([--enable-openbabel],
73 [compile with OpenBabel support @<:@default=yes@:>@]
74 ),
75 [enable_openbabel=$enableval],
76 [enable_openbabel=yes]
77 )
78
79 # Checks for programs.
80 # ^^^^^^^^^^^^^^^^^^^^
81
82 AC_PROG_CC
83 AC_PROG_CXX
84 AC_PROG_CPP
85 AC_PROG_CXXCPP
86 AC_PROG_INSTALL
87 AC_PROG_LIBTOOL
88 AC_PATH_PROG([AR], [ar], [ar])
89 AC_PATH_PROG([SHELL], [sh], [/bin/sh])
90 AC_PROG_MAKE_SET
91 PKG_PROG_PKG_CONFIG
92
93 ## these are for 18n only...
94 ##^^^^^^^^^^^^^^^^^^^^^^^^^^^
95 ## also see po/Makefile.in AC_CONFIG_FILES
96 ##^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
97
98 ##IT_PROG_INTLTOOL([0.35.0])
99 IT_PROG_INTLTOOL([0.40.0])
100
101 AM_GLIB_GNU_GETTEXT
102
103 GETTEXT_PACKAGE="ghemical"
104 AC_SUBST([GETTEXT_PACKAGE])
105 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [Package name for internationalization])
106
107 ## end of i18n-stuff...
108 ##^^^^^^^^^^^^^^^^^^^^^^
109
110 AM_SANITY_CHECK
111
112 # Checks for libraries.
113 # ^^^^^^^^^^^^^^^^^^^^^
114
115 AC_CHECK_LIB([m], [acos],, AC_MSG_ERROR([math library missing]))
116
117 LIBS="$LIBS -L/usr/X11R6/lib"
118
119 ## the GL/GLU library checks won't work at mingw environment...
120 ## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
121 #AC_CHECK_LIB([GL], [glRenderMode],, AC_MSG_ERROR([GL library missing]))
122 #AC_CHECK_LIB([GLU], [gluCylinder],, AC_MSG_ERROR([GLU library missing]))
123
124 ## the X11 check should be skipped at mingw environment...
125 ## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
126 #AC_CHECK_LIB([X11], [XOpenDisplay],, AC_MSG_ERROR([X11 library missing]))
127
128 ## are the rest necessary???
129
130 #AC_CHECK_LIB([Xmu], [XmuDrawLogo])
131 #AC_CHECK_LIB([Xext], [XShmAttach])
132 #AC_CHECK_LIB([Xi], [XOpenDevice])
133
134 # gtk+ feature GtkUIManager is needed -> v2.4 or newer is required.
135 # glib feature GOptionContext is needed -> v2.6 or newer is required.
136
137 ## the PKG_CHECK_MODULES() function is not working at mingw environment...
138 ## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
139
140 if test $enable_gtk = yes; then
141 AC_DEFINE([ENABLE_GTK], [], [Define if you are building a GTK2 application])
142
143 if test $enable_threads = yes; then
144 AC_DEFINE([ENABLE_THREADS], [], [Define if you are building a multithreaded application])
145
146 PKG_CHECK_MODULES([GTHREAD], [gthread-2.0 >= 2.6.0])
147 ##alt GTHREAD_CFLAGS=`$PKG_CONFIG --cflags "gthread-2.0 >= 2.6.0"`
148 ##alt GTHREAD_LIBS=`$PKG_CONFIG --libs gthread-2.0`
149
150 CPPFLAGS="$CPPFLAGS $GTHREAD_CFLAGS"
151 LIBS="$LIBS $GTHREAD_LIBS"
152 fi
153
154 PKG_CHECK_MODULES([GTK], [gtk+-2.0 >= 2.6.0 gtkglext-1.0 >= 1.0.5 libglade-2.0 >= 2.4.0])
155 ##alt GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.6.0 gtkglext-1.0 >= 1.0.5 libglade-2.0 >= 2.4.0"`
156 ##alt GTK_LIBS=`$PKG_CONFIG --libs gtk+-2.0 gtkglext-1.0 libglade-2.0`
157
158 CPPFLAGS="$CPPFLAGS $GTK_CFLAGS"
159 LIBS="$LIBS $GTK_LIBS"
160 fi
161
162 if test $enable_openbabel = yes; then
163 AC_DEFINE([ENABLE_OPENBABEL], [], [Define if you are building a version that interfaces directly with OpenBabel])
164
165 PKG_CHECK_MODULES([OPENBABEL], [openbabel-2.0])
166 ##alt OPENBABEL_CFLAGS=`$PKG_CONFIG --cflags openbabel-2.0`
167 ##alt OPENBABEL_LIBS=`$PKG_CONFIG --libs openbabel-2.0`
168
169 CPPFLAGS="$CPPFLAGS $OPENBABEL_CFLAGS"
170 LIBS="$LIBS $OPENBABEL_LIBS"
171 fi
172
173 PKG_CHECK_MODULES([LIBGHEMICAL], [libghemical >= 3.0.0 liboglappth >= 1.0.0])
174 ##alt LIBGHEMICAL_CFLAGS=`$PKG_CONFIG --cflags "libghemical >= 3.0.0 liboglappth >= 1.0.0"`
175 ##alt LIBGHEMICAL_LIBS=`$PKG_CONFIG --libs libghemical liboglappth`
176
177 CPPFLAGS="$CPPFLAGS $LIBGHEMICAL_CFLAGS"
178 LIBS="$LIBS $LIBGHEMICAL_LIBS"
179
180 # Checks for header files.
181 # ^^^^^^^^^^^^^^^^^^^^^^^^
182
183 AC_CHECK_HEADERS([GL/gl.h])
184 AC_CHECK_HEADERS([GL/glu.h])
185
186 # Checks for typedefs, structures, and compiler characteristics.
187 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
188
189 AC_PROG_CC_STDC
190 AC_C_INLINE
191 AC_C_CONST
192
193 AC_SUBST([CXXFLAGS])
194 AC_SUBST([LDFLAGS])
195
196 # Checks for library functions.
197 # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
198
199 AC_HEADER_STDC
200
201 AC_CONFIG_FILES([
202 Makefile
203 docs/Makefile
204 docs/user-docs/Makefile
205 docs/user-docs/images/Makefile
206 examples/Makefile
207 examples/TSS/Makefile
208 examples/TSS/carbocation_rearrangement_hydride_shift/Makefile
209 examples/TSS/carbocation_rearrangement_methide_shift/Makefile
210 examples/TSS/cycloaddition_Diels-Alder/Makefile
211 examples/TSS/E2-reaction/Makefile
212 examples/TSS/sigmatropic_rearrangement_Cope/Makefile
213 examples/TSS/SN2-reaction/Makefile
214 examples/TSS/tautomeric_shift_keto_enol/Makefile
215 po/Makefile.in
216 src/Makefile
217 src/res_gtk/Makefile
218 ])
219
220 AC_MSG_NOTICE([
221
222 build options:
223 ^^^^^^^^^^^^^^
224 enable gtk : $enable_gtk
225 enable threads : $enable_threads
226 enable OpenBabel : $enable_openbabel
227 ])
228
229 AC_CONFIG_COMMANDS([stamp.h], [echo timestamp > stamp.h])
230
231 AC_OUTPUT
232
+0
-10
debian/README.Debian less more
0 ghemical for Debian
1 -------------------
2
3 As ghemical uses OpenGL, you probably have to uncomment the line
4
5 # Load "glx"
6
7 in your /etc/X11/xorg.conf.
8
9 -- The debichem team <debichem-devel@lists.alioth.debian.org>, 03 Oct 2008
+0
-447
debian/changelog less more
0 ghemical (3.0.0-2) unstable; urgency=medium
1
2 * Team upload
3
4 [ Daniel Leidert (dale) ]
5 * debian/control (Uploaders): Removed myself.
6 * debian/patches/fix_de_po.patch: Added.
7 - Fix umlauts in German translation.
8 * debian/patches/series: Adjusted.
9
10 [ Michael Banck ]
11 * debian/patches/fix_help_browser.patch: New patch, change browser for help
12 content from "mozilla" to "sensible-browser" (closes: #687028).
13
14 [ Graham Inggs ]
15 * debian/compat,control,rules: Switch to debhelper 10 (Closes: #773019)
16 * debian/clean: Added to prevent FTBFSx2
17 * debian/control (Recommends): Added xfonts (Closes: #567600)
18 * debian/patches/fix_spelling_errors.patch: Added
19 - Fix some spelling errors (Closes: #639321)
20 * debian/patches/fix_clang_ftbfs.patch: Added
21 - Fix FTBFS with clang instead of gcc (Closes: #756440)
22 * debian/control: Use secure URI for Vcs-Browser and
23 canonical URI for Vcs-Svn
24 * debian/ghemical.menu: Dropped, see #741573
25 * debian/rules: Symlink icon where ghemical.desktop can find it
26 * debian/control: Bump Standards-Version to 3.9.8
27
28 -- Graham Inggs <ginggs@debian.org> Wed, 25 Jan 2017 14:13:39 +0200
29
30 ghemical (3.0.0-1) unstable; urgency=low
31
32 * New upstream release.
33 * debian/control (Build-Depends): Dropped dpatch. Increased libghemical-dev
34 and liboglappth-dev versions. Added chrpath.
35 (Vcs-Browser): Point to real location.
36 (Description): Fixed description-synopsis-starts-with-article.
37 * debian/dirs: Renamed to debian/ghemical.dirs.
38 * debian/docs: Renamed to debian/ghemical.docs.
39 * debian/manpages: Renamed to debian/ghemical.manpages.
40 * debian/menu: Renamed to debian/ghemical.menu.
41 * debian/rules: Removed dpatch stuff. Remove rpath from binary.
42 * debian/README.source: Dropped obsolete file.
43 * debian/source/format: Added for source format 3.0 (quilt).
44 * debian/patches/german_translation.dpatch: Dropped (applied upstream).
45 * debian/patches/00list: Renamed to debian/patches/series and adjusted.
46
47 -- Daniel Leidert (dale) <daniel.leidert@wgdd.de> Sun, 27 Nov 2011 20:19:27 +0100
48
49 ghemical (2.99.2-2) unstable; urgency=low
50
51 [ Daniel Leidert ]
52 * debian/compat: Bumped dh compat level to 7.
53 * debian/control (Build-Depends): Bumped dh version.
54 (Standards-Version): Bumped to 3.8.4.
55 * debian/ghemical.install: Added. Replaces the install hint in debian/rules.
56 * debian/rules: Debhelper 7 rewrite.
57
58 [ Michael Banck ]
59 * debian/patches/german_translation.dpatch: Added (closes: #639322).
60 - po/de.po: Adds german translation by Chris Leick <c.leick@vollbio.de>.
61 - po/LINGUAS: Adjusted.
62 * debian/patches/00list: Adjusted.
63 * debian/control (Standards-Version): Bumped to 3.9.2.
64
65 -- Michael Banck <mbanck@debian.org> Mon, 05 Sep 2011 19:02:09 +0200
66
67 ghemical (2.99.2-1) unstable; urgency=low
68
69 * New upstream release.
70 * debian/control (Standards-Version): Bumped to 3.8.3.
71 (Build-Depends): Added intltool. Adjusted libghemical-dev version
72 requirements.
73 (Vcs-Svn): Fixed vcs-field-uses-not-recommended-uri-format.
74 * debian/patches/gcc_43_fixes.dpatch: Dropped (applied upstream).
75 * debian/patches/numeric_locale_C_required.dpatch: Ditto.
76 * debian/patches/00list: Adjusted.
77
78 -- Daniel Leidert (dale) <daniel.leidert@wgdd.de> Wed, 23 Sep 2009 00:00:49 +0200
79
80 ghemical (2.98-2) unstable; urgency=low
81
82 * Rebuild for unstable.
83
84 * debian/control (Vcs-Svn): Set back to unstable location.
85 * debian/copyright: Fixed license information (it's GPL2+).
86
87 -- Daniel Leidert (dale) <daniel.leidert@wgdd.de> Sun, 22 Feb 2009 03:01:23 +0100
88
89 ghemical (2.98-1) experimental; urgency=low
90
91 * New upstream release 2.98.
92
93 * debian/control (Build-Depends): Removed glutg3-dev. Increased versions for
94 mopac7, libghemical and liboglappth.
95 (Uploaders): Removed LI Daobing. Thanks for your work!
96 (Standards-Version): Bumped to 3.8.0 (added README.source).
97 (Vcs-Svn): Set to experimental location.
98 (Depends): Added ${misc:Depends}.
99 * debian/copyright: Updated and adjusted.
100 * debian/rules: Minor cleanups.
101 (config.status): Set build-type too. Remove F77.
102 * debian/README.Debian: Updated for Xorg.
103 * debian/README.source: Added to comply with policy.
104 * debian/patches/447628_fix_spin_multiplicity_code.dpatch: Dropped (applied
105 upstream).
106 * debian/patches/numeric_locale_C_required.dpatch: Added.
107 - src/project.cpp (ImportFile, ExportFile): Fix a bug observed exporting a
108 file with a numeric locale != C.
109 * debian/patches/gcc_43_fixes.dpatch: Added.
110 - src/pangofont_wcl.cpp: Add missing headers to fix FTBFS with GCC 4.3.
111 * debian/patches/00list: Adjusted.
112
113 -- Daniel Leidert (dale) <daniel.leidert@wgdd.de> Sat, 31 Jan 2009 17:59:26 +0100
114
115 ghemical (2.95-3) unstable; urgency=low
116
117 * debian/control (Build-Depends): Fixed build-depends-on-1-revision lintian
118 warning. s/refblas3-dev/libblas-dev and s/lapack3-dev/liblapack-dev
119 transition and added gfortran (closes: #463948). Increased mopac7/mpqc and
120 libghemical dependency.
121 (Uploaders): Added myself.
122 (XS-DM-Upload-Allowed): Removed XS- prefix as of dpkg 1.14.16.
123 * debian/copyright: Fixed (obsolete national) encoding and added the missing
124 Copyright field. Thanks to lintian.
125 * debian/dirs: Removed directories we don't need to care about here.
126 * debian/ghemical.1: Small improvements. Added missing options and
127 references.
128 * debian/ghemical.desktop: Updated to comply with fd.o specification.
129 * debian/rules: Added noopt handling by defining CFLAGS/CXXFLAGS.
130 (VERSION): Get the version automatically.
131 (configure-stamp): Dropped in favour of config.status. gfortran
132 transition (see #463948). Reorder variables to make configure remember
133 them. Added CFLAGS/CXXFLAGS.
134 (build): Use DESTDIR instead to "misuse" prefix.
135 (build, binary-arch): Install the .desktop file via dh_install.
136 (binary-arch): Removed useless debhelper script calls. Fixed dangling
137 documentation symlink.
138 (.PHONY): configure is a real file, not a PHONY target.
139 * debian/patches/447628_fix_spin_multiplicity_code.dpatch: Added.
140 - src/gtk_setup_dialog.cpp (gtk_setup_dialog): Set spin multiplicity to a
141 fixed value of 1 (closes: #447628).
142 * debian/patches/00list: Adjusted.
143
144 -- Daniel Leidert (dale) <daniel.leidert@wgdd.de> Mon, 10 Mar 2008 01:01:40 +0100
145
146 ghemical (2.95-2) unstable; urgency=low
147
148 * debian/control (Build-Depends): Bumped libghemical-dev to 2.96-1,
149 libopenbabel-dev to 2.1.1-1 and libmopac7-dev to 1.13-1;
150 closes: #448170, #448433.
151 * debian/control (XS-DM-Upload-Allowed): Added.
152 * debian/control (Standards-Version): Updated to latest version 3.7.3.
153
154 -- Michael Banck <mbanck@debian.org> Fri, 11 Jan 2008 23:44:36 +0100
155
156 ghemical (2.95-1) unstable; urgency=low
157
158 * New upstream release.
159
160 [ Daniel Leidert ]
161 * debian/control: Added Homepage and Vcs-* fields.
162 (Standards-Version): Updated to latest version 3.7.2.
163 * debian/menu (section): Menu section transition.
164 * debian/watch: Added.
165
166 [ LI Daobing ]
167 * debian/control:
168 - add me as uploaders
169 - build depends on debhelper (>= 5)
170 * debian/rules: lintian doesn't like "-$(MAKE) clean", see bug#325372
171 * debian/compat: added.
172 * debian/ghemical.1: fix a typo, use \[:a].
173 * debian/copyright: update FSF address.
174 * debian/ghemical.desktop: add main category.
175
176 [ Michael Banck ]
177 * debian/control (Maintainer): Set to Debichem Team.
178
179 -- LI Daobing <lidaobing@gmail.com> Tue, 23 Oct 2007 23:47:43 +0800
180
181 ghemical (2.10-1) unstable; urgency=low
182
183 * New upstream release.
184 * debian/patches/12_64bit_build_fix.dpatch: Removed, fixed upstream.
185 * debian/patches/00list: Updated.
186 * debian/control (Build-Depends): Bump libghemical Build-Depends to
187 2.10-1.
188 * debian/rules (VERSION): Bump to 2.10.
189
190 -- Michael Banck <mbanck@debian.org> Tue, 12 Sep 2006 12:53:38 +0200
191
192 ghemical (2.01-2) unstable; urgency=low
193
194 * debian/patches/12_64bit_build_fix.dpatch: Reinstate parts which
195 have not been applied upstream yet; closes: #341798, #378468.
196 * debian/patches/00list: Updated.
197
198 -- Michael Banck <mbanck@debian.org> Sun, 16 Jul 2006 20:10:48 +0200
199
200 ghemical (2.01-1) unstable; urgency=low
201
202 * New upstream release.
203 + Fixes gcc-4.1 build error; closes: #367841.
204 * debian/patches/09_Makefile_prefix.dpatch: Removed, applied upstream.
205 * debian/patches/12_64bit_build_fix.dpatch: Likewise.
206 * debian/patches/13_openbabel-2.0.dpatch: Likewise.
207 * debian/patches/90_config_guess_sub: Likewise.
208 * debian/patches/91_aclocal_configure: Likewise.
209 * debian/patches/00list: Updated.
210 * debian/control (Build-Depends): Bump libghemical-dev to (>= 2.00-1).
211 * debian/rules (install): Do not install bin/ghemical.png, it is not
212 in the upstream tarball.
213 * debian/rules (VERSION): Bumped to 2.01.
214 * debian/rules (install): Add ${VERSION} to the path of the examples
215 when moving them over to /usr/share/doc/ghemical/examples.
216 * debian/rules (configure-stamp): Add --enable-openbabel.
217 * debian/patches/11_glut_init.dpatch: Removed, makes ghemical crash on
218 startup.
219 * debian/patches/00list: Updated.
220
221 -- Michael Banck <mbanck@debian.org> Fri, 14 Jul 2006 23:49:38 +0200
222
223 ghemical (1.91-3) unstable; urgency=low
224
225 * Sync with Ubuntu.
226 + Fixes compilation on 64bit arches; closes: #341798.
227 * debian/patches/13_openbabel-2.0.dpatch: New file, porting ghemical
228 to OpenBabel-2.0; closes: #358777.
229 * debian/patches/91_aclocal_configure.dpatch: Regenerated.
230 * debian/control (Build-Depends): Change libopenbabel-dev to 2.0.0-1 and
231 libghemical-dev to 1.91-2.
232 * debian/control (Standards-Version): Bumped to 3.6.2.
233 * debian/menu: Quote `needs' and `section' entries.
234
235 -- Michael Banck <mbanck@debian.org> Sat, 1 Apr 2006 18:52:15 +0200
236
237 ghemical (1.91-2ubuntu2) dapper; urgency=low
238
239 * debian/patches/12_64bit_build_fix.dpatch: New file. Fixes Malone Bug
240 #36421.
241
242 -- Jeremie Corbier <jeremie.corbier@resel.enst-bretagne.fr> Fri, 24 Mar 2006 18:17:16 +0100
243
244 ghemical (1.91-2ubuntu1) dapper; urgency=low
245
246 * debian/ghemical.desktop: added Version, Encoding, Name[nl],
247 GenericName[nl], Categories=Science;Chemistry;GTK;, replaced
248 Description with GenericName, Terminal=0 with Terminal=false,
249 absolute icon path with relative icon path. Closes: malone #5643.
250 (thanks to Jeroen van Splunder for the patch)
251
252 -- Benjamin Montgomery <bmontgom@montynet.org> Tue, 10 Jan 2006 13:54:08 -0600
253
254 ghemical (1.91-2) unstable; urgency=low
255
256 * debian/patches/11_glut_init.dpatch: New file. Fixes Malone
257 Bug #5459.
258 * debian/patches/00list (11_glut_init): Added.
259
260 -- Michael Banck <mbanck@debian.org> Sat, 10 Dec 2005 10:10:29 +0100
261
262 ghemical (1.91-1) unstable; urgency=low
263
264 * New upstream release.
265 + No longer segfaults when drawing atoms; closes: #338899.
266 + Adds correct number of hydrogens to nitrogen atoms;
267 closes: #273314.
268 * Sync with Ubuntu.
269 * debian/rules (configure-stamp): Removed obsolete --enable-mpqc
270 option.
271 * debian/control (Build-Depends): Add versioned Build-Depends on
272 libghemical-dev 1.91-1, libsc-dev 2.3.0-1 and libopenbabel-dev
273 1.100.2-4 for the C++ allocator transition.
274 * debian/control (Build-Depends): Added pkg-config.
275 * debian/patches/07_object_protected: Removed, no longer needed.
276 * debian/patches/08_gcc-4.0: Likewise.
277 * debian/patches/10_64bit_glu_fix: Likewise.
278 * debian/patches/91_aclocal_configure: Regenerated.
279 * debian/rules (configure-stamp): Explicitely tell configure where
280 pkg-config is located by adding PKG_CONFIG to its environment.
281 * debian/rules (configure-stamp): Add --enable-threads to configure
282 arguments.
283
284 -- Michael Banck <mbanck@debian.org> Wed, 16 Nov 2005 00:56:11 +0100
285
286 ghemical (1.90-2ubuntu1) breezy; urgency=low
287
288 * debian/control: added libmopac7-dev to build-deps to build properly
289
290 -- Stephan Hermann <sh@sourcecode.de> Sat, 8 Oct 2005 17:58:30 +0200
291
292 ghemical (1.90-2) unstable; urgency=low
293
294 * debian/patches/10_64bit_glu_fix.dpatch: New patch by Mark Hymers;
295 closes: #322750
296 * debian/patches/00list (10_64bit_glu_fix): Added.
297
298 -- Michael Banck <mbanck@debian.org> Thu, 6 Oct 2005 02:01:48 +0200
299
300 ghemical (1.90-1) unstable; urgency=low
301
302 * New upstream release.
303 * debian/control (Build-Depends): Replaced gtkglarea5-dev with
304 libgtkglext1-dev, libgnome-dev with libgtk2.0-dev and libglade-gnome0-dev
305 with libglade2-dev.
306 * debian/patches/08_gcc-4.0.dpatch: Updated with another fix for 1.90 from
307 CVS.
308 * debian/patches/09_Makefile_prefix.dpatch: New patch.
309 * debian/patches/00list (09_Makefile_prefix): Added.
310 * debian/patches/91_aclocal_configure.dpatch: New patch.
311 * debian/patches/00list (91_aclocal_configure): Added.
312
313 -- Michael Banck <mbanck@debian.org> Sat, 10 Sep 2005 13:00:03 +0200
314
315 ghemical (1.51-1) unstable; urgency=low
316
317 * New upstream release; closes: #320921.
318 + Rebuilt again libopenbabel0c2; closes: #320922.
319 * debian/patches/00list (06_handle_locale): Dropped, applied
320 upstream.
321 * debian/patches/00list (04_link_openbabel): Likewise.
322 * debian/patches/07_object_protected.dpatch: New file; closes: #268459.
323 * debian/patches/00list (07_object_protected): Added.
324 * debian/patches/08_gcc-4.0.dpatch: New file; closes: #286784.
325 * debian/patches/00list (08_gcc-4.0): Added.
326 * debian/control (Build-Depends): Replaced blas-dev and lapack-dev
327 with refblas3-dev and lapack3-dev; closes: #320440.
328 * debian/control (Build-Depends): Added libghemical-dev.
329 * debian/control (Build-Depends): Removed f2c.
330 * debian/docs: Removed PROJECT and BUGLIST.
331 * debian/rules (dh_installchangelogs): Replaced CHANGES with
332 ChangeLog.
333 * debian/patches/90_config_guess_sub.dpatch: New file; closes: #321745.
334 * debian/patches/00list (90_config_guess_sub): Added.
335
336 -- Michael Banck <mbanck@debian.org> Sat, 2 Jul 2005 17:08:38 +0200
337
338 ghemical (1.01-2) unstable; urgency=medium
339
340 * Priority medium to make the sarge freeze.
341 * Rebuilt against current libsc-dev.
342
343 -- Michael Banck <mbanck@debian.org> Wed, 18 Aug 2004 02:55:27 +0200
344
345 ghemical (1.01-1) unstable; urgency=low
346
347 * New upstream release.
348 - Rebuilt against current libsc-dev; closes: #238870.
349 * debian/patches/00list (01_rtti_dynamic_cast): Dropped,
350 applied upstream.
351 * debian/control (Build-Depends): Added libopenbabel-dev.
352 * 04_link_openbabel.dpatch: New file, changing:
353 - Makefile.in (SRCDIRS): Removed openbabel.
354 - src/target3/Makefile.in (INCS): Use libopenbabel-dev's includes instead
355 of the ones duplicated in the source tree.
356 - src/common/Makefile.in: Likewise.
357 - src/graphics/Makefile.in: Likewise.
358 - src/common/filetrans.cpp: Change openbabel includes from "foo" to <foo>.
359 - src/common/mm1mdl.h: Likewise.
360 - src/graphics/docview.cpp: Update #include "Vector.h" to <match/vector3>.
361 (float measure_ang): Updated for openbabel-1.100.1.
362 (float measure_tor): Likewise.
363 - (LIBS): Link to libopenbabel-dev's shared library instead of building
364 libopenbabel.a out of the source tree.
365 * debian/patches/00list (04_link_openbabel): Added.
366 * debian/patches/00list (03_openbabel_LIBS): Dropped.
367 * debian/README.Debian: Updated email address.
368 * 06_unset_LC_NUMERIC.dpatch: New file, changing:
369 - src/target3/t3main.cpp (main): Reset LC_NUMERIC to 'C'.
370 * debian/patches/00list (06_unset_LC_NUMERIC): Added.
371 * debian/control (Description): Removed last paragraph.
372
373 -- Michael Banck <mbanck@debian.org> Fri, 19 Mar 2004 16:00:22 +0100
374
375 ghemical (1.00-2) unstable; urgency=low
376
377 * Rebuilt against current (gcc-3.2) libsc-dev; closes: #181599
378 * Commented out #include <gnome.h> in src/target3/t3views.h,
379 see #182251
380 * Applied patch removing all dynamic casts (but one) which caused
381 segfaults with gcc-3.2. Many thanks to Tommi Hassinen
382 * Moved menu entry from Math to Science section; closes: #185726
383 * Removed the comment about mpqc from README.Debian, we have
384 support for it since 0.82-3 actually
385 * Moved package from science section to gnome
386 * Adjusted $VERSION variable in debian/rules
387 * Switched to dpatch
388
389 -- Michael Banck <mbanck@debian.org> Wed, 7 May 2003 16:31:14 +0200
390
391 ghemical (1.00-1) unstable; urgency=low
392
393 * New upstream release
394 * Build-Depends: on libglade-gnome0-dev now
395 * Changed long description to reflect the inclusion of mpqc
396
397 -- Michael Banck <mbanck@debian.org> Tue, 17 Dec 2002 17:37:33 +0100
398
399 ghemical (0.82-3) unstable; urgency=low
400
401 * Applied patch porting ghemical to mpqc-2.x.x. Many thanks
402 to Tommi Hassinen
403 * Build-Depends: on libsc-dev and Depends: on mpqc now
404 * Corrected manual-symlink to /usr/share/gnome/help/ghemical/C;
405 closes: #150690
406 * Changed Maintainer email address
407 * Removed Emacs-variables from Debian changelog
408 * Bumped Standards-Version to 3.5.6.1
409
410 -- Michael Banck <mbanck@debian.org> Mon, 16 Sep 2002 23:09:19 +0200
411
412 ghemical (0.82-1) unstable; urgency=low
413
414 * New upstream release; closes: #134042
415 * Removed substvars.local, it did not install on alpha at least.
416 Hopefully nobody will have problems WRT gtkglarea5 this time
417
418 -- Michael Banck <mbanck@gmx.net> Fri, 22 Feb 2002 23:26:26 +0100
419
420 ghemical (0.81-3) unstable; urgency=low
421
422 * Added versionend Depends: on gtkglarea5 as it is lacking
423 a proper shlibs-file; closes #122977
424 * Added a GNOME menu-hint
425 * Put the provided icon in /usr/share/pixmaps
426
427 -- Michael Banck <mbanck@gmx.net> Sun, 9 Dec 2001 12:23:03 +0100
428
429 ghemical (0.81-2) unstable; urgency=low
430
431 * Documented the glx-problem in README.Debian. You have to
432 uncomment 'Load "glx"' in your /etc/X11/XF86Config-4
433 in order to get ghemical running
434 * Patched src/target3/t3views.cpp to bomb out (with a slightly
435 more informative message) if glx is not present
436 * Made configure.in look for -lf2c if it does not find -lg2c.
437 If both are not present, bomb out
438
439 -- Michael Banck <mbanck@gmx.net> Thu, 6 Dec 2001 23:16:46 +0100
440
441 ghemical (0.81-1) unstable; urgency=low
442
443 * Initial Release; closes: #121296
444 * No mpqc-support yet, ghemical needs to be ported to mpqc-2.0.0
445
446 -- Michael Banck <mbanck@gmx.net> Sat, 24 Nov 2001 08:54:38 +0100
+0
-2
debian/clean less more
0 src/ghemicalconfig2.h
1 stamp.h
+0
-1
debian/compat less more
0 10
+0
-43
debian/control less more
0 Source: ghemical
1 Section: gnome
2 Priority: optional
3 Maintainer: Debichem Team <debichem-devel@lists.alioth.debian.org>
4 Uploaders: Michael Banck <mbanck@debian.org>
5 Build-Depends: chrpath,
6 debhelper (>= 10),
7 flex,
8 gfortran,
9 intltool (>= 0.40.0),
10 libblas-dev,
11 libghemical-dev (>> 3.0.0),
12 libglade2-dev (>> 2.4.0),
13 libgtk2.0-dev (>> 2.6.0),
14 libgtkglext1-dev (>> 1.0.5),
15 liblapack-dev,
16 libmopac7-dev (>> 1.14),
17 liboglappth-dev (>> 1.0.0),
18 libopenbabel-dev (>> 2.1.1),
19 libsc-dev (>= 2.3.1-2),
20 pkg-config
21 Standards-Version: 3.9.8
22 Homepage: http://bioinformatics.org/ghemical/ghemical/
23 Vcs-Browser: https://anonscm.debian.org/viewvc/debichem/unstable/ghemical/
24 Vcs-Svn: svn://anonscm.debian.org/debichem/unstable/ghemical/
25
26 Package: ghemical
27 Architecture: any
28 Depends: mpqc, ${misc:Depends}, ${shlibs:Depends}
29 Recommends: xfonts-100dpi | xfonts-75dpi | xfonts-100dpi-transcoded | xfonts-75dpi-transcoded
30 Description: GNOME molecular modelling environment
31 Ghemical is a computational chemistry software package written in C++.
32 It has a graphical user interface and it supports both quantum-
33 mechanics (semi-empirical) models and molecular mechanics models.
34 Geometry optimization, molecular dynamics and a large set of
35 visualization tools using OpenGL are currently available.
36 .
37 Ghemical relies on external code to provide the quantum-mechanical
38 calculations. Semi-empirical methods MNDO, MINDO/3, AM1 and PM3 come
39 from the MOPAC7 package (Public Domain), and are included in the
40 package. The MPQC package is used to provide ab initio methods: the
41 methods based on Hartree-Fock theory are currently supported with
42 basis sets ranging from STO-3G to 6-31G**.
+0
-48
debian/copyright less more
0 This package was debianized by Michael Banck <mbanck@gmx.net> on
1 Sat, 24 Nov 2001 08:53:28 +0100.
2
3 It was downloaded from:
4
5 http://bioinformatics.org/ghemical/download/
6 http://www.uku.fi/~thassine/projects/download/
7
8 Authors:
9
10 Tommi Hassinen <thassine@messi.uku.fi>,
11 Jarno Huuskonen, Ville Heikkilä,
12 Tuomas Venäläinen, Geoff Hutchison and
13 Mike Cruz
14
15 See the file /usr/share/doc/ghemical/AUTHORS for a complete list.
16
17 Copyright:
18
19 Copyright (C) 1998 Jarno Huuskonen.
20 Copyright (C) 1998-2008 Tommi Hassinen.
21 Copyright (C) 2000 Mike Cruz.
22 Copyright (C) 2000 Geoffrey Hutchison.
23 Copyright (C) 2001-2008 Christopher Rowley.
24 Copyright (C) 2008 Naosumi Yasufuku.
25
26 Some copyright also goes to Michael Banck and Jean Brefort regarding
27 the build system.
28
29 License:
30
31 This package is free software; you can redistribute it and/or modify
32 it under the terms of the GNU General Public License as published by
33 the Free Software Foundation; either version 2 of the License, or
34 (at your option) any later version.
35
36 This package is distributed in the hope that it will be useful,
37 but WITHOUT ANY WARRANTY; without even the implied warranty of
38 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
39 GNU General Public License for more details.
40
41 You should have received a copy of the GNU General Public License
42 along with this package; if not, write to the Free Software
43 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
44 USA.
45
46 On Debian GNU/Linux systems, the complete text of the GNU General
47 Public License can be found in `/usr/share/common-licenses/GPL'.
+0
-39
debian/ghemical.1 less more
0 .TH "GHEMICAL" "1" "October 03, 2008"
1 .SH NAME
2 ghemical \- framework for molecular modelling
3 .SH SYNOPSIS
4 .B ghemical
5 .RB [ options ]
6 .I files
7 .SH DESCRIPTION
8 .B ghemical
9 is a GNOME-based program for molecular modelling. See the online help
10 manual for further information.
11 .SH OPTIONS
12 Apart from the common GTK+ options, ghemical understands the following
13 options:
14 .TP
15 .BR \-f ", " \-\-file= \fIfilename\fP
16 Open the specified file.
17 .TP
18 .BR \-i ", " \-\-import= \fIfilename\fP
19 Import file as mm1gp project.
20 .TP
21 .BR \-h ", " \-\-help
22 Show summary of options.
23 .TP
24 .BR \-\-help\-all
25 Show a verbose summary of options.
26 .TP
27 .BR \-\-help\-gtk
28 Show only the GTK+ options.
29 .SH SEE ALSO
30 .BR gtk-options (7)
31 .SH AUTHOR
32 This manual page was written by Michael Banck <\&mbanck@gmx.net\&>,
33 for the Debian GNU/Linux system (but may be used by others).
34 .PP
35 .B ghemical
36 was written by Tommi Hassinen <\&thassine@messi.uku.fi\&>,
37 Jarno Huuskonen, Ville Heikkil\[:a],
38 Tuomas Ven\[:a]l\[:a]inen, Geoff Hutchison and Mike Cruz
+0
-14
debian/ghemical.desktop less more
0 [Desktop Entry]
1 Name=ghemical
2 Name[de]=ghemical
3 Name[nl]=ghemical
4 GenericName=Molecular modelling program
5 GenericName[nl]=Modelleerprogramma voor moleculen
6 GenericName[de]=Molecular modelling Programm
7 Comment=Draw models of molecules
8 Comment[nl]=Teken modellen van moleculen
9 Exec=ghemical
10 Icon=ghemical
11 Terminal=false
12 Type=Application
13 Categories=Education;Science;Chemistry;GTK;
+0
-1
debian/ghemical.dirs less more
0 usr/share/doc/ghemical
+0
-1
debian/ghemical.docs less more
0 AUTHORS
+0
-1
debian/ghemical.install less more
0 debian/ghemical.desktop usr/share/applications
+0
-1
debian/ghemical.manpages less more
0 debian/ghemical.1
+0
-37
debian/patches/fix_clang_ftbfs.patch less more
0 Description: Fix FTBFS with clang instead of gcc
1 Bug-Debian: https://bugs.debian.org/756440
2 Author: Alexander <sanek23994@gmail.com>
3 Last-Update: 2014-07-30
4 --- a/src/project.h
5 +++ b/src/project.h
6 @@ -122,6 +122,14 @@
7 graphical user interface.
8 */
9
10 +class project;
11 +
12 +bool ReadGPR_OLD(project &, istream &, bool, bool = false); ///< this is for the very old version.
13 +bool ReadGPR_v100(project &, istream &, bool, bool = false); ///< this is for the version 1.00.
14 +bool ReadGPR_v110(project &, istream &, bool, bool = false); ///< this is for the version 1.10.
15 +/// This is an input function for the v1.11 ghemical file format.
16 +bool ReadGPR(project &, istream &, bool, bool = false);
17 +
18 class project :
19 public custom_transformer_client,
20 public model
21 @@ -207,11 +215,11 @@
22
23 // methods for file I/O : ReadGPR and WriteGPR are friend functions so that it would be easier to "borrow" them elsewhere...
24 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
25 - friend bool ReadGPR_OLD(project &, istream &, bool, bool = false); ///< this is for the very old version.
26 - friend bool ReadGPR_v100(project &, istream &, bool, bool = false); ///< this is for the version 1.00.
27 - friend bool ReadGPR_v110(project &, istream &, bool, bool = false); ///< this is for the version 1.10.
28 + friend bool ReadGPR_OLD(project &, istream &, bool, bool); ///< this is for the very old version.
29 + friend bool ReadGPR_v100(project &, istream &, bool, bool); ///< this is for the version 1.00.
30 + friend bool ReadGPR_v110(project &, istream &, bool, bool); ///< this is for the version 1.10.
31 /// This is an input function for the v1.11 ghemical file format.
32 - friend bool ReadGPR(project &, istream &, bool, bool = false);
33 + friend bool ReadGPR(project &, istream &, bool, bool);
34
35 friend void WriteGPR_v100(project &, ostream &); ///< this is for the version 1.00.
36 /// This is an output function for the v1.11 ghemical file format.
+0
-1578
debian/patches/fix_de_po.patch less more
0 Author: Daniel Leidert <dleidert@debian.org>
1 Description: Fix encoding based umlaut corruption.
2 Forwarded: needs to
3
4 --- a/po/de.po
5 +++ b/po/de.po
6 @@ -18,16 +18,16 @@
7
8 #: ../src/custom_app.cpp:100
9 msgid "Added global light."
10 -msgstr "Globale Lichtquelle hinzugef?gt"
11 +msgstr "Globale Lichtquelle hinzugefügt"
12
13 #: ../src/custom_app.cpp:114
14 msgid "Added local light."
15 -msgstr "Lokale Lichtquelle hinzugef?gt"
16 +msgstr "Lokale Lichtquelle hinzugefügt"
17
18 #: ../src/eldview_wcl.cpp:162
19 # hinter diesem String folgen Koordinaten
20 msgid "No data available,"
21 -msgstr "Keine Daten verf?gbar,"
22 +msgstr "Keine Daten verfügbar,"
23
24 #: ../src/eldview_wcl.cpp:167
25 # quantum mechanics
26 @@ -58,16 +58,16 @@
27 #. ^^^^^^^^
28 #: ../src/gtk_app.cpp:96 ../src/gtk_oglview_wnd.cpp:40
29 msgid "Open"
30 -msgstr "?ffnen"
31 +msgstr "Öffnen"
32
33 #: ../src/gtk_app.cpp:96
34 msgid "Open an existing file."
35 -msgstr "Eine existierende Datei ?ffnen"
36 +msgstr "Eine existierende Datei öffnen"
37
38 #. <control>O
39 #: ../src/gtk_app.cpp:97 ../src/gtk_oglview_wnd.cpp:44
40 msgid "Save as..."
41 -msgstr "Speichern als ?"
42 +msgstr "Speichern als..."
43
44 #: ../src/gtk_app.cpp:97
45 msgid "Save a file."
46 @@ -77,7 +77,7 @@
47 #. { "ExportGraphics", GTK_STOCK_SAVE, N_("Export Graphics"), NULL, N_("Export graphics"), (GCallback) gtk_project::popup_FileExportGraphics },
48 #: ../src/gtk_app.cpp:98 ../src/gtk_oglview_wnd.cpp:49
49 msgid "Close"
50 -msgstr "Schlie?en"
51 +msgstr "Schließen"
52
53 #: ../src/gtk_app.cpp:98
54 msgid "Quit the program."
55 @@ -95,11 +95,11 @@
56 #. <control>H
57 #: ../src/gtk_app.cpp:101
58 msgid "About"
59 -msgstr "?ber"
60 +msgstr "Über"
61
62 #: ../src/gtk_app.cpp:101
63 msgid "Information about this program."
64 -msgstr "Informationen ?ber dieses Programm"
65 +msgstr "Informationen über dieses Programm"
66
67 #. <control>A
68 #. the rest are toolbar actions...
69 @@ -114,47 +114,47 @@
70
71 #: ../src/gtk_app.cpp:108
72 msgid "Setup or change the comp.chem. method in use."
73 -msgstr "Die aktive Computerchemie-Methode einrichten oder ?ndern"
74 +msgstr "Die aktive Computerchemie-Methode einrichten oder ändern"
75
76 #: ../src/gtk_app.cpp:113
77 msgid "Draw ; add atoms and bonds to the model."
78 -msgstr "Zeichnen ; dem Modell Atome und Bindungen hinzuf?gen"
79 +msgstr "Zeichnen ; dem Modell Atome und Bindungen hinzufügen"
80
81 #: ../src/gtk_app.cpp:114
82 msgid "Erase ; remove atoms and bonds from the model."
83 -msgstr "L?schen ; Atome und Bindungen aus dem Modell entfernen"
84 +msgstr "Löschen ; Atome und Bindungen aus dem Modell entfernen"
85
86 #: ../src/gtk_app.cpp:115
87 msgid "Select ; make selections in the model, and also select objects."
88 -msgstr "Auswahl ; Auswahlen im Modell treffen und au?erdem Objekte ausw?hlen"
89 +msgstr "Auswahl ; Auswahlen im Modell treffen und außerdem Objekte auswählen"
90
91 #: ../src/gtk_app.cpp:116
92 msgid "Zoom ; zoom the view."
93 -msgstr "Zoom ; die Ansicht vergr??ern oder verkleinern"
94 +msgstr "Zoom ; die Ansicht vergrößern oder verkleinern"
95
96 #: ../src/gtk_app.cpp:117
97 msgid "Clipping ; set the near and far clipping planes for graphics rendering."
98 msgstr ""
99 -"Ausschnitt ; die nahen und fernen Ausschnittsebenen f?r das Rendern der "
100 +"Ausschnitt ; die nahen und fernen Ausschnittsebenen für das Rendern der "
101 "Grafik setzen"
102
103 #: ../src/gtk_app.cpp:118
104 msgid ""
105 "TranslateXY ; translate the camera or a selected object in XY-direction."
106 msgstr ""
107 -"TranslateXY ; die Kamera oder ein ausgew?hltes Objekt in XY-Richtung umrechnen"
108 +"TranslateXY ; die Kamera oder ein ausgewähltes Objekt in XY-Richtung umrechnen"
109
110 #: ../src/gtk_app.cpp:119
111 msgid "TranslateZ ; translate the camera or a selected object in Z-direction."
112 msgstr ""
113 -"TranslateZ ; die Kamera oder ein ausgew?hltes Objekt in Z-Richtung verschieben"
114 +"TranslateZ ; die Kamera oder ein ausgewähltes Objekt in Z-Richtung verschieben"
115
116 #: ../src/gtk_app.cpp:120
117 msgid ""
118 "OrbitXY ; orbit the camera or a selected object around the focus point in XY-"
119 "direction."
120 msgstr ""
121 -"OrbitXY ; die Kamera oder ein ausgew?hltes Objekt in XY-Richtung umkreisen "
122 +"OrbitXY ; die Kamera oder ein ausgewähltes Objekt in XY-Richtung umkreisen "
123 "lassen"
124
125 #: ../src/gtk_app.cpp:121
126 @@ -162,17 +162,17 @@
127 "OrbitZ ; orbit the camera or a selected object around the focus point in Z-"
128 "direction."
129 msgstr ""
130 -"OrbitZ ; die Kamera oder ein ausgew?hltes Objekt in Z-Richtung umkreisen "
131 +"OrbitZ ; die Kamera oder ein ausgewähltes Objekt in Z-Richtung umkreisen "
132 "lassen"
133
134 #: ../src/gtk_app.cpp:122
135 msgid "RotateXY ; turn the camera or a selected object in XY-direction."
136 msgstr ""
137 -"RotateXY ; die Kamera oder ein ausgew?hltes Objekt in XY-Richtung drehen"
138 +"RotateXY ; die Kamera oder ein ausgewähltes Objekt in XY-Richtung drehen"
139
140 #: ../src/gtk_app.cpp:123
141 msgid "RotateZ ; turn the camera or a selected object in Z-direction."
142 -msgstr "RotateZ ; die Kamera oder ein ausgew?hltes Objekt in Z-Richtung drehen"
143 +msgstr "RotateZ ; die Kamera oder ein ausgewähltes Objekt in Z-Richtung drehen"
144
145 #: ../src/gtk_app.cpp:124
146 msgid "Measure ; measure distances, angles and torsions."
147 @@ -188,11 +188,11 @@
148
149 #: ../src/gtk_app.cpp:208
150 msgid "Delete Object/View"
151 -msgstr "Objekt/Ansicht l?schen"
152 +msgstr "Objekt/Ansicht löschen"
153
154 #: ../src/gtk_app.cpp:208
155 msgid "Delete this object or view"
156 -msgstr "Dieses Objekt oder diese Ansicht l?schen"
157 +msgstr "Dieses Objekt oder diese Ansicht löschen"
158
159 #: ../src/gtk_app.cpp:225
160 msgid "Update View"
161 @@ -200,31 +200,31 @@
162
163 #: ../src/gtk_app.cpp:225
164 msgid "Rebuild the chains info for this view"
165 -msgstr "Die Ketteninformation f?r diese Ansicht neu erzeugen"
166 +msgstr "Die Ketteninformation für diese Ansicht neu erzeugen"
167
168 #: ../src/gtk_app.cpp:226
169 msgid "Select Item"
170 -msgstr "Element ausw?hlen"
171 +msgstr "Element auswählen"
172
173 #: ../src/gtk_app.cpp:226
174 msgid "Select/unselect this chain/residue"
175 -msgstr "Diese Kette/Diesen Rest ausw?hlen/abw?hlen"
176 +msgstr "Diese Kette/Diesen Rest auswählen/abwählen"
177
178 #: ../src/gtk_app.cpp:243
179 msgid "Select Atom"
180 -msgstr "Atom ausw?hlen"
181 +msgstr "Atom auswählen"
182
183 #: ../src/gtk_app.cpp:243
184 msgid "Select/unselect this atom"
185 -msgstr "Dieses Atom ausw?hlen/abw?hlen"
186 +msgstr "Dieses Atom auswählen/abwählen"
187
188 #: ../src/gtk_app.cpp:258
189 msgid "Select Bond"
190 -msgstr "Bindung w?hlen"
191 +msgstr "Bindung wählen"
192
193 #: ../src/gtk_app.cpp:258
194 msgid "Select/unselect this bond"
195 -msgstr "Diese Bindung ausw?hlen/abw?hlen"
196 +msgstr "Diese Bindung auswählen/abwählen"
197
198 #: ../src/gtk_app.cpp:344
199 msgid "Ghemical"
200 @@ -238,7 +238,7 @@
201 #: ../src/gtk_app.cpp:381
202 #, c-format
203 msgid "ERROR : Building main menu failed : %s"
204 -msgstr "FEHLER : Erstellen des Mauptmen?s fehlgeschlagen : %s"
205 +msgstr "FEHLER : Erstellen des Mauptmenüs fehlgeschlagen : %s"
206
207 #: ../src/gtk_app.cpp:566
208 msgid "project view"
209 @@ -263,7 +263,7 @@
210 #, c-format
211 msgid "ERROR : Building Views/Objects menu in project view failed : %s"
212 msgstr ""
213 -"FEHLER : Erstellen des Men?s ?Ansichten/Objekte? in der Projektansicht "
214 +"FEHLER : Erstellen des 'Menüs Ansichten/Objekte' in der Projektansicht "
215 "fehlgeschlagen : %s"
216
217 #. optional : draw the stripes to background.
218 @@ -284,7 +284,7 @@
219
220 #. res_state1 (string)
221 #: ../src/gtk_app.cpp:632
222 -# Sekund?rstuktur
223 +# Sekundärstuktur
224 msgid "Sec-Str State"
225 msgstr "Sek-Str-Status"
226
227 @@ -302,7 +302,7 @@
228 #, c-format
229 msgid "ERROR : Building Chains menu in project view failed : %s"
230 msgstr ""
231 -"FEHLER : Erstellen des Men?s ?Ketten? in der Projektansicht fehlgeschlagen : "
232 +"FEHLER : Erstellen des Menüs 'Ketten' in der Projektansicht fehlgeschlagen : "
233 "%s"
234
235 #. optional : draw the stripes to background.
236 @@ -331,7 +331,7 @@
237 #, c-format
238 msgid "ERROR : Building Atoms menu in project view failed : %s"
239 msgstr ""
240 -"FEHLER : Erstellen des Men?s ?Atome? in der Projektansicht fehlgeschlagen : %s"
241 +"FEHLER : Erstellen des Menüs 'Atome' in der Projektansicht fehlgeschlagen : %s"
242
243 #. optional : draw the stripes to background.
244 #. index1
245 @@ -357,7 +357,7 @@
246 #, c-format
247 msgid "ERROR : Building Bonds menu in project view failed : %s"
248 msgstr ""
249 -"FEHLER : Erstellen des Men?s ?Bindungen? in der Projektansicht fehlgeschlagen "
250 +"FEHLER : Erstellen des Menüs 'Bindungen' in der Projektansicht fehlgeschlagen "
251 ": %s"
252
253 #. protect the model-data during background jobs...
254 @@ -367,7 +367,7 @@
255 "want to quit the program?"
256 msgstr ""
257 "Sind Sie sicher, dass Sie\n"
258 -"das Programm beenden m?chten?"
259 +"das Programm beenden möchten?"
260
261 #: ../src/gtk_app.cpp:839
262 msgid "gtk_app::sPrintToLog() : message is too long!"
263 @@ -379,11 +379,11 @@
264
265 #: ../src/gtk_app.cpp:899 ../src/gtk_app.cpp:903
266 msgid " (detached)"
267 -msgstr " (losgel?st)"
268 +msgstr " (losgelöst)"
269
270 #: ../src/gtk_app.cpp:899
271 msgid " (attached)"
272 -msgstr " (angeh?ngt)"
273 +msgstr " (angehängt)"
274
275 #: ../src/gtk_app.cpp:901
276 msgid "cam "
277 @@ -436,7 +436,7 @@
278
279 #: ../src/gtk_app.cpp:1291 ../src/gtk_app.cpp:1316
280 msgid " is deleted."
281 -msgstr " wurde gel?scht."
282 +msgstr " wurde gelöscht."
283
284 #. if (ci_vector[n1].description... // this is not implemented at the moment...
285 #. show chain index 1,2,3,... to user ; it is 0,1,2,... internally!
286 @@ -453,7 +453,7 @@
287 #: ../src/gtk_app.cpp:1618
288 #, c-format
289 msgid "Atom locking changed : %s\n"
290 -msgstr "Atomsperre ge?ndert : %s\n"
291 +msgstr "Atomsperre geändert : %s\n"
292
293 #: ../src/gtk_app.cpp:1618
294 msgid "yes"
295 @@ -489,7 +489,7 @@
296
297 #: ../src/gtk_app.cpp:2093
298 msgid " released on "
299 -msgstr " ver?ffentlich auf "
300 +msgstr " veröffentlich auf "
301
302 #: ../src/gtk_app.cpp:2095
303 msgid "For more information please visit:"
304 @@ -503,33 +503,33 @@
305 #: ../src/gtk_oglview_wnd.cpp:36 ../src/gtk_p1dview_wnd.cpp:32
306 #: ../src/gtk_p2dview_wnd.cpp:32 ../src/gtk_rcpview_wnd.cpp:32
307 msgid "Attach/Detach This View"
308 -msgstr "Diese Ansicht anh?ngen/losl?sen"
309 +msgstr "Diese Ansicht anhängen/loslösen"
310
311 #: ../src/gtk_eldview_wnd.cpp:32 ../src/gtk_gpcview_wnd.cpp:32
312 #: ../src/gtk_oglview_wnd.cpp:36 ../src/gtk_p1dview_wnd.cpp:32
313 #: ../src/gtk_p2dview_wnd.cpp:32 ../src/gtk_rcpview_wnd.cpp:32
314 msgid "Select whether this view is attached or in an independent window"
315 msgstr ""
316 -"W?hlen Sie aus, ob diese Ansicht angeh?ngt ist oder in einem unabh?ngigen "
317 -"Fenster l?uft."
318 +"Wählen Sie aus, ob diese Ansicht angehängt ist oder in einem unabhängigen "
319 +"Fenster läuft."
320
321 #: ../src/gtk_eldview_wnd.cpp:33 ../src/gtk_gpcview_wnd.cpp:33
322 #: ../src/gtk_p1dview_wnd.cpp:33 ../src/gtk_p2dview_wnd.cpp:33
323 #: ../src/gtk_rcpview_wnd.cpp:33
324 msgid "Delete View"
325 -msgstr "Ansicht l?schen"
326 +msgstr "Ansicht löschen"
327
328 #: ../src/gtk_eldview_wnd.cpp:33 ../src/gtk_gpcview_wnd.cpp:33
329 #: ../src/gtk_p1dview_wnd.cpp:33 ../src/gtk_p2dview_wnd.cpp:33
330 #: ../src/gtk_rcpview_wnd.cpp:33
331 msgid "Delete this view"
332 -msgstr "Diese Ansicht l?schen"
333 +msgstr "Diese Ansicht löschen"
334
335 #: ../src/gtk_eldview_wnd.cpp:57
336 #, c-format
337 msgid "ERROR : Building popup-menu for gtk_eldview_wnd failed : %s"
338 msgstr ""
339 -"FEHLER : Erstellen des Kontextmen?s f?r gtk_eldview_wnd fehlgeschlagen : %s"
340 +"FEHLER : Erstellen des Kontextmenüs für gtk_eldview_wnd fehlgeschlagen : %s"
341
342 #: ../src/gtk_file_export_dialog.cpp:41
343 msgid "file_export_dialog : glade_xml_get_widget() failed!!!"
344 @@ -544,7 +544,7 @@
345 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
346 #: ../src/gtk_file_export_dialog.cpp:131
347 msgid "Select a filename for export."
348 -msgstr "W?hlen Sie f?r den Export einen Dateinamen aus."
349 +msgstr "Wählen Sie für den Export einen Dateinamen aus."
350
351 #: ../src/gtk_file_import_dialog.cpp:41
352 msgid "file_import_dialog : glade_xml_get_widget() failed!!!"
353 @@ -555,7 +555,7 @@
354 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
355 #: ../src/gtk_file_import_dialog.cpp:133
356 msgid "Select a file to import."
357 -msgstr "W?hlen Sie f?r den Import einen Dateinamen aus."
358 +msgstr "Wählen Sie für den Import einen Dateinamen aus."
359
360 #: ../src/gtk_geomopt_dialog.cpp:41
361 msgid "WARNING : geomopt_dialog : glade_xml_get_widget() failed!!!"
362 @@ -565,11 +565,11 @@
363 #, c-format
364 msgid "ERROR : Building popup-menu for gtk_gpcview_wnd failed : %s"
365 msgstr ""
366 -"FEHLER : Erstellen des Kontextmen?s f?r gtk_gpcview_wnd fehlgeschlagen : %s"
367 +"FEHLER : Erstellen des Kontextmenüs für gtk_gpcview_wnd fehlgeschlagen : %s"
368
369 #: ../src/gtk_main.cpp:45
370 msgid "open a file"
371 -msgstr "eine Datei ?ffnen"
372 +msgstr "eine Datei öffnen"
373
374 #: ../src/gtk_main.cpp:46
375 msgid "import a file"
376 @@ -577,7 +577,7 @@
377
378 #: ../src/gtk_main.cpp:61
379 msgid "- a GTK2 molecular modelling program"
380 -msgstr "- ein GTK2-Programm zum Molek?ldesign"
381 +msgstr "- ein GTK2-Programm zum Moleküldesign"
382
383 #: ../src/gtk_main.cpp:84
384 #, c-format
385 @@ -585,9 +585,9 @@
386 msgstr "OpenGL-Erweiterungsversion - %d.%d\n"
387
388 #: ../src/gtk_main.cpp:140
389 -# Die n?chsten beiden Strings geh?ren zusammen
390 +# Die nächsten beiden Strings gehören zusammen
391 msgid "Sorry! The file import feature is disabled ; you need to recompile"
392 -msgstr "Entschuldigung! Die Importfunktion ist deaktiviert; sie m?ssen "
393 +msgstr "Entschuldigung! Die Importfunktion ist deaktiviert; sie müssen "
394
395 #: ../src/gtk_main.cpp:141
396 msgid "libghemical with --enable-openbabel option in order to fix this."
397 @@ -604,15 +604,15 @@
398 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
399 #: ../src/gtk_moldyn_dialog.cpp:232
400 msgid "Select a Trajectory File."
401 -msgstr "W?hlen Sie eine Trajektorien-Datei aus."
402 +msgstr "Wählen Sie eine Trajektorien-Datei aus."
403
404 #: ../src/gtk_oglview_wnd.cpp:40
405 msgid "Open a file"
406 -msgstr "Eine Datei ?ffnen"
407 +msgstr "Eine Datei öffnen"
408
409 #: ../src/gtk_oglview_wnd.cpp:42
410 msgid "Import..."
411 -msgstr "Importieren ?"
412 +msgstr "Importieren..."
413
414 #: ../src/gtk_oglview_wnd.cpp:42
415 # See Debian bug #639322
416 @@ -633,11 +633,11 @@
417
418 #: ../src/gtk_oglview_wnd.cpp:49
419 msgid "Close the file"
420 -msgstr "Eine Datei schlie?en"
421 +msgstr "Eine Datei schließen"
422
423 #: ../src/gtk_oglview_wnd.cpp:51
424 msgid "Extra Tools"
425 -msgstr "Zus?tzliche Werkzeuge"
426 +msgstr "Zusätzliche Werkzeuge"
427
428 #. ^^^^^^^^^^^^^
429 #: ../src/gtk_oglview_wnd.cpp:53
430 @@ -651,24 +651,24 @@
431 #. { "FileExtra2", NULL, N_("Import ???"), NULL, N_("Import a ??? file"), (GCallback) gtk_project::popup_FileExtra2 },
432 #: ../src/gtk_oglview_wnd.cpp:56
433 msgid "Select"
434 -msgstr "Ausw?hlen"
435 +msgstr "Auswählen"
436
437 #. ^^^^^^^^^^
438 #: ../src/gtk_oglview_wnd.cpp:58
439 msgid "Select All"
440 -msgstr "Alles ausw?hlen"
441 +msgstr "Alles auswählen"
442
443 #: ../src/gtk_oglview_wnd.cpp:58
444 msgid "Select all atoms"
445 -msgstr "Alle Atome ausw?hlen"
446 +msgstr "Alle Atome auswählen"
447
448 #: ../src/gtk_oglview_wnd.cpp:59
449 msgid "Select None"
450 -msgstr "Keins ausw?hlen"
451 +msgstr "Keins auswählen"
452
453 #: ../src/gtk_oglview_wnd.cpp:59
454 msgid "Select nothing"
455 -msgstr "Nichts ausw?hlen"
456 +msgstr "Nichts auswählen"
457
458 #: ../src/gtk_oglview_wnd.cpp:60
459 msgid "Invert Selection"
460 @@ -680,43 +680,43 @@
461
462 #: ../src/gtk_oglview_wnd.cpp:61
463 msgid "Hide Selected"
464 -msgstr "Ausgew?hlte verstecken"
465 +msgstr "Ausgewählte verstecken"
466
467 #: ../src/gtk_oglview_wnd.cpp:61
468 msgid "Hide all selected atoms"
469 -msgstr "Alle ausgew?hlten Atome verstecken"
470 +msgstr "Alle ausgewählten Atome verstecken"
471
472 #: ../src/gtk_oglview_wnd.cpp:62
473 msgid "Show Selected"
474 -msgstr "Ausgew?hlte anzeigen"
475 +msgstr "Ausgewählte anzeigen"
476
477 #: ../src/gtk_oglview_wnd.cpp:62
478 msgid "Show all selected atoms"
479 -msgstr "Alle ausgew?hlten Atome anzeigen"
480 +msgstr "Alle ausgewählten Atome anzeigen"
481
482 #: ../src/gtk_oglview_wnd.cpp:63
483 msgid "Lock Selected"
484 -msgstr "Ausgew?hlte sperren"
485 +msgstr "Ausgewählte sperren"
486
487 #: ../src/gtk_oglview_wnd.cpp:63
488 msgid "Lock all selected atoms"
489 -msgstr "Alle ausgew?hlten Atome sperren"
490 +msgstr "Alle ausgewählten Atome sperren"
491
492 #: ../src/gtk_oglview_wnd.cpp:64
493 msgid "Unlock Selected"
494 -msgstr "Ausgew?hlte entsperren"
495 +msgstr "Ausgewählte entsperren"
496
497 #: ../src/gtk_oglview_wnd.cpp:64
498 msgid "Unlock all selected atoms"
499 -msgstr "Alle ausgew?hlten Atome entsperren"
500 +msgstr "Alle ausgewählten Atome entsperren"
501
502 #: ../src/gtk_oglview_wnd.cpp:65
503 msgid "Delete Selected"
504 -msgstr "Ausgew?hlte l?schen"
505 +msgstr "Ausgewählte löschen"
506
507 #: ../src/gtk_oglview_wnd.cpp:65
508 msgid "Delete all selected atoms"
509 -msgstr "Alle ausgew?hlten Atome l?schen"
510 +msgstr "Alle ausgewählten Atome löschen"
511
512 #: ../src/gtk_oglview_wnd.cpp:67
513 msgid "Selection Mode"
514 @@ -726,35 +726,35 @@
515 #. todo : convert these into toggle items so that the setting from project is show in each of the graphics views...
516 #: ../src/gtk_oglview_wnd.cpp:70
517 msgid "Select Atoms"
518 -msgstr "Atome ausw?hlen"
519 +msgstr "Atome auswählen"
520
521 #: ../src/gtk_oglview_wnd.cpp:70
522 msgid "Select single atoms"
523 -msgstr "Einzelne Atome ausw?hlen"
524 +msgstr "Einzelne Atome auswählen"
525
526 #: ../src/gtk_oglview_wnd.cpp:71
527 msgid "Select Residues"
528 -msgstr "Reste ausw?hlen"
529 +msgstr "Reste auswählen"
530
531 #: ../src/gtk_oglview_wnd.cpp:71
532 msgid "Select residues"
533 -msgstr "Reste ausw?hlen"
534 +msgstr "Reste auswählen"
535
536 #: ../src/gtk_oglview_wnd.cpp:72
537 msgid "Select Chains"
538 -msgstr "Ketten ausw?hlen"
539 +msgstr "Ketten auswählen"
540
541 #: ../src/gtk_oglview_wnd.cpp:72
542 msgid "Select chains"
543 -msgstr "Ketten ausw?hlen"
544 +msgstr "Ketten auswählen"
545
546 #: ../src/gtk_oglview_wnd.cpp:73
547 msgid "Select Molecules"
548 -msgstr "Molek?le ausw?hlen"
549 +msgstr "Moleküle auswählen"
550
551 #: ../src/gtk_oglview_wnd.cpp:73
552 msgid "Select molecules"
553 -msgstr "Molek?le ausw?hlen"
554 +msgstr "Moleküle auswählen"
555
556 #: ../src/gtk_oglview_wnd.cpp:75
557 msgid "Render"
558 @@ -781,11 +781,11 @@
559 #. ^^^^^^^^^^^^^
560 #: ../src/gtk_oglview_wnd.cpp:82
561 msgid "Delete This View"
562 -msgstr "Diese Ansicht l?schen"
563 +msgstr "Diese Ansicht löschen"
564
565 #: ../src/gtk_oglview_wnd.cpp:82
566 msgid "Delete this graphics view"
567 -msgstr "Diese Grafikansicht l?schen"
568 +msgstr "Diese Grafikansicht löschen"
569
570 #: ../src/gtk_oglview_wnd.cpp:83
571 msgid "Save a CRD-set (experimental)"
572 @@ -797,11 +797,11 @@
573
574 #: ../src/gtk_oglview_wnd.cpp:84
575 msgid "Superimpose CRD-sets (experimental)"
576 -msgstr "CRD-S?tze ?bereinanderlegen (experimentell)"
577 +msgstr "CRD-Sätze übereinanderlegen (experimentell)"
578
579 #: ../src/gtk_oglview_wnd.cpp:84
580 msgid "Superimpose coordinate sets"
581 -msgstr "Koordinatens?tze ?bereinanderlegen"
582 +msgstr "Koordinatensätze übereinanderlegen"
583
584 #: ../src/gtk_oglview_wnd.cpp:86
585 msgid "Create"
586 @@ -834,11 +834,11 @@
587
588 #: ../src/gtk_oglview_wnd.cpp:91
589 msgid "Secondary Structure Constraints"
590 -msgstr "Sekund?rstrukturbeschr?nkungen"
591 +msgstr "Sekundärstrukturbeschränkungen"
592
593 #: ../src/gtk_oglview_wnd.cpp:91
594 msgid "Create a new secondary structure constraints view"
595 -msgstr "Eine neue Sekund?rstrukturbeschr?nkungsansicht erstellen"
596 +msgstr "Eine neue Sekundärstrukturbeschränkungsansicht erstellen"
597
598 #: ../src/gtk_oglview_wnd.cpp:93
599 msgid "Lights"
600 @@ -922,7 +922,7 @@
601
602 #: ../src/gtk_oglview_wnd.cpp:112
603 msgid "Color atoms and bonds by element"
604 -msgstr "Atome und Bindungen nach Elementen f?rben"
605 +msgstr "Atome und Bindungen nach Elementen färben"
606
607 #: ../src/gtk_oglview_wnd.cpp:113 ../src/gtk_oglview_wnd.cpp:127
608 # http://de.wikipedia.org/wiki/Sekund%C3%A4rstruktur
609 @@ -931,15 +931,15 @@
610
611 #: ../src/gtk_oglview_wnd.cpp:113
612 msgid "Color atoms and bonds by secondary-structure state"
613 -msgstr "Atome und Bindungen nach Sekund?rstrukturstatus f?rben"
614 +msgstr "Atome und Bindungen nach Sekundärstrukturstatus färben"
615
616 #: ../src/gtk_oglview_wnd.cpp:114
617 msgid "Hydrophobicity"
618 -msgstr "Hydrophobizit?t"
619 +msgstr "Hydrophobizität"
620
621 #: ../src/gtk_oglview_wnd.cpp:114
622 msgid "Color atoms and bonds by hydrophobicity (experimental)"
623 -msgstr "Atome und Bindungen nach Hydrophobizit?t f?rben (experimentell)"
624 +msgstr "Atome und Bindungen nach Hydrophobizität färben (experimentell)"
625
626 #: ../src/gtk_oglview_wnd.cpp:116
627 msgid "Label Mode"
628 @@ -1011,7 +1011,7 @@
629
630 #: ../src/gtk_oglview_wnd.cpp:127
631 msgid "Label by secondary structure state"
632 -msgstr "Mit dem Sekund?rstrukturstatus beschriften"
633 +msgstr "Mit dem Sekundärstrukturstatus beschriften"
634
635 #: ../src/gtk_oglview_wnd.cpp:128
636 msgid "Do not show labels"
637 @@ -1068,7 +1068,7 @@
638
639 #: ../src/gtk_oglview_wnd.cpp:142
640 msgid "Create a Ribbon object for displaying peptides/proteins"
641 -msgstr "Ein Bandobjekt f?r die Anzeige von Peptiden/Proteinen erstellen"
642 +msgstr "Ein Bandobjekt für die Anzeige von Peptiden/Proteinen erstellen"
643
644 #: ../src/gtk_oglview_wnd.cpp:143
645 # Extreme Short throw Projection
646 @@ -1089,19 +1089,19 @@
647
648 #: ../src/gtk_oglview_wnd.cpp:145
649 msgid "ESP-surface"
650 -msgstr "ESP-Oberfl?che"
651 +msgstr "ESP-Oberfläche"
652
653 #: ../src/gtk_oglview_wnd.cpp:145
654 msgid "Create an ESP-surface object"
655 -msgstr "ESP-Oberfl?chenobjekt erstellen"
656 +msgstr "ESP-Oberflächenobjekt erstellen"
657
658 #: ../src/gtk_oglview_wnd.cpp:146
659 msgid "ESP-colored vdW-surface"
660 -msgstr "ESP-gef?rbte VdW-Oberfl?che"
661 +msgstr "ESP-gefärbte VdW-Oberfläche"
662
663 #: ../src/gtk_oglview_wnd.cpp:146
664 msgid "Create an ESP-colored vdW-surface object"
665 -msgstr "Ein ESP-gef?rbtes VdW-Oberfl?chenobjekt erstellen"
666 +msgstr "Ein ESP-gefärbtes VdW-Oberflächenobjekt erstellen"
667
668 #: ../src/gtk_oglview_wnd.cpp:147
669 msgid "Electron density plane"
670 @@ -1113,39 +1113,39 @@
671
672 #: ../src/gtk_oglview_wnd.cpp:148
673 msgid "Electron density surface"
674 -msgstr "Elektronendichte-Oberfl?che"
675 +msgstr "Elektronendichte-Oberfläche"
676
677 #: ../src/gtk_oglview_wnd.cpp:148
678 msgid "Create an Electron density surface object"
679 -msgstr "Ein Elektronendichte-Oberfl?chenobjekt erstellen"
680 +msgstr "Ein Elektronendichte-Oberflächenobjekt erstellen"
681
682 #: ../src/gtk_oglview_wnd.cpp:149
683 msgid "Molecular orbital plane"
684 -msgstr "Molek?lorbitalebene"
685 +msgstr "Molekülorbitalebene"
686
687 #: ../src/gtk_oglview_wnd.cpp:149
688 msgid "Create a Molecular orbital plane object"
689 -msgstr "Ein Molek?lorbitalebenenobjekt erstellen"
690 +msgstr "Ein Molekülorbitalebenenobjekt erstellen"
691
692 #: ../src/gtk_oglview_wnd.cpp:150
693 msgid "Molecular orbital volume"
694 -msgstr "Molek?lorbitalvolumen"
695 +msgstr "Molekülorbitalvolumen"
696
697 #: ../src/gtk_oglview_wnd.cpp:150
698 msgid "Create a Molecular orbital volume object"
699 -msgstr "Ein Molek?lorbitalvolumenobjekt erstellen"
700 +msgstr "Ein Molekülorbitalvolumenobjekt erstellen"
701
702 #: ../src/gtk_oglview_wnd.cpp:151
703 msgid "Molecular orbital surface"
704 -msgstr "Molek?lorbitaloberfl?che"
705 +msgstr "Molekülorbitaloberfläche"
706
707 #: ../src/gtk_oglview_wnd.cpp:151
708 msgid "Create a Molecular orbital surface object"
709 -msgstr "Ein Molek?lorbitaloberfl?chenobjekt erstellen"
710 +msgstr "Ein Molekülorbitaloberflächenobjekt erstellen"
711
712 #: ../src/gtk_oglview_wnd.cpp:152
713 # http://en.wikipedia.org/wiki/Molecular_orbital
714 -# http://de.wikipedia.org/wiki/Molek?lorbital
715 +# http://de.wikipedia.org/wiki/Molekülorbital
716 msgid "MO-density plane"
717 msgstr "MO-Dichteebene"
718
719 @@ -1163,19 +1163,19 @@
720
721 #: ../src/gtk_oglview_wnd.cpp:154
722 msgid "MO-density surface"
723 -msgstr "MO-Dichteoberfl?che"
724 +msgstr "MO-Dichteoberfläche"
725
726 #: ../src/gtk_oglview_wnd.cpp:154
727 msgid "Create an MO-density surface object"
728 -msgstr "Ein MO-Dichteoberfl?chenobjekt erstellen"
729 +msgstr "Ein MO-Dichteoberflächenobjekt erstellen"
730
731 #: ../src/gtk_oglview_wnd.cpp:155
732 msgid "Delete Current Object"
733 -msgstr "Aktuelles Objekt l?schen"
734 +msgstr "Aktuelles Objekt löschen"
735
736 #: ../src/gtk_oglview_wnd.cpp:155
737 msgid "Delete the currently selected object"
738 -msgstr "Das derzeit ausgew?hlte Objekt l?schen"
739 +msgstr "Das derzeit ausgewählte Objekt löschen"
740
741 #: ../src/gtk_oglview_wnd.cpp:157
742 msgid "Compute"
743 @@ -1184,7 +1184,7 @@
744 #. ^^^^^^^^^^^
745 #: ../src/gtk_oglview_wnd.cpp:159
746 msgid "Setup..."
747 -msgstr "Einrichtung ?"
748 +msgstr "Einrichtung..."
749
750 #: ../src/gtk_oglview_wnd.cpp:160
751 msgid "Energy"
752 @@ -1192,33 +1192,33 @@
753
754 #: ../src/gtk_oglview_wnd.cpp:161
755 msgid "Geometry Optimization..."
756 -msgstr "Geometrieoptimierung ?"
757 +msgstr "Geometrieoptimierung..."
758
759 #: ../src/gtk_oglview_wnd.cpp:162
760 msgid "Molecular Dynamics..."
761 -msgstr "Molekulardynamik ?"
762 +msgstr "Molekulardynamik..."
763
764 #: ../src/gtk_oglview_wnd.cpp:163
765 # http://de.wikipedia.org/wiki/Konformation
766 msgid "Random Conformational Search..."
767 -msgstr "Zuf?llige Konformations-Suche ?"
768 +msgstr "Zufällige Konformations-Suche..."
769
770 #: ../src/gtk_oglview_wnd.cpp:164
771 msgid "Systematic Conformational Search..."
772 -msgstr "Systematische Konformations-Suche ?"
773 +msgstr "Systematische Konformations-Suche..."
774
775 #: ../src/gtk_oglview_wnd.cpp:165
776 # http://de.wikipedia.org/wiki/Computersimulation#Monte-Carlo-Simulation
777 msgid "Monte Carlo Search..."
778 -msgstr "Monte-Carlo-Suche ?"
779 +msgstr "Monte-Carlo-Suche..."
780
781 #: ../src/gtk_oglview_wnd.cpp:166
782 msgid "Plot Energy vs. 1 Torsion Angle..."
783 -msgstr "Energie gegen ersten Verdrehungswinkel darstellen ?"
784 +msgstr "Energie gegen ersten Verdrehungswinkel darstellen..."
785
786 #: ../src/gtk_oglview_wnd.cpp:167
787 msgid "Plot Energy vs. 2 Torsion Angles..."
788 -msgstr "Energie gegen zweiten Torsionswinkel plotten ?"
789 +msgstr "Energie gegen zweiten Torsionswinkel plotten..."
790
791 #: ../src/gtk_oglview_wnd.cpp:168
792 msgid "Population Analysis (ESP)"
793 @@ -1226,11 +1226,11 @@
794
795 #: ../src/gtk_oglview_wnd.cpp:169
796 msgid "Transition State Search..."
797 -msgstr "?bergangszustandssuche ?"
798 +msgstr "Übergangszustandssuche..."
799
800 #: ../src/gtk_oglview_wnd.cpp:170
801 msgid "Stationary State Search..."
802 -msgstr "Station?re Zustandssuche ?"
803 +msgstr "Stationäre Zustandssuche..."
804
805 #: ../src/gtk_oglview_wnd.cpp:171
806 msgid "Formula"
807 @@ -1238,7 +1238,7 @@
808
809 #: ../src/gtk_oglview_wnd.cpp:176
810 msgid "MD Trajectory Viewer..."
811 -msgstr "MD-Trajektorien-Betrachter ?"
812 +msgstr "MD-Trajektorien-Betrachter..."
813
814 #: ../src/gtk_oglview_wnd.cpp:177
815 msgid "Set Current Orbital"
816 @@ -1251,19 +1251,19 @@
817 #. ^^^^^^^^^
818 #: ../src/gtk_oglview_wnd.cpp:181
819 msgid "Solvate Box..."
820 -msgstr "Solvatisierungsbox ?"
821 +msgstr "Solvatisierungsbox..."
822
823 #: ../src/gtk_oglview_wnd.cpp:182
824 msgid "Solvate Sphere..."
825 -msgstr "Solvatisierungssph?re ?"
826 +msgstr "Solvatisierungssphäre..."
827
828 #: ../src/gtk_oglview_wnd.cpp:183
829 msgid "Sequence Builder (amino)..."
830 -msgstr "Sequenzerstellung (Amino) ?"
831 +msgstr "Sequenzerstellung (Amino)..."
832
833 #: ../src/gtk_oglview_wnd.cpp:184
834 msgid "Sequence Builder (nucleic)..."
835 -msgstr "Sequenzerstellung (Nuklein) ?"
836 +msgstr "Sequenzerstellung (Nuklein)..."
837
838 #: ../src/gtk_oglview_wnd.cpp:185
839 msgid "Center"
840 @@ -1271,7 +1271,7 @@
841
842 #: ../src/gtk_oglview_wnd.cpp:186
843 msgid "Zap All"
844 -msgstr "Alle l?schen"
845 +msgstr "Alle löschen"
846
847 #: ../src/gtk_oglview_wnd.cpp:188
848 msgid "Hydrogens"
849 @@ -1280,7 +1280,7 @@
850 #. ^^^^^^^^^^^^^^^^^^
851 #: ../src/gtk_oglview_wnd.cpp:190
852 msgid "Add"
853 -msgstr "Hinzuf?gen"
854 +msgstr "Hinzufügen"
855
856 #: ../src/gtk_oglview_wnd.cpp:191
857 msgid "Remove"
858 @@ -1288,13 +1288,13 @@
859
860 #: ../src/gtk_oglview_wnd.cpp:193
861 msgid "Enter a Command..."
862 -msgstr "Einen Befehl eingeben ?"
863 +msgstr "Einen Befehl eingeben..."
864
865 #: ../src/gtk_oglview_wnd.cpp:380
866 #, c-format
867 msgid "ERROR : Building popup-menu for gtk_oglview_wnd failed : %s"
868 msgstr ""
869 -"FEHLER : Erstellen des Kontextmen?s f?r gtk_oglview_wnd fehlgeschlagen : %s "
870 +"FEHLER : Erstellen des Kontextmenüs für gtk_oglview_wnd fehlgeschlagen : %s "
871
872 #: ../src/gtk_oglview_wnd.cpp:630
873 msgid "sets 0 <-> "
874 @@ -1313,13 +1313,13 @@
875 #, c-format
876 msgid "ERROR : Building popup-menu for gtk_p1dview_wnd failed : %s"
877 msgstr ""
878 -"FEHLER : Erstellen des Kontextmen?s f?r gtk_p1dview_wnd fehlgeschlagen : %s"
879 +"FEHLER : Erstellen des Kontextmenüs für gtk_p1dview_wnd fehlgeschlagen : %s"
880
881 #: ../src/gtk_p2dview_wnd.cpp:57
882 #, c-format
883 msgid "ERROR : Building popup-menu for gtk_p2dview_wnd failed : %s"
884 msgstr ""
885 -"FEHLER : Erstellen des Kontextmen?s f?r gtk_p2dview_wnd fehlgeschlagen : %s"
886 +"FEHLER : Erstellen des Kontextmenüs für gtk_p2dview_wnd fehlgeschlagen : %s"
887
888 #: ../src/gtk_progress_dialog.cpp:39
889 msgid "WARNING : progress_dialog : glade_xml_get_widget() failed!!!"
890 @@ -1351,7 +1351,7 @@
891
892 #: ../src/gtk_project.cpp:288
893 msgid "Random Search"
894 -msgstr "Zuf?llige Suche"
895 +msgstr "Zufällige Suche"
896
897 #: ../src/gtk_project.cpp:776 ../src/gtk_project.cpp:794
898 #: ../src/gtk_project.cpp:812 ../src/gtk_project.cpp:830
899 @@ -1373,11 +1373,11 @@
900 "(optsteps)."
901 msgstr ""
902 "BITTE BEACHTEN!\n"
903 -"Die Befehlszeichenkette, die im n?chsten Dialog angezeigt wird, ist\n"
904 -"unvollst?ndig. Sie sollten die Buchstaben A-D durch die Atomindizes "
905 +"Die Befehlszeichenkette, die im nächsten Dialog angezeigt wird, ist\n"
906 +"unvollständig. Sie sollten die Buchstaben A-D durch die Atomindizes "
907 "ersetzen, die den Torsionswinkel definieren.\n"
908 "\n"
909 -"BEACHTEN SIE AU?ERDEM: Bei jeder Strukturverfeinerung wird die "
910 +"BEACHTEN SIE AUßERDEM: Bei jeder Strukturverfeinerung wird die "
911 "Molekularmechanik verwandt (optsteps).."
912
913 #: ../src/gtk_project.cpp:1088
914 @@ -1391,12 +1391,12 @@
915 "(optsteps)."
916 msgstr ""
917 "BITTE BEACHTEN!\n"
918 -"Die Befehlszeichenkette, die im n?chsten Dialog angezeigt wird, ist\n"
919 -"unvollst?ndig. Sie sollten die Buchstaben A-D und I-L durch die Atomindizes "
920 +"Die Befehlszeichenkette, die im nächsten Dialog angezeigt wird, ist\n"
921 +"unvollständig. Sie sollten die Buchstaben A-D und I-L durch die Atomindizes "
922 "ersetzen, die den Torsionswinkel definieren.\n"
923 "\n"
924 -"BEACHTEN SIE AU?ERDEM: Bei jeder Benutzung der Molekularmechanik wird die "
925 -"Strukturverfeinerung durchgef?hrt (optsteps)."
926 +"BEACHTEN SIE AUßERDEM: Bei jeder Benutzung der Molekularmechanik wird die "
927 +"Strukturverfeinerung durchgeführt (optsteps)."
928
929 #: ../src/gtk_project.cpp:1162
930 msgid "ERROR"
931 @@ -1404,7 +1404,7 @@
932
933 #: ../src/gtk_project.cpp:1173
934 msgid "Trajectory file already open?"
935 -msgstr "Trajektorien-Datei bereits ge?ffnet?"
936 +msgstr "Trajektorien-Datei bereits geöffnet?"
937
938 #: ../src/gtk_project.cpp:1182
939 msgid ""
940 @@ -1414,8 +1414,8 @@
941 "current orbital."
942 msgstr ""
943 "BITTE BEACHTEN!\n"
944 -"Die Befehlszeichenkette, die im n?chsten Dialog angezeigt wird, ist\n"
945 -"unvollst?ndig. Sie sollten den Buchstaben X durch den Orbitalindex ersetzen,\n"
946 +"Die Befehlszeichenkette, die im nächsten Dialog angezeigt wird, ist\n"
947 +"unvollständig. Sie sollten den Buchstaben X durch den Orbitalindex ersetzen,\n"
948 "den das aktuelle Orbital bekommen wird."
949
950 #: ../src/gtk_project.cpp:1237
951 @@ -1425,8 +1425,8 @@
952 "You should replace the default sequence AAA with the sequence to be built."
953 msgstr ""
954 "BITTE BEACHTEN!\n"
955 -"Die Befehlszeichenkette, die im n?chsten Dialog angezeigt wird, ist\n"
956 -"unvollst?ndig. Sie sollten die vorgegebene Sequenz AAA durch die Sequenz\n"
957 +"Die Befehlszeichenkette, die im nächsten Dialog angezeigt wird, ist\n"
958 +"unvollständig. Sie sollten die vorgegebene Sequenz AAA durch die Sequenz\n"
959 "ersetzen, die gebildet werden soll."
960
961 #: ../src/gtk_project.cpp:1250
962 @@ -1437,19 +1437,19 @@
963 "built."
964 msgstr ""
965 "BITTE BEACHTEN!\n"
966 -"Die Befehlszeichenkette, die im n?chsten Dialog angezeigt wird, ist\n"
967 -"unvollst?ndig. Sie sollten die vorgegebene Sequenz AGTCaguc durch die\n"
968 +"Die Befehlszeichenkette, die im nächsten Dialog angezeigt wird, ist\n"
969 +"unvollständig. Sie sollten die vorgegebene Sequenz AGTCaguc durch die\n"
970 "Sequenz ersetzen, die gebildet werden soll."
971
972 #: ../src/gtk_project.cpp:1287
973 msgid "Are you sure you want to clear everything?"
974 -msgstr "Sind sie sicher, dass Sie alles entfernen m?chten?"
975 +msgstr "Sind sie sicher, dass Sie alles entfernen möchten?"
976
977 #: ../src/gtk_rcpview_wnd.cpp:57
978 #, c-format
979 msgid "ERROR : Building popup-menu for gtk_rcpview_wnd failed : %s"
980 msgstr ""
981 -"FEHLER : Erstellen des Kontextmen?s f?r gtk_rcpview_wnd fehlgeschlagen : %s"
982 +"FEHLER : Erstellen des Kontextmenüs für gtk_rcpview_wnd fehlgeschlagen : %s"
983
984 #: ../src/gtk_setup_dialog.cpp:49
985 msgid "WARNING : setup_dialog : glade_xml_get_widget() failed!!!"
986 @@ -1457,7 +1457,7 @@
987
988 #: ../src/gtk_setup_dialog.cpp:358
989 msgid "Changed the Setup for calculations "
990 -msgstr "Die Einstellung f?r Berechungen wurde ge?ndert "
991 +msgstr "Die Einstellung für Berechungen wurde geändert "
992
993 #: ../src/gtk_setup_dialog.cpp:359 ../src/project.cpp:4050
994 msgid "(setup = "
995 @@ -1490,9 +1490,9 @@
996 "This alternative PDB reader is designed to remove any gaps that might\n"
997 "exist in the structure data. Therefore the sequence might be altered!"
998 msgstr ""
999 -"Dieser alternative PDB-Leser wurde entwickelt, um jegliche L?cken zu\n"
1000 -"entfernen, die in den Strukturdaten existieren k?nnten. Daher k?nnte die\n"
1001 -"Sequenz ver?ndert sein!"
1002 +"Dieser alternative PDB-Leser wurde entwickelt, um jegliche Lücken zu\n"
1003 +"entfernen, die in den Strukturdaten existieren könnten. Daher könnte die\n"
1004 +"Sequenz verändert sein!"
1005
1006 #. request a modal window.
1007 #: ../src/gtk_simple_dialogs.cpp:482
1008 @@ -1501,7 +1501,7 @@
1009
1010 #: ../src/gtk_simple_dialogs.cpp:503
1011 msgid "Execute"
1012 -msgstr "Ausf?hren"
1013 +msgstr "Ausführen"
1014
1015 #: ../src/gtk_simple_dialogs.cpp:506
1016 msgid "Cancel"
1017 @@ -1533,7 +1533,7 @@
1018 #: ../src/gtk_wnd.cpp:61
1019 #, c-format
1020 msgid "*** No appropriate OpenGL-capable visual found.\n"
1021 -msgstr "*** Kein geeignetes OpenGL-f?higes Bildmaterial gefunden\n"
1022 +msgstr "*** Kein geeignetes OpenGL-fähiges Bildmaterial gefunden\n"
1023
1024 #: ../src/gtk_wnd.cpp:66
1025 #, c-format
1026 @@ -1560,7 +1560,7 @@
1027
1028 #: ../src/ogl_surface.cpp:131
1029 msgid "-direction... "
1030 -msgstr "-Richtung ?"
1031 +msgstr "-Richtung..."
1032
1033 #: ../src/ogl_surface.cpp:138
1034 msgid " points, "
1035 @@ -1572,15 +1572,15 @@
1036
1037 #: ../src/ogl_surface.cpp:155
1038 msgid "generating image... "
1039 -msgstr "Bild wird generiert ?"
1040 +msgstr "Bild wird generiert..."
1041
1042 #: ../src/ogl_surface.cpp:185
1043 msgid "color_surface problem #1"
1044 -msgstr "Farboberfl?chenproblem #1"
1045 +msgstr "Farboberflächenproblem #1"
1046
1047 #: ../src/ogl_surface.cpp:235
1048 msgid "color_surface problem #2"
1049 -msgstr "Farboberfl?chenproblem #2"
1050 +msgstr "Farboberflächenproblem #2"
1051
1052 #: ../src/ogl_surface.cpp:335
1053 msgid " lines, "
1054 @@ -1601,7 +1601,7 @@
1055 #: ../src/pangofont_wcl.cpp:75
1056 #, c-format
1057 msgid "*** ERROR : Can't load font '%s'\n"
1058 -msgstr "*** FEHLER : Schrift ?%s? kann nicht geladen werden\n"
1059 +msgstr "*** FEHLER : Schrift '%s' kann nicht geladen werden\n"
1060
1061 #: ../src/project.cpp:210
1062 msgid "untitled"
1063 @@ -1617,7 +1617,7 @@
1064
1065 #: ../src/project.cpp:409
1066 msgid "Hydrogens added."
1067 -msgstr "Wasserstoff hinzugef?gt"
1068 +msgstr "Wasserstoff hinzugefügt"
1069
1070 #: ../src/project.cpp:419
1071 msgid "Hydrogens removed."
1072 @@ -1637,11 +1637,11 @@
1073
1074 #: ../src/project.cpp:877
1075 msgid "Processing Command : "
1076 -msgstr "Befehl wird ausgef?hrt : "
1077 +msgstr "Befehl wird ausgeführt : "
1078
1079 #: ../src/project.cpp:887
1080 msgid "> AVAILABLE COMMANDS:"
1081 -msgstr "> VERF?GBARE BEFEHLE:"
1082 +msgstr "> VERFÜGBARE BEFEHLE:"
1083
1084 #. use alphabetical order???
1085 #: ../src/project.cpp:889
1086 @@ -1649,7 +1649,7 @@
1087 "> add light (local/global) (directional/spotlight) -- add a new light object."
1088 msgstr ""
1089 "> add light (local/global) (directional/spotlight) -- ein neues Lichtobjekt "
1090 -"hinzuf?gen"
1091 +"hinzufügen"
1092
1093 #: ../src/project.cpp:891
1094 msgid ""
1095 @@ -1657,14 +1657,14 @@
1096 "add a plane object."
1097 msgstr ""
1098 "> add plane <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <tp> <alpha> -- "
1099 -"ein Ebenenobjekt hinzuf?gen"
1100 +"ein Ebenenobjekt hinzufügen"
1101
1102 #: ../src/project.cpp:892 ../src/project.cpp:902
1103 msgid "> where: <vf> = value function : esp vdws eldens mo mod unity"
1104 msgstr "> wobei: <vf> = Wertfunktion : esp vdws eldens mo mod unity"
1105
1106 #: ../src/project.cpp:893 ../src/project.cpp:903 ../src/project.cpp:913
1107 -# Farben fest kodiert -> nicht ?bersetzen
1108 +# Farben fest kodiert -> nicht übersetzen
1109 msgid "> <cf> = colour function : red green blue rb1 rb2"
1110 msgstr "> <cf> = Farbfunktion : red green blue rb1 rb2"
1111
1112 @@ -1681,16 +1681,16 @@
1113 #: ../src/project.cpp:896 ../src/project.cpp:906 ../src/project.cpp:917
1114 #: ../src/project.cpp:932
1115 msgid "> <dim> = dimension of the plane object (in nm units)"
1116 -msgstr "> <dim> = Ausma? des Ebenenobjekts (in nm-Einheiten)"
1117 +msgstr "> <dim> = Ausmaß des Ebenenobjekts (in nm-Einheiten)"
1118
1119 #: ../src/project.cpp:897 ../src/project.cpp:907 ../src/project.cpp:918
1120 #: ../src/project.cpp:933
1121 msgid "> <res> = resolution of the plane object"
1122 -msgstr "> <res> = Aufl?sung des Ebenenobjekts"
1123 +msgstr "> <res> = Auflösung des Ebenenobjekts"
1124
1125 #: ../src/project.cpp:898 ../src/project.cpp:920 ../src/project.cpp:935
1126 msgid "> <tp> = 0 or 1 telling if the object is transparent"
1127 -msgstr "> <tp> = 0 oder 1 ? sagt, ob das Objekt transparent ist"
1128 +msgstr "> <tp> = 0 oder 1 - sagt, ob das Objekt transparent ist"
1129
1130 #: ../src/project.cpp:899 ../src/project.cpp:908 ../src/project.cpp:921
1131 #: ../src/project.cpp:936
1132 @@ -1704,7 +1704,7 @@
1133 "a volume-rendering object."
1134 msgstr ""
1135 "> add volrend <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <alpha> -- ein "
1136 -"Volumen-Renderungs-Objekt hinzuf?gen"
1137 +"Volumen-Renderungs-Objekt hinzufügen"
1138
1139 #: ../src/project.cpp:910
1140 msgid ""
1141 @@ -1712,14 +1712,14 @@
1142 "<solid> <tp> <alpha> -- add a single surface object."
1143 msgstr ""
1144 "> add surf1 <vf1> <vf2> <cf> <sscale> <cscale1> <AUTO/cscale2> <dim> <res> "
1145 -"<solid> <tp> <alpha> -- ein einzelnes Oberfl?chenobjekt hinzuf?gen"
1146 +"<solid> <tp> <alpha> -- ein einzelnes Oberflächenobjekt hinzufügen"
1147
1148 #: ../src/project.cpp:911 ../src/project.cpp:924
1149 msgid ""
1150 "> where: <vf1> = value function for calculating the surface : esp vdws "
1151 "eldens mo mod unity"
1152 msgstr ""
1153 -"> wobei: <vf1> = Wertfunktion oder Berechnung der Oberfl?che : esp vdws "
1154 +"> wobei: <vf1> = Wertfunktion oder Berechnung der Oberfläche : esp vdws "
1155 "eldens mo mod unity"
1156
1157 #: ../src/project.cpp:912 ../src/project.cpp:925
1158 @@ -1732,11 +1732,11 @@
1159
1160 #: ../src/project.cpp:914
1161 msgid "> <sscale> = scaling value for calculating the surface"
1162 -msgstr "> <sscale> = Skalierungswert f?r die Berechnung der Oberfl?che"
1163 +msgstr "> <sscale> = Skalierungswert für die Berechnung der Oberfläche"
1164
1165 #: ../src/project.cpp:919 ../src/project.cpp:934
1166 msgid "> <solid> = 0 or 1 telling if the object is solid"
1167 -msgstr "> <solid> = 0 oder 1 ? sagt, ob das Objekt stabil ist"
1168 +msgstr "> <solid> = 0 oder 1 - sagt, ob das Objekt stabil ist"
1169
1170 #: ../src/project.cpp:923
1171 msgid ""
1172 @@ -1744,21 +1744,21 @@
1173 "cscale2> <dim> <res> <solid> <tp> <alpha> -- add a pair of surface objects."
1174 msgstr ""
1175 "> add surf2 <vf1> <vf2> <cf1> <cf2> <sscale1> <sscale2> <cscale1> <AUTO/"
1176 -"cscale2> <dim> <res> <solid> <tp> <alpha> -- ein Paar von Oberfl?chenobjekten "
1177 -"hinzuf?gen"
1178 +"cscale2> <dim> <res> <solid> <tp> <alpha> -- ein Paar von Oberflächenobjekten "
1179 +"hinzufügen"
1180
1181 #: ../src/project.cpp:926
1182 msgid ""
1183 "> <cf1> = colour function for 1st surface : red green blue rb1 rb2"
1184 msgstr ""
1185 -"> <cf1> = Farbfunktion f?r die erste Oberfl?che : red green blue rb1 "
1186 +"> <cf1> = Farbfunktion für die erste Oberfläche : red green blue rb1 "
1187 "rb2"
1188
1189 #: ../src/project.cpp:927
1190 msgid ""
1191 "> <cf2> = colour function for 2nd surface : red green blue rb1 rb2"
1192 msgstr ""
1193 -"> <cf1> = Farbfunktion f?r die zweite Oberfl?che : red green blue "
1194 +"> <cf1> = Farbfunktion für die zweite Oberfläche : red green blue "
1195 "rb1 rb2"
1196
1197 #: ../src/project.cpp:928
1198 @@ -1766,20 +1766,20 @@
1199 "> <sscale1> = scaling value for calculating the surface for 1st "
1200 "surface"
1201 msgstr ""
1202 -"> <sscale1> = Skalierungswert f?r die Berechnung der Oberfl?che f?r "
1203 -"die erste Oberfl?che"
1204 +"> <sscale1> = Skalierungswert für die Berechnung der Oberfläche für "
1205 +"die erste Oberfläche"
1206
1207 #: ../src/project.cpp:929
1208 msgid ""
1209 "> <sscale2> = scaling value for calculating the surface for 2nd "
1210 "surface"
1211 msgstr ""
1212 -"> <sscale1> = Skalierungswert f?r die Berechnung der Oberfl?che f?r "
1213 -"die zweite Oberfl?che"
1214 +"> <sscale1> = Skalierungswert für die Berechnung der Oberfläche für "
1215 +"die zweite Oberfläche"
1216
1217 #: ../src/project.cpp:938
1218 msgid "> help -- print all available commands in command strings."
1219 -msgstr "> help -- alle verf?gbaren Befehle in Befehlszeichenketten ausgeben"
1220 +msgstr "> help -- alle verfügbaren Befehle in Befehlszeichenketten ausgeben"
1221
1222 #: ../src/project.cpp:940
1223 msgid "> energy -- calculate a single-point energy."
1224 @@ -1801,8 +1801,8 @@
1225 "> random_search <cycles> <optsteps> -- perform a random conformational "
1226 "search."
1227 msgstr ""
1228 -"> random_search <cycles> <optsteps> -- eine zuf?llige konformative Suche "
1229 -"durchf?hren"
1230 +"> random_search <cycles> <optsteps> -- eine zufällige konformative Suche "
1231 +"durchführen"
1232
1233 #: ../src/project.cpp:945
1234 msgid ""
1235 @@ -1810,7 +1810,7 @@
1236 "conformational search."
1237 msgstr ""
1238 "> systematic_search <divisions> <optsteps> -- eine systematische konformative "
1239 -"Suche durchf?hren"
1240 +"Suche durchführen"
1241
1242 #: ../src/project.cpp:946
1243 msgid ""
1244 @@ -1818,7 +1818,7 @@
1245 "MonteCarlo search."
1246 msgstr ""
1247 "> montecarlo_search <init_cycles> <simul_cycles> <optsteps> -- eine "
1248 -"Monte-Carlo-Suche durchf?hren"
1249 +"Monte-Carlo-Suche durchführen"
1250
1251 #: ../src/project.cpp:948
1252 msgid ""
1253 @@ -1826,7 +1826,7 @@
1254 "energy vs. torsion plot."
1255 msgstr ""
1256 "> make_plot2 A B C D <div> <start_ang> <end_ang> I J K L <div> <start_ang> "
1257 -"<end_ang> <optsteps> -- eine 1D-Energie gegen?ber einer "
1258 +"<end_ang> <optsteps> -- eine 1D-Energie gegenüber einer "
1259 "Verdrehungsdarstellung erstellen"
1260
1261 #: ../src/project.cpp:949
1262 @@ -1835,7 +1835,7 @@
1263 "<end_ang> <optsteps> -- create a 2D energy vs. torsions plot."
1264 msgstr ""
1265 "> make_plot2 A B C D <div> <start_ang> <end_ang> I J K L <div> <start_ang> "
1266 -"<end_ang> <optsteps> -- eine 2D-Energie gegen?ber einem Torsions-Plot "
1267 +"<end_ang> <optsteps> -- eine 2D-Energie gegenüber einem Torsions-Plot "
1268 "erstellen"
1269
1270 #: ../src/project.cpp:951
1271 @@ -1845,23 +1845,23 @@
1272 "QM methods only)."
1273 msgstr ""
1274 "> population_analysis_ESP -- Atomladungen festlegen unter Benutzung eines "
1275 -"ESP-Fits (nur f?r QM-Methoden)"
1276 +"ESP-Fits (nur für QM-Methoden)"
1277
1278 #: ../src/project.cpp:953
1279 msgid ""
1280 "> transition_state_search <delta_e> <initial_fc> -- perform a transition "
1281 "state search (for QM methods only)."
1282 msgstr ""
1283 -"> transition_state_search <delta_e> <initial_fc> -- f?hrt eine "
1284 -"?bergangszustandssuche durch (nur f?r QM-Methoden)"
1285 +"> transition_state_search <delta_e> <initial_fc> -- führt eine "
1286 +"Übergangszustandssuche durch (nur für QM-Methoden)"
1287
1288 #: ../src/project.cpp:954
1289 msgid ""
1290 "> stationary_state_search <steps> -- perform a search for a structure with "
1291 "no forces."
1292 msgstr ""
1293 -"> stationary_state_search <Schritte> -- f?hrt eine Suche nach einer Struktur "
1294 -"ohne Kr?fte durch"
1295 +"> stationary_state_search <Schritte> -- führt eine Suche nach einer Struktur "
1296 +"ohne Kräfte durch"
1297
1298 #: ../src/project.cpp:956
1299 # FIXME s/orbtal/orbital/
1300 @@ -1869,22 +1869,22 @@
1301 "> set_current_orbital <orbital_index> -- set the current orbtal index for "
1302 "plotting the orbitals."
1303 msgstr ""
1304 -"> set_current_orbital <Bahn_Index> -- setzt den aktuellen Orbitalindex f?r "
1305 +"> set_current_orbital <Bahn_Index> -- setzt den aktuellen Orbitalindex für "
1306 "die grafische Darstellung der Orbitale"
1307
1308 #: ../src/project.cpp:958
1309 msgid "> update_chains -- detect polymer chains using sequence builder."
1310 msgstr ""
1311 "> update_chains -- Polymerketten unter Benutzung der Sequenzerstellung "
1312 -"aufsp?ren"
1313 +"aufspüren"
1314
1315 #: ../src/project.cpp:959
1316 msgid "> build_amino <sequence> (helix/strand) -- amino acid sequence builder."
1317 -msgstr "> build_amino <Sequenz> (helix/strand) -- Aminos?uren-Sequenzerstellung"
1318 +msgstr "> build_amino <Sequenz> (helix/strand) -- Aminosäuren-Sequenzerstellung"
1319
1320 #: ../src/project.cpp:960
1321 msgid "> build_nucleic <sequence> -- nucleic acid sequence builder."
1322 -msgstr "> build_nucleic <Sequenz> -- Nukleins?uren-Sequenzerstellung"
1323 +msgstr "> build_nucleic <Sequenz> -- Nukleinsäuren-Sequenzerstellung"
1324
1325 #: ../src/project.cpp:962
1326 msgid "> orient <crdset> -- orient the system in the XYZ coordinate system."
1327 @@ -1904,7 +1904,7 @@
1328 "a solvation sphere."
1329 msgstr ""
1330 "> solvate_sphere <rad_solute> <rad_solvent> (<density> <filename>) -- eine "
1331 -"Solvatisierungssph?re einrichten"
1332 +"Solvatisierungssphäre einrichten"
1333
1334 #: ../src/project.cpp:967
1335 msgid "> set_formal_charge <index> <charge> -- set formal charges to atoms."
1336 @@ -1915,7 +1915,7 @@
1337 "> evaluate_Bfact -- evaluate B-factors for selected atoms (a trajectory file "
1338 "must be open)."
1339 msgstr ""
1340 -"> evaluate_Bfact -- B-Faktoren f?r ausgew?hlte Atome untersuchen (eine "
1341 +"> evaluate_Bfact -- B-Faktoren für ausgewählte Atome untersuchen (eine "
1342 "Trajektorien-Datei muss offen sein)"
1343
1344 #: ../src/project.cpp:970
1345 @@ -1923,13 +1923,13 @@
1346 "> evaluate_diffconst <dt> -- evaluate diffusion constants for selected atoms "
1347 "(a trajectory file must be open, dt = time difference between frames [fs])."
1348 msgstr ""
1349 -"> evaluate_diffconst <dt> -- Diffusionskonstanten f?r ausgew?hlte Atome "
1350 +"> evaluate_diffconst <dt> -- Diffusionskonstanten für ausgewählte Atome "
1351 "untersuchen (eine Trajektorien-Datei muss offen sein, dt = Zeit zwischen "
1352 "Einzelbildern [fs])."
1353
1354 #: ../src/project.cpp:1010
1355 msgid "Added a new object : light ("
1356 -msgstr "Ein neues Objekt hinzugef?gt : Lichtquelle ("
1357 +msgstr "Ein neues Objekt hinzugefügt : Lichtquelle ("
1358
1359 #: ../src/project.cpp:1011
1360 msgid "local"
1361 @@ -1957,7 +1957,7 @@
1362
1363 #: ../src/project.cpp:1091
1364 msgid "Added a new object : plane ("
1365 -msgstr "Ein neues Objekt hinzuf?gen : Ebene ("
1366 +msgstr "Ein neues Objekt hinzufügen : Ebene ("
1367
1368 #: ../src/project.cpp:1119
1369 msgid "ERROR : add volrend : unknown value function "
1370 @@ -1969,7 +1969,7 @@
1371
1372 #: ../src/project.cpp:1166
1373 msgid "Added a new object : volrend ("
1374 -msgstr "Ein neues Objekt hinzugef?gt : volrend ("
1375 +msgstr "Ein neues Objekt hinzugefügt : volrend ("
1376
1377 #: ../src/project.cpp:1199
1378 msgid "ERROR : add surf1 : unknown value function 1 "
1379 @@ -1985,7 +1985,7 @@
1380
1381 #: ../src/project.cpp:1277
1382 msgid "Added a new object : surf1 ("
1383 -msgstr "Ein neues Objekt hinzugef?gt : surf1 ("
1384 +msgstr "Ein neues Objekt hinzugefügt : surf1 ("
1385
1386 #: ../src/project.cpp:1314
1387 msgid "ERROR : add surf2 : unknown value function 1 "
1388 @@ -2005,15 +2005,15 @@
1389
1390 #: ../src/project.cpp:1417
1391 msgid "Added a new object : surf2 ("
1392 -msgstr "Ein neues Objekt hinzugef?gt : surf2 ("
1393 +msgstr "Ein neues Objekt hinzugefügt : surf2 ("
1394
1395 #: ../src/project.cpp:1423
1396 msgid "ERROR : could not process command \"add\" for parameter "
1397 -msgstr "FEHLER : Befehl ?add? konnte nicht verarbeitet werden f?r Parameter "
1398 +msgstr "FEHLER : Befehl 'add' konnte nicht verarbeitet werden für Parameter "
1399
1400 #: ../src/project.cpp:1581
1401 msgid "Sorry, this is for QM models only!"
1402 -msgstr "Entschuldigung, dies ist nur f?r QM-Modelle!"
1403 +msgstr "Entschuldigung, dies ist nur für QM-Modelle!"
1404
1405 #: ../src/project.cpp:1628
1406 msgid "The current orbital is now "
1407 @@ -2038,7 +2038,7 @@
1408 #: ../src/project.cpp:1850
1409 msgid "The \"help\" command will give more information about command strings."
1410 msgstr ""
1411 -"Der Befehl ?help? wird weitere Informationen ?ber Befehlszeichenketten "
1412 +"Der Befehl 'help' wird weitere Informationen über Befehlszeichenketten "
1413 "liefern."
1414
1415 #: ../src/project.cpp:1877
1416 @@ -2060,7 +2060,7 @@
1417 #: ../src/project.cpp:3256
1418 msgid "Group information about chains/residues is needed for this operation."
1419 msgstr ""
1420 -"F?r diese Operation werden Gruppeninformationen ?ber Ketten/Reste ben?tigt."
1421 +"Für diese Operation werden Gruppeninformationen über Ketten/Reste benötigt."
1422
1423 #: ../src/project.cpp:3257
1424 msgid "Is it OK to update group information?"
1425 @@ -2069,11 +2069,11 @@
1426 #: ../src/project.cpp:3271
1427 msgid "Sorry, no chain/residue information available for this atom."
1428 msgstr ""
1429 -"Entschuldigung, f?r dieses Atom ist keine Ketten-/Restinformation verf?gbar."
1430 +"Entschuldigung, für dieses Atom ist keine Ketten-/Restinformation verfügbar."
1431
1432 #: ../src/project.cpp:3290
1433 msgid "selected atom "
1434 -msgstr "ausgew?hltes Atom "
1435 +msgstr "ausgewähltes Atom "
1436
1437 #: ../src/project.cpp:3290
1438 msgid " (atomtype = "
1439 @@ -2081,7 +2081,7 @@
1440
1441 #: ../src/project.cpp:3302
1442 msgid "selected residue "
1443 -msgstr "ausgew?hlter Rest "
1444 +msgstr "ausgewählter Rest "
1445
1446 #: ../src/project.cpp:3302
1447 msgid " from chain "
1448 @@ -2089,11 +2089,11 @@
1449
1450 #: ../src/project.cpp:3313
1451 msgid "selected chain "
1452 -msgstr "ausgew?hlte Kette "
1453 +msgstr "ausgewählte Kette "
1454
1455 #: ../src/project.cpp:3337
1456 msgid "selected molecule "
1457 -msgstr "ausgew?hltes Molek?l "
1458 +msgstr "ausgewähltes Molekül "
1459
1460 #. this must be OK.
1461 #: ../src/project.cpp:3366
1462 @@ -2122,7 +2122,7 @@
1463
1464 #: ../src/project.cpp:3494
1465 msgid "MW: "
1466 -msgstr "Molek?gewicht: "
1467 +msgstr "Molekülgewicht: "
1468
1469 #: ../src/project.cpp:3571
1470 msgid "ERROR : atom "
1471 @@ -2170,19 +2170,19 @@
1472
1473 #: ../src/project.cpp:3789
1474 msgid "ERROR : could not find ic for tor1.\n"
1475 -msgstr "FEHLER : ic f?r Torsion1 konnte nicht gefunden werden.\n"
1476 +msgstr "FEHLER : ic für Torsion1 konnte nicht gefunden werden.\n"
1477
1478 #: ../src/project.cpp:3796
1479 msgid "ERROR : could not find ic for tor2.\n"
1480 -msgstr "FEHLER : ic f?r Torsion2 konnte nicht gefunden werden.\n"
1481 +msgstr "FEHLER : ic für Torsion2 konnte nicht gefunden werden.\n"
1482
1483 #: ../src/project.cpp:3819
1484 msgid "ERROR : could not find tor-term for tor1.\n"
1485 -msgstr "FEHLER : tor-term f?r Torsion1 konnte nicht gefunden werden.\n"
1486 +msgstr "FEHLER : tor-term für Torsion1 konnte nicht gefunden werden.\n"
1487
1488 #: ../src/project.cpp:3826
1489 msgid "ERROR : could not find tor-term for tor2.\n"
1490 -msgstr "FEHLER : tor-term f?r Torsion2 konnte nicht gefunden werden.\n"
1491 +msgstr "FEHLER : tor-term für Torsion2 konnte nicht gefunden werden.\n"
1492
1493 #: ../src/project.cpp:3830
1494 msgid "tor1(deg)"
1495 @@ -2218,7 +2218,7 @@
1496
1497 #: ../src/project.cpp:4049
1498 msgid "Starting Stationary State Search "
1499 -msgstr "Station?r-Zustandssuche wird gestartet"
1500 +msgstr "Stationär-Zustandssuche wird gestartet"
1501
1502 #: ../src/project.cpp:4062
1503 msgid "Cycle Gradient Step\n"
1504 @@ -2243,7 +2243,7 @@
1505 #: ../src/res_gtk/gtk_file_import_dialog.glade.h:1
1506 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:1
1507 msgid "Browse..."
1508 -msgstr "Durchsuchen ?"
1509 +msgstr "Durchsuchen..."
1510
1511 #: ../src/res_gtk/gtk_file_export_dialog.glade.h:2
1512 msgid "Export File"
1513 @@ -2267,11 +2267,11 @@
1514
1515 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:2
1516 msgid "Constant-P simulation (allow P-control at simulation stage)"
1517 -msgstr "Constant-P-Simulation (erm?glicht P-control auf der Simulationsstufe)"
1518 +msgstr "Constant-P-Simulation (ermöglicht P-control auf der Simulationsstufe)"
1519
1520 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:3
1521 msgid "Constant-T simulation (allow T-control at simulation stage)"
1522 -msgstr "Constant-T-Simulation (erm?glicht T-control auf der Simulationsstufe)"
1523 +msgstr "Constant-T-Simulation (ermöglicht T-control auf der Simulationsstufe)"
1524
1525 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:4
1526 msgid "Isothermal compressibility [1/bar] :"
1527 @@ -2279,15 +2279,15 @@
1528
1529 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:6
1530 msgid "Number of steps : (cooling)"
1531 -msgstr "Anzahl an Schritten : (K?hlung)"
1532 +msgstr "Anzahl an Schritten : (Kühlung)"
1533
1534 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:7
1535 msgid "Number of steps : (equilibration)"
1536 -msgstr "Anzahl an Schritten : (?quilibration)"
1537 +msgstr "Anzahl an Schritten : (Äquilibration)"
1538
1539 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:8
1540 msgid "Number of steps : (heating)"
1541 -msgstr "Anzahl an Schritten : (Erw?rmung)"
1542 +msgstr "Anzahl an Schritten : (Erwärmung)"
1543
1544 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:9
1545 msgid "Number of steps : (simulation)"
1546 @@ -2303,7 +2303,7 @@
1547
1548 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:12
1549 msgid "T relaxation time [fs] : (equil/simul)"
1550 -msgstr "T-Entspannungszeit [fs] : (?quil/Simul)"
1551 +msgstr "T-Entspannungszeit [fs] : (Äquil/Simul)"
1552
1553 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:13
1554 msgid "T relaxation time [fs] : (heat/cool)"
1555 @@ -2332,11 +2332,11 @@
1556
1557 #: ../src/res_gtk/gtk_setup_dialog.glade.h:1
1558 msgid "<b>Select the Engine Class:</b>"
1559 -msgstr "<b>W?hlen Sie die Engine-Klasse aus:</b>"
1560 +msgstr "<b>Wählen Sie die Engine-Klasse aus:</b>"
1561
1562 #: ../src/res_gtk/gtk_setup_dialog.glade.h:2
1563 msgid "<b>Set the spin multiplicity of the system:</b>"
1564 -msgstr "<b>Die Spin-Multiziplit?t des Systems setzen:</b>"
1565 +msgstr "<b>Die Spin-Multiziplität des Systems setzen:</b>"
1566
1567 #: ../src/res_gtk/gtk_setup_dialog.glade.h:3
1568 msgid "<b>Set the total charge of the system:</b>"
1569 @@ -2360,7 +2360,7 @@
1570
1571 #: ../src/res_gtk/gtk_setup_dialog.glade.h:9
1572 msgid "Spin Multiplicity:"
1573 -msgstr "Spin-Multiziplit?t:"
1574 +msgstr "Spin-Multiziplität:"
1575
1576 #: ../src/res_gtk/gtk_setup_dialog.glade.h:10
1577 msgid "Total Charge:"
+0
-16
debian/patches/fix_help_browser.patch less more
0 Description: Fix help browser
1 Bug-Debian: https://bugs.debian.org/687028
2 Author: Michael Banck <mbanck@debian.org>
3 Author: Graham Inggs <ginggs@debian.org>
4 Last-Update: 2017-01-25
5 --- a/src/gtk_app.cpp
6 +++ b/src/gtk_app.cpp
7 @@ -2075,7 +2075,7 @@
8
9 void gtk_app::mainmenu_HelpHelp(gpointer, guint, GtkWidget *)
10 {
11 - ostringstream str; str << "mozilla ";
12 + ostringstream str; str << "sensible-browser ";
13 str << project::appdata_path << DIR_SEPARATOR;
14 str << project::appversion << DIR_SEPARATOR;
15 str << "user-docs/index.html &" << ends;
+0
-26
debian/patches/fix_spelling_errors.patch less more
0 Description: Fix some spelling errors
1 Bug-Debian: https://bugs.debian.org/639321
2 Author: Chris Leick <c.leick@vollbio.de>
3 Last-Update: 2011-08-25
4 --- a/src/project.cpp
5 +++ b/src/project.cpp
6 @@ -953,7 +953,7 @@
7 str << _("> transition_state_search <delta_e> <initial_fc> -- perform a transition state search (for QM methods only).") << endl;
8 str << _("> stationary_state_search <steps> -- perform a search for a structure with no forces.") << endl;
9
10 - str << _("> set_current_orbital <orbital_index> -- set the current orbtal index for plotting the orbitals.") << endl;
11 + str << _("> set_current_orbital <orbital_index> -- set the current orbital index for plotting the orbitals.") << endl;
12
13 str << _("> update_chains -- detect polymer chains using sequence builder.") << endl;
14 str << _("> build_amino <sequence> (helix/strand) -- amino acid sequence builder.") << endl;
15 --- a/src/rcpview_wcl.cpp
16 +++ b/src/rcpview_wcl.cpp
17 @@ -158,7 +158,7 @@
18 project * prj = custom_app::GetAppC()->GetPrj();
19
20 ostringstream txts;
21 - txts << _("the tresholds were set to ") << r_treshold << _(" and ") << p_treshold << endl << ends;
22 + txts << _("the thresholds were set to ") << r_treshold << _(" and ") << p_treshold << endl << ends;
23 prj->PrintToLog(txts.str().c_str());
24
25 ready = true;
+0
-4
debian/patches/series less more
0 fix_de_po.patch
1 fix_help_browser.patch
2 fix_spelling_errors.patch
3 fix_clang_ftbfs.patch
+0
-27
debian/rules less more
0 #!/usr/bin/make -f
1 # Sample debian/rules that uses debhelper.
2 # GNU copyright 1997 to 1999 by Joey Hess.
3
4 #export DH_VERBOSE=1
5
6 VERSION := $(shell dpkg-parsechangelog | sed -n -e 's/^Version: \(.*\)-[^-]*$$/\1/p' )
7
8 LDFLAGS ?=
9 LDFLAGS += -Wl,--as-needed
10
11 %:
12 dh $@
13
14 override_dh_auto_configure:
15 dh_auto_configure -- --enable-threads --enable-openbabel
16
17 override_dh_auto_install:
18 dh_auto_install
19 chrpath -d $(CURDIR)/debian/ghemical/usr/bin/ghemical
20 mv $(CURDIR)/debian/ghemical/usr/share/ghemical/${VERSION}/examples \
21 $(CURDIR)/debian/ghemical/usr/share/doc/ghemical
22 $(RM) $(CURDIR)/debian/ghemical/usr/share/ghemical/${VERSION}/GNULICENSE.txt
23
24 override_dh_link:
25 dh_link /usr/share/ghemical/$(VERSION)/user-docs /usr/share/doc/ghemical/html
26 dh_link /usr/share/ghemical/$(VERSION)/pixmaps/ghemical.png /usr/share/pixmaps/ghemical.png
+0
-1
debian/source/format less more
0 3.0 (quilt)
+0
-4
debian/watch less more
0 # See uscan(1) for format
1
2 version=3
3 http://bioinformatics.org/ghemical/download/current/ghemical-([\d\.]+)\.tar\.gz
0 #! /bin/sh
1
2 # depcomp - compile a program generating dependencies as side-effects
3 # Copyright 1999, 2000, 2003 Free Software Foundation, Inc.
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, or (at your option)
8 # any later version.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU 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
18 # 02111-1307, USA.
19
20 # As a special exception to the GNU General Public License, if you
21 # distribute this file as part of a program that contains a
22 # configuration script generated by Autoconf, you may include it under
23 # the same distribution terms that you use for the rest of that program.
24
25 # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
26
27 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
28 echo "depcomp: Variables source, object and depmode must be set" 1>&2
29 exit 1
30 fi
31 # `libtool' can also be set to `yes' or `no'.
32
33 if test -z "$depfile"; then
34 base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
35 dir=`echo "$object" | sed 's,/.*$,/,'`
36 if test "$dir" = "$object"; then
37 dir=
38 fi
39 # FIXME: should be _deps on DOS.
40 depfile="$dir.deps/$base"
41 fi
42
43 tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
44
45 rm -f "$tmpdepfile"
46
47 # Some modes work just like other modes, but use different flags. We
48 # parameterize here, but still list the modes in the big case below,
49 # to make depend.m4 easier to write. Note that we *cannot* use a case
50 # here, because this file can only contain one case statement.
51 if test "$depmode" = hp; then
52 # HP compiler uses -M and no extra arg.
53 gccflag=-M
54 depmode=gcc
55 fi
56
57 if test "$depmode" = dashXmstdout; then
58 # This is just like dashmstdout with a different argument.
59 dashmflag=-xM
60 depmode=dashmstdout
61 fi
62
63 case "$depmode" in
64 gcc3)
65 ## gcc 3 implements dependency tracking that does exactly what
66 ## we want. Yay! Note: for some reason libtool 1.4 doesn't like
67 ## it if -MD -MP comes after the -MF stuff. Hmm.
68 "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
69 stat=$?
70 if test $stat -eq 0; then :
71 else
72 rm -f "$tmpdepfile"
73 exit $stat
74 fi
75 mv "$tmpdepfile" "$depfile"
76 ;;
77
78 gcc)
79 ## There are various ways to get dependency output from gcc. Here's
80 ## why we pick this rather obscure method:
81 ## - Don't want to use -MD because we'd like the dependencies to end
82 ## up in a subdir. Having to rename by hand is ugly.
83 ## (We might end up doing this anyway to support other compilers.)
84 ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
85 ## -MM, not -M (despite what the docs say).
86 ## - Using -M directly means running the compiler twice (even worse
87 ## than renaming).
88 if test -z "$gccflag"; then
89 gccflag=-MD,
90 fi
91 "$@" -Wp,"$gccflag$tmpdepfile"
92 stat=$?
93 if test $stat -eq 0; then :
94 else
95 rm -f "$tmpdepfile"
96 exit $stat
97 fi
98 rm -f "$depfile"
99 echo "$object : \\" > "$depfile"
100 alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
101 ## The second -e expression handles DOS-style file names with drive letters.
102 sed -e 's/^[^:]*: / /' \
103 -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
104 ## This next piece of magic avoids the `deleted header file' problem.
105 ## The problem is that when a header file which appears in a .P file
106 ## is deleted, the dependency causes make to die (because there is
107 ## typically no way to rebuild the header). We avoid this by adding
108 ## dummy dependencies for each header file. Too bad gcc doesn't do
109 ## this for us directly.
110 tr ' ' '
111 ' < "$tmpdepfile" |
112 ## Some versions of gcc put a space before the `:'. On the theory
113 ## that the space means something, we add a space to the output as
114 ## well.
115 ## Some versions of the HPUX 10.20 sed can't process this invocation
116 ## correctly. Breaking it into two sed invocations is a workaround.
117 sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
118 rm -f "$tmpdepfile"
119 ;;
120
121 hp)
122 # This case exists only to let depend.m4 do its work. It works by
123 # looking at the text of this script. This case will never be run,
124 # since it is checked for above.
125 exit 1
126 ;;
127
128 sgi)
129 if test "$libtool" = yes; then
130 "$@" "-Wp,-MDupdate,$tmpdepfile"
131 else
132 "$@" -MDupdate "$tmpdepfile"
133 fi
134 stat=$?
135 if test $stat -eq 0; then :
136 else
137 rm -f "$tmpdepfile"
138 exit $stat
139 fi
140 rm -f "$depfile"
141
142 if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
143 echo "$object : \\" > "$depfile"
144
145 # Clip off the initial element (the dependent). Don't try to be
146 # clever and replace this with sed code, as IRIX sed won't handle
147 # lines with more than a fixed number of characters (4096 in
148 # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
149 # the IRIX cc adds comments like `#:fec' to the end of the
150 # dependency line.
151 tr ' ' '
152 ' < "$tmpdepfile" \
153 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
154 tr '
155 ' ' ' >> $depfile
156 echo >> $depfile
157
158 # The second pass generates a dummy entry for each header file.
159 tr ' ' '
160 ' < "$tmpdepfile" \
161 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
162 >> $depfile
163 else
164 # The sourcefile does not contain any dependencies, so just
165 # store a dummy comment line, to avoid errors with the Makefile
166 # "include basename.Plo" scheme.
167 echo "#dummy" > "$depfile"
168 fi
169 rm -f "$tmpdepfile"
170 ;;
171
172 aix)
173 # The C for AIX Compiler uses -M and outputs the dependencies
174 # in a .u file. In older versions, this file always lives in the
175 # current directory. Also, the AIX compiler puts `$object:' at the
176 # start of each line; $object doesn't have directory information.
177 # Version 6 uses the directory in both cases.
178 stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
179 tmpdepfile="$stripped.u"
180 if test "$libtool" = yes; then
181 "$@" -Wc,-M
182 else
183 "$@" -M
184 fi
185 stat=$?
186
187 if test -f "$tmpdepfile"; then :
188 else
189 stripped=`echo "$stripped" | sed 's,^.*/,,'`
190 tmpdepfile="$stripped.u"
191 fi
192
193 if test $stat -eq 0; then :
194 else
195 rm -f "$tmpdepfile"
196 exit $stat
197 fi
198
199 if test -f "$tmpdepfile"; then
200 outname="$stripped.o"
201 # Each line is of the form `foo.o: dependent.h'.
202 # Do two passes, one to just change these to
203 # `$object: dependent.h' and one to simply `dependent.h:'.
204 sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
205 sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
206 else
207 # The sourcefile does not contain any dependencies, so just
208 # store a dummy comment line, to avoid errors with the Makefile
209 # "include basename.Plo" scheme.
210 echo "#dummy" > "$depfile"
211 fi
212 rm -f "$tmpdepfile"
213 ;;
214
215 icc)
216 # Intel's C compiler understands `-MD -MF file'. However on
217 # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
218 # ICC 7.0 will fill foo.d with something like
219 # foo.o: sub/foo.c
220 # foo.o: sub/foo.h
221 # which is wrong. We want:
222 # sub/foo.o: sub/foo.c
223 # sub/foo.o: sub/foo.h
224 # sub/foo.c:
225 # sub/foo.h:
226 # ICC 7.1 will output
227 # foo.o: sub/foo.c sub/foo.h
228 # and will wrap long lines using \ :
229 # foo.o: sub/foo.c ... \
230 # sub/foo.h ... \
231 # ...
232
233 "$@" -MD -MF "$tmpdepfile"
234 stat=$?
235 if test $stat -eq 0; then :
236 else
237 rm -f "$tmpdepfile"
238 exit $stat
239 fi
240 rm -f "$depfile"
241 # Each line is of the form `foo.o: dependent.h',
242 # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
243 # Do two passes, one to just change these to
244 # `$object: dependent.h' and one to simply `dependent.h:'.
245 sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
246 # Some versions of the HPUX 10.20 sed can't process this invocation
247 # correctly. Breaking it into two sed invocations is a workaround.
248 sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
249 sed -e 's/$/ :/' >> "$depfile"
250 rm -f "$tmpdepfile"
251 ;;
252
253 tru64)
254 # The Tru64 compiler uses -MD to generate dependencies as a side
255 # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
256 # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
257 # dependencies in `foo.d' instead, so we check for that too.
258 # Subdirectories are respected.
259 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
260 test "x$dir" = "x$object" && dir=
261 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
262
263 if test "$libtool" = yes; then
264 tmpdepfile1="$dir.libs/$base.lo.d"
265 tmpdepfile2="$dir.libs/$base.d"
266 "$@" -Wc,-MD
267 else
268 tmpdepfile1="$dir$base.o.d"
269 tmpdepfile2="$dir$base.d"
270 "$@" -MD
271 fi
272
273 stat=$?
274 if test $stat -eq 0; then :
275 else
276 rm -f "$tmpdepfile1" "$tmpdepfile2"
277 exit $stat
278 fi
279
280 if test -f "$tmpdepfile1"; then
281 tmpdepfile="$tmpdepfile1"
282 else
283 tmpdepfile="$tmpdepfile2"
284 fi
285 if test -f "$tmpdepfile"; then
286 sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
287 # That's a tab and a space in the [].
288 sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
289 else
290 echo "#dummy" > "$depfile"
291 fi
292 rm -f "$tmpdepfile"
293 ;;
294
295 #nosideeffect)
296 # This comment above is used by automake to tell side-effect
297 # dependency tracking mechanisms from slower ones.
298
299 dashmstdout)
300 # Important note: in order to support this mode, a compiler *must*
301 # always write the preprocessed file to stdout, regardless of -o.
302 "$@" || exit $?
303
304 # Remove the call to Libtool.
305 if test "$libtool" = yes; then
306 while test $1 != '--mode=compile'; do
307 shift
308 done
309 shift
310 fi
311
312 # Remove `-o $object'.
313 IFS=" "
314 for arg
315 do
316 case $arg in
317 -o)
318 shift
319 ;;
320 $object)
321 shift
322 ;;
323 *)
324 set fnord "$@" "$arg"
325 shift # fnord
326 shift # $arg
327 ;;
328 esac
329 done
330
331 test -z "$dashmflag" && dashmflag=-M
332 # Require at least two characters before searching for `:'
333 # in the target name. This is to cope with DOS-style filenames:
334 # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
335 "$@" $dashmflag |
336 sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
337 rm -f "$depfile"
338 cat < "$tmpdepfile" > "$depfile"
339 tr ' ' '
340 ' < "$tmpdepfile" | \
341 ## Some versions of the HPUX 10.20 sed can't process this invocation
342 ## correctly. Breaking it into two sed invocations is a workaround.
343 sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
344 rm -f "$tmpdepfile"
345 ;;
346
347 dashXmstdout)
348 # This case only exists to satisfy depend.m4. It is never actually
349 # run, as this mode is specially recognized in the preamble.
350 exit 1
351 ;;
352
353 makedepend)
354 "$@" || exit $?
355 # Remove any Libtool call
356 if test "$libtool" = yes; then
357 while test $1 != '--mode=compile'; do
358 shift
359 done
360 shift
361 fi
362 # X makedepend
363 shift
364 cleared=no
365 for arg in "$@"; do
366 case $cleared in
367 no)
368 set ""; shift
369 cleared=yes ;;
370 esac
371 case "$arg" in
372 -D*|-I*)
373 set fnord "$@" "$arg"; shift ;;
374 # Strip any option that makedepend may not understand. Remove
375 # the object too, otherwise makedepend will parse it as a source file.
376 -*|$object)
377 ;;
378 *)
379 set fnord "$@" "$arg"; shift ;;
380 esac
381 done
382 obj_suffix="`echo $object | sed 's/^.*\././'`"
383 touch "$tmpdepfile"
384 ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
385 rm -f "$depfile"
386 cat < "$tmpdepfile" > "$depfile"
387 sed '1,2d' "$tmpdepfile" | tr ' ' '
388 ' | \
389 ## Some versions of the HPUX 10.20 sed can't process this invocation
390 ## correctly. Breaking it into two sed invocations is a workaround.
391 sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
392 rm -f "$tmpdepfile" "$tmpdepfile".bak
393 ;;
394
395 cpp)
396 # Important note: in order to support this mode, a compiler *must*
397 # always write the preprocessed file to stdout.
398 "$@" || exit $?
399
400 # Remove the call to Libtool.
401 if test "$libtool" = yes; then
402 while test $1 != '--mode=compile'; do
403 shift
404 done
405 shift
406 fi
407
408 # Remove `-o $object'.
409 IFS=" "
410 for arg
411 do
412 case $arg in
413 -o)
414 shift
415 ;;
416 $object)
417 shift
418 ;;
419 *)
420 set fnord "$@" "$arg"
421 shift # fnord
422 shift # $arg
423 ;;
424 esac
425 done
426
427 "$@" -E |
428 sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
429 sed '$ s: \\$::' > "$tmpdepfile"
430 rm -f "$depfile"
431 echo "$object : \\" > "$depfile"
432 cat < "$tmpdepfile" >> "$depfile"
433 sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
434 rm -f "$tmpdepfile"
435 ;;
436
437 msvisualcpp)
438 # Important note: in order to support this mode, a compiler *must*
439 # always write the preprocessed file to stdout, regardless of -o,
440 # because we must use -o when running libtool.
441 "$@" || exit $?
442 IFS=" "
443 for arg
444 do
445 case "$arg" in
446 "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
447 set fnord "$@"
448 shift
449 shift
450 ;;
451 *)
452 set fnord "$@" "$arg"
453 shift
454 shift
455 ;;
456 esac
457 done
458 "$@" -E |
459 sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
460 rm -f "$depfile"
461 echo "$object : \\" > "$depfile"
462 . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
463 echo " " >> "$depfile"
464 . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
465 rm -f "$tmpdepfile"
466 ;;
467
468 none)
469 exec "$@"
470 ;;
471
472 *)
473 echo "Unknown depmode $depmode" 1>&2
474 exit 1
475 ;;
476 esac
477
478 exit 0
0 SUBDIRS = user-docs
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16 VPATH = @srcdir@
17 pkgdatadir = $(datadir)/@PACKAGE@
18 pkgincludedir = $(includedir)/@PACKAGE@
19 pkglibdir = $(libdir)/@PACKAGE@
20 pkglibexecdir = $(libexecdir)/@PACKAGE@
21 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
22 install_sh_DATA = $(install_sh) -c -m 644
23 install_sh_PROGRAM = $(install_sh) -c
24 install_sh_SCRIPT = $(install_sh) -c
25 INSTALL_HEADER = $(INSTALL_DATA)
26 transform = $(program_transform_name)
27 NORMAL_INSTALL = :
28 PRE_INSTALL = :
29 POST_INSTALL = :
30 NORMAL_UNINSTALL = :
31 PRE_UNINSTALL = :
32 POST_UNINSTALL = :
33 build_triplet = @build@
34 host_triplet = @host@
35 subdir = docs
36 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
37 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
38 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
39 $(top_srcdir)/configure.ac
40 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
41 $(ACLOCAL_M4)
42 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
43 CONFIG_HEADER = $(top_builddir)/src/ghemicalconfig.h
44 CONFIG_CLEAN_FILES =
45 CONFIG_CLEAN_VPATH_FILES =
46 SOURCES =
47 DIST_SOURCES =
48 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
49 html-recursive info-recursive install-data-recursive \
50 install-dvi-recursive install-exec-recursive \
51 install-html-recursive install-info-recursive \
52 install-pdf-recursive install-ps-recursive install-recursive \
53 installcheck-recursive installdirs-recursive pdf-recursive \
54 ps-recursive uninstall-recursive
55 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
56 distclean-recursive maintainer-clean-recursive
57 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
58 $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
59 distdir
60 ETAGS = etags
61 CTAGS = ctags
62 DIST_SUBDIRS = $(SUBDIRS)
63 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
64 am__relativize = \
65 dir0=`pwd`; \
66 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
67 sed_rest='s,^[^/]*/*,,'; \
68 sed_last='s,^.*/\([^/]*\)$$,\1,'; \
69 sed_butlast='s,/*[^/]*$$,,'; \
70 while test -n "$$dir1"; do \
71 first=`echo "$$dir1" | sed -e "$$sed_first"`; \
72 if test "$$first" != "."; then \
73 if test "$$first" = ".."; then \
74 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
75 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
76 else \
77 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
78 if test "$$first2" = "$$first"; then \
79 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
80 else \
81 dir2="../$$dir2"; \
82 fi; \
83 dir0="$$dir0"/"$$first"; \
84 fi; \
85 fi; \
86 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
87 done; \
88 reldir="$$dir2"
89 ACLOCAL = @ACLOCAL@
90 ALL_LINGUAS = @ALL_LINGUAS@
91 AMTAR = @AMTAR@
92 APPRELEASEDATE = @APPRELEASEDATE@
93 APPVERSION = @APPVERSION@
94 AR = @AR@
95 AUTOCONF = @AUTOCONF@
96 AUTOHEADER = @AUTOHEADER@
97 AUTOMAKE = @AUTOMAKE@
98 AWK = @AWK@
99 CATALOGS = @CATALOGS@
100 CATOBJEXT = @CATOBJEXT@
101 CC = @CC@
102 CCDEPMODE = @CCDEPMODE@
103 CFLAGS = @CFLAGS@
104 CPP = @CPP@
105 CPPFLAGS = @CPPFLAGS@
106 CXX = @CXX@
107 CXXCPP = @CXXCPP@
108 CXXDEPMODE = @CXXDEPMODE@
109 CXXFLAGS = @CXXFLAGS@
110 CYGPATH_W = @CYGPATH_W@
111 DATADIRNAME = @DATADIRNAME@
112 DEFS = @DEFS@
113 DEPDIR = @DEPDIR@
114 DSYMUTIL = @DSYMUTIL@
115 DUMPBIN = @DUMPBIN@
116 ECHO_C = @ECHO_C@
117 ECHO_N = @ECHO_N@
118 ECHO_T = @ECHO_T@
119 EGREP = @EGREP@
120 EXEEXT = @EXEEXT@
121 FGREP = @FGREP@
122 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
123 GMOFILES = @GMOFILES@
124 GMSGFMT = @GMSGFMT@
125 GREP = @GREP@
126 GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
127 GTHREAD_LIBS = @GTHREAD_LIBS@
128 GTK_CFLAGS = @GTK_CFLAGS@
129 GTK_LIBS = @GTK_LIBS@
130 INSTALL = @INSTALL@
131 INSTALL_DATA = @INSTALL_DATA@
132 INSTALL_PROGRAM = @INSTALL_PROGRAM@
133 INSTALL_SCRIPT = @INSTALL_SCRIPT@
134 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
135 INSTOBJEXT = @INSTOBJEXT@
136 INTLLIBS = @INTLLIBS@
137 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
138 INTLTOOL_MERGE = @INTLTOOL_MERGE@
139 INTLTOOL_PERL = @INTLTOOL_PERL@
140 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
141 LD = @LD@
142 LDFLAGS = @LDFLAGS@
143 LIBGHEMICAL_CFLAGS = @LIBGHEMICAL_CFLAGS@
144 LIBGHEMICAL_LIBS = @LIBGHEMICAL_LIBS@
145 LIBOBJS = @LIBOBJS@
146 LIBS = @LIBS@
147 LIBTOOL = @LIBTOOL@
148 LIPO = @LIPO@
149 LN_S = @LN_S@
150 LTLIBOBJS = @LTLIBOBJS@
151 MAKEINFO = @MAKEINFO@
152 MKDIR_P = @MKDIR_P@
153 MKINSTALLDIRS = @MKINSTALLDIRS@
154 MSGFMT = @MSGFMT@
155 MSGFMT_OPTS = @MSGFMT_OPTS@
156 MSGMERGE = @MSGMERGE@
157 NM = @NM@
158 NMEDIT = @NMEDIT@
159 OBJDUMP = @OBJDUMP@
160 OBJEXT = @OBJEXT@
161 OPENBABEL_CFLAGS = @OPENBABEL_CFLAGS@
162 OPENBABEL_LIBS = @OPENBABEL_LIBS@
163 OTOOL = @OTOOL@
164 OTOOL64 = @OTOOL64@
165 PACKAGE = @PACKAGE@
166 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
167 PACKAGE_NAME = @PACKAGE_NAME@
168 PACKAGE_STRING = @PACKAGE_STRING@
169 PACKAGE_TARNAME = @PACKAGE_TARNAME@
170 PACKAGE_URL = @PACKAGE_URL@
171 PACKAGE_VERSION = @PACKAGE_VERSION@
172 PATH_SEPARATOR = @PATH_SEPARATOR@
173 PKG_CONFIG = @PKG_CONFIG@
174 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
175 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
176 POFILES = @POFILES@
177 POSUB = @POSUB@
178 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
179 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
180 RANLIB = @RANLIB@
181 SED = @SED@
182 SET_MAKE = @SET_MAKE@
183 SHELL = @SHELL@
184 STRIP = @STRIP@
185 USE_NLS = @USE_NLS@
186 VERSION = @VERSION@
187 XGETTEXT = @XGETTEXT@
188 abs_builddir = @abs_builddir@
189 abs_srcdir = @abs_srcdir@
190 abs_top_builddir = @abs_top_builddir@
191 abs_top_srcdir = @abs_top_srcdir@
192 ac_ct_CC = @ac_ct_CC@
193 ac_ct_CXX = @ac_ct_CXX@
194 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
195 am__include = @am__include@
196 am__leading_dot = @am__leading_dot@
197 am__quote = @am__quote@
198 am__tar = @am__tar@
199 am__untar = @am__untar@
200 bindir = @bindir@
201 build = @build@
202 build_alias = @build_alias@
203 build_cpu = @build_cpu@
204 build_os = @build_os@
205 build_vendor = @build_vendor@
206 builddir = @builddir@
207 datadir = @datadir@
208 datarootdir = @datarootdir@
209 docdir = @docdir@
210 dvidir = @dvidir@
211 exec_prefix = @exec_prefix@
212 host = @host@
213 host_alias = @host_alias@
214 host_cpu = @host_cpu@
215 host_os = @host_os@
216 host_vendor = @host_vendor@
217 htmldir = @htmldir@
218 includedir = @includedir@
219 infodir = @infodir@
220 install_sh = @install_sh@
221 libdir = @libdir@
222 libexecdir = @libexecdir@
223 localedir = @localedir@
224 localstatedir = @localstatedir@
225 lt_ECHO = @lt_ECHO@
226 mandir = @mandir@
227 mkdir_p = @mkdir_p@
228 oldincludedir = @oldincludedir@
229 pdfdir = @pdfdir@
230 prefix = @prefix@
231 program_transform_name = @program_transform_name@
232 psdir = @psdir@
233 sbindir = @sbindir@
234 sharedstatedir = @sharedstatedir@
235 srcdir = @srcdir@
236 sysconfdir = @sysconfdir@
237 target_alias = @target_alias@
238 top_build_prefix = @top_build_prefix@
239 top_builddir = @top_builddir@
240 top_builddir_ = @top_builddir_@
241 top_srcdir = @top_srcdir@
242 SUBDIRS = user-docs
243 all: all-recursive
244
245 .SUFFIXES:
246 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
247 @for dep in $?; do \
248 case '$(am__configure_deps)' in \
249 *$$dep*) \
250 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
251 && { if test -f $@; then exit 0; else break; fi; }; \
252 exit 1;; \
253 esac; \
254 done; \
255 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile'; \
256 $(am__cd) $(top_srcdir) && \
257 $(AUTOMAKE) --gnu docs/Makefile
258 .PRECIOUS: Makefile
259 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
260 @case '$?' in \
261 *config.status*) \
262 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
263 *) \
264 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
265 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
266 esac;
267
268 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
269 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
270
271 $(top_srcdir)/configure: $(am__configure_deps)
272 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
273 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
274 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
275 $(am__aclocal_m4_deps):
276
277 mostlyclean-libtool:
278 -rm -f *.lo
279
280 clean-libtool:
281 -rm -rf .libs _libs
282
283 # This directory's subdirectories are mostly independent; you can cd
284 # into them and run `make' without going through this Makefile.
285 # To change the values of `make' variables: instead of editing Makefiles,
286 # (1) if the variable is set in `config.status', edit `config.status'
287 # (which will cause the Makefiles to be regenerated when you run `make');
288 # (2) otherwise, pass the desired values on the `make' command line.
289 $(RECURSIVE_TARGETS):
290 @fail= failcom='exit 1'; \
291 for f in x $$MAKEFLAGS; do \
292 case $$f in \
293 *=* | --[!k]*);; \
294 *k*) failcom='fail=yes';; \
295 esac; \
296 done; \
297 dot_seen=no; \
298 target=`echo $@ | sed s/-recursive//`; \
299 list='$(SUBDIRS)'; for subdir in $$list; do \
300 echo "Making $$target in $$subdir"; \
301 if test "$$subdir" = "."; then \
302 dot_seen=yes; \
303 local_target="$$target-am"; \
304 else \
305 local_target="$$target"; \
306 fi; \
307 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
308 || eval $$failcom; \
309 done; \
310 if test "$$dot_seen" = "no"; then \
311 $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
312 fi; test -z "$$fail"
313
314 $(RECURSIVE_CLEAN_TARGETS):
315 @fail= failcom='exit 1'; \
316 for f in x $$MAKEFLAGS; do \
317 case $$f in \
318 *=* | --[!k]*);; \
319 *k*) failcom='fail=yes';; \
320 esac; \
321 done; \
322 dot_seen=no; \
323 case "$@" in \
324 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
325 *) list='$(SUBDIRS)' ;; \
326 esac; \
327 rev=''; for subdir in $$list; do \
328 if test "$$subdir" = "."; then :; else \
329 rev="$$subdir $$rev"; \
330 fi; \
331 done; \
332 rev="$$rev ."; \
333 target=`echo $@ | sed s/-recursive//`; \
334 for subdir in $$rev; do \
335 echo "Making $$target in $$subdir"; \
336 if test "$$subdir" = "."; then \
337 local_target="$$target-am"; \
338 else \
339 local_target="$$target"; \
340 fi; \
341 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
342 || eval $$failcom; \
343 done && test -z "$$fail"
344 tags-recursive:
345 list='$(SUBDIRS)'; for subdir in $$list; do \
346 test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
347 done
348 ctags-recursive:
349 list='$(SUBDIRS)'; for subdir in $$list; do \
350 test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
351 done
352
353 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
354 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
355 unique=`for i in $$list; do \
356 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
357 done | \
358 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
359 END { if (nonempty) { for (i in files) print i; }; }'`; \
360 mkid -fID $$unique
361 tags: TAGS
362
363 TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
364 $(TAGS_FILES) $(LISP)
365 set x; \
366 here=`pwd`; \
367 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
368 include_option=--etags-include; \
369 empty_fix=.; \
370 else \
371 include_option=--include; \
372 empty_fix=; \
373 fi; \
374 list='$(SUBDIRS)'; for subdir in $$list; do \
375 if test "$$subdir" = .; then :; else \
376 test ! -f $$subdir/TAGS || \
377 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
378 fi; \
379 done; \
380 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
381 unique=`for i in $$list; do \
382 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
383 done | \
384 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
385 END { if (nonempty) { for (i in files) print i; }; }'`; \
386 shift; \
387 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
388 test -n "$$unique" || unique=$$empty_fix; \
389 if test $$# -gt 0; then \
390 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
391 "$$@" $$unique; \
392 else \
393 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
394 $$unique; \
395 fi; \
396 fi
397 ctags: CTAGS
398 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
399 $(TAGS_FILES) $(LISP)
400 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
401 unique=`for i in $$list; do \
402 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
403 done | \
404 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
405 END { if (nonempty) { for (i in files) print i; }; }'`; \
406 test -z "$(CTAGS_ARGS)$$unique" \
407 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
408 $$unique
409
410 GTAGS:
411 here=`$(am__cd) $(top_builddir) && pwd` \
412 && $(am__cd) $(top_srcdir) \
413 && gtags -i $(GTAGS_ARGS) "$$here"
414
415 distclean-tags:
416 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
417
418 distdir: $(DISTFILES)
419 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
420 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
421 list='$(DISTFILES)'; \
422 dist_files=`for file in $$list; do echo $$file; done | \
423 sed -e "s|^$$srcdirstrip/||;t" \
424 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
425 case $$dist_files in \
426 */*) $(MKDIR_P) `echo "$$dist_files" | \
427 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
428 sort -u` ;; \
429 esac; \
430 for file in $$dist_files; do \
431 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
432 if test -d $$d/$$file; then \
433 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
434 if test -d "$(distdir)/$$file"; then \
435 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
436 fi; \
437 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
438 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
439 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
440 fi; \
441 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
442 else \
443 test -f "$(distdir)/$$file" \
444 || cp -p $$d/$$file "$(distdir)/$$file" \
445 || exit 1; \
446 fi; \
447 done
448 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
449 if test "$$subdir" = .; then :; else \
450 test -d "$(distdir)/$$subdir" \
451 || $(MKDIR_P) "$(distdir)/$$subdir" \
452 || exit 1; \
453 fi; \
454 done
455 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
456 if test "$$subdir" = .; then :; else \
457 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
458 $(am__relativize); \
459 new_distdir=$$reldir; \
460 dir1=$$subdir; dir2="$(top_distdir)"; \
461 $(am__relativize); \
462 new_top_distdir=$$reldir; \
463 echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
464 echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
465 ($(am__cd) $$subdir && \
466 $(MAKE) $(AM_MAKEFLAGS) \
467 top_distdir="$$new_top_distdir" \
468 distdir="$$new_distdir" \
469 am__remove_distdir=: \
470 am__skip_length_check=: \
471 am__skip_mode_fix=: \
472 distdir) \
473 || exit 1; \
474 fi; \
475 done
476 check-am: all-am
477 check: check-recursive
478 all-am: Makefile
479 installdirs: installdirs-recursive
480 installdirs-am:
481 install: install-recursive
482 install-exec: install-exec-recursive
483 install-data: install-data-recursive
484 uninstall: uninstall-recursive
485
486 install-am: all-am
487 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
488
489 installcheck: installcheck-recursive
490 install-strip:
491 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
492 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
493 `test -z '$(STRIP)' || \
494 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
495 mostlyclean-generic:
496
497 clean-generic:
498
499 distclean-generic:
500 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
501 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
502
503 maintainer-clean-generic:
504 @echo "This command is intended for maintainers to use"
505 @echo "it deletes files that may require special tools to rebuild."
506 clean: clean-recursive
507
508 clean-am: clean-generic clean-libtool mostlyclean-am
509
510 distclean: distclean-recursive
511 -rm -f Makefile
512 distclean-am: clean-am distclean-generic distclean-tags
513
514 dvi: dvi-recursive
515
516 dvi-am:
517
518 html: html-recursive
519
520 html-am:
521
522 info: info-recursive
523
524 info-am:
525
526 install-data-am:
527
528 install-dvi: install-dvi-recursive
529
530 install-dvi-am:
531
532 install-exec-am:
533
534 install-html: install-html-recursive
535
536 install-html-am:
537
538 install-info: install-info-recursive
539
540 install-info-am:
541
542 install-man:
543
544 install-pdf: install-pdf-recursive
545
546 install-pdf-am:
547
548 install-ps: install-ps-recursive
549
550 install-ps-am:
551
552 installcheck-am:
553
554 maintainer-clean: maintainer-clean-recursive
555 -rm -f Makefile
556 maintainer-clean-am: distclean-am maintainer-clean-generic
557
558 mostlyclean: mostlyclean-recursive
559
560 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
561
562 pdf: pdf-recursive
563
564 pdf-am:
565
566 ps: ps-recursive
567
568 ps-am:
569
570 uninstall-am:
571
572 .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
573 install-am install-strip tags-recursive
574
575 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
576 all all-am check check-am clean clean-generic clean-libtool \
577 ctags ctags-recursive distclean distclean-generic \
578 distclean-libtool distclean-tags distdir dvi dvi-am html \
579 html-am info info-am install install-am install-data \
580 install-data-am install-dvi install-dvi-am install-exec \
581 install-exec-am install-html install-html-am install-info \
582 install-info-am install-man install-pdf install-pdf-am \
583 install-ps install-ps-am install-strip installcheck \
584 installcheck-am installdirs installdirs-am maintainer-clean \
585 maintainer-clean-generic mostlyclean mostlyclean-generic \
586 mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
587 uninstall uninstall-am
588
589
590 # Tell versions [3.59,3.63) of GNU make to not export all variables.
591 # Otherwise a system limit (for SysV at least) may be exceeded.
592 .NOEXPORT:
0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1 <html>
2 <head>
3 <link href="documentation.css" rel="stylesheet" type="text/css">
4 <title>Ghemical User Documentatation: Molecular Dynamics</title>
5 </head>
6 <body>
7
8 <h1>2.1.9 Molecular Dynamics</h1>
9
10 <p> The molecular dynamics feature allows the simulation of the Newtonian
11 mechanics of a molecule. The molecule should be Geometry Optimized before
12 starting the simulation. When the Molecular Dynamics option is selected from
13 the popup menu a dialog box will appear.</p>
14 <img src="images/md_dialog.png" width="493" height="197"
15 alt="Image of the Molecular Dynamics Dialog">
16
17 <p> This box will contain four fields. The "Number of steps :" is the number
18 of iterations the simulation should continue for. A large number of steps
19 will allow the simulation to cover a greater portion of the conformational
20 space, however it it will also take longer to compute. The default number
21 of steps is 10000.</p>
22
23 <p>The second field is the temperature. A higher temperature will mean that
24 the bonds can be stretched and bent further than a lower temperature, thus
25 allowing the molecule to adopt different conformations. The default temperature
26 is 300 K.</p>
27
28 <p> The "Time Step" field is the length of time between each step in fentoseconds.
29 A small length of time will be more accurate and provide a more detailed
30 view the the dynamics of the molecule, however a smaller area of conformational
31 space will be shown. The default setting is 0.5 fs.</p>
32
33 <p>The "Trajectory File" field is the file where Ghemical will save the data
34 generated by this calculation. You can review the trajecorty file afterwards
35 using the MD Trajectory viewer. The field should typically be changed to
36 a filename related to the molecule you are working with. (ie ethane1.traj).
37 The default setting is untitled.traj.</p>
38
39 <p> Once you are done changing the settings press the Ok button to start
40 the calculation. Depending on the molecule and the settings you chose this
41 calculation may take a considerable amount of time.</p>
42
43 <p>You will see the bonds of the molecule stretching and bending to adopt
44 different conformations in the graphical window. In the console window the
45 amount of time (in fentoseconds) that the simulation has run for will be
46 printed on each line as well as the temperature in Kelvin (this is calculated
47 from the kinetic energy of the molecule), the potential energy and the total
48 energy (kinetic plus potential energies).</p>
49
50 <p>After the calculation has completed you may view it in the <a
51 href="MD_viewer.html" name="MD Trajectory Viewer">MD Trajectory Viewer</a></p>
52
53 <hr> <br>
54 <a href="index.html">Return to index</a> <br>
55 </body>
56 </html>
0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1 <html>
2 <head>
3 <link href="documentation.css" rel="stylesheet" type="text/css">
4 <title>Ghemical User Documentation: MD Trajectory Viewer</title>
5 </head>
6 <body>
7
8 <h1>2.1.10 MD Trajectory Viewer</h1>
9
10 <p>Once your have created a trajectory file with the Molecular Dynamics feature
11 you may view the trajectory file it produced using the MD Trajectory viewer.
12 To start the viewer, select MD Trajectory Viewer from the popup menu This
13 will open a file selection dialog. Select the trajectory file you want to
14 view in this box and then click on Ok. Make sure the trajectory file was
15 produced using the same molecule, otherwise Ghemical will close.</p>
16
17 <p> A dialog box titled Trajectory Viewer should appear. The buttons in this
18 box control which step of the simulation is shown in the graphics window
19 of Ghemical. The begin button rewinds the simulation back to the first step.
20 The Prev button displays the previous step in the simulation. The Next button
21 advances to the next step. The Play button displays every frame in the simulation
22 from the beginning to the end. The End button advances to the last frame
23 in the simulation. </p>
24 <img src="images/traj_dialog.png"
25 alt="Screenshot of the MD Trajectory Viewer Dialog">
26
27 <p> When you are done viewing the trajectory click the Close button to close
28 the dialog box. While the trajectory viewer is open you will not be able
29 to make changes on the main Ghemical window, so you should orient the molecule
30 to the perspective that you want to view it at before you open the viewer.</p>
31
32 <hr> <br>
33 <a href="index.html">Return to index</a> <br>
34 </body>
35 </html>
0 SUBDIRS = images
1
2 helpfilesdir = $(datadir)/ghemical/@APPVERSION@/user-docs
3 helpfiles_DATA = *.css *.html
4
5 EXTRA_DIST = $(helpfiles_DATA)
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16
17 VPATH = @srcdir@
18 pkgdatadir = $(datadir)/@PACKAGE@
19 pkgincludedir = $(includedir)/@PACKAGE@
20 pkglibdir = $(libdir)/@PACKAGE@
21 pkglibexecdir = $(libexecdir)/@PACKAGE@
22 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
23 install_sh_DATA = $(install_sh) -c -m 644
24 install_sh_PROGRAM = $(install_sh) -c
25 install_sh_SCRIPT = $(install_sh) -c
26 INSTALL_HEADER = $(INSTALL_DATA)
27 transform = $(program_transform_name)
28 NORMAL_INSTALL = :
29 PRE_INSTALL = :
30 POST_INSTALL = :
31 NORMAL_UNINSTALL = :
32 PRE_UNINSTALL = :
33 POST_UNINSTALL = :
34 build_triplet = @build@
35 host_triplet = @host@
36 subdir = docs/user-docs
37 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
38 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
39 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
40 $(top_srcdir)/configure.ac
41 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
42 $(ACLOCAL_M4)
43 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
44 CONFIG_HEADER = $(top_builddir)/src/ghemicalconfig.h
45 CONFIG_CLEAN_FILES =
46 CONFIG_CLEAN_VPATH_FILES =
47 SOURCES =
48 DIST_SOURCES =
49 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
50 html-recursive info-recursive install-data-recursive \
51 install-dvi-recursive install-exec-recursive \
52 install-html-recursive install-info-recursive \
53 install-pdf-recursive install-ps-recursive install-recursive \
54 installcheck-recursive installdirs-recursive pdf-recursive \
55 ps-recursive uninstall-recursive
56 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
57 am__vpath_adj = case $$p in \
58 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
59 *) f=$$p;; \
60 esac;
61 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
62 am__install_max = 40
63 am__nobase_strip_setup = \
64 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
65 am__nobase_strip = \
66 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
67 am__nobase_list = $(am__nobase_strip_setup); \
68 for p in $$list; do echo "$$p $$p"; done | \
69 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
70 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
71 if (++n[$$2] == $(am__install_max)) \
72 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
73 END { for (dir in files) print dir, files[dir] }'
74 am__base_list = \
75 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
76 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
77 am__installdirs = "$(DESTDIR)$(helpfilesdir)"
78 DATA = $(helpfiles_DATA)
79 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
80 distclean-recursive maintainer-clean-recursive
81 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
82 $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
83 distdir
84 ETAGS = etags
85 CTAGS = ctags
86 DIST_SUBDIRS = $(SUBDIRS)
87 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
88 am__relativize = \
89 dir0=`pwd`; \
90 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
91 sed_rest='s,^[^/]*/*,,'; \
92 sed_last='s,^.*/\([^/]*\)$$,\1,'; \
93 sed_butlast='s,/*[^/]*$$,,'; \
94 while test -n "$$dir1"; do \
95 first=`echo "$$dir1" | sed -e "$$sed_first"`; \
96 if test "$$first" != "."; then \
97 if test "$$first" = ".."; then \
98 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
99 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
100 else \
101 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
102 if test "$$first2" = "$$first"; then \
103 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
104 else \
105 dir2="../$$dir2"; \
106 fi; \
107 dir0="$$dir0"/"$$first"; \
108 fi; \
109 fi; \
110 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
111 done; \
112 reldir="$$dir2"
113 ACLOCAL = @ACLOCAL@
114 ALL_LINGUAS = @ALL_LINGUAS@
115 AMTAR = @AMTAR@
116 APPRELEASEDATE = @APPRELEASEDATE@
117 APPVERSION = @APPVERSION@
118 AR = @AR@
119 AUTOCONF = @AUTOCONF@
120 AUTOHEADER = @AUTOHEADER@
121 AUTOMAKE = @AUTOMAKE@
122 AWK = @AWK@
123 CATALOGS = @CATALOGS@
124 CATOBJEXT = @CATOBJEXT@
125 CC = @CC@
126 CCDEPMODE = @CCDEPMODE@
127 CFLAGS = @CFLAGS@
128 CPP = @CPP@
129 CPPFLAGS = @CPPFLAGS@
130 CXX = @CXX@
131 CXXCPP = @CXXCPP@
132 CXXDEPMODE = @CXXDEPMODE@
133 CXXFLAGS = @CXXFLAGS@
134 CYGPATH_W = @CYGPATH_W@
135 DATADIRNAME = @DATADIRNAME@
136 DEFS = @DEFS@
137 DEPDIR = @DEPDIR@
138 DSYMUTIL = @DSYMUTIL@
139 DUMPBIN = @DUMPBIN@
140 ECHO_C = @ECHO_C@
141 ECHO_N = @ECHO_N@
142 ECHO_T = @ECHO_T@
143 EGREP = @EGREP@
144 EXEEXT = @EXEEXT@
145 FGREP = @FGREP@
146 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
147 GMOFILES = @GMOFILES@
148 GMSGFMT = @GMSGFMT@
149 GREP = @GREP@
150 GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
151 GTHREAD_LIBS = @GTHREAD_LIBS@
152 GTK_CFLAGS = @GTK_CFLAGS@
153 GTK_LIBS = @GTK_LIBS@
154 INSTALL = @INSTALL@
155 INSTALL_DATA = @INSTALL_DATA@
156 INSTALL_PROGRAM = @INSTALL_PROGRAM@
157 INSTALL_SCRIPT = @INSTALL_SCRIPT@
158 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
159 INSTOBJEXT = @INSTOBJEXT@
160 INTLLIBS = @INTLLIBS@
161 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
162 INTLTOOL_MERGE = @INTLTOOL_MERGE@
163 INTLTOOL_PERL = @INTLTOOL_PERL@
164 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
165 LD = @LD@
166 LDFLAGS = @LDFLAGS@
167 LIBGHEMICAL_CFLAGS = @LIBGHEMICAL_CFLAGS@
168 LIBGHEMICAL_LIBS = @LIBGHEMICAL_LIBS@
169 LIBOBJS = @LIBOBJS@
170 LIBS = @LIBS@
171 LIBTOOL = @LIBTOOL@
172 LIPO = @LIPO@
173 LN_S = @LN_S@
174 LTLIBOBJS = @LTLIBOBJS@
175 MAKEINFO = @MAKEINFO@
176 MKDIR_P = @MKDIR_P@
177 MKINSTALLDIRS = @MKINSTALLDIRS@
178 MSGFMT = @MSGFMT@
179 MSGFMT_OPTS = @MSGFMT_OPTS@
180 MSGMERGE = @MSGMERGE@
181 NM = @NM@
182 NMEDIT = @NMEDIT@
183 OBJDUMP = @OBJDUMP@
184 OBJEXT = @OBJEXT@
185 OPENBABEL_CFLAGS = @OPENBABEL_CFLAGS@
186 OPENBABEL_LIBS = @OPENBABEL_LIBS@
187 OTOOL = @OTOOL@
188 OTOOL64 = @OTOOL64@
189 PACKAGE = @PACKAGE@
190 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
191 PACKAGE_NAME = @PACKAGE_NAME@
192 PACKAGE_STRING = @PACKAGE_STRING@
193 PACKAGE_TARNAME = @PACKAGE_TARNAME@
194 PACKAGE_URL = @PACKAGE_URL@
195 PACKAGE_VERSION = @PACKAGE_VERSION@
196 PATH_SEPARATOR = @PATH_SEPARATOR@
197 PKG_CONFIG = @PKG_CONFIG@
198 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
199 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
200 POFILES = @POFILES@
201 POSUB = @POSUB@
202 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
203 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
204 RANLIB = @RANLIB@
205 SED = @SED@
206 SET_MAKE = @SET_MAKE@
207 SHELL = @SHELL@
208 STRIP = @STRIP@
209 USE_NLS = @USE_NLS@
210 VERSION = @VERSION@
211 XGETTEXT = @XGETTEXT@
212 abs_builddir = @abs_builddir@
213 abs_srcdir = @abs_srcdir@
214 abs_top_builddir = @abs_top_builddir@
215 abs_top_srcdir = @abs_top_srcdir@
216 ac_ct_CC = @ac_ct_CC@
217 ac_ct_CXX = @ac_ct_CXX@
218 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
219 am__include = @am__include@
220 am__leading_dot = @am__leading_dot@
221 am__quote = @am__quote@
222 am__tar = @am__tar@
223 am__untar = @am__untar@
224 bindir = @bindir@
225 build = @build@
226 build_alias = @build_alias@
227 build_cpu = @build_cpu@
228 build_os = @build_os@
229 build_vendor = @build_vendor@
230 builddir = @builddir@
231 datadir = @datadir@
232 datarootdir = @datarootdir@
233 docdir = @docdir@
234 dvidir = @dvidir@
235 exec_prefix = @exec_prefix@
236 host = @host@
237 host_alias = @host_alias@
238 host_cpu = @host_cpu@
239 host_os = @host_os@
240 host_vendor = @host_vendor@
241 htmldir = @htmldir@
242 includedir = @includedir@
243 infodir = @infodir@
244 install_sh = @install_sh@
245 libdir = @libdir@
246 libexecdir = @libexecdir@
247 localedir = @localedir@
248 localstatedir = @localstatedir@
249 lt_ECHO = @lt_ECHO@
250 mandir = @mandir@
251 mkdir_p = @mkdir_p@
252 oldincludedir = @oldincludedir@
253 pdfdir = @pdfdir@
254 prefix = @prefix@
255 program_transform_name = @program_transform_name@
256 psdir = @psdir@
257 sbindir = @sbindir@
258 sharedstatedir = @sharedstatedir@
259 srcdir = @srcdir@
260 sysconfdir = @sysconfdir@
261 target_alias = @target_alias@
262 top_build_prefix = @top_build_prefix@
263 top_builddir = @top_builddir@
264 top_builddir_ = @top_builddir_@
265 top_srcdir = @top_srcdir@
266 SUBDIRS = images
267 helpfilesdir = $(datadir)/ghemical/@APPVERSION@/user-docs
268 helpfiles_DATA = *.css *.html
269 EXTRA_DIST = $(helpfiles_DATA)
270 all: all-recursive
271
272 .SUFFIXES:
273 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
274 @for dep in $?; do \
275 case '$(am__configure_deps)' in \
276 *$$dep*) \
277 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
278 && { if test -f $@; then exit 0; else break; fi; }; \
279 exit 1;; \
280 esac; \
281 done; \
282 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/user-docs/Makefile'; \
283 $(am__cd) $(top_srcdir) && \
284 $(AUTOMAKE) --gnu docs/user-docs/Makefile
285 .PRECIOUS: Makefile
286 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
287 @case '$?' in \
288 *config.status*) \
289 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
290 *) \
291 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
292 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
293 esac;
294
295 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
296 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
297
298 $(top_srcdir)/configure: $(am__configure_deps)
299 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
300 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
301 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
302 $(am__aclocal_m4_deps):
303
304 mostlyclean-libtool:
305 -rm -f *.lo
306
307 clean-libtool:
308 -rm -rf .libs _libs
309 install-helpfilesDATA: $(helpfiles_DATA)
310 @$(NORMAL_INSTALL)
311 test -z "$(helpfilesdir)" || $(MKDIR_P) "$(DESTDIR)$(helpfilesdir)"
312 @list='$(helpfiles_DATA)'; test -n "$(helpfilesdir)" || list=; \
313 for p in $$list; do \
314 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
315 echo "$$d$$p"; \
316 done | $(am__base_list) | \
317 while read files; do \
318 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(helpfilesdir)'"; \
319 $(INSTALL_DATA) $$files "$(DESTDIR)$(helpfilesdir)" || exit $$?; \
320 done
321
322 uninstall-helpfilesDATA:
323 @$(NORMAL_UNINSTALL)
324 @list='$(helpfiles_DATA)'; test -n "$(helpfilesdir)" || list=; \
325 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
326 test -n "$$files" || exit 0; \
327 echo " ( cd '$(DESTDIR)$(helpfilesdir)' && rm -f" $$files ")"; \
328 cd "$(DESTDIR)$(helpfilesdir)" && rm -f $$files
329
330 # This directory's subdirectories are mostly independent; you can cd
331 # into them and run `make' without going through this Makefile.
332 # To change the values of `make' variables: instead of editing Makefiles,
333 # (1) if the variable is set in `config.status', edit `config.status'
334 # (which will cause the Makefiles to be regenerated when you run `make');
335 # (2) otherwise, pass the desired values on the `make' command line.
336 $(RECURSIVE_TARGETS):
337 @fail= failcom='exit 1'; \
338 for f in x $$MAKEFLAGS; do \
339 case $$f in \
340 *=* | --[!k]*);; \
341 *k*) failcom='fail=yes';; \
342 esac; \
343 done; \
344 dot_seen=no; \
345 target=`echo $@ | sed s/-recursive//`; \
346 list='$(SUBDIRS)'; for subdir in $$list; do \
347 echo "Making $$target in $$subdir"; \
348 if test "$$subdir" = "."; then \
349 dot_seen=yes; \
350 local_target="$$target-am"; \
351 else \
352 local_target="$$target"; \
353 fi; \
354 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
355 || eval $$failcom; \
356 done; \
357 if test "$$dot_seen" = "no"; then \
358 $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
359 fi; test -z "$$fail"
360
361 $(RECURSIVE_CLEAN_TARGETS):
362 @fail= failcom='exit 1'; \
363 for f in x $$MAKEFLAGS; do \
364 case $$f in \
365 *=* | --[!k]*);; \
366 *k*) failcom='fail=yes';; \
367 esac; \
368 done; \
369 dot_seen=no; \
370 case "$@" in \
371 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
372 *) list='$(SUBDIRS)' ;; \
373 esac; \
374 rev=''; for subdir in $$list; do \
375 if test "$$subdir" = "."; then :; else \
376 rev="$$subdir $$rev"; \
377 fi; \
378 done; \
379 rev="$$rev ."; \
380 target=`echo $@ | sed s/-recursive//`; \
381 for subdir in $$rev; do \
382 echo "Making $$target in $$subdir"; \
383 if test "$$subdir" = "."; then \
384 local_target="$$target-am"; \
385 else \
386 local_target="$$target"; \
387 fi; \
388 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
389 || eval $$failcom; \
390 done && test -z "$$fail"
391 tags-recursive:
392 list='$(SUBDIRS)'; for subdir in $$list; do \
393 test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
394 done
395 ctags-recursive:
396 list='$(SUBDIRS)'; for subdir in $$list; do \
397 test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
398 done
399
400 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
401 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
402 unique=`for i in $$list; do \
403 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
404 done | \
405 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
406 END { if (nonempty) { for (i in files) print i; }; }'`; \
407 mkid -fID $$unique
408 tags: TAGS
409
410 TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
411 $(TAGS_FILES) $(LISP)
412 set x; \
413 here=`pwd`; \
414 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
415 include_option=--etags-include; \
416 empty_fix=.; \
417 else \
418 include_option=--include; \
419 empty_fix=; \
420 fi; \
421 list='$(SUBDIRS)'; for subdir in $$list; do \
422 if test "$$subdir" = .; then :; else \
423 test ! -f $$subdir/TAGS || \
424 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
425 fi; \
426 done; \
427 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
428 unique=`for i in $$list; do \
429 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
430 done | \
431 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
432 END { if (nonempty) { for (i in files) print i; }; }'`; \
433 shift; \
434 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
435 test -n "$$unique" || unique=$$empty_fix; \
436 if test $$# -gt 0; then \
437 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
438 "$$@" $$unique; \
439 else \
440 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
441 $$unique; \
442 fi; \
443 fi
444 ctags: CTAGS
445 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
446 $(TAGS_FILES) $(LISP)
447 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
448 unique=`for i in $$list; do \
449 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
450 done | \
451 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
452 END { if (nonempty) { for (i in files) print i; }; }'`; \
453 test -z "$(CTAGS_ARGS)$$unique" \
454 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
455 $$unique
456
457 GTAGS:
458 here=`$(am__cd) $(top_builddir) && pwd` \
459 && $(am__cd) $(top_srcdir) \
460 && gtags -i $(GTAGS_ARGS) "$$here"
461
462 distclean-tags:
463 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
464
465 distdir: $(DISTFILES)
466 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
467 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
468 list='$(DISTFILES)'; \
469 dist_files=`for file in $$list; do echo $$file; done | \
470 sed -e "s|^$$srcdirstrip/||;t" \
471 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
472 case $$dist_files in \
473 */*) $(MKDIR_P) `echo "$$dist_files" | \
474 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
475 sort -u` ;; \
476 esac; \
477 for file in $$dist_files; do \
478 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
479 if test -d $$d/$$file; then \
480 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
481 if test -d "$(distdir)/$$file"; then \
482 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
483 fi; \
484 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
485 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
486 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
487 fi; \
488 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
489 else \
490 test -f "$(distdir)/$$file" \
491 || cp -p $$d/$$file "$(distdir)/$$file" \
492 || exit 1; \
493 fi; \
494 done
495 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
496 if test "$$subdir" = .; then :; else \
497 test -d "$(distdir)/$$subdir" \
498 || $(MKDIR_P) "$(distdir)/$$subdir" \
499 || exit 1; \
500 fi; \
501 done
502 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
503 if test "$$subdir" = .; then :; else \
504 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
505 $(am__relativize); \
506 new_distdir=$$reldir; \
507 dir1=$$subdir; dir2="$(top_distdir)"; \
508 $(am__relativize); \
509 new_top_distdir=$$reldir; \
510 echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
511 echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
512 ($(am__cd) $$subdir && \
513 $(MAKE) $(AM_MAKEFLAGS) \
514 top_distdir="$$new_top_distdir" \
515 distdir="$$new_distdir" \
516 am__remove_distdir=: \
517 am__skip_length_check=: \
518 am__skip_mode_fix=: \
519 distdir) \
520 || exit 1; \
521 fi; \
522 done
523 check-am: all-am
524 check: check-recursive
525 all-am: Makefile $(DATA)
526 installdirs: installdirs-recursive
527 installdirs-am:
528 for dir in "$(DESTDIR)$(helpfilesdir)"; do \
529 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
530 done
531 install: install-recursive
532 install-exec: install-exec-recursive
533 install-data: install-data-recursive
534 uninstall: uninstall-recursive
535
536 install-am: all-am
537 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
538
539 installcheck: installcheck-recursive
540 install-strip:
541 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
542 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
543 `test -z '$(STRIP)' || \
544 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
545 mostlyclean-generic:
546
547 clean-generic:
548
549 distclean-generic:
550 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
551 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
552
553 maintainer-clean-generic:
554 @echo "This command is intended for maintainers to use"
555 @echo "it deletes files that may require special tools to rebuild."
556 clean: clean-recursive
557
558 clean-am: clean-generic clean-libtool mostlyclean-am
559
560 distclean: distclean-recursive
561 -rm -f Makefile
562 distclean-am: clean-am distclean-generic distclean-tags
563
564 dvi: dvi-recursive
565
566 dvi-am:
567
568 html: html-recursive
569
570 html-am:
571
572 info: info-recursive
573
574 info-am:
575
576 install-data-am: install-helpfilesDATA
577
578 install-dvi: install-dvi-recursive
579
580 install-dvi-am:
581
582 install-exec-am:
583
584 install-html: install-html-recursive
585
586 install-html-am:
587
588 install-info: install-info-recursive
589
590 install-info-am:
591
592 install-man:
593
594 install-pdf: install-pdf-recursive
595
596 install-pdf-am:
597
598 install-ps: install-ps-recursive
599
600 install-ps-am:
601
602 installcheck-am:
603
604 maintainer-clean: maintainer-clean-recursive
605 -rm -f Makefile
606 maintainer-clean-am: distclean-am maintainer-clean-generic
607
608 mostlyclean: mostlyclean-recursive
609
610 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
611
612 pdf: pdf-recursive
613
614 pdf-am:
615
616 ps: ps-recursive
617
618 ps-am:
619
620 uninstall-am: uninstall-helpfilesDATA
621
622 .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
623 install-am install-strip tags-recursive
624
625 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
626 all all-am check check-am clean clean-generic clean-libtool \
627 ctags ctags-recursive distclean distclean-generic \
628 distclean-libtool distclean-tags distdir dvi dvi-am html \
629 html-am info info-am install install-am install-data \
630 install-data-am install-dvi install-dvi-am install-exec \
631 install-exec-am install-helpfilesDATA install-html \
632 install-html-am install-info install-info-am install-man \
633 install-pdf install-pdf-am install-ps install-ps-am \
634 install-strip installcheck installcheck-am installdirs \
635 installdirs-am maintainer-clean maintainer-clean-generic \
636 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
637 ps ps-am tags tags-recursive uninstall uninstall-am \
638 uninstall-helpfilesDATA
639
640
641 # Tell versions [3.59,3.63) of GNU make to not export all variables.
642 # Otherwise a system limit (for SysV at least) may be exceeded.
643 .NOEXPORT:
0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1 <html>
2 <head>
3
4 <link href="documentation.css" rel="stylesheet" type="text/css">
5 <title>Ghemical User Documentation: Appendix: Amino Acid Abbreviations
6 Table</title>
7 </head>
8 <body>
9
10 <h1>2.4 Appendix 1 : Amino Acid Abbreviations Table</h1>
11
12 <table border="2">
13 <tbody>
14 <tr>
15 <td><strong>Amino Acid</strong></td>
16 <td><strong>Three-Letter Abbreviation</strong></td>
17 <td><strong>One-Letter Abbreviation</strong></td>
18 </tr>
19 <tr>
20 <td>Alanine</td>
21 <td>Ala</td>
22 <td>A</td>
23 </tr>
24 <tr>
25 <td>Arginine</td>
26 <td>Arg</td>
27 <td>R</td>
28 </tr>
29 <tr>
30 <td>Asparagine</td>
31 <td>Asn</td>
32 <td>N</td>
33 </tr>
34 <tr>
35 <td>Aspartate</td>
36 <td>Asp</td>
37 <td>D</td>
38 </tr>
39 <tr>
40 <td>Cysteine</td>
41 <td>Cys</td>
42 <td>C</td>
43 </tr>
44 <tr>
45 <td>Glutamate</td>
46 <td>Glu</td>
47 <td>E</td>
48 </tr>
49 <tr>
50 <td>Glutamine</td>
51 <td>Gln</td>
52 <td>Q</td>
53 </tr>
54 <tr>
55 <td>Glycine</td>
56 <td>Gly</td>
57 <td>G</td>
58 </tr>
59 <tr>
60 <td>Histidine</td>
61 <td>His</td>
62 <td>H</td>
63 </tr>
64 <tr>
65 <td>Isoleucine</td>
66 <td>Ile</td>
67 <td>I</td>
68 </tr>
69 <tr>
70 <td>Leucine</td>
71 <td>Leu</td>
72 <td>L</td>
73 </tr>
74 <tr>
75 <td>Lysine</td>
76 <td>Lys</td>
77 <td>K</td>
78 </tr>
79 <tr>
80 <td>Methionine</td>
81 <td>Met</td>
82 <td>M</td>
83 </tr>
84 <tr>
85 <td>Phenylalanine</td>
86 <td>Phe</td>
87 <td>F</td>
88 </tr>
89 <tr>
90 <td>Proline</td>
91 <td>Pro</td>
92 <td>P</td>
93 </tr>
94 <tr>
95 <td>Serine</td>
96 <td>Ser</td>
97 <td>S</td>
98 </tr>
99 <tr>
100 <td>Threonine</td>
101 <td>Thr</td>
102 <td>T</td>
103 </tr>
104 <tr>
105 <td>Tryptophan</td>
106 <td>Trp</td>
107 <td>W</td>
108 </tr>
109 <tr>
110 <td>Tyrosine</td>
111 <td>Tyr</td>
112 <td>Y</td>
113 </tr>
114 <tr>
115 <td>Valine</td>
116 <td>Val</td>
117 <td>V</td>
118 </tr>
119
120 </tbody>
121 </table>
122
123 <hr> <br>
124 <a href="index.html">Return to index.</a> <br>
125 <br>
126 </body>
127 </html>
0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1 <html>
2 <head>
3
4 <link href="documentation.css" rel="stylesheet" type="text/css">
5 <title>Ghemical User Documentation - Add Hydrogens Tool</title>
6 </head>
7 <body>
8
9 <h1>2.1.3 Add Hydogens Tool</h1>
10
11 <p>Instead of individually adding hydrogens to your molecule you may use the
12 Add Hydrogens tool to add hydrogens to all open valences. After you've added
13 all the non-hydrogen atoms to your molecule, right click on the display and
14 select Build from the popup menu. Select Hydrogens from this menu and then
15 pick Add.</p>
16 <img src="images/add_hydrogens_select.png" width="554" height="603"
17 alt="Screenshot of add hydrogens selection.">
18
19 <p>Ghemical will then automatically add hydrogens to your molecule. Ghemical
20 makes a simple attempt to position the hydrogens at their most stable orientation
21 (tetrahedral in the case of carbon) however the molecule should still be optimized
22 to get a more accurate geometry.</p>
23 <img src="images/add_hydrogens.png" width="554" height="603"
24 alt="Screenshot of the add hydrogens tool.">
25
26 <h2>Remove Hydrogens</h2>
27
28 <p>Ghemical also provides a tool to remove all hydrogen atoms from the molecule.
29 It is activated by right clicking on the view, selecting Build from the menu,
30 selecting Hydrogens from the submenu and then selecting Remove</p>
31 <img src="images/remove_hydrogens.png" width="556" height="602"
32 alt="Screenshot of the remove hydrogens tool">
33
34 <hr> <br>
35 <a href="index.html">Return to index.</a> <br>
36 </body>
37 </html>
0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1 <html>
2 <head>
3
4 <link href="documentation.css" rel="stylesheet" type="text/css">
5 <title>Ghemical User Documentation: Formula</title>
6 </head>
7 <body>
8
9 <h1>2.1.11 Conformational Search Tools</h1>
10
11 <p>The Geometry Optimization procedure only is capable to find the nearest
12 local minimum energy structure. To search for lower-energy minima, the following
13 conformational search tools are available:<br>
14 </p>
15 <ol>
16 <li>Random Conformational Search : All rotatable bonds of a molecule are
17 randomly rotated, and a short Geometry Optimization is carried out.</li>
18 <li>Systematic Conformational Search : Similar to above, but the bonds
19 are rotated in a systematical rather than random manner, making it possible
20 to exhaustively search all possible conformations (however there is a practical
21 limit of around 6 rotatable bonds because of rapidly increasing computational
22 costs).</li>
23 <li>Monte Carlo Search : An another search method based on (partially)
24 random selection of acceptable conformations.</li>
25 </ol>
26 <p></p>
27 <hr> <br>
28 <a href="index.html">Return to index</a> <br>
29 </body>
30 </html>
0 body {
1 color: #000000;
2 background-color: #FFFFFF;
3 }
4
5 p {
6 text-indent: 0.15in;
7 }
8
0 <!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
1 <html>
2 <head>
3
4 <meta http-equiv="Content-Type"
5 content="text/html; charset=iso-8859-1">
6
7 <meta name="GENERATOR"
8 content="Mozilla/4.76 [en] (X11; U; Linux 2.4.17 i686) [Netscape]">
9 <title></title>
10 </head>
11 <body>
12
13 <h1>2.1.12 1D and 2D Energy vs. Torsion Plots</h1>
14
15 <p>For studying molecular structures and their energies in detail, it is possible
16 to calculate plots that show how energy is dependent on torsion angles of
17 a molecule. We will get 1D or 2D plots depending on whether we use 1 or 2
18 torsion angles as variables.</p>
19
20 <p> </p>
21
22 <p> </p>
23
24 <p> </p>
25
26 <p>We use 3-chloro-1-pentene as our example molecule: </p>
27
28 <p> </p>
29
30 <div align="left">
31 <p><img src="images/energy_vs_torsion1.png" height="428" width="412"
32 alt="example case">
33 </p>
34 </div>
35
36 <p></p>
37
38 <p>We have selected from the popup-menu <b><i>"Render-&gt;Rendering Mode-&gt;Label
39 Index"</i></b> to make the atom index numbering visible, and also <b><i>"Render-&gt;Views-&gt;Attach/Detach
40 This View"</i></b> in order to make the graphics view and the plot view
41 visible simultaneously. </p>
42
43 <p> </p>
44
45 <p>Now we need to define the bonds (or more precisely, the torsions) which
46 we wish to rotate. For the first torsion we select atoms 2-1-0-3, and
47 for the second torsion we select atoms 1-0-3-9. The direction in which
48 we select the torsion is not relevant, but the sequence itself must be
49 correct. </p>
50
51 <p> </p>
52
53 <p>Now let's create a 1D plot that displays the energy vs. the first torsion,
54 using AM1 to compute final energies. From the pop-up menu we select <b><i>"Compute-&gt;Plot
55 Energy vs. 1 Torsion Angle..."</i></b>. The following default command
56 string is then displayed:<br>
57 </p>
58
59 <p align="center"><b>make_plot1 A B C D 36 0.0 360.0 250</b><br>
60 </p>
61
62 <p>The letters A-D represent the atom indices, that we have to replace using
63 our values 2-1-0-3 determined above. If we wish to calculate the final energies
64 with AM1, we also append the values "2 0" to the end (2 tells that the method
65 is AM1, and 0 tells the total charge to be used in the calculation):<br>
66 </p>
67
68 <p align="center"><b>make_plot1&nbsp; 2 1 0 3&nbsp; 36 0.0 360.0 250 &nbsp;2
69 0</b><br>
70 </p>
71
72 <p> </p>
73
74 <p> </p>
75
76 <p> The resulting 1D energy plot is the following: </p>
77
78 <p> </p>
79
80 <div align="left">
81 <p><img src="images/energy_vs_torsion2.png" height="632" width="499"
82 alt="the 1D plot">
83 </p>
84 </div>
85
86 <p></p>
87
88 <p>If the plot is clicked using the Orbit-XY mouse tool, it will display
89 the structure in graphics view window and print out the energy at the console
90 window. </p>
91
92 <p> </p>
93
94 <p>Now let's try the 2D plot, using both first and second torsion angles
95 as variables. Again we select from the pop-up menu <b><i>"Compute-&gt;Plot
96 Energy vs. 2 Torsion Angle..."</i></b>, and type in the following changes
97 to the default command string:<br>
98 </p>
99
100 <p align="center"><b>make_plot2 A B C D 36 0.0 360.0 I J K L 36 0.0 360.0
101 250</b><br>
102 </p>
103
104 <p>Since our torsions are 2-1-0-3 and 1-0-3-9 and we wish to use AM1 we will
105 make the following modifications:<br>
106 </p>
107
108 <p align="center"><b>make_plot2 &nbsp;2 1 0 3&nbsp; 36 0.0 360.0 &nbsp;1 0
109 3 9&nbsp; 36 0.0 360.0 250 &nbsp;2 0</b><br>
110 </p>
111
112 <p> </p>
113
114 <p> The resulting 2D energy plot is the following: </p>
115
116 <p> </p>
117
118 <div align="left">
119 <p><img src="images/energy_vs_torsion3.png" height="632" width="499"
120 alt="the 2D plot">
121 </p>
122 </div>
123
124 <p></p>
125
126 <p>In the above plot, X-axis is the first torsion angle, and the Y-axis is
127 the second torsion angle. The colours of the plot indicate the energy;
128 green colour means low energy and red/white colour means high energy. </p>
129
130 <p> </p>
131
132 <p>Just like in the 1D plot, the structure is displayed if the the plot is
133 clicked using the Orbit-XY mouse tool. In addition, the Zoom mouse tool
134 changes the colour scaling of the plot, making it easier to find the desired
135 details from the plot. The following is the same plot as above, but using
136 colour scaling that better shows the lowest-energy conformations:<br>
137 </p>
138
139 <p>Following is one of the most probable conformations of 3-chloro-1-pentene
140 according to the above plot: </p>
141
142 <div align="center"> </div>
143
144 <p align="center"> </p>
145
146 <p align="center"> </p>
147
148 <div align="left">
149 <p><img src="images/energy_vs_torsion4.png" height="428" width="412"
150 alt="the minimum-energy structure">
151 </p>
152 </div>
153
154 <div align="center"> </div>
155
156 <hr width="100%" size="2" align="left">
157 <div align="center"> </div>
158
159 <p align="center"> </p>
160
161 <div align="center"> </div>
162
163 <p align="left"> <a href="index.html">Return to index</a><br>
164 </p>
165 </body>
166 </html>
0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1 <html>
2 <head>
3 <link href="documentation.css" rel="stylesheet" type="text/css">
4 <title>Ghemical User Documentation: Filetypes Supported by Openbabel</title>
5 </head>
6 <body>
7
8 <h1>2.5 Appendix 2 : Filetypes Supported by Openbabel</h1>
9 <a name="import">
10 <h2>Currently supported import types</h2>
11
12 <table border="1">
13 <tbody>
14 <tr>
15 <th><strong>Filetype</strong></th>
16 <th><strong>File Suffix</strong> </th>
17 </tr>
18 <tr>
19 <td>Alchemy file</td>
20 <td>alc</td>
21 </tr>
22 <tr>
23 <td>Amber PREP file</td>
24 <td>prep</td>
25 </tr>
26 <tr>
27 <td>Ball &amp; Stick file</td>
28 <td>bs</td>
29 </tr>
30 <tr>
31 <td>Cacao Cartesian file</td>
32 <td>caccrt</td>
33 </tr>
34 <tr>
35 <td>CCC file</td>
36 <td>ccc</td>
37 </tr>
38 <tr>
39 <td>Dock 3.5 Box file</td>
40 <td>box</td>
41 </tr>
42 <tr>
43 <td>DMol3 Coordinates file</td>
44 <td>dmol</td>
45 </tr>
46 <tr>
47 <td>Feature File</td>
48 <td>feat</td>
49 </tr>
50 <tr>
51 <td>DMol3 Coordinates file</td>
52 <td>dmol</td>
53 </tr>
54 <tr>
55 <td>Feature fIle</td>
56 <td>feat</td>
57 </tr>
58 <tr>
59 <td>GAMESS Output File</td>
60 <td>gam<br>
61 gamout</td>
62 </tr>
63 <tr>
64 <td>Feature fIle</td>
65 <td>feat</td>
66 </tr>
67 <tr>
68 <td>HyperChem HIN file</td>
69 <td>hin</td>
70 </tr>
71 <tr>
72 <td>Jaguar Output file</td>
73 <td>jout</td>
74 </tr>
75 <tr>
76 <td>OpenEye Binary file</td>
77 <td>bin</td>
78 </tr>
79 <tr>
80 <td>MacroModel File</td>
81 <td>mmd<br>
82 mmod<br>
83 out<br>
84 dat</td>
85 </tr>
86 <tr>
87 <td>MSI Biosim/Insight II CAR file</td>
88 <td>car</td>
89 </tr>
90 <tr>
91 <td>MDL Isis SDF file</td>
92 <td>sdf<br>
93 sd</td>
94 </tr>
95 <tr>
96 <td>MDL Molfile file</td>
97 <td>mdl<br>
98 mol</td>
99 </tr>
100 <tr>
101 <td>MOPAC Cartensian file</td>
102 <td>mopcrt</td>
103 </tr>
104 <tr>
105 <td>MOPAC Output file</td>
106 <td>mopout</td>
107 </tr>
108 <tr>
109 <td>MPQC file</td>
110 <td>mpqc</td>
111 </tr>
112 <tr>
113 <td>MSI BGF file</td>
114 <td>bgf</td>
115 </tr>
116 <tr>
117 <td>NWChem Output file</td>
118 <td>nwo</td>
119 </tr>
120 <tr>
121 <td>PDB file</td>
122 <td>pdb</td>
123 </tr>
124 <tr>
125 <td>QChem Output file</td>
126 <td>qout</td>
127 </tr>
128 <tr>
129 <td>SMILES file</td>
130 <td>smi</td>
131 </tr>
132 <tr>
133 <td>Sybyl Mol2 file</td>
134 <td>mol2</td>
135 </tr>
136 <tr>
137 <td>UniChem XYZ file</td>
138 <td>unixyz</td>
139 </tr>
140 <tr>
141 <td>ViewMol file</td>
142 <td>vmol</td>
143 </tr>
144 <tr>
145 <td>XYZ file</td>
146 <td>xyz</td>
147 </tr>
148
149 </tbody>
150 </table>
151 </a> <a name="export">
152 <h2>Currently supported export types</h2>
153
154 <table border="1">
155 <tbody>
156 <tr>
157 <th><strong>Filetype</strong></th>
158 <th><strong>File Suffix</strong> </th>
159 </tr>
160 <tr>
161 <td>Alchemy file</td>
162 <td>alc</td>
163 </tr>
164 <tr>
165 <td>Ball &amp; Stick file</td>
166 <td>bs</td>
167 </tr>
168 <tr>
169 <td>Cacao Cartesian file</td>
170 <td>caccrt</td>
171 </tr>
172 <tr>
173 <td>Cacao Internal file</td>
174 <td>caccint</td>
175 </tr>
176 <tr>
177 <td>CAChe MolStruct file</td>
178 <td>cache</td>
179 </tr>
180 <tr>
181 <td>ChemDraw Connection Table file</td>
182 <td>ct</td>
183 </tr>
184 <tr>
185 <td>CSD CSSR file</td>
186 <td>cssr</td>
187 </tr>
188 <tr>
189 <td>Dock 3.5 Box file</td>
190 <td>box</td>
191 </tr>
192 <tr>
193 <td>DMol3 Coordinates file</td>
194 <td>dmol</td>
195 </tr>
196 <tr>
197 <td>Feature File</td>
198 <td>feat</td>
199 </tr>
200 <tr>
201 <td>Fenske-Hall Z-Matrix file</td>
202 <td>fh</td>
203 </tr>
204 <tr>
205 <td>GAMESS Input File</td>
206 <td>gam<br>
207 gamint<br>
208 inp</td>
209 </tr>
210 <tr>
211 <td>Gaussian Cartensian file</td>
212 <td>gcart</td>
213 </tr>
214 <tr>
215 <td>Gaussian Input file</td>
216 <td>gau</td>
217 </tr>
218 <tr>
219 <td>GROMOS96 (A) file</td>
220 <td>gr96A</td>
221 </tr>
222 <tr>
223 <td>GROMOS96 (nm) file</td>
224 <td>gr96N</td>
225 </tr>
226 <tr>
227 <td>HyperChem HIN file</td>
228 <td>hin</td>
229 </tr>
230 <tr>
231 <td>Jaguar Input file</td>
232 <td>jin</td>
233 </tr>
234 <tr>
235 <td>OpenEye Binary file</td>
236 <td>bin</td>
237 </tr>
238 <tr>
239 <td>MacroModel File</td>
240 <td>mmd<br>
241 mmod<br>
242 out<br>
243 dat</td>
244 </tr>
245 <tr>
246 <td>MDL Isis SDF file</td>
247 <td>sdf<br>
248 sd</td>
249 </tr>
250 <tr>
251 <td>MDL Molfile file</td>
252 <td>mdl<br>
253 mol</td>
254 </tr>
255 <tr>
256 <td>MOPAC Cartensian file</td>
257 <td>mopcrt</td>
258 </tr>
259 <tr>
260 <td>MSI BGF file</td>
261 <td>bgf</td>
262 </tr>
263 <tr>
264 <td>MSI Quanta CSR file</td>
265 <td>csr</td>
266 </tr>
267 <tr>
268 <td>NWChem Input file</td>
269 <td>nw</td>
270 </tr>
271 <tr>
272 <td>PDB file</td>
273 <td>pdb</td>
274 </tr>
275 <tr>
276 <td>Report file</td>
277 <td>report</td>
278 </tr>
279 <tr>
280 <td>QChem Input file</td>
281 <td>qcin</td>
282 </tr>
283 <tr>
284 <td>SMILES file</td>
285 <td>smi</td>
286 </tr>
287 <tr>
288 <td>SMILES Fix file</td>
289 <td>fix</td>
290 </tr>
291 <tr>
292 <td>Sybyl Mol2 file</td>
293 <td>mol2</td>
294 </tr>
295 <tr>
296 <td>Tinker XYZ file</td>
297 <td>txyz</td>
298 </tr>
299 <tr>
300 <td>Titles file</td>
301 <td>txt</td>
302 </tr>
303 <tr>
304 <td>UniChem XYZ file</td>
305 <td>unixyz</td>
306 </tr>
307 <tr>
308 <td>ViewMol file</td>
309 <td>vmol</td>
310 </tr>
311 <tr>
312 <td>XED file</td>
313 <td>xed</td>
314 </tr>
315 <tr>
316 <td>XYZ file</td>
317 <td>xyz</td>
318 </tr>
319
320 </tbody>
321 </table>
322 </a>
323 <hr> <br>
324 <a href="index.html">Return to index</a> <br>
325 </body>
326 </html>
0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1 <html>
2 <head>
3 <link href="documentation.css" rel="stylesheet" type="text/css">
4 <title>Ghemical User Documentation: Formula</title>
5 </head>
6 <body>
7
8 <h1>2.1.6 The Formula Tool</h1>
9
10 <p>This tool will calculate the empirical formula and molecular mass for
11 the current molecule. To use this tool right click on the view, select compute
12 from the popup menu and then select Formula. This will open a dialog box
13 that contains this information.</p>
14 <img src="images/formula.png" width="226" height="174"
15 alt="Screenshot of the formula dialog box.">
16
17 <p>Clicking Ok will close the dialog box.</p>
18
19 <hr> <br>
20 <a href="index.html">Return to index</a> <br>
21 </body>
22 </html>
0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1 <html>
2 <head>
3 <link href="documentation.css" rel="stylesheet" type="text/css">
4 <title>Ghemical User Documentation - Geometry Optimization (Molecular Mechanics)</title>
5 </head>
6 <body>
7
8 <h1>2.1.4 Geometry Optimization</h1>
9
10 <p>The Geometry Optimization tool will attempt to change the geometry of
11 the current molecule into the lowest energy conformation. To activate this
12 tool, right-click on the view window, select Compute from the popup menu,
13 and then click on Geometry Optimization.</p>
14 <img src="images/geometry_optimization_select.png" width="495"
15 height="428"
16 alt="Screenshot of menu sequence to select geometry optimization.">
17
18 <p>A dialog box called Geometry Opimization will appear. The three textboxes
19 in the dialog box control when to end the geometry optimization. Typically
20 only advanced users should change these fields. The "Maximum number of steps:"
21 field represents the maximum number of iterations that should be performed
22 before stopping the optimization. The "Gradient cutoff:" field represents
23 how low the length of the gradient vector can be before the optimization
24 stops. The "Delta E Cutoff:" field represents the minimum change in potential
25 energy between steps. Each of these checks can be disabled by unchecking
26 the checkbox to the left of each field.</p>
27 <img src="images/geometry_op_dialog.png" width="336" height="194"
28 alt="Screenshot of the geometry optimization dialog box.">
29
30 <p> Click on Ok to start the optimization. The conformation of the molecule
31 will change slightly at each step. In the log box, rows of text will
32 be printed. The first column indicates the step in the optimization currently
33 being executed. The second column is the potential energy of the molecule
34 at that step (this number will hopefully decrease). The third column is length
35 of the gradient vector in the last step. The forth column is the change in
36 potential energy from the previous step to the current step. The last line
37 on the column indicates which termination condition caused the optimization
38 to stop. "the nsteps termination test was passed." means that the optimization
39 went though the maximum number of steps allowed. This typically means that
40 ghemical could find a more optimum geometry if the optimization was allowed
41 to run for longer. If an optimization terminates because of this, running
42 a second geometry optimization might further optimize the geometry. Ghemical
43 may also print "the grad termination test was passed." or "the delta_e termination
44 test was passed." if the optimization stopped because of either of those
45 conditions.</p>
46
47 <h3>Example</h3>
48
49 <p>This example shows the geometry optimization of cyclohexane. Initially
50 this molecule is planar and the bond lengths are not equal.</p>
51 <img src="images/cyclohexane_unoptimized.png" width="409" height="426"
52 border="0"
53 alt="Screenshot of cyclohexane before geometry optimization.">
54
55 <p>A geometry optimization with the standard parameters is run. The optimization
56 stops at step 175 because the change in potential energy (delta_e) is below
57 1x10-7.</p>
58 <br>
59 <h4>Geometry Optimization log box example</h4>
60 <kdb>
61 Starting Geometry Optimization (molecular mechanics, engine = mm1_eng_exp1 : the default engine).
62 Cycle Energy Gradient Step Delta E
63 0 34064.44003 1.3967e+05 1.7976e-01 **********
64 1 20986.58834 1.3858e+05 2.0000e-01 1.3078e+04
65 2 5039.47883 6.6726e+04 3.4326e-01 1.5947e+04
66 3 3452.48739 3.5081e+04 5.8809e-02 1.5870e+03
67 [snip]
68 219 3.71368 3.0765e-01 2.1412e-06 3.1535e-07
69 220 3.71368 2.3451e-01 6.3032e-07 6.7052e-08
70 the delta_e termination test was passed.
71 </kdb>
72 <br>
73 <p>After optimization the cyclohexane molecule is now in the chair conformation
74 with all C-C bond lengths equivalent.</p>
75 <img src="images/cyclohexane_optimized.png" width="409" height="427"
76 alt="Screenshot of cyclohexane after MM1 geometry optimization.">
77
78 <hr> <br>
79 <a href="index.html">Return to index</a> <br>
80 </body>
81 </html>
0 helpimagesdir = $(datadir)/ghemical/@APPVERSION@/user-docs/images
1 helpimages_DATA = *.png
2
3 EXTRA_DIST = $(helpimages_DATA)
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16
17 VPATH = @srcdir@
18 pkgdatadir = $(datadir)/@PACKAGE@
19 pkgincludedir = $(includedir)/@PACKAGE@
20 pkglibdir = $(libdir)/@PACKAGE@
21 pkglibexecdir = $(libexecdir)/@PACKAGE@
22 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
23 install_sh_DATA = $(install_sh) -c -m 644
24 install_sh_PROGRAM = $(install_sh) -c
25 install_sh_SCRIPT = $(install_sh) -c
26 INSTALL_HEADER = $(INSTALL_DATA)
27 transform = $(program_transform_name)
28 NORMAL_INSTALL = :
29 PRE_INSTALL = :
30 POST_INSTALL = :
31 NORMAL_UNINSTALL = :
32 PRE_UNINSTALL = :
33 POST_UNINSTALL = :
34 build_triplet = @build@
35 host_triplet = @host@
36 subdir = docs/user-docs/images
37 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
38 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
39 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
40 $(top_srcdir)/configure.ac
41 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
42 $(ACLOCAL_M4)
43 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
44 CONFIG_HEADER = $(top_builddir)/src/ghemicalconfig.h
45 CONFIG_CLEAN_FILES =
46 CONFIG_CLEAN_VPATH_FILES =
47 SOURCES =
48 DIST_SOURCES =
49 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
50 am__vpath_adj = case $$p in \
51 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
52 *) f=$$p;; \
53 esac;
54 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
55 am__install_max = 40
56 am__nobase_strip_setup = \
57 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
58 am__nobase_strip = \
59 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
60 am__nobase_list = $(am__nobase_strip_setup); \
61 for p in $$list; do echo "$$p $$p"; done | \
62 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
63 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
64 if (++n[$$2] == $(am__install_max)) \
65 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
66 END { for (dir in files) print dir, files[dir] }'
67 am__base_list = \
68 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
69 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
70 am__installdirs = "$(DESTDIR)$(helpimagesdir)"
71 DATA = $(helpimages_DATA)
72 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
73 ACLOCAL = @ACLOCAL@
74 ALL_LINGUAS = @ALL_LINGUAS@
75 AMTAR = @AMTAR@
76 APPRELEASEDATE = @APPRELEASEDATE@
77 APPVERSION = @APPVERSION@
78 AR = @AR@
79 AUTOCONF = @AUTOCONF@
80 AUTOHEADER = @AUTOHEADER@
81 AUTOMAKE = @AUTOMAKE@
82 AWK = @AWK@
83 CATALOGS = @CATALOGS@
84 CATOBJEXT = @CATOBJEXT@
85 CC = @CC@
86 CCDEPMODE = @CCDEPMODE@
87 CFLAGS = @CFLAGS@
88 CPP = @CPP@
89 CPPFLAGS = @CPPFLAGS@
90 CXX = @CXX@
91 CXXCPP = @CXXCPP@
92 CXXDEPMODE = @CXXDEPMODE@
93 CXXFLAGS = @CXXFLAGS@
94 CYGPATH_W = @CYGPATH_W@
95 DATADIRNAME = @DATADIRNAME@
96 DEFS = @DEFS@
97 DEPDIR = @DEPDIR@
98 DSYMUTIL = @DSYMUTIL@
99 DUMPBIN = @DUMPBIN@
100 ECHO_C = @ECHO_C@
101 ECHO_N = @ECHO_N@
102 ECHO_T = @ECHO_T@
103 EGREP = @EGREP@
104 EXEEXT = @EXEEXT@
105 FGREP = @FGREP@
106 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
107 GMOFILES = @GMOFILES@
108 GMSGFMT = @GMSGFMT@
109 GREP = @GREP@
110 GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
111 GTHREAD_LIBS = @GTHREAD_LIBS@
112 GTK_CFLAGS = @GTK_CFLAGS@
113 GTK_LIBS = @GTK_LIBS@
114 INSTALL = @INSTALL@
115 INSTALL_DATA = @INSTALL_DATA@
116 INSTALL_PROGRAM = @INSTALL_PROGRAM@
117 INSTALL_SCRIPT = @INSTALL_SCRIPT@
118 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
119 INSTOBJEXT = @INSTOBJEXT@
120 INTLLIBS = @INTLLIBS@
121 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
122 INTLTOOL_MERGE = @INTLTOOL_MERGE@
123 INTLTOOL_PERL = @INTLTOOL_PERL@
124 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
125 LD = @LD@
126 LDFLAGS = @LDFLAGS@
127 LIBGHEMICAL_CFLAGS = @LIBGHEMICAL_CFLAGS@
128 LIBGHEMICAL_LIBS = @LIBGHEMICAL_LIBS@
129 LIBOBJS = @LIBOBJS@
130 LIBS = @LIBS@
131 LIBTOOL = @LIBTOOL@
132 LIPO = @LIPO@
133 LN_S = @LN_S@
134 LTLIBOBJS = @LTLIBOBJS@
135 MAKEINFO = @MAKEINFO@
136 MKDIR_P = @MKDIR_P@
137 MKINSTALLDIRS = @MKINSTALLDIRS@
138 MSGFMT = @MSGFMT@
139 MSGFMT_OPTS = @MSGFMT_OPTS@
140 MSGMERGE = @MSGMERGE@
141 NM = @NM@
142 NMEDIT = @NMEDIT@
143 OBJDUMP = @OBJDUMP@
144 OBJEXT = @OBJEXT@
145 OPENBABEL_CFLAGS = @OPENBABEL_CFLAGS@
146 OPENBABEL_LIBS = @OPENBABEL_LIBS@
147 OTOOL = @OTOOL@
148 OTOOL64 = @OTOOL64@
149 PACKAGE = @PACKAGE@
150 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
151 PACKAGE_NAME = @PACKAGE_NAME@
152 PACKAGE_STRING = @PACKAGE_STRING@
153 PACKAGE_TARNAME = @PACKAGE_TARNAME@
154 PACKAGE_URL = @PACKAGE_URL@
155 PACKAGE_VERSION = @PACKAGE_VERSION@
156 PATH_SEPARATOR = @PATH_SEPARATOR@
157 PKG_CONFIG = @PKG_CONFIG@
158 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
159 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
160 POFILES = @POFILES@
161 POSUB = @POSUB@
162 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
163 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
164 RANLIB = @RANLIB@
165 SED = @SED@
166 SET_MAKE = @SET_MAKE@
167 SHELL = @SHELL@
168 STRIP = @STRIP@
169 USE_NLS = @USE_NLS@
170 VERSION = @VERSION@
171 XGETTEXT = @XGETTEXT@
172 abs_builddir = @abs_builddir@
173 abs_srcdir = @abs_srcdir@
174 abs_top_builddir = @abs_top_builddir@
175 abs_top_srcdir = @abs_top_srcdir@
176 ac_ct_CC = @ac_ct_CC@
177 ac_ct_CXX = @ac_ct_CXX@
178 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
179 am__include = @am__include@
180 am__leading_dot = @am__leading_dot@
181 am__quote = @am__quote@
182 am__tar = @am__tar@
183 am__untar = @am__untar@
184 bindir = @bindir@
185 build = @build@
186 build_alias = @build_alias@
187 build_cpu = @build_cpu@
188 build_os = @build_os@
189 build_vendor = @build_vendor@
190 builddir = @builddir@
191 datadir = @datadir@
192 datarootdir = @datarootdir@
193 docdir = @docdir@
194 dvidir = @dvidir@
195 exec_prefix = @exec_prefix@
196 host = @host@
197 host_alias = @host_alias@
198 host_cpu = @host_cpu@
199 host_os = @host_os@
200 host_vendor = @host_vendor@
201 htmldir = @htmldir@
202 includedir = @includedir@
203 infodir = @infodir@
204 install_sh = @install_sh@
205 libdir = @libdir@
206 libexecdir = @libexecdir@
207 localedir = @localedir@
208 localstatedir = @localstatedir@
209 lt_ECHO = @lt_ECHO@
210 mandir = @mandir@
211 mkdir_p = @mkdir_p@
212 oldincludedir = @oldincludedir@
213 pdfdir = @pdfdir@
214 prefix = @prefix@
215 program_transform_name = @program_transform_name@
216 psdir = @psdir@
217 sbindir = @sbindir@
218 sharedstatedir = @sharedstatedir@
219 srcdir = @srcdir@
220 sysconfdir = @sysconfdir@
221 target_alias = @target_alias@
222 top_build_prefix = @top_build_prefix@
223 top_builddir = @top_builddir@
224 top_builddir_ = @top_builddir_@
225 top_srcdir = @top_srcdir@
226 helpimagesdir = $(datadir)/ghemical/@APPVERSION@/user-docs/images
227 helpimages_DATA = *.png
228 EXTRA_DIST = $(helpimages_DATA)
229 all: all-am
230
231 .SUFFIXES:
232 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
233 @for dep in $?; do \
234 case '$(am__configure_deps)' in \
235 *$$dep*) \
236 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
237 && { if test -f $@; then exit 0; else break; fi; }; \
238 exit 1;; \
239 esac; \
240 done; \
241 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/user-docs/images/Makefile'; \
242 $(am__cd) $(top_srcdir) && \
243 $(AUTOMAKE) --gnu docs/user-docs/images/Makefile
244 .PRECIOUS: Makefile
245 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
246 @case '$?' in \
247 *config.status*) \
248 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
249 *) \
250 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
251 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
252 esac;
253
254 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
255 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
256
257 $(top_srcdir)/configure: $(am__configure_deps)
258 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
259 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
260 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
261 $(am__aclocal_m4_deps):
262
263 mostlyclean-libtool:
264 -rm -f *.lo
265
266 clean-libtool:
267 -rm -rf .libs _libs
268 install-helpimagesDATA: $(helpimages_DATA)
269 @$(NORMAL_INSTALL)
270 test -z "$(helpimagesdir)" || $(MKDIR_P) "$(DESTDIR)$(helpimagesdir)"
271 @list='$(helpimages_DATA)'; test -n "$(helpimagesdir)" || list=; \
272 for p in $$list; do \
273 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
274 echo "$$d$$p"; \
275 done | $(am__base_list) | \
276 while read files; do \
277 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(helpimagesdir)'"; \
278 $(INSTALL_DATA) $$files "$(DESTDIR)$(helpimagesdir)" || exit $$?; \
279 done
280
281 uninstall-helpimagesDATA:
282 @$(NORMAL_UNINSTALL)
283 @list='$(helpimages_DATA)'; test -n "$(helpimagesdir)" || list=; \
284 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
285 test -n "$$files" || exit 0; \
286 echo " ( cd '$(DESTDIR)$(helpimagesdir)' && rm -f" $$files ")"; \
287 cd "$(DESTDIR)$(helpimagesdir)" && rm -f $$files
288 tags: TAGS
289 TAGS:
290
291 ctags: CTAGS
292 CTAGS:
293
294
295 distdir: $(DISTFILES)
296 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
297 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
298 list='$(DISTFILES)'; \
299 dist_files=`for file in $$list; do echo $$file; done | \
300 sed -e "s|^$$srcdirstrip/||;t" \
301 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
302 case $$dist_files in \
303 */*) $(MKDIR_P) `echo "$$dist_files" | \
304 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
305 sort -u` ;; \
306 esac; \
307 for file in $$dist_files; do \
308 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
309 if test -d $$d/$$file; then \
310 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
311 if test -d "$(distdir)/$$file"; then \
312 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
313 fi; \
314 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
315 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
316 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
317 fi; \
318 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
319 else \
320 test -f "$(distdir)/$$file" \
321 || cp -p $$d/$$file "$(distdir)/$$file" \
322 || exit 1; \
323 fi; \
324 done
325 check-am: all-am
326 check: check-am
327 all-am: Makefile $(DATA)
328 installdirs:
329 for dir in "$(DESTDIR)$(helpimagesdir)"; do \
330 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
331 done
332 install: install-am
333 install-exec: install-exec-am
334 install-data: install-data-am
335 uninstall: uninstall-am
336
337 install-am: all-am
338 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
339
340 installcheck: installcheck-am
341 install-strip:
342 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
343 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
344 `test -z '$(STRIP)' || \
345 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
346 mostlyclean-generic:
347
348 clean-generic:
349
350 distclean-generic:
351 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
352 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
353
354 maintainer-clean-generic:
355 @echo "This command is intended for maintainers to use"
356 @echo "it deletes files that may require special tools to rebuild."
357 clean: clean-am
358
359 clean-am: clean-generic clean-libtool mostlyclean-am
360
361 distclean: distclean-am
362 -rm -f Makefile
363 distclean-am: clean-am distclean-generic
364
365 dvi: dvi-am
366
367 dvi-am:
368
369 html: html-am
370
371 html-am:
372
373 info: info-am
374
375 info-am:
376
377 install-data-am: install-helpimagesDATA
378
379 install-dvi: install-dvi-am
380
381 install-dvi-am:
382
383 install-exec-am:
384
385 install-html: install-html-am
386
387 install-html-am:
388
389 install-info: install-info-am
390
391 install-info-am:
392
393 install-man:
394
395 install-pdf: install-pdf-am
396
397 install-pdf-am:
398
399 install-ps: install-ps-am
400
401 install-ps-am:
402
403 installcheck-am:
404
405 maintainer-clean: maintainer-clean-am
406 -rm -f Makefile
407 maintainer-clean-am: distclean-am maintainer-clean-generic
408
409 mostlyclean: mostlyclean-am
410
411 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
412
413 pdf: pdf-am
414
415 pdf-am:
416
417 ps: ps-am
418
419 ps-am:
420
421 uninstall-am: uninstall-helpimagesDATA
422
423 .MAKE: install-am install-strip
424
425 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
426 distclean distclean-generic distclean-libtool distdir dvi \
427 dvi-am html html-am info info-am install install-am \
428 install-data install-data-am install-dvi install-dvi-am \
429 install-exec install-exec-am install-helpimagesDATA \
430 install-html install-html-am install-info install-info-am \
431 install-man install-pdf install-pdf-am install-ps \
432 install-ps-am install-strip installcheck installcheck-am \
433 installdirs maintainer-clean maintainer-clean-generic \
434 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
435 ps ps-am uninstall uninstall-am uninstall-helpimagesDATA
436
437
438 # Tell versions [3.59,3.63) of GNU make to not export all variables.
439 # Otherwise a system limit (for SysV at least) may be exceeded.
440 .NOEXPORT:
0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1 <html>
2 <link href="documentation.css" rel="stylesheet" type="text/css">
3 <head>
4 <title>Ghemical User Documentation: Filetypes Supported by Openbabel</title>
5 </head>
6 <body>
7 <h1>Filetypes Supported by Openbabel</h1>
8 <A name="import">
9 <h2>Currently supported import types</h2>
10
11 <table border=1>
12
13 <tr>
14 <th><strong>Filetype</strong></th>
15 <th><strong>File Suffix</strong></hd>
16 </tr>
17
18 <tr>
19 <td>Alchemy file</td>
20 <td>alc</td>
21 </tr>
22
23 <tr>
24 <td>Amber PREP file</td>
25 <td>prep</td>
26 </tr>
27
28 <tr>
29 <td>Ball & Stick file</td>
30 <td>bs</td>
31 </tr>
32
33 <tr>
34 <td>Cacao Cartesian file</td>
35 <td>caccrt</td>
36 </tr>
37
38 <tr>
39 <td>CCC file</td>
40 <td>ccc</td>
41 </tr>
42
43 <tr>
44 <td>Dock 3.5 Box file</td>
45 <td>box</td>
46 </tr>
47
48 <tr>
49 <td>DMol3 Coordinates file</td>
50 <td>dmol</td>
51 </tr>
52
53 <tr>
54 <td>Feature File</td>
55 <td>feat</td>
56 </tr>
57
58 <tr>
59 <td>DMol3 Coordinates file</td>
60 <td>dmol</td>
61
62 <tr>
63 <td>Feature fIle</td>
64 <td>feat</td>
65 </tr>
66
67 <tr>
68 <td>GAMESS Output File</td>
69 <td>gam<br>gamout</td>
70 </tr>
71
72 <tr>
73 <td>Feature fIle</td>
74 <td>feat</td>
75 </tr>
76
77 <tr>
78 <td>HyperChem HIN file</td>
79 <td>hin</td>
80 </tr>
81
82 <tr>
83 <td>Jaguar Output file</td>
84 <td>jout</td>
85 </tr>
86
87 <tr>
88 <td>OpenEye Binary file</td>
89 <td>bin</td>
90 </tr>
91
92 <tr>
93 <td>MacroModel File</td>
94 <td>mmd<br>mmod<br>out<br>dat</td>
95 </tr>
96
97 <tr>
98 <td>MSI Biosim/Insight II CAR file</td>
99 <td>car</td>
100 </tr>
101
102 <tr>
103 <td>MDL Isis SDF file</td>
104 <td>sdf<br>sd</td>
105 </tr>
106
107 <tr>
108 <td>MDL Molfile file</td>
109 <td>mdl<br>mol</td>
110 </tr>
111
112 <tr>
113 <td>MOPAC Cartensian file</td>
114 <td>mopcrt</td>
115 </tr>
116
117
118 <tr>
119 <td>MOPAC Output file</td>
120 <td>mopout</td>
121 </tr>
122
123 <tr>
124 <td>MPQC file</td>
125 <td>mpqc</td>
126 </tr>
127
128 <tr>
129 <td>MSI BGF file</td>
130 <td>bgf</td>
131 </tr>
132
133 <tr>
134 <td>NWChem Output file</td>
135 <td>nwo</td>
136 </tr>
137
138 <tr>
139 <td>PDB file</td>
140 <td>pdb</td>
141 </tr>
142
143 <tr>
144 <td>QChem Output file</td>
145 <td>qout</td>
146 </tr>
147
148 <tr>
149 <td>SMILES file</td>
150 <td>smi</td>
151 </tr>
152
153 <tr>
154 <td>Sybyl Mol2 file</td>
155 <td>mol2</td>
156 </tr>
157
158 <tr>
159 <td>UniChem XYZ file</td>
160 <td>unixyz</td>
161 </tr>
162
163 <tr>
164 <td>ViewMol file</td>
165 <td>vmol</td>
166 </tr>
167
168 <tr>
169 <td>XYZ file</td>
170 <td>xyz</td>
171 </tr>
172
173 </table>
174 </A>
175
176 <A name="export">
177 <h2>Currently supported export types</h2>
178 <table border=1>
179 <tr>
180 <th><strong>Filetype</strong></th>
181 <th><strong>File Suffix</strong></hd>
182 </tr>
183
184 <tr>
185 <td>Alchemy file</td>
186 <td>alc</td>
187 </tr>
188
189 <tr>
190 <td>Amber PREP file</td>
191 <td>prep</td>
192 </tr>
193
194 <tr>
195 <td>Ball & Stick file</td>
196 <td>bs</td>
197 </tr>
198
199 <tr>
200 <td>Cacao Cartesian file</td>
201 <td>caccrt</td>
202 </tr>
203
204 <tr>
205 <td>Cacao Internal file</td>
206 <td>caccint</td>
207 </tr>
208
209
210 <tr>
211 <td>CAChe MolStruct file</td>
212 <td>cache</td>
213 </tr>
214
215 <tr>
216 <td>ChemDraw Connection Table file</td>
217 <td>ct</td>
218 </tr>
219
220 <tr>
221 <td>CSD CSSR file</td>
222 <td>cssr</td>
223 </tr>
224
225 <tr>
226 <td>Dock 3.5 Box file</td>
227 <td>box</td>
228 </tr>
229
230 <tr>
231 <td>DMol3 Coordinates file</td>
232 <td>dmol</td>
233 </tr>
234
235 <tr>
236 <td>Feature File</td>
237 <td>feat</td>
238 </tr>
239
240 <tr>
241 <td>Fenske-Hall Z-Matrix file</td>
242 <td>fh</td>
243 </tr>
244
245 <tr>
246 <td>GAMESS Input File</td>
247 <td>gam<br>gamint<br>inp</td>
248 </tr>
249
250 <tr>
251 <td>Gaussian Cartensian file</td>
252 <td>gcart</td>
253 </tr>
254
255 <tr>
256 <td>Gaussian Input file</td>
257 <td>gau</td>
258 </tr>
259
260 <tr>
261 <td>GROMOS96 (A) file</td>
262 <td>gr96A</td>
263 </tr>
264
265 <tr>
266 <td>GROMOS96 (nm) file</td>
267 <td>gr96N</td>
268 </tr>
269
270 <tr>
271 <td>HyperChem HIN file</td>
272 <td>hin</td>
273 </tr>
274
275 <tr>
276 <td>Jaguar Input file</td>
277 <td>jin</td>
278 </tr>
279
280 <tr>
281 <td>OpenEye Binary file</td>
282 <td>bin</td>
283 </tr>
284
285 <tr>
286 <td>MacroModel File</td>
287 <td>mmd<br>mmod<br>out<br>dat</td>
288 </tr>
289
290 <tr>
291 <td>MDL Isis SDF file</td>
292 <td>sdf<br>sd</td>
293 </tr>
294
295 <tr>
296 <td>MDL Molfile file</td>
297 <td>mdl<br>mol</td>
298 </tr>
299
300 <tr>
301 <td>MOPAC Cartensian file</td>
302 <td>mopcrt</td>
303 </tr>
304
305 <tr>
306 <td>MSI BGF file</td>
307 <td>bgf</td>
308 </tr>
309
310 <tr>
311 <td>MSI Quanta CSR file</td>
312 <td>csr</td>
313 </tr>
314
315 <tr>
316 <td>NWChem Input file</td>
317 <td>nw</td>
318 </tr>
319
320 <tr>
321 <td>PDB file</td>
322 <td>pdb</td>
323 </tr>
324
325 <tr>
326 <td>Report file</td>
327 <td>report</td>
328 </tr>
329
330 <tr>
331 <td>QChem Input file</td>
332 <td>qcin</td>
333 </tr>
334
335 <tr>
336 <td>SMILES file</td>
337 <td>smi</td>
338 </tr>
339
340 <tr>
341 <td>SMILES Fix file</td>
342 <td>fix</td>
343 </tr>
344
345 <tr>
346 <td>Sybyl Mol2 file</td>
347 <td>mol2</td>
348 </tr>
349
350 <tr>
351 <td>Tinker XYZ file</td>
352 <td>txyz</td>
353 </tr>
354
355 <tr>
356 <td>Titles file</td>
357 <td>txt</td>
358 </tr>
359
360
361 <tr>
362 <td>UniChem XYZ file</td>
363 <td>unixyz</td>
364 </tr>
365
366 <tr>
367 <td>ViewMol file</td>
368 <td>vmol</td>
369 </tr>
370
371
372 <tr>
373 <td>XED file</td>
374 <td>xed</td>
375 </tr>
376
377 <tr>
378 <td>XYZ file</td>
379 <td>xyz</td>
380 </tr>
381
382 </table>
383 </A>
384
385 <hr>
386 <br>
387 <A href="index.html">Return to index</A>
388 </body>
389 </html>
0 <!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
1 <html>
2 <head>
3
4
5 <meta http-equiv="Content-Type"
6 content="text/html; charset=iso-8859-1">
7
8
9 <meta name="GENERATOR"
10 content="Mozilla/4.76 [en] (X11; U; Linux 2.4.17 i686) [Netscape]">
11 <title></title>
12 </head>
13 <body>
14
15 <center>
16 <h1> Ghemical v2.00</h1>
17 </center>
18
19 <center>
20 <h1> User's Manual</h1>
21 </center>
22
23 <hr width="100%">
24 <p>Copyright (C) 2001- Christopher Rowley, Tommi Hassinen. </p>
25
26 <p> </p>
27
28 <hr width="100%">
29 <h3> Table of Contents</h3>
30 <a href="introduction.html">1. Introduction</a> <br>
31
32 <blockquote><a href="introduction.html#changes_100">1.1 Changes from version
33 1.00</a><br>
34 </blockquote>
35 <a href="using_mm.html"> 2. User's Manual</a><br>
36
37 <blockquote><a href="using_mm.html">2.1 Molecular Mechanics Modelling</a><br>
38
39 <blockquote><a href="using_mm.html">2.1.1 Quick Start : modelling Ethane</a><br>
40 <a href="perspective.html">2.1.2 Changing the 3D-views</a><br>
41 <a href="add_hydrogens.html">2.1.3 Add Hydrogens Tool</a><br>
42 <a href="geometry_optimization.html">2.1.4 Geometry Optimization</a><br>
43 <a href="labels.html">2.1.5 Labeling Atoms and Bonds</a><br>
44 <a href="formula.html">2.1.6 The Formula Tool</a><br>
45 <a href="measure.html">2.1.7 Measuring Tools</a><br>
46 <a href="visualization.html">2.1.8 Visualization Tools</a><br>
47 <a href="MD.html">2.1.9 Molecular Dynamics</a><br>
48 <a href="MD_viewer.html">2.1.10 Molecular Dynamics Viewer</a><br>
49 <a href="conf_search_tools.html">2.1.11 Conformational Search Tools</a><br>
50 <a href="energy_vs_torsion.html">2.1.12 1D and 2D Energy vs. Torsion Plots</a><br>
51 <a href="sequence_builder.html">2.1.13 Sequence Builder</a><br>
52 <a href="ribbon.html">2.1.14 Ribbon Model visualization tool</a><br>
53 <a href="setup_dialog.html">2.1.15 The Setup Dialog</a><br>
54
55 </blockquote>
56 <br>
57 <a href="aa_table.html">2.4 Appendix 1 : Amino
58 Acid Abbreviations Table</a><br>
59 <a href="filetypes.html">2.5 Appendix 2 : Filetypes
60 for Import and Export</a><br>
61 </blockquote>
62 <a href="references.html">3. References<br>
63 <br>
64 </a>
65 <hr width="100%" size="2">
66 <p> </p>
67
68 <h3> </h3>
69
70 <p> </p>
71 <br>
72 </body>
73 </html>
0 <!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
1 <html>
2 <head>
3
4 <meta http-equiv="Content-Type"
5 content="text/html; charset=iso-8859-1">
6
7 <meta name="GENERATOR"
8 content="Mozilla/4.76 [en] (X11; U; Linux 2.4.17 i686) [Netscape]">
9 <title></title>
10 </head>
11 <body>
12
13 <hr width="100%">
14 <h3> <a name="intro"></a>1. Introduction</h3>
15 Ghemical is a computational chemistry software package released under
16 the GNU GPL. It means that full source code of the package is available,
17 and users are free to study and modify the package. If you wonder about spelling
18 in the package name, yes it's intentionally a bit "wrong" (originally inspired
19 by the funny name of the excellent spreadsheet program Gnumeric), but feel
20 free to pronounce it just in a way that is comfortable!
21 <p>This document describes the user interface of the Ghemical (version 2.00), as
22 well as the main features of different components of the
23 program.</p>
24 The main elements of the user interface are the main menu and the main
25 toolbar.<br>
26 <br>
27
28 <div align="center"><img src="images/mainmenu.png" alt="the main menu"
29 width="392" height="33">
30 <br>
31 </div>
32
33 <p>The items in the main menu cover the features: </p>
34
35 <p></p>
36
37 <ul>
38 <li>File : Create new projects, Open projects from files, Exit the program.</li>
39 <li>Help : Display the About Box and this User's Manual. </li>
40
41 </ul>
42
43 <center>
44 <p><img src="images/maintools.png" height="50" width="883"
45 alt="the main toolbar">
46 </p>
47 </center>
48
49 <p>The buttons of the the main toolbar are mouse tool buttons. One of these
50 buttons is always pressed down, and this determines what operations are
51 done when the user handles the models with mouse. The left mousebutton
52 always triggers the mouse tool operations, and the tools and operations
53 are the following:<br>
54 </p>
55
56 <ul>
57 <li>Draw : Add atoms or bonds to the model, or change the types of existing
58 atoms or bonds in the model.&nbsp;</li>
59 <li>Erase : Remove atoms or bonds from the model.&nbsp;</li>
60 <li>Select : Mark atoms selected in the model. Selecting an already selected
61 atom will de-select it.&nbsp;</li>
62 <li>Zoom : Change the zooming of this 3D-view.&nbsp;</li>
63 <li>Clipping : Set the near and far clipping planes for graphics rendering.&nbsp;</li>
64 <li>Translate tools: Translate the "camera" which produces this 3D-view.&nbsp;</li>
65 <li>Orbit tools: Orbit the "camera" which produces this 3D-view around
66 it's focus point. Practically this means that you can rotate the molecules
67 in your 3D-view using these tools.&nbsp;</li>
68 <li>Rotate tools : Turn the "camera" which produces this 3D-view. Practically
69 this is means that you "turn your head" in the 3D-landscape that consists
70 of the system you study. Use these tools with caution; you might easily
71 "lost" your system if it's a single molecule.&nbsp;</li>
72 <li>Measure : Measure distances, angles or torsions. Click a sequence
73 of atoms (like with the Select tool) to define distance, angle or torsion.
74 </li>
75
76 </ul>
77
78 <p>In addition to these standard features some of the tools have some special
79 features:<br>
80 </p>
81
82 <ul>
83 <li>Select : The selection tool can, in addition to atoms, select objects
84 (for example: spotlights, color planes and color surfaces) that are rendered
85 as opaque (non-transparent) objects. In order to select transparent or
86 invisible objects, you have to use the "project view".&nbsp;</li>
87 <li>Translate tools and Orbit tools: These tools work differently if you
88 hold down the modifier key SHIFT before you use the tool. In this case the
89 tool affects not to the "camera" but to the currently selected object or
90 to the currently selected set of atoms in the model. Using the SHIFT key
91 and these tools you can translate and/or rotate the objects or atoms/molecules
92 in the model. In addition to the SHIFT modifier key, the Translate tools
93 have an another modifier key CTRL. This makes the tool use the object's
94 internal coordinate axis in the translation instead of the camera's coordinate
95 axis. Therefore, by using the key combination SHIFT+CTRL with the Translate
96 Z tool, you can easily "scan" your model using a color plane object.<br>
97 </li>
98
99 </ul>
100
101 <p> </p>
102
103 <p>In addition to the above topics, the following small tips and tricks are
104 worth mentioning:</p>
105
106 <ul>
107 <li>In most views, the right mouse button will display a popup-menu.&nbsp;</li>
108 <li>All different "views" of a project are grouped into a single "notebook"
109 of the project; there is a separate "page" for each view. The 3D-graphics
110 views can also be detached from this notebook; take a look at the "Views"
111 section of the popup-menu. Using the "detach" option you can use multiple
112 views simultaneously, which is otherwise difficult.&nbsp;</li>
113 <li>At the bottom of the main window, there is a text buffer area for
114 displaying text information.&nbsp;</li>
115 <li>The "volume rendering" object is different from all other objects
116 because it is connected to a "camera", and actively orients itself to this
117 camera each time the camera is translated or rotated.</li>
118
119 </ul>
120 <h3> <a name="changes_100"></a>1.1 Changes from version 1.00</h3>
121 The most important change from version 1.00 is that the separate MM/QM/simplified
122 project types are united into a single project type. The type of the calculations
123 are now selected from the "Compute/Setup..." dialog from the popup menu.<br>
124
125 <p> </p>
126
127 <p> </p>
128
129 <hr width="100%">
130 <h3> </h3>
131 <br>
132 </body>
133 </html>
0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1 <html>
2 <head>
3 <link href="documentation.css" rel="stylesheet" type="text/css">
4 <title>Ghemical User Documentation: Labels</title>
5 </head>
6 <body>
7
8 <h1>2.1.5 Labeling Atoms and Bonds</h1>
9
10 <p> Ghemical can add labels to atoms or bonds that indicate one of their
11 properties. These labels can be added by right clicking on the view window,
12 selecting Render-&gt;Rendering Mode and then selecting the type of label
13 from the list. <br>
14 <img src="images/labels_menu.png" vspace="5" width="433" height="416"
15 alt="Screenshot of labels menu.">
16 </p>
17
18 <h2>Label Nothing</h2>
19
20 <p> Label Nothing is the setting for displaying no labels. This can be used
21 to remove labels from the molecule that are no longer needed. Label Nothing
22 is the default setting. </p>
23
24 <h2>Label Index</h2>
25
26 <p> This setting labels each atom with its index number. The index number
27 is the number that each atom was added to the molecule starting at 0 (ie
28 the first atom added to the molecule is indexed 0, the second is indexed
29 1...). This number is how ghemical refers to the atom internally, and is
30 used when ghemical needs for the user to specify a particular atoms, such
31 as in the conformational search tools. </p>
32
33 <h2>Label Charge</h2>
34
35 <p> This setting labels each atom with an approximiate charge. When an atom
36 is initially added it will have a charge of 0. To calculate its charge either
37 an energy calculation or a geometry optimization must be run first. </p>
38
39 <h2>Label Element</h2>
40
41 <p> This setting labels each atom with its one or two letter abbreviation.
42 </p>
43
44 <h2>Label AtomType</h2>
45
46 <p> This setting labels each atom with its atom type. The first digit represents
47 the atomic number and the last digit represents the bonding of the atom.
48 Each atom will be displayed as type 0xffffff until a geometry optimization
49 or energy calcuation. </p>
50
51 <h2>Label BondType</h2>
52
53 <p> This setting labels each bond with its bond type. Single bonds are labeled
54 with an S, conjugated bonds are labeled with a C, double bonds are labeled
55 with a D, and triple bonds are labeled with a T. </p>
56
57 <hr> <br>
58 <a href="index.html">Return to index</a> <br>
59 </body>
60 </html>
0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1 <html>
2 <head>
3 <link href="documentation.css" rel="stylesheet" type="text/css">
4 <title>Measuring</title>
5 </head>
6 <body>
7
8 <h1>2.1.7 Measuring Tools</h1>
9
10 <p>Ghemical can measure the distance between atoms, the angle formed by three
11 atoms and the dihedral angle formed by four atoms. In molecular mechanics
12 models ghemical will can also measure an approximate charge on an atom.</p>
13 <a name="measure_charge"></a>
14 <h2>Measuring Charges</h2>
15
16 <p>To find the approximate charge of an atom, click on the Measure button
17 on the left toolbar. Now left click on the atom you want to measure the charge
18 of. The approximate charge will be displayed in the log box automatically.
19 The output in the log box at the bottom of the window will look something like this: <br>
20 <br>
21 <kbd>charge: -0.25</kbd> <br>
22 <br>
23 Note this only applies to molecular mechanics models; in the current version
24 it is not possible to measure charges in quantum mechanical models.</p>
25
26 <p></p>
27 <a name="measure_distance"></a>
28 <h2>Measuring Distances</h2>
29
30 <p>To measure the distance between two atoms (such as a bond length), click
31 on the Measure button on the left toolbar. Now left click on the atoms you
32 want to measure the distance between. The color of the atoms selected for
33 measurement will be changed to pink. The distance between the two atoms will
34 automatically be displayed in the log box once the second atom is
35 selected. The output in the log box will look something like this:
36 <br>
37 <br>
38 <kbd>distance: 0.150697 nm</kbd> <br>
39 <br>
40 The atoms do not have to be bonded; the distance between any two atoms in
41 a molecule can be measured. </p>
42 <a name="measure_angle"></a>
43 <h2>Measuring Angles</h2>
44
45 <p> To measure the angle formed by three atoms, click on the measure button
46 on the left toolbar. Now left click on the three atoms that form the angle
47 you want to measure. The order that they are selected is important; the first
48 edge of angle that is measured are the the line between the first and second
49 atoms and the second edge is between the second and third atoms, making the
50 second atom the central atom. When the third atom is selected, the angle is
51 automatically displayed in the log box. The output in the log box will look
52 something like this: <br>
53 <br>
54 <kbd>angle: 109.471 deg</kbd> <br>
55 <br>
56 As with distances, the atoms forming the angle to not have to bonded to
57 each other. </p>
58 <a name="measure_torsion"></a>
59 <h2>Measuring Torsions</h2>
60
61 <p> To measure the torsion angle formed by four atoms click on the measure
62 button on the left toolbar. Now select the four atoms for the torsion angle.
63 The first three atoms selected will define a plane. The angle displayed
64 is the angle between this plane and a line from the fourth atom to the second.
65 The torsion angle is displayed in the log box as soon as the fourth
66 angle is selected. The output in the log box will look something
67 like this: <br>
68 <br>
69 <kdb>torsion: 120 deg <br>
70 <br>
71 </kdb></p>
72 <a name="measure_notes"></a>
73 <h2>Notes</h2>
74
75 <p> Atoms that have been selected can be unselected by clicking on them again.
76 All atoms are automatically unselected when a fourth atom is selected. There
77 are toggle buttons on the top toolbar labeled "The distance measuring mode,"
78 "The angle measuring mode," and "The torsion measuring mode" In the current
79 release these toggle buttons have no effect on the measuring tool. </p>
80
81 <hr> <br>
82 <a href="index.html">Return to index</a> <br>
83 </body>
84 </html>
0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1 <html>
2 <head>
3 <link href="documentation.css" rel="stylesheet" type="text/css">
4 <title>Ghemical User Documentation: Changing the perspective.</title>
5 </head>
6 <body>
7
8 <h1>2.1.2 Changing the 3D-views</h1>
9
10 <p>On the left toolbar there are 7 tools to change the way the current project
11 is displayed. Ghemical stores each atom a point in the cartesian coordinate
12 system. The first point is The X-axis is parallel to the bottom of the window,
13 the Y-axis is parallel to the side of the window and the Z axis is pointing
14 out of the screen. The molecule is from the perspective of a camera focused
15 on all or part of the molecule.</p>
16
17 <p> </p>
18 <ul>
19 <li>
20 <h2>Zoom</h2>
21 This moves the camera either further from or closer to the molecule, effectively
22 zooming in or out of the molecule. To operate the zoom, click on the Zoom
23 button on the toolbar. Left click on the view window and hold the mouse
24 button down. Moving the mouse up will zoom out of the molecule and moving
25 the mouse down will zoom out of the molecule. Releasing the mouse button
26 stops the zooming process. </li>
27 <li>
28 <h2>Translate XY</h2>
29 This tool moves the molecule in the XY plane. To operate it, click on
30 the Translate XY button. Left click on the view window and hold the mouse
31 button down. The molecule will be translated in the direction that the mouse
32 is moved (up, down, left or right).</li>
33 <li>
34 <h2>Translate Z</h2>
35 This will move the molecule along the Z-axis. To operate it, click on
36 the Translate Z button. Left click on the view window and hold the mouse
37 button down. Moving the mouse up or down will translate the molecule. This
38 is similar to zooming the molecule, except in this case the molecule will
39 be translated instead of the camera.</li>
40 <li>
41 <h2>Orbit XY</h2>
42 This tool will rotate the molecule around the X or Y axis of the focus
43 point of the camera. To use this tool, click on the Orbit XY button. Left
44 click on the view window and hold the mouse button down. Moving the mouse
45 button up or down will rotate the molecule around the X axis, moving the
46 mouse button left or right will rotate the molecule around the Y axis. Releasing
47 the mouse button ends the orbit operation. </li>
48 <li>
49 <h2>Orbit Z</h2>
50 This tool will rotate the molecule around the X or Y axis of the focus
51 point of the camera. To use this tool, click on the Orbit XY button. Left
52 click on the view window and hold the mouse button down. Moving the mouse
53 button up or down will rotate the molecule around the X axis, moving the
54 mouse button left or right will rotate the molecule around the Y axis. Releasing
55 the mouse button ends the orbit operation. </li>
56 <li>
57 <h2>Rotate XY</h2>
58 This tool performs the same function as the Orbit XY tool except rotation
59 is performed around the camera and not the focus point. It's operation is
60 identical to the Orbit XY tool.</li>
61 <li>
62 <h2>Rotate Z</h2>
63 This tool performs the same function as the Orbit Z tool except rotation
64 is performed around the camera and not the focus point. It's operation is
65 identical to the Orbit Z tool. </li>
66
67 </ul>
68
69 <h2>Moving only some atoms</h2>
70 <p>
71 It is possible to move only the selected atoms. To do this, select the atoms you want to move with
72 the Select tool from the left toolbar and click on the tool that you want to use (Translate XY,
73 Orbit XY...). Now hold down the shift button perform the translation, rotation or orbit. Only the
74 selected atoms will be affected by the operation.</p>
75 <h2>Viewing only some atoms</h2>
76 <p>For some molecules (especially macromolecules), it is preferable to only view a portion of the
77 molecule. The <strong>Clipping</strong> tool allows the user to do this. Clipping is controlled by
78 selecting the Clipping icon from the toolbar and then left clicking on the View screen. Clipping is
79 adjusted by moving the mouse up or down while holding down the left mouse button. The amount of
80 clipping is determined by a scale between 1.00 and 0.01. When clipping is at 1.00, the whole
81 molecule is displayed. All values lower than that show only the frontmost section of the molecule
82 determined by the scale factor (ie, when clipping is 0.50, only the frontmost half of the molecule is
83 shown). This scale factor is increased by moving the mouse up and decreased by moving the mouse
84 down. In the console window, the scale factor is displayed after every adjustment to it, as well as size
85 of the displayed section in nanometers.</p>
86 <pre>
87 clipping = 0.99 = 6.03407 nm.
88 clipping = 0.865 = 5.27219 nm.
89 clipping = 0.7675 = 4.67793 nm.
90 clipping = 0.5875 = 3.58082 nm.
91 clipping = 0.3825 = 2.33135 nm.
92 clipping = 0.2575 = 1.56947 nm.
93 clipping = 0.235 = 1.43233 nm.
94 clipping = 0.23 = 1.40185 nm.
95 </pre>
96 <p>In this example, a ball and stick model of the enzyme CYP3A4 is clipped so that only the
97 frontmost portion is displayed.</p>
98 <h4>Non-clipped CYP3A4.</h4>
99 <img src="images/clipping1.png" width="411" height="429" alt="Non-clipped CYP3A4.">
100 <h4>Clipped CYP3A4.</h4>
101 <img src="images/clipping2.png" width="411" height="428" alt="Clipped CYP3A4.">
102 <hr> <br>
103 <a href="index.html">Return to index.</a> <br>
104 </body>
105 </html>
0 <!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
1 <html>
2 <head>
3
4 <meta http-equiv="Content-Type"
5 content="text/html; charset=iso-8859-1">
6
7 <meta name="GENERATOR"
8 content="Mozilla/4.76 [en] (X11; U; Linux 2.4.17 i686) [Netscape]">
9 <title></title>
10 </head>
11 <body>
12
13 <p></p>
14
15 <hr width="100%">
16 <h2> 3. References</h2>
17
18 <p> <a name="ra"></a>[1]&nbsp;&nbsp;&nbsp; Hassinen, T.; Per&auml;kyl&auml;,
19 M. J Comput Chem 2001, 22, 1229-1242 </p>
20
21 <p> <a name="r_szklarz_halpert_1997"> [2]&nbsp;&nbsp;&nbsp; Szklarz,
22 G.; Halpert, J, J. Comput.-Aided Mol. Design 1997, 11, 265-272 </a> </p>
23
24 <hr width="100%"> <br>
25 <a href="index.html">Return to index</a> <br>
26 </body>
27 </html>
0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1 <html>
2 <head>
3
4 <link href="documentation.css" rel="stylesheet" type="text/css">
5 <title>Ghemical User Documentation: Objects: Ribbon model</title>
6 </head>
7 <body>
8
9 <h1>2.1.14 Ribbon model</h1>
10 <p>Ghemical can produce a ribbon model of a polypeptide. In this model, a ribbon is drawn
11 along the polypeptide backbone of the protein, parallel to the peptide plane. Ghemical will
12 detect the secondary structure of the protein and colour the ribbon accordingly:</p>
13 <ul>
14 <li>Beta strand - green</li>
15 <li>Loops - blue</li>
16 <li>Alpha helix - red</li>
17 </ul>
18 <p>The width of the ribbon is increased in helicies and strands. Typically, you will change
19 the rendering of the molecule to Nothing using the ribbon model so that you can see the
20 ribbon without the interference from ball-and-stick model of the protein. It is also much faster
21 to view and change the perspective of the ribbon model, rather than the fully rendered
22 protein. It can take a considerable length of time make a ribbon object of a large protein.</p>
23 <H2>Example</H2>
24 <p>This is a ribbon model of Cytochrome P450 3A4 (CYP3A4) generated in ghemical,
25 based on the consensus structure modeled by Szklarz and Halpert
26 <a href="references.html#r_szklarz_halpert_1997">(Szklarz and Halpert, 1997).</A></p>
27 <img src="images/ribbon.png" width="414" height="431" alt="Screenshot of ribbon model of CYP3A4.">
28 <hr> <br>
29 <a href="index.html">Return to index</a> <br>
30 </body>
31 </html>
0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1 <html>
2 <head>
3 <link href="documentation.css" rel="stylesheet" type="text/css">
4 <title>Ghemical User Documentation: Sequence Builder</title>
5 </head>
6 <body>
7
8 <h1>2.1.13 Sequence Builder</h1>
9
10 <p>Ghemical has a tool to simplify building amino and nucleic acid sequences.
11 The Sequencer Builder allows the user to enter a string of letters denoting
12 amino or nucleic acid sequences. To activate the sequence builder, right
13 click on the view, select Build from the pop-up menu and then select either Sequence
14 Builder (amino) or Sequence Builder (nucleic).</p>
15 <img src="images/aa_builder_menu.png" width="401" height="315" alt="Screenshot of the sequence buider menu.">
16 <p>This tool currently reads it's input from a textbox. You will need to change the
17 text "AAA" to the amino acid sequence of the peptide you are building. A window
18 containing explaining this will appear after you click on the sequence builder.
19 </p>
20 <img src="images/aa_builder_note.png" width="525" height="179" alt="Screenshot of the information box explaining the Sequence Builder tool.">
21 <p>
22 The sequence should be entered as a string of the one letter abbreviations for
23 the acids without spaces or other punctuation. When you are done entering
24 the sequence, click Ok.</p>
25 <img src="images/aa_builder_ci.png" width="411" height="98" alt="Screenshot of the sequence builder command interpreter textbox.">
26 <p>The chain will appear in the view window, and you may manipulate it in
27 the same way as you would any other molecule. The sequences are built without
28 hydrogens, so if you want to have the hydrogens present you must add them
29 with the Add Hydrogen tool. </p>
30 <img src="images/aa_builder_wo_h.png" width="498" height="633" alt="Screenshot of a polypeptide built by the sequence builder.">
31 <p>For convinience, a table of amino acids and their abbreviations is reproduced
32 <a href="aa_table.html">here</a>.</p>
33
34 <hr> <br>
35 <a href="index.html">Return to index</a> <br>
36 </body>
37 </html>
0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1 <html>
2 <head>
3
4 <link href="documentation.css" rel="stylesheet" type="text/css">
5 <title>Ghemical User Documentation: Objects: The Setup Dialog</title>
6 </head>
7 <body>
8
9 <h1>2.1.15 The Setup Dialog</h1>
10 <p>In previous versions of ghemical, there were separate projects for molecular mechanical models, quantum
11 mechanical models, and simplified force field protein models. These have now been unified into a single project
12 type and the model used to perform calculations can be chosen using the Setup Dialog. To open the Dialog,
13 right click on the view menu and select Compute->Setup from the pop-up menu. To select a one
14 of the setups (QM, MM, etc), select one of the notebook pages on the Dialog.</P>
15 <img src="images/setup1.png" alt="Image 1 of the Setup Dialog.">
16 <p>
17 The available setups options are:
18 </p>
19 <ul>
20 <li><h4>All MM</h4></li>
21 <p>This model specifies a molecular mechanical model. The three options are the default mm1 engine, the
22 periodic engine, and an experimental engine, prmfit.
23 <li><h4>All QM</h4></li>
24 <p>In this model, a quantum mechanical model is used for all the atoms in the molecule. Currently we
25 have no QM code of our own, but we use code "borrowed" from external programs MOPAC7 and
26 MPQC instead. The code from MOPAC7 is included in the package, but the MPQC code is external
27 (at the moment, at least). In order to use the features from MPQC program, you have to compile and
28 install the MQPC program (both version 1.2.5 and newer versions 2.0 are supported) to your system,
29 and recompile the Ghemical program and libghemical with the MPQC front-end feature enabled.
30 This makes the working MPQC engine available, in addition to the default MOPAC7 engine.
31 </p>
32 <p>
33 The MOPAC7 engine runs MOPAC7 code in cartesian coordinate (XYZ) mode. User can select one
34 of the following hamiltonians: MNDO, MINDO/3, AM1, PM3. When using MOPAC7 engine please
35 note the following:
36 </p>
37 <ol>
38 <li>MOPAC7 code relies heavily on use of global variables, so it is not possible to run multiple
39 instances of MOPAC7 at the same time in a same program; you have to start multiple programs at
40 different working directories instead.</li>
41 <li>The MOPAC7 engine creates intermediate files like FOR005 and SHUTDOWN to the
42 working directory when run. In normal operation these files are removed when not needed
43 anymore, but if something goes wrong you have to manually remove these files! </li>
44 <li>Due to a bug in MOPAC7, the first three atoms should not be linearly arranged; this might affect
45 for example carbon dioxide molecule O=C=O. When studying cases like this, draw the molecule in
46 a sequence 1-3-2 instead of sequence 1-2-3 to avoid the problem. </li>
47 <li>The hamiltonians in MOPAC7 support (at least?) the following elements: H, C, N, O, F, P, S, Cl,
48 Br, I. If you try to use elements not supported by MOPAC7, the program will stop.</li>
49 </ol>
50 <p>
51 The charge and multiplicity are specified in the text boxes below the selection box for the
52 computational engine. Only singlet states with even number of electrons are supported at the moment.
53 </p>
54 <p>
55 The MPQC engine runs the MPQC closed-shell hartree-fock code with no symmetry. User can select
56 any of the standard ab initio basis sets from STO-3G to 6-31G** using computation engine class selection box.
57 </p>
58 <img src="images/setup2.png" alt="Image 2 of the Setup Dialog.">
59 <p>
60 Both QM engines can run geometry optimization, and draw ESP, MO, and MO density plots. Also a
61 specific energy-level diagram view is available that shows molecular orbital indices, energies (in eV)
62 and occupation (you can use mouse tools Zoom and Translate XY to manipulate the diagram):
63 </p>
64 <li><h4>All SF</h4>
65 <p>
66 This model is a Simplified Force Field for modelling proteins <a href="references.html#ra">[1]</a>.
67 Protein molecules are modelled using 1-3 "virtual atoms" per amino acid
68 residue in this kind of model. Several chains and disulphide brides are
69 supported, but non-natural amino acids are not. Files can be imported in
70 the PDB file format. The force field is fully functional with an initial
71 parameter set, and algorithms for geometry optimization and molecular dynamics
72 are available. </p>
73
74 <p>There are no sophisticated tools for model building yet, but they might
75 be coming later. </p>
76 </li>
77 <li><h4>mixed QM/MM, mixed MM/SF<h4></li>
78 <p>
79 These are experimental modes and are not yet functional.
80 </p>
81 </ul>
82 <hr> <br>
83 <a href="index.html">Return to index</a> <br>
84 </body>
85 </html>
0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1 <html>
2 <head>
3
4 <link href="documentation.css" rel="stylesheet" type="text/css">
5 <title>Basic Molecular Mechanics Modelling</title>
6 </head>
7 <body>
8
9 <h2> </h2>
10
11 <h1>2. User's Manual</h1>
12
13 <h1>2.1 Molecular Mechanics Modelling</h1>
14
15 <h1>2.1.1 Quick Start : modelling Ethanol</h1>
16
17 <p>This section covers the features required to build a simple molecule (Ethanol)
18 using ghemical.</p>
19
20 <h3>Step 1</h3>
21
22 <p>After starting ghemical you must open a new project. To do this, click
23 on the File menu and select "New"</p>
24 <img src="images/using_mm_01.png"
25 alt="A Screenshot of the creation of a new project.">
26
27 <h3>Step 2</h3>
28
29 <p>Select Draw from the toolbar on the left hand side. The Draw tool is the
30 method that all bonds and atoms are added with.</p>
31 <img src="images/using_mm_02.png"
32 alt="Screenshot of selecting the draw mouse tool in ghemical.">
33
34 <h3>Step 3</h3>
35
36 <p>Now begin to add atoms and bonds to your molecule. The default atom type
37 is carbon. To add a single atom to the molecule, single click on the location
38 you would like to put the atom. </p>
39 <img src="images/using_mm_03.png"
40 alt="Screenshot of the first atom being added to the molecule.">
41
42 <p> To draw a bond between two atoms, single left click on the first atom
43 in the bond, drag the mouse over to the second atom and then release the
44 mouse button. You may also create atoms and bonds at the same time by left
45 clicking on an existing atom, dragging the mouse to where you want to place
46 the second atom and then releasing the mouse button.</p>
47 <img src="images/using_mm_04.png" alt="Screenshot of two carbon atoms bonded together.">
48
49 <h3>Step 4</h3>
50
51 <p> Now that the carbon backbone is created, we can now add the missing oxygen
52 atom, and after this step we have all the heavy (non-Hydrogen) atoms ready.
53 To do this, we must first change the atom type from carbon to oxygen.
54 This is done selecting the periodic table button from the top toolbar.</p>
55 <img src="images/using_mm_05.png"
56 alt="Screenshot of Set Current Element toolbar button.">
57
58 <p> A dialog box of the periodic table will appear. To select an element,
59 simply click on the button corresponding to it. All further atoms drawn
60 on the molecule will be of this element until it is changed by the same
61 method. In this example, oxygen is selected.</p>
62 <img src="images/using_mm_06.png"
63 alt="Screenshot of the periodic table dialog box.">
64
65 <h3>Step 5</h3>
66
67 <p>In this step the additional oxygen atoms is added to the molecule in same way
68 the second carbon atom was added.</p>
69 <img src="images/using_mm_07.png"
70 alt="Screenshot of oxygen atom being added to the carbon atoms.">
71
72
73 <h3>Step 6</h3>
74
75 <p>Finally, the hydrogen atoms are added. This can be done (for simple organic
76 compounds) using an automated tool that will add hydrogen atoms (find popup-menu
77 item Build/Hydrogens/Add).</p>
78 <img src="images/using_mm_08.png"
79 alt="Screenshot of hydrogen atoms being added to the carbon atoms.">
80
81 <p>Alternatively, the hydrogen atoms can be added manually, as carbon and oxygen
82 atoms were added earlier. Now all atoms of an ethanol molecule are added.</p>
83 <img src="images/using_mm_09.png"
84 alt="Screenshot an ethanol molecule with all atoms added.">
85
86 <h3>Step 7</h3>
87
88 <p>Although the all the correct atoms and bonds are present, the molecule
89 is not in the most stable conformation. Ghemical can attempt to do this
90 for you using the Geometry Optimization tool (find popup-menu
91 item Compute/Geometry Optimization).</p>
92 <img src="images/using_mm_10.png"
93 alt="Screenshot of geometry optimization being started.">
94
95 <p>After running Geometry Optimization, the bond lengths, bond angles and
96 other structural features of the ethanol molecule are set in their ideal values
97 (according to the molecular mechanics force field used for geometry optimization).</p>
98 <img src="images/using_mm_11.png"
99 alt="Screenshot of an ethanol molecule.">
100
101 <p>You can also change the bond type by clicking on the "Set the current
102 bond type" button on the top tool bar. This button will launch a dialog
103 box that lets you select the bond type
104 from a list of single, double, triple and conjugated. All further bonds
105 that you create will be on the type that you select until you change the
106 bond type again. Conjugated bonds are drawn as a single solid tube with
107 a second dashed tube parallel to it. Double bonds and triple bonds are
108 drawn as two and three parallel tubes respectively.</p>
109
110 <hr> <br>
111 <a href="index.html">Return to index</a> <br>
112 </body>
113 </html>
0 <!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
1 <html>
2 <head>
3
4 <meta http-equiv="Content-Type"
5 content="text/html; charset=iso-8859-1">
6
7 <meta name="GENERATOR"
8 content="Mozilla/4.76 [en] (X11; U; Linux 2.4.17 i686) [Netscape]">
9 <title></title>
10 </head>
11 <body>
12
13 <h4></h4>
14
15 <hr width="100%">
16 <h2>2.2 Quantum-Mechanical Modelling</h2>
17 SORRY, THESE DOCS ARE OBSOLETE!<br>
18 The alternative "Quantum Mechanics" project is for quantum-mechanical models.
19
20 <p>Currently we have no QM code of our own, but we use code "borrowed" from
21 external programs MOPAC7 and MPQC instead. The code from MOPAC7 is included
22 in the package, but the MPQC code is external (at the moment, at least).
23 In order to use the features from MPQC program, you have to compile and
24 install the MQPC program (both version 1.2.5 and newer versions 2.0 are
25 supported) to your system, and recompile the Ghemical program with the MPQC
26 front-end feature enabled. This brings the working MPQC engine available,
27 in addition to the default MOPAC7 engine. </p>
28
29 <p>Select "Compute/Setup..." from the popup menu to check the settings for
30 your calculation; hamiltonian / basis set to be used and total charge
31 of the system. Only singlet states with even number of electrons are supported
32 at the moment. </p>
33
34 <p>The MOPAC7 engine runs MOPAC7 code in cartesian coordinate (XYZ) mode.
35 User can select one of the following hamiltonians: MNDO, MINDO/3, AM1,
36 PM3. When using MOPAC7 engine please note the following:&nbsp;</p>
37
38 <p></p>
39
40 <ol>
41 <li>MOPAC7 code relies heavily on use of global variables, so it
42 is not possible to run multiple instances of MOPAC7 at the same time
43 in a same program; you have to start multiple programs at different working
44 directories instead.</li>
45 <li>The MOPAC7 engine creates intermediate files like FOR005 and SHUTDOWN
46 to the working directory when run. In normal operation these files are
47 removed when not needed anymore, <b><u>but if something goes wrong you have
48 to manually remove these files!</u></b>&nbsp;</li>
49 <li>Due to a bug in MOPAC7, the first three atoms should not be linearly
50 arranged; this might affect for example carbon dioxide molecule O=C=O.
51 When studying cases like this, draw the molecule in a sequence 1-3-2 instead
52 of sequence 1-2-3 to avoid the problem.&nbsp;</li>
53 <li>The hamiltonians in MOPAC7 support (at least?) the following elements:
54 H, C, N, O, F, P, S, Cl, Br, I. If you try to use elements not supported
55 by MOPAC7, the program will stop. </li>
56
57 </ol>
58
59 <p>The MPQC engine runs the MPQC closed-shell hartree-fock code with no symmetry.
60 User can select any of the standard ab initio basis sets from STO-3G
61 to 6-31G**. </p>
62
63 <p>Both QM engines can run geometry optimization, and draw ESP, MO, and MO
64 density plots. Also a specific energy-level diagram view is available
65 that shows molecular orbital indices, energies (in eV) and occupation
66 (you can use mouse tools Zoom and Translate XY to manipulate the diagram):
67 </p>
68
69 <center>
70 <p><img src="images/enlevdiag.png" height="379" width="463"
71 alt="an energy-level diagram">
72 </p>
73 </center>
74
75 <p>It is possible to convert MM models to QM models and vice versa. Therefore
76 you are adviced to draw your molecule as a MM model, optimize it to get
77 a good starting structure, and then to convert it into a QM model for further
78 refinement and inspection. To save your QM model, you are adviced to convert
79 it into MM model and then save it (currently there is no file format
80 specified for QM models). </p>
81
82 <p>The popup menu in a "Quantum Mechanics" project currently has the following
83 features:<br>
84 </p>
85
86 <p> </p>
87
88 <p></p>
89
90 <ul>
91 <li>File : Open and save project files, Close the project.</li>
92 <li>Settings : Change the current element.&nbsp;</li>
93 <li>Render : Add/remove views/lights. Change the rendering mode and
94 projection. Add an energy-level diagram view.&nbsp;</li>
95 <li>Objects : Add visualization objects (planes, surfaces etc) and remove
96 them.&nbsp;</li>
97 <li>Compute : Select the engine and other settings, compute energy,
98 geometry optimization.&nbsp;</li>
99 <li>Set Current Orbital : Here you can set the orbital index for visualization.&nbsp;</li>
100 <li>Convert to MM project : Copies the contents of this project into
101 a new MM project, and optionally closes this project. </li>
102
103 </ul>
104
105 <p> </p>
106
107 <hr width="100%">
108 <h3> </h3>
109 <br>
110 <br>
111 </body>
112 </html>
0 <!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
1 <html>
2 <head>
3
4 <meta http-equiv="Content-Type"
5 content="text/html; charset=iso-8859-1">
6
7 <meta name="GENERATOR"
8 content="Mozilla/4.76 [en] (X11; U; Linux 2.4.17 i686) [Netscape]">
9 <title></title>
10 </head>
11 <body>
12
13 <hr width="100%">
14 <h2> 2.3 The Simplified Force Field</h2>
15 SORRY, THESE DOCS ARE OBSOLETE!<br>
16 The "mm2gp" type project is for simplified protein models<a
17 href="references.html#ra">[1]</a>.
18 <p>Protein molecules are modelled using 1-3 "virtual atoms" per amino acid
19 residue in this kind of model. Several chains and disulphide brides are
20 supported, but non-natural amino acids are not. Files can be imported in
21 the PDB file format. The force field is fully functional with an initial
22 parameter set, and algorithms for geometry optimization and molecular dynamics
23 are available. </p>
24
25 <p>There are no sophisticated tools for model building yet, but they might
26 be coming later. </p>
27
28 <p> </p>
29
30 <hr width="100%">
31 <h3> </h3>
32 <br>
33 </body>
34 </html>
0 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
1 <html>
2 <head>
3
4 <link href="documentation.css" rel="stylesheet"
5 type="text/css">
6 <title>Ghemical User Documentation: Objects: ESP Plane</title>
7 </head>
8 <body>
9
10 <h1>2.1.8 Visualization Tools</h1>
11
12 <p>The following visualization tools are available:<br>
13 </p>
14
15 <ol>
16 <li>A ribbon model for polypeptides. Click <a href="ribbon.html">here</a>
17 for a description of this feature.</li>
18 <li>An intersection plane object (a 2D plane that displays information
19 using colour of the plane).</li>
20 <li>A 3D volume rendering object (made of several stacked transparent
21 plane objects).</li>
22 <li>A 3D isosurface object. An isosurface is a surface defined by the
23 set of points that have a constant value for a function. Ie f(x, y, z)=k.
24 Only the points for which f(x, y, z)=k are on the surface. For example,
25 in the case of electrostatic potential, the function f(x,y,z) is an expression
26 of electrostatic potential for a set of point charges.<br>
27 </li>
28
29 </ol>
30
31 <p>The objects are capable to display any continuous mathematical functions.
32 Currently supported functions are:<br>
33 </p>
34
35 <ul>
36 <li>Electrostatic potential (in MM models calculated using the atomic
37 charges, and QM models using calculated electron density).</li>
38 <li>(in QM models only) Molecular Orbital Wavefunctions.</li>
39 <li>(in QM models only) Electron Density.</li>
40
41 </ul>
42
43 <p> </p>
44
45 <h2>Examples:</h2>
46
47 <p>As an example, let's create an electrostatic potential plane parallel
48 to the XY plane of the project view. The electrostatic potential of a point
49 is defined as the energy required to move a unit positive charge from infinity
50 to the point. The plane is displayed in the project window, superimposed
51 on the molecule. The plane is colored to indicate the sign and magnitude
52 of the electrostatic potential at that point. Areas with negative electrostatic
53 potentials (a unit positive charge moving from infinity to that point is
54 spontaneous) are colored blue. The move negative the electrostatic potential
55 is, the lighter the shade of blue is. Areas with positive electrostatic potentials
56 are colored red, with the more positive areas colored with a lighter shade
57 of red. </p>
58
59 <p> To create an electrostatic potential plane right click on the project
60 window. Now select Objects and then ESP Plane. </p>
61 <br>
62 <img src="images/esp-plane_select.png" width="409" height="427"
63 alt="Screenshot of selecting the ESP plane object.">
64 <br>
65
66 <p> A window will appear that looks like this:</p>
67 <br>
68 <img src="images/ci_plane.png" width="411" height="98"
69 alt="Screenshot of the ESP plane parameters command interpreter box.">
70 <br>
71
72 <p>Typically only advanced users should modify the text in this box. Click
73 ok to run the calculation You may change the orientation of the plane if
74 you want to have it intersect a different section of the molecule. To do
75 this, make sure the ESP Plane object is selected (after the plane is added
76 it is automatically selected, although using other features may change the
77 selection to a different object). To select the object, click on the Project
78 View tab and then highlight the ESP Plane entry on the list of objects. The
79 ESP Plane is now selected. </p>
80 <br>
81 <img src="images/esp-plane_select_obj.png" width="395" height="184"
82 alt="Screenshot of selecting the ESP plane object.">
83 <br>
84
85 <p> Click back onto the camera view. Holding the shift key down will cause
86 any translation, rotation or orbit to only affect the ESP plane. </p>
87
88 <h2>Algorithm</h2>
89
90 <p> The molecular mechanical model of Ghemical uses a relatively simple algorithm
91 to generate an electrostatic potential plane. At each point on the plane
92 the electrostatic potential is calculated. It is calculated by adding together
93 the electrostatic potential energy between the point and each atom. The
94 charge used for each atom is the same as the charge displayed by the Measure
95 tool (an approximate charge based on the type of atom and what it is bonded
96 to, ie the oxygen of an alcohol is given a charge of -0.25). Once the energy
97 is calculated, a color for that point is calculated based on the sign and
98 magnitude of the energy.</p>
99
100 <p></p>
101
102 <h2>Applications</h2>
103
104 <p>Electrostatic potential planes can be used predict the location of an
105 electrophilic attack. An electrophile will typically attack in areas near
106 an electrostatic potential minimum, which are colored blue.</p>
107
108 <h2>Notes</h2>
109
110 <p>The quantum mechanical model can also produce an electrostatic potential
111 plane. The algorithm used by by the quantum mechanical model is more complex
112 than the one used by the molecular mechanics model, so the plane produced
113 may contain different features. The quantum mechanical electrostatic potential
114 plane of cytosine shows a minimum next to the nitrogen where experimental
115 data shows an electrophile will attack. The molecular mechanics ESP plane
116 does not show this minimum. </p>
117 <img src="images/esp-plane_mm.png" width="410" height="428"
118 alt="Screenshot of molecular mechanics ESP plane of cytosine.">
119 <img src="images/esp-plane_qm.png" width="410" height="428"
120 alt="Screenshot of quantum mechanics ESP plane of cytosine.">
121
122 <hr> <br>
123 <a href="index.html">Return to index</a> <br>
124 </body>
125 </html>
0 !Header gpr 100
1 !Info 1
2 !Atoms 14
3 0 6
4 1 6
5 2 6
6 3 6
7 4 17
8 5 1
9 6 1
10 7 1
11 8 1
12 9 1
13 10 1
14 11 1
15 12 1
16 13 1
17 !Bonds 13
18 0 1 S
19 1 2 S
20 2 3 S
21 1 4 S
22 0 5 S
23 0 6 S
24 0 7 S
25 1 8 S
26 2 9 S
27 2 10 S
28 3 11 S
29 3 12 S
30 3 13 S
31 !Coord
32 0 0.174272 -0.0540963 -0.0701698
33 1 0.069758 -0.00161168 0.0305006
34 2 -0.0709046 -0.0038925 -0.0332963
35 3 -0.17747 0.043178 0.067988
36 4 0.112638 0.163409 0.0773754
37 5 0.149666 -0.157361 -0.0991204
38 6 0.274093 -0.0523395 -0.0239112
39 7 0.174819 0.00963332 -0.159858
40 8 0.0705305 -0.0656175 0.120054
41 9 -0.0724235 0.0621635 -0.121326
42 10 -0.0947028 -0.106583 -0.0650036
43 11 -0.157144 0.146733 0.0990511
44 12 -0.17615 -0.0222077 0.156476
45 13 -0.276982 0.0385933 0.0212405
46 !Charges
47 0 0
48 1 0.15
49 2 0
50 3 0
51 4 -0.15
52 5 0
53 6 0
54 7 0
55 8 0
56 9 0
57 10 0
58 11 0
59 12 0
60 13 0
61 !End
0 !Header gpr 100
1 !Info 1
2 !Atoms 20
3 0 6
4 1 6
5 2 6
6 3 6
7 4 6
8 5 6
9 6 6
10 7 6
11 8 6
12 9 8
13 10 1
14 11 1
15 12 1
16 13 1
17 14 1
18 15 1
19 16 1
20 17 1
21 18 1
22 19 1
23 !Bonds 20
24 0 1 C
25 1 2 C
26 2 3 C
27 3 4 C
28 4 5 C
29 0 5 C
30 4 6 S
31 6 7 S
32 7 8 S
33 8 9 D
34 0 10 S
35 1 11 S
36 2 12 S
37 3 13 S
38 5 14 S
39 6 15 S
40 6 16 S
41 7 17 S
42 7 18 S
43 8 19 S
44 !Coord
45 0 0.214949 0.108432 0.0534336
46 1 0.276675 -0.0151073 0.0333027
47 2 0.206947 -0.118429 -0.0294678
48 3 0.0755019 -0.098257 -0.0718386
49 4 0.0131664 0.02488 -0.0506454
50 5 0.0834278 0.128443 0.011223
51 6 -0.131021 0.0471857 -0.0960686
52 7 -0.22587 0.0389778 0.0253709
53 8 -0.214956 -0.0962111 0.0901721
54 9 -0.31118 -0.171215 0.092251
55 10 0.269174 0.188908 0.101879
56 11 0.378866 -0.0306999 0.0661139
57 12 0.254913 -0.214394 -0.0453925
58 13 0.0215321 -0.178897 -0.120223
59 14 0.0355939 0.224452 0.0271221
60 15 -0.159351 -0.0293294 -0.169918
61 16 -0.139486 0.146558 -0.142612
62 17 -0.329315 0.0560687 -0.00812559
63 18 -0.198629 0.116693 0.0983622
64 19 -0.12094 -0.128058 0.13506
65 !Charges
66 0 -0.1
67 1 -0.1
68 2 -0.1
69 3 -0.1
70 4 0
71 5 -0.1
72 6 0
73 7 0
74 8 0
75 9 -0.1
76 10 0.1
77 11 0.1
78 12 0.1
79 13 0.1
80 14 0.1
81 15 0
82 16 0
83 17 0
84 18 0
85 19 0.1
86 !End
0 SUBDIRS = TSS
1
2 examplesdir = $(datadir)/ghemical/@APPVERSION@/examples
3 examples_DATA = \
4 2-chlorobutane.gpr \
5 3-phenylpropanal.gpr \
6 PeriodicTable.gpr \
7 acetylsalicylic_acid.gpr \
8 alpha-pinene.gpr \
9 bromobenzene.gpr \
10 camphor.gpr \
11 cinnamaldehyde.gpr \
12 cis-2-pentene.gpr \
13 cyclohexane.gpr \
14 dna_AGTC.gpr \
15 naphtalene.gpr \
16 rna_aguc.gpr
17
18 EXTRA_DIST = $(examples_DATA)
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16
17 VPATH = @srcdir@
18 pkgdatadir = $(datadir)/@PACKAGE@
19 pkgincludedir = $(includedir)/@PACKAGE@
20 pkglibdir = $(libdir)/@PACKAGE@
21 pkglibexecdir = $(libexecdir)/@PACKAGE@
22 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
23 install_sh_DATA = $(install_sh) -c -m 644
24 install_sh_PROGRAM = $(install_sh) -c
25 install_sh_SCRIPT = $(install_sh) -c
26 INSTALL_HEADER = $(INSTALL_DATA)
27 transform = $(program_transform_name)
28 NORMAL_INSTALL = :
29 PRE_INSTALL = :
30 POST_INSTALL = :
31 NORMAL_UNINSTALL = :
32 PRE_UNINSTALL = :
33 POST_UNINSTALL = :
34 build_triplet = @build@
35 host_triplet = @host@
36 subdir = examples
37 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
38 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
39 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
40 $(top_srcdir)/configure.ac
41 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
42 $(ACLOCAL_M4)
43 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
44 CONFIG_HEADER = $(top_builddir)/src/ghemicalconfig.h
45 CONFIG_CLEAN_FILES =
46 CONFIG_CLEAN_VPATH_FILES =
47 SOURCES =
48 DIST_SOURCES =
49 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
50 html-recursive info-recursive install-data-recursive \
51 install-dvi-recursive install-exec-recursive \
52 install-html-recursive install-info-recursive \
53 install-pdf-recursive install-ps-recursive install-recursive \
54 installcheck-recursive installdirs-recursive pdf-recursive \
55 ps-recursive uninstall-recursive
56 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
57 am__vpath_adj = case $$p in \
58 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
59 *) f=$$p;; \
60 esac;
61 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
62 am__install_max = 40
63 am__nobase_strip_setup = \
64 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
65 am__nobase_strip = \
66 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
67 am__nobase_list = $(am__nobase_strip_setup); \
68 for p in $$list; do echo "$$p $$p"; done | \
69 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
70 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
71 if (++n[$$2] == $(am__install_max)) \
72 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
73 END { for (dir in files) print dir, files[dir] }'
74 am__base_list = \
75 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
76 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
77 am__installdirs = "$(DESTDIR)$(examplesdir)"
78 DATA = $(examples_DATA)
79 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
80 distclean-recursive maintainer-clean-recursive
81 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
82 $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
83 distdir
84 ETAGS = etags
85 CTAGS = ctags
86 DIST_SUBDIRS = $(SUBDIRS)
87 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
88 am__relativize = \
89 dir0=`pwd`; \
90 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
91 sed_rest='s,^[^/]*/*,,'; \
92 sed_last='s,^.*/\([^/]*\)$$,\1,'; \
93 sed_butlast='s,/*[^/]*$$,,'; \
94 while test -n "$$dir1"; do \
95 first=`echo "$$dir1" | sed -e "$$sed_first"`; \
96 if test "$$first" != "."; then \
97 if test "$$first" = ".."; then \
98 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
99 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
100 else \
101 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
102 if test "$$first2" = "$$first"; then \
103 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
104 else \
105 dir2="../$$dir2"; \
106 fi; \
107 dir0="$$dir0"/"$$first"; \
108 fi; \
109 fi; \
110 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
111 done; \
112 reldir="$$dir2"
113 ACLOCAL = @ACLOCAL@
114 ALL_LINGUAS = @ALL_LINGUAS@
115 AMTAR = @AMTAR@
116 APPRELEASEDATE = @APPRELEASEDATE@
117 APPVERSION = @APPVERSION@
118 AR = @AR@
119 AUTOCONF = @AUTOCONF@
120 AUTOHEADER = @AUTOHEADER@
121 AUTOMAKE = @AUTOMAKE@
122 AWK = @AWK@
123 CATALOGS = @CATALOGS@
124 CATOBJEXT = @CATOBJEXT@
125 CC = @CC@
126 CCDEPMODE = @CCDEPMODE@
127 CFLAGS = @CFLAGS@
128 CPP = @CPP@
129 CPPFLAGS = @CPPFLAGS@
130 CXX = @CXX@
131 CXXCPP = @CXXCPP@
132 CXXDEPMODE = @CXXDEPMODE@
133 CXXFLAGS = @CXXFLAGS@
134 CYGPATH_W = @CYGPATH_W@
135 DATADIRNAME = @DATADIRNAME@
136 DEFS = @DEFS@
137 DEPDIR = @DEPDIR@
138 DSYMUTIL = @DSYMUTIL@
139 DUMPBIN = @DUMPBIN@
140 ECHO_C = @ECHO_C@
141 ECHO_N = @ECHO_N@
142 ECHO_T = @ECHO_T@
143 EGREP = @EGREP@
144 EXEEXT = @EXEEXT@
145 FGREP = @FGREP@
146 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
147 GMOFILES = @GMOFILES@
148 GMSGFMT = @GMSGFMT@
149 GREP = @GREP@
150 GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
151 GTHREAD_LIBS = @GTHREAD_LIBS@
152 GTK_CFLAGS = @GTK_CFLAGS@
153 GTK_LIBS = @GTK_LIBS@
154 INSTALL = @INSTALL@
155 INSTALL_DATA = @INSTALL_DATA@
156 INSTALL_PROGRAM = @INSTALL_PROGRAM@
157 INSTALL_SCRIPT = @INSTALL_SCRIPT@
158 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
159 INSTOBJEXT = @INSTOBJEXT@
160 INTLLIBS = @INTLLIBS@
161 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
162 INTLTOOL_MERGE = @INTLTOOL_MERGE@
163 INTLTOOL_PERL = @INTLTOOL_PERL@
164 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
165 LD = @LD@
166 LDFLAGS = @LDFLAGS@
167 LIBGHEMICAL_CFLAGS = @LIBGHEMICAL_CFLAGS@
168 LIBGHEMICAL_LIBS = @LIBGHEMICAL_LIBS@
169 LIBOBJS = @LIBOBJS@
170 LIBS = @LIBS@
171 LIBTOOL = @LIBTOOL@
172 LIPO = @LIPO@
173 LN_S = @LN_S@
174 LTLIBOBJS = @LTLIBOBJS@
175 MAKEINFO = @MAKEINFO@
176 MKDIR_P = @MKDIR_P@
177 MKINSTALLDIRS = @MKINSTALLDIRS@
178 MSGFMT = @MSGFMT@
179 MSGFMT_OPTS = @MSGFMT_OPTS@
180 MSGMERGE = @MSGMERGE@
181 NM = @NM@
182 NMEDIT = @NMEDIT@
183 OBJDUMP = @OBJDUMP@
184 OBJEXT = @OBJEXT@
185 OPENBABEL_CFLAGS = @OPENBABEL_CFLAGS@
186 OPENBABEL_LIBS = @OPENBABEL_LIBS@
187 OTOOL = @OTOOL@
188 OTOOL64 = @OTOOL64@
189 PACKAGE = @PACKAGE@
190 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
191 PACKAGE_NAME = @PACKAGE_NAME@
192 PACKAGE_STRING = @PACKAGE_STRING@
193 PACKAGE_TARNAME = @PACKAGE_TARNAME@
194 PACKAGE_URL = @PACKAGE_URL@
195 PACKAGE_VERSION = @PACKAGE_VERSION@
196 PATH_SEPARATOR = @PATH_SEPARATOR@
197 PKG_CONFIG = @PKG_CONFIG@
198 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
199 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
200 POFILES = @POFILES@
201 POSUB = @POSUB@
202 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
203 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
204 RANLIB = @RANLIB@
205 SED = @SED@
206 SET_MAKE = @SET_MAKE@
207 SHELL = @SHELL@
208 STRIP = @STRIP@
209 USE_NLS = @USE_NLS@
210 VERSION = @VERSION@
211 XGETTEXT = @XGETTEXT@
212 abs_builddir = @abs_builddir@
213 abs_srcdir = @abs_srcdir@
214 abs_top_builddir = @abs_top_builddir@
215 abs_top_srcdir = @abs_top_srcdir@
216 ac_ct_CC = @ac_ct_CC@
217 ac_ct_CXX = @ac_ct_CXX@
218 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
219 am__include = @am__include@
220 am__leading_dot = @am__leading_dot@
221 am__quote = @am__quote@
222 am__tar = @am__tar@
223 am__untar = @am__untar@
224 bindir = @bindir@
225 build = @build@
226 build_alias = @build_alias@
227 build_cpu = @build_cpu@
228 build_os = @build_os@
229 build_vendor = @build_vendor@
230 builddir = @builddir@
231 datadir = @datadir@
232 datarootdir = @datarootdir@
233 docdir = @docdir@
234 dvidir = @dvidir@
235 exec_prefix = @exec_prefix@
236 host = @host@
237 host_alias = @host_alias@
238 host_cpu = @host_cpu@
239 host_os = @host_os@
240 host_vendor = @host_vendor@
241 htmldir = @htmldir@
242 includedir = @includedir@
243 infodir = @infodir@
244 install_sh = @install_sh@
245 libdir = @libdir@
246 libexecdir = @libexecdir@
247 localedir = @localedir@
248 localstatedir = @localstatedir@
249 lt_ECHO = @lt_ECHO@
250 mandir = @mandir@
251 mkdir_p = @mkdir_p@
252 oldincludedir = @oldincludedir@
253 pdfdir = @pdfdir@
254 prefix = @prefix@
255 program_transform_name = @program_transform_name@
256 psdir = @psdir@
257 sbindir = @sbindir@
258 sharedstatedir = @sharedstatedir@
259 srcdir = @srcdir@
260 sysconfdir = @sysconfdir@
261 target_alias = @target_alias@
262 top_build_prefix = @top_build_prefix@
263 top_builddir = @top_builddir@
264 top_builddir_ = @top_builddir_@
265 top_srcdir = @top_srcdir@
266 SUBDIRS = TSS
267 examplesdir = $(datadir)/ghemical/@APPVERSION@/examples
268 examples_DATA = \
269 2-chlorobutane.gpr \
270 3-phenylpropanal.gpr \
271 PeriodicTable.gpr \
272 acetylsalicylic_acid.gpr \
273 alpha-pinene.gpr \
274 bromobenzene.gpr \
275 camphor.gpr \
276 cinnamaldehyde.gpr \
277 cis-2-pentene.gpr \
278 cyclohexane.gpr \
279 dna_AGTC.gpr \
280 naphtalene.gpr \
281 rna_aguc.gpr
282
283 EXTRA_DIST = $(examples_DATA)
284 all: all-recursive
285
286 .SUFFIXES:
287 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
288 @for dep in $?; do \
289 case '$(am__configure_deps)' in \
290 *$$dep*) \
291 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
292 && { if test -f $@; then exit 0; else break; fi; }; \
293 exit 1;; \
294 esac; \
295 done; \
296 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Makefile'; \
297 $(am__cd) $(top_srcdir) && \
298 $(AUTOMAKE) --gnu examples/Makefile
299 .PRECIOUS: Makefile
300 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
301 @case '$?' in \
302 *config.status*) \
303 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
304 *) \
305 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
306 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
307 esac;
308
309 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
310 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
311
312 $(top_srcdir)/configure: $(am__configure_deps)
313 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
314 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
315 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
316 $(am__aclocal_m4_deps):
317
318 mostlyclean-libtool:
319 -rm -f *.lo
320
321 clean-libtool:
322 -rm -rf .libs _libs
323 install-examplesDATA: $(examples_DATA)
324 @$(NORMAL_INSTALL)
325 test -z "$(examplesdir)" || $(MKDIR_P) "$(DESTDIR)$(examplesdir)"
326 @list='$(examples_DATA)'; test -n "$(examplesdir)" || list=; \
327 for p in $$list; do \
328 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
329 echo "$$d$$p"; \
330 done | $(am__base_list) | \
331 while read files; do \
332 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(examplesdir)'"; \
333 $(INSTALL_DATA) $$files "$(DESTDIR)$(examplesdir)" || exit $$?; \
334 done
335
336 uninstall-examplesDATA:
337 @$(NORMAL_UNINSTALL)
338 @list='$(examples_DATA)'; test -n "$(examplesdir)" || list=; \
339 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
340 test -n "$$files" || exit 0; \
341 echo " ( cd '$(DESTDIR)$(examplesdir)' && rm -f" $$files ")"; \
342 cd "$(DESTDIR)$(examplesdir)" && rm -f $$files
343
344 # This directory's subdirectories are mostly independent; you can cd
345 # into them and run `make' without going through this Makefile.
346 # To change the values of `make' variables: instead of editing Makefiles,
347 # (1) if the variable is set in `config.status', edit `config.status'
348 # (which will cause the Makefiles to be regenerated when you run `make');
349 # (2) otherwise, pass the desired values on the `make' command line.
350 $(RECURSIVE_TARGETS):
351 @fail= failcom='exit 1'; \
352 for f in x $$MAKEFLAGS; do \
353 case $$f in \
354 *=* | --[!k]*);; \
355 *k*) failcom='fail=yes';; \
356 esac; \
357 done; \
358 dot_seen=no; \
359 target=`echo $@ | sed s/-recursive//`; \
360 list='$(SUBDIRS)'; for subdir in $$list; do \
361 echo "Making $$target in $$subdir"; \
362 if test "$$subdir" = "."; then \
363 dot_seen=yes; \
364 local_target="$$target-am"; \
365 else \
366 local_target="$$target"; \
367 fi; \
368 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
369 || eval $$failcom; \
370 done; \
371 if test "$$dot_seen" = "no"; then \
372 $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
373 fi; test -z "$$fail"
374
375 $(RECURSIVE_CLEAN_TARGETS):
376 @fail= failcom='exit 1'; \
377 for f in x $$MAKEFLAGS; do \
378 case $$f in \
379 *=* | --[!k]*);; \
380 *k*) failcom='fail=yes';; \
381 esac; \
382 done; \
383 dot_seen=no; \
384 case "$@" in \
385 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
386 *) list='$(SUBDIRS)' ;; \
387 esac; \
388 rev=''; for subdir in $$list; do \
389 if test "$$subdir" = "."; then :; else \
390 rev="$$subdir $$rev"; \
391 fi; \
392 done; \
393 rev="$$rev ."; \
394 target=`echo $@ | sed s/-recursive//`; \
395 for subdir in $$rev; do \
396 echo "Making $$target in $$subdir"; \
397 if test "$$subdir" = "."; then \
398 local_target="$$target-am"; \
399 else \
400 local_target="$$target"; \
401 fi; \
402 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
403 || eval $$failcom; \
404 done && test -z "$$fail"
405 tags-recursive:
406 list='$(SUBDIRS)'; for subdir in $$list; do \
407 test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
408 done
409 ctags-recursive:
410 list='$(SUBDIRS)'; for subdir in $$list; do \
411 test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
412 done
413
414 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
415 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
416 unique=`for i in $$list; do \
417 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
418 done | \
419 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
420 END { if (nonempty) { for (i in files) print i; }; }'`; \
421 mkid -fID $$unique
422 tags: TAGS
423
424 TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
425 $(TAGS_FILES) $(LISP)
426 set x; \
427 here=`pwd`; \
428 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
429 include_option=--etags-include; \
430 empty_fix=.; \
431 else \
432 include_option=--include; \
433 empty_fix=; \
434 fi; \
435 list='$(SUBDIRS)'; for subdir in $$list; do \
436 if test "$$subdir" = .; then :; else \
437 test ! -f $$subdir/TAGS || \
438 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
439 fi; \
440 done; \
441 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
442 unique=`for i in $$list; do \
443 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
444 done | \
445 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
446 END { if (nonempty) { for (i in files) print i; }; }'`; \
447 shift; \
448 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
449 test -n "$$unique" || unique=$$empty_fix; \
450 if test $$# -gt 0; then \
451 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
452 "$$@" $$unique; \
453 else \
454 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
455 $$unique; \
456 fi; \
457 fi
458 ctags: CTAGS
459 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
460 $(TAGS_FILES) $(LISP)
461 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
462 unique=`for i in $$list; do \
463 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
464 done | \
465 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
466 END { if (nonempty) { for (i in files) print i; }; }'`; \
467 test -z "$(CTAGS_ARGS)$$unique" \
468 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
469 $$unique
470
471 GTAGS:
472 here=`$(am__cd) $(top_builddir) && pwd` \
473 && $(am__cd) $(top_srcdir) \
474 && gtags -i $(GTAGS_ARGS) "$$here"
475
476 distclean-tags:
477 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
478
479 distdir: $(DISTFILES)
480 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
481 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
482 list='$(DISTFILES)'; \
483 dist_files=`for file in $$list; do echo $$file; done | \
484 sed -e "s|^$$srcdirstrip/||;t" \
485 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
486 case $$dist_files in \
487 */*) $(MKDIR_P) `echo "$$dist_files" | \
488 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
489 sort -u` ;; \
490 esac; \
491 for file in $$dist_files; do \
492 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
493 if test -d $$d/$$file; then \
494 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
495 if test -d "$(distdir)/$$file"; then \
496 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
497 fi; \
498 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
499 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
500 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
501 fi; \
502 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
503 else \
504 test -f "$(distdir)/$$file" \
505 || cp -p $$d/$$file "$(distdir)/$$file" \
506 || exit 1; \
507 fi; \
508 done
509 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
510 if test "$$subdir" = .; then :; else \
511 test -d "$(distdir)/$$subdir" \
512 || $(MKDIR_P) "$(distdir)/$$subdir" \
513 || exit 1; \
514 fi; \
515 done
516 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
517 if test "$$subdir" = .; then :; else \
518 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
519 $(am__relativize); \
520 new_distdir=$$reldir; \
521 dir1=$$subdir; dir2="$(top_distdir)"; \
522 $(am__relativize); \
523 new_top_distdir=$$reldir; \
524 echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
525 echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
526 ($(am__cd) $$subdir && \
527 $(MAKE) $(AM_MAKEFLAGS) \
528 top_distdir="$$new_top_distdir" \
529 distdir="$$new_distdir" \
530 am__remove_distdir=: \
531 am__skip_length_check=: \
532 am__skip_mode_fix=: \
533 distdir) \
534 || exit 1; \
535 fi; \
536 done
537 check-am: all-am
538 check: check-recursive
539 all-am: Makefile $(DATA)
540 installdirs: installdirs-recursive
541 installdirs-am:
542 for dir in "$(DESTDIR)$(examplesdir)"; do \
543 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
544 done
545 install: install-recursive
546 install-exec: install-exec-recursive
547 install-data: install-data-recursive
548 uninstall: uninstall-recursive
549
550 install-am: all-am
551 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
552
553 installcheck: installcheck-recursive
554 install-strip:
555 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
556 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
557 `test -z '$(STRIP)' || \
558 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
559 mostlyclean-generic:
560
561 clean-generic:
562
563 distclean-generic:
564 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
565 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
566
567 maintainer-clean-generic:
568 @echo "This command is intended for maintainers to use"
569 @echo "it deletes files that may require special tools to rebuild."
570 clean: clean-recursive
571
572 clean-am: clean-generic clean-libtool mostlyclean-am
573
574 distclean: distclean-recursive
575 -rm -f Makefile
576 distclean-am: clean-am distclean-generic distclean-tags
577
578 dvi: dvi-recursive
579
580 dvi-am:
581
582 html: html-recursive
583
584 html-am:
585
586 info: info-recursive
587
588 info-am:
589
590 install-data-am: install-examplesDATA
591
592 install-dvi: install-dvi-recursive
593
594 install-dvi-am:
595
596 install-exec-am:
597
598 install-html: install-html-recursive
599
600 install-html-am:
601
602 install-info: install-info-recursive
603
604 install-info-am:
605
606 install-man:
607
608 install-pdf: install-pdf-recursive
609
610 install-pdf-am:
611
612 install-ps: install-ps-recursive
613
614 install-ps-am:
615
616 installcheck-am:
617
618 maintainer-clean: maintainer-clean-recursive
619 -rm -f Makefile
620 maintainer-clean-am: distclean-am maintainer-clean-generic
621
622 mostlyclean: mostlyclean-recursive
623
624 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
625
626 pdf: pdf-recursive
627
628 pdf-am:
629
630 ps: ps-recursive
631
632 ps-am:
633
634 uninstall-am: uninstall-examplesDATA
635
636 .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
637 install-am install-strip tags-recursive
638
639 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
640 all all-am check check-am clean clean-generic clean-libtool \
641 ctags ctags-recursive distclean distclean-generic \
642 distclean-libtool distclean-tags distdir dvi dvi-am html \
643 html-am info info-am install install-am install-data \
644 install-data-am install-dvi install-dvi-am \
645 install-examplesDATA install-exec install-exec-am install-html \
646 install-html-am install-info install-info-am install-man \
647 install-pdf install-pdf-am install-ps install-ps-am \
648 install-strip installcheck installcheck-am installdirs \
649 installdirs-am maintainer-clean maintainer-clean-generic \
650 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
651 ps ps-am tags tags-recursive uninstall uninstall-am \
652 uninstall-examplesDATA
653
654
655 # Tell versions [3.59,3.63) of GNU make to not export all variables.
656 # Otherwise a system limit (for SysV at least) may be exceeded.
657 .NOEXPORT:
0 !Header gpr 100
1 !Info 1
2 !Atoms 110
3 0 1
4 1 2
5 2 3
6 3 4
7 4 5
8 5 6
9 6 7
10 7 8
11 8 9
12 9 10
13 10 11
14 11 12
15 12 13
16 13 14
17 14 15
18 15 16
19 16 17
20 17 18
21 18 19
22 19 20
23 20 21
24 21 22
25 22 23
26 23 24
27 24 25
28 25 26
29 26 27
30 27 28
31 28 29
32 29 30
33 30 31
34 31 32
35 32 33
36 33 34
37 34 35
38 35 36
39 36 37
40 37 38
41 38 39
42 39 40
43 40 41
44 41 42
45 42 43
46 43 44
47 44 45
48 45 46
49 46 47
50 47 48
51 48 49
52 49 50
53 50 51
54 51 52
55 52 53
56 53 54
57 54 55
58 55 56
59 56 57
60 57 58
61 58 59
62 59 60
63 60 61
64 61 62
65 62 63
66 63 64
67 64 65
68 65 66
69 66 67
70 67 68
71 68 69
72 69 70
73 70 71
74 71 72
75 72 73
76 73 74
77 74 75
78 75 76
79 76 77
80 77 78
81 78 79
82 79 80
83 80 81
84 81 82
85 82 83
86 83 84
87 84 85
88 85 86
89 86 87
90 87 88
91 88 89
92 89 90
93 90 91
94 91 92
95 92 93
96 93 94
97 94 95
98 95 96
99 96 97
100 97 98
101 98 99
102 99 100
103 100 101
104 101 102
105 102 103
106 103 104
107 104 105
108 105 106
109 106 107
110 107 108
111 108 109
112 109 110
113 !Bonds 0
114 !Coord
115 0 0.73 0.35 0
116 1 -0.63 0.35 0
117 2 0.73 0.27 0
118 3 0.65 0.27 0
119 4 -0.23 0.27 0
120 5 -0.31 0.27 0
121 6 -0.39 0.27 0
122 7 -0.47 0.27 0
123 8 -0.55 0.27 0
124 9 -0.63 0.27 0
125 10 0.73 0.19 0
126 11 0.65 0.19 0
127 12 -0.23 0.19 0
128 13 -0.31 0.19 0
129 14 -0.39 0.19 0
130 15 -0.47 0.19 0
131 16 -0.55 0.19 0
132 17 -0.63 0.19 0
133 18 0.73 0.11 0
134 19 0.65 0.11 0
135 20 0.57 0.11 0
136 21 0.49 0.11 0
137 22 0.41 0.11 0
138 23 0.33 0.11 0
139 24 0.25 0.11 0
140 25 0.17 0.11 0
141 26 0.09 0.11 0
142 27 0.01 0.11 0
143 28 -0.07 0.11 0
144 29 -0.15 0.11 0
145 30 -0.23 0.11 0
146 31 -0.31 0.11 0
147 32 -0.39 0.11 0
148 33 -0.47 0.11 0
149 34 -0.55 0.11 0
150 35 -0.63 0.11 0
151 36 0.73 0.03 0
152 37 0.65 0.03 0
153 38 0.57 0.03 0
154 39 0.49 0.03 0
155 40 0.41 0.03 0
156 41 0.33 0.03 0
157 42 0.25 0.03 0
158 43 0.17 0.03 0
159 44 0.09 0.03 0
160 45 0.01 0.03 0
161 46 -0.07 0.03 0
162 47 -0.15 0.03 0
163 48 -0.23 0.03 0
164 49 -0.31 0.03 0
165 50 -0.39 0.03 0
166 51 -0.47 0.03 0
167 52 -0.55 0.03 0
168 53 -0.63 0.03 0
169 54 0.73 -0.05 0
170 55 0.65 -0.05 0
171 56 0.57 -0.05 0
172 57 0.41 -0.25 0
173 58 0.33 -0.25 0
174 59 0.25 -0.25 0
175 60 0.17 -0.25 0
176 61 0.09 -0.25 0
177 62 0.01 -0.25 0
178 63 -0.07 -0.25 0
179 64 -0.15 -0.25 0
180 65 -0.23 -0.25 0
181 66 -0.31 -0.25 0
182 67 -0.39 -0.25 0
183 68 -0.47 -0.25 0
184 69 -0.55 -0.25 0
185 70 -0.63 -0.25 0
186 71 0.49 -0.05 0
187 72 0.41 -0.05 0
188 73 0.33 -0.05 0
189 74 0.25 -0.05 0
190 75 0.17 -0.05 0
191 76 0.09 -0.05 0
192 77 0.01 -0.05 0
193 78 -0.07 -0.05 0
194 79 -0.15 -0.05 0
195 80 -0.23 -0.05 0
196 81 -0.31 -0.05 0
197 82 -0.39 -0.05 0
198 83 -0.47 -0.05 0
199 84 -0.55 -0.05 0
200 85 -0.63 -0.05 0
201 86 0.73 -0.13 0
202 87 0.65 -0.13 0
203 88 0.57 -0.13 0
204 89 0.41 -0.33 0
205 90 0.33 -0.33 0
206 91 0.25 -0.33 0
207 92 0.17 -0.33 0
208 93 0.09 -0.33 0
209 94 0.01 -0.33 0
210 95 -0.07 -0.33 0
211 96 -0.15 -0.33 0
212 97 -0.23 -0.33 0
213 98 -0.31 -0.33 0
214 99 -0.39 -0.33 0
215 100 -0.47 -0.33 0
216 101 -0.55 -0.33 0
217 102 -0.63 -0.33 0
218 103 0.49 -0.13 0
219 104 0.41 -0.13 0
220 105 0.33 -0.13 0
221 106 0.25 -0.13 0
222 107 0.17 -0.13 0
223 108 0.09 -0.13 0
224 109 0.01 -0.13 0
225 !Charges
226 0 0
227 1 0
228 2 0
229 3 0
230 4 0
231 5 0
232 6 0
233 7 0
234 8 0
235 9 0
236 10 0
237 11 0
238 12 0
239 13 0
240 14 0
241 15 0
242 16 0
243 17 0
244 18 0
245 19 0
246 20 0
247 21 0
248 22 0
249 23 0
250 24 0
251 25 0
252 26 0
253 27 0
254 28 0
255 29 0
256 30 0
257 31 0
258 32 0
259 33 0
260 34 0
261 35 0
262 36 0
263 37 0
264 38 0
265 39 0
266 40 0
267 41 0
268 42 0
269 43 0
270 44 0
271 45 0
272 46 0
273 47 0
274 48 0
275 49 0
276 50 0
277 51 0
278 52 0
279 53 0
280 54 0
281 55 0
282 56 0
283 57 0
284 58 0
285 59 0
286 60 0
287 61 0
288 62 0
289 63 0
290 64 0
291 65 0
292 66 0
293 67 0
294 68 0
295 69 0
296 70 0
297 71 0
298 72 0
299 73 0
300 74 0
301 75 0
302 76 0
303 77 0
304 78 0
305 79 0
306 80 0
307 81 0
308 82 0
309 83 0
310 84 0
311 85 0
312 86 0
313 87 0
314 88 0
315 89 0
316 90 0
317 91 0
318 92 0
319 93 0
320 94 0
321 95 0
322 96 0
323 97 0
324 98 0
325 99 0
326 100 0
327 101 0
328 102 0
329 103 0
330 104 0
331 105 0
332 106 0
333 107 0
334 108 0
335 109 0
336 !End
0 tssexampledir = $(datadir)/ghemical/@APPVERSION@/examples/transition_state_search/E2-reaction
1
2 tssexample_DATA = \
3 products.gpr \
4 reactants.gpr \
5 ts.gpr
6
7 EXTRA_DIST = $(tssexample_DATA)
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16
17 VPATH = @srcdir@
18 pkgdatadir = $(datadir)/@PACKAGE@
19 pkgincludedir = $(includedir)/@PACKAGE@
20 pkglibdir = $(libdir)/@PACKAGE@
21 pkglibexecdir = $(libexecdir)/@PACKAGE@
22 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
23 install_sh_DATA = $(install_sh) -c -m 644
24 install_sh_PROGRAM = $(install_sh) -c
25 install_sh_SCRIPT = $(install_sh) -c
26 INSTALL_HEADER = $(INSTALL_DATA)
27 transform = $(program_transform_name)
28 NORMAL_INSTALL = :
29 PRE_INSTALL = :
30 POST_INSTALL = :
31 NORMAL_UNINSTALL = :
32 PRE_UNINSTALL = :
33 POST_UNINSTALL = :
34 build_triplet = @build@
35 host_triplet = @host@
36 subdir = examples/TSS/E2-reaction
37 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
38 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
39 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
40 $(top_srcdir)/configure.ac
41 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
42 $(ACLOCAL_M4)
43 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
44 CONFIG_HEADER = $(top_builddir)/src/ghemicalconfig.h
45 CONFIG_CLEAN_FILES =
46 CONFIG_CLEAN_VPATH_FILES =
47 SOURCES =
48 DIST_SOURCES =
49 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
50 am__vpath_adj = case $$p in \
51 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
52 *) f=$$p;; \
53 esac;
54 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
55 am__install_max = 40
56 am__nobase_strip_setup = \
57 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
58 am__nobase_strip = \
59 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
60 am__nobase_list = $(am__nobase_strip_setup); \
61 for p in $$list; do echo "$$p $$p"; done | \
62 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
63 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
64 if (++n[$$2] == $(am__install_max)) \
65 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
66 END { for (dir in files) print dir, files[dir] }'
67 am__base_list = \
68 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
69 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
70 am__installdirs = "$(DESTDIR)$(tssexampledir)"
71 DATA = $(tssexample_DATA)
72 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
73 ACLOCAL = @ACLOCAL@
74 ALL_LINGUAS = @ALL_LINGUAS@
75 AMTAR = @AMTAR@
76 APPRELEASEDATE = @APPRELEASEDATE@
77 APPVERSION = @APPVERSION@
78 AR = @AR@
79 AUTOCONF = @AUTOCONF@
80 AUTOHEADER = @AUTOHEADER@
81 AUTOMAKE = @AUTOMAKE@
82 AWK = @AWK@
83 CATALOGS = @CATALOGS@
84 CATOBJEXT = @CATOBJEXT@
85 CC = @CC@
86 CCDEPMODE = @CCDEPMODE@
87 CFLAGS = @CFLAGS@
88 CPP = @CPP@
89 CPPFLAGS = @CPPFLAGS@
90 CXX = @CXX@
91 CXXCPP = @CXXCPP@
92 CXXDEPMODE = @CXXDEPMODE@
93 CXXFLAGS = @CXXFLAGS@
94 CYGPATH_W = @CYGPATH_W@
95 DATADIRNAME = @DATADIRNAME@
96 DEFS = @DEFS@
97 DEPDIR = @DEPDIR@
98 DSYMUTIL = @DSYMUTIL@
99 DUMPBIN = @DUMPBIN@
100 ECHO_C = @ECHO_C@
101 ECHO_N = @ECHO_N@
102 ECHO_T = @ECHO_T@
103 EGREP = @EGREP@
104 EXEEXT = @EXEEXT@
105 FGREP = @FGREP@
106 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
107 GMOFILES = @GMOFILES@
108 GMSGFMT = @GMSGFMT@
109 GREP = @GREP@
110 GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
111 GTHREAD_LIBS = @GTHREAD_LIBS@
112 GTK_CFLAGS = @GTK_CFLAGS@
113 GTK_LIBS = @GTK_LIBS@
114 INSTALL = @INSTALL@
115 INSTALL_DATA = @INSTALL_DATA@
116 INSTALL_PROGRAM = @INSTALL_PROGRAM@
117 INSTALL_SCRIPT = @INSTALL_SCRIPT@
118 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
119 INSTOBJEXT = @INSTOBJEXT@
120 INTLLIBS = @INTLLIBS@
121 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
122 INTLTOOL_MERGE = @INTLTOOL_MERGE@
123 INTLTOOL_PERL = @INTLTOOL_PERL@
124 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
125 LD = @LD@
126 LDFLAGS = @LDFLAGS@
127 LIBGHEMICAL_CFLAGS = @LIBGHEMICAL_CFLAGS@
128 LIBGHEMICAL_LIBS = @LIBGHEMICAL_LIBS@
129 LIBOBJS = @LIBOBJS@
130 LIBS = @LIBS@
131 LIBTOOL = @LIBTOOL@
132 LIPO = @LIPO@
133 LN_S = @LN_S@
134 LTLIBOBJS = @LTLIBOBJS@
135 MAKEINFO = @MAKEINFO@
136 MKDIR_P = @MKDIR_P@
137 MKINSTALLDIRS = @MKINSTALLDIRS@
138 MSGFMT = @MSGFMT@
139 MSGFMT_OPTS = @MSGFMT_OPTS@
140 MSGMERGE = @MSGMERGE@
141 NM = @NM@
142 NMEDIT = @NMEDIT@
143 OBJDUMP = @OBJDUMP@
144 OBJEXT = @OBJEXT@
145 OPENBABEL_CFLAGS = @OPENBABEL_CFLAGS@
146 OPENBABEL_LIBS = @OPENBABEL_LIBS@
147 OTOOL = @OTOOL@
148 OTOOL64 = @OTOOL64@
149 PACKAGE = @PACKAGE@
150 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
151 PACKAGE_NAME = @PACKAGE_NAME@
152 PACKAGE_STRING = @PACKAGE_STRING@
153 PACKAGE_TARNAME = @PACKAGE_TARNAME@
154 PACKAGE_URL = @PACKAGE_URL@
155 PACKAGE_VERSION = @PACKAGE_VERSION@
156 PATH_SEPARATOR = @PATH_SEPARATOR@
157 PKG_CONFIG = @PKG_CONFIG@
158 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
159 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
160 POFILES = @POFILES@
161 POSUB = @POSUB@
162 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
163 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
164 RANLIB = @RANLIB@
165 SED = @SED@
166 SET_MAKE = @SET_MAKE@
167 SHELL = @SHELL@
168 STRIP = @STRIP@
169 USE_NLS = @USE_NLS@
170 VERSION = @VERSION@
171 XGETTEXT = @XGETTEXT@
172 abs_builddir = @abs_builddir@
173 abs_srcdir = @abs_srcdir@
174 abs_top_builddir = @abs_top_builddir@
175 abs_top_srcdir = @abs_top_srcdir@
176 ac_ct_CC = @ac_ct_CC@
177 ac_ct_CXX = @ac_ct_CXX@
178 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
179 am__include = @am__include@
180 am__leading_dot = @am__leading_dot@
181 am__quote = @am__quote@
182 am__tar = @am__tar@
183 am__untar = @am__untar@
184 bindir = @bindir@
185 build = @build@
186 build_alias = @build_alias@
187 build_cpu = @build_cpu@
188 build_os = @build_os@
189 build_vendor = @build_vendor@
190 builddir = @builddir@
191 datadir = @datadir@
192 datarootdir = @datarootdir@
193 docdir = @docdir@
194 dvidir = @dvidir@
195 exec_prefix = @exec_prefix@
196 host = @host@
197 host_alias = @host_alias@
198 host_cpu = @host_cpu@
199 host_os = @host_os@
200 host_vendor = @host_vendor@
201 htmldir = @htmldir@
202 includedir = @includedir@
203 infodir = @infodir@
204 install_sh = @install_sh@
205 libdir = @libdir@
206 libexecdir = @libexecdir@
207 localedir = @localedir@
208 localstatedir = @localstatedir@
209 lt_ECHO = @lt_ECHO@
210 mandir = @mandir@
211 mkdir_p = @mkdir_p@
212 oldincludedir = @oldincludedir@
213 pdfdir = @pdfdir@
214 prefix = @prefix@
215 program_transform_name = @program_transform_name@
216 psdir = @psdir@
217 sbindir = @sbindir@
218 sharedstatedir = @sharedstatedir@
219 srcdir = @srcdir@
220 sysconfdir = @sysconfdir@
221 target_alias = @target_alias@
222 top_build_prefix = @top_build_prefix@
223 top_builddir = @top_builddir@
224 top_builddir_ = @top_builddir_@
225 top_srcdir = @top_srcdir@
226 tssexampledir = $(datadir)/ghemical/@APPVERSION@/examples/transition_state_search/E2-reaction
227 tssexample_DATA = \
228 products.gpr \
229 reactants.gpr \
230 ts.gpr
231
232 EXTRA_DIST = $(tssexample_DATA)
233 all: all-am
234
235 .SUFFIXES:
236 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
237 @for dep in $?; do \
238 case '$(am__configure_deps)' in \
239 *$$dep*) \
240 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
241 && { if test -f $@; then exit 0; else break; fi; }; \
242 exit 1;; \
243 esac; \
244 done; \
245 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/TSS/E2-reaction/Makefile'; \
246 $(am__cd) $(top_srcdir) && \
247 $(AUTOMAKE) --gnu examples/TSS/E2-reaction/Makefile
248 .PRECIOUS: Makefile
249 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
250 @case '$?' in \
251 *config.status*) \
252 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
253 *) \
254 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
255 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
256 esac;
257
258 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
259 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
260
261 $(top_srcdir)/configure: $(am__configure_deps)
262 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
263 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
264 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
265 $(am__aclocal_m4_deps):
266
267 mostlyclean-libtool:
268 -rm -f *.lo
269
270 clean-libtool:
271 -rm -rf .libs _libs
272 install-tssexampleDATA: $(tssexample_DATA)
273 @$(NORMAL_INSTALL)
274 test -z "$(tssexampledir)" || $(MKDIR_P) "$(DESTDIR)$(tssexampledir)"
275 @list='$(tssexample_DATA)'; test -n "$(tssexampledir)" || list=; \
276 for p in $$list; do \
277 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
278 echo "$$d$$p"; \
279 done | $(am__base_list) | \
280 while read files; do \
281 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tssexampledir)'"; \
282 $(INSTALL_DATA) $$files "$(DESTDIR)$(tssexampledir)" || exit $$?; \
283 done
284
285 uninstall-tssexampleDATA:
286 @$(NORMAL_UNINSTALL)
287 @list='$(tssexample_DATA)'; test -n "$(tssexampledir)" || list=; \
288 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
289 test -n "$$files" || exit 0; \
290 echo " ( cd '$(DESTDIR)$(tssexampledir)' && rm -f" $$files ")"; \
291 cd "$(DESTDIR)$(tssexampledir)" && rm -f $$files
292 tags: TAGS
293 TAGS:
294
295 ctags: CTAGS
296 CTAGS:
297
298
299 distdir: $(DISTFILES)
300 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
301 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
302 list='$(DISTFILES)'; \
303 dist_files=`for file in $$list; do echo $$file; done | \
304 sed -e "s|^$$srcdirstrip/||;t" \
305 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
306 case $$dist_files in \
307 */*) $(MKDIR_P) `echo "$$dist_files" | \
308 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
309 sort -u` ;; \
310 esac; \
311 for file in $$dist_files; do \
312 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
313 if test -d $$d/$$file; then \
314 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
315 if test -d "$(distdir)/$$file"; then \
316 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
317 fi; \
318 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
319 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
320 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
321 fi; \
322 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
323 else \
324 test -f "$(distdir)/$$file" \
325 || cp -p $$d/$$file "$(distdir)/$$file" \
326 || exit 1; \
327 fi; \
328 done
329 check-am: all-am
330 check: check-am
331 all-am: Makefile $(DATA)
332 installdirs:
333 for dir in "$(DESTDIR)$(tssexampledir)"; do \
334 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
335 done
336 install: install-am
337 install-exec: install-exec-am
338 install-data: install-data-am
339 uninstall: uninstall-am
340
341 install-am: all-am
342 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
343
344 installcheck: installcheck-am
345 install-strip:
346 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
347 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
348 `test -z '$(STRIP)' || \
349 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
350 mostlyclean-generic:
351
352 clean-generic:
353
354 distclean-generic:
355 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
356 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
357
358 maintainer-clean-generic:
359 @echo "This command is intended for maintainers to use"
360 @echo "it deletes files that may require special tools to rebuild."
361 clean: clean-am
362
363 clean-am: clean-generic clean-libtool mostlyclean-am
364
365 distclean: distclean-am
366 -rm -f Makefile
367 distclean-am: clean-am distclean-generic
368
369 dvi: dvi-am
370
371 dvi-am:
372
373 html: html-am
374
375 html-am:
376
377 info: info-am
378
379 info-am:
380
381 install-data-am: install-tssexampleDATA
382
383 install-dvi: install-dvi-am
384
385 install-dvi-am:
386
387 install-exec-am:
388
389 install-html: install-html-am
390
391 install-html-am:
392
393 install-info: install-info-am
394
395 install-info-am:
396
397 install-man:
398
399 install-pdf: install-pdf-am
400
401 install-pdf-am:
402
403 install-ps: install-ps-am
404
405 install-ps-am:
406
407 installcheck-am:
408
409 maintainer-clean: maintainer-clean-am
410 -rm -f Makefile
411 maintainer-clean-am: distclean-am maintainer-clean-generic
412
413 mostlyclean: mostlyclean-am
414
415 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
416
417 pdf: pdf-am
418
419 pdf-am:
420
421 ps: ps-am
422
423 ps-am:
424
425 uninstall-am: uninstall-tssexampleDATA
426
427 .MAKE: install-am install-strip
428
429 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
430 distclean distclean-generic distclean-libtool distdir dvi \
431 dvi-am html html-am info info-am install install-am \
432 install-data install-data-am install-dvi install-dvi-am \
433 install-exec install-exec-am install-html install-html-am \
434 install-info install-info-am install-man install-pdf \
435 install-pdf-am install-ps install-ps-am install-strip \
436 install-tssexampleDATA installcheck installcheck-am \
437 installdirs maintainer-clean maintainer-clean-generic \
438 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
439 ps ps-am uninstall uninstall-am uninstall-tssexampleDATA
440
441
442 # Tell versions [3.59,3.63) of GNU make to not export all variables.
443 # Otherwise a system limit (for SysV at least) may be exceeded.
444 .NOEXPORT:
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 19
3 0 6 4096
4 1 6 4096
5 2 6 4096
6 3 1 4096
7 4 1 4096
8 5 1 4096
9 6 1 4096
10 7 1 4096
11 8 1 4096
12 9 6 4096
13 10 6 4096
14 11 8 4096
15 12 1 4096
16 13 1 4096
17 14 1 4096
18 15 1 4096
19 16 1 4096
20 17 1 4096
21 18 35 4096
22 !Bonds 16
23 0 1 D
24 1 2 S
25 9 10 S
26 10 11 S
27 0 3 S
28 0 4 S
29 1 5 S
30 2 6 S
31 2 7 S
32 2 8 S
33 9 12 S
34 9 13 S
35 9 14 S
36 10 15 S
37 10 16 S
38 11 17 S
39 !Coord
40 0 +0.0366623103618622 -0.0660673007369041 -0.139094099402428
41 1 -0.0967378169298172 -0.0588846728205681 -0.139927387237549
42 2 -0.181430265307426 -0.175040274858475 -0.0965224802494049
43 3 +0.0871684700250626 -0.156997293233871 -0.106854803860188
44 4 +0.0957816690206528 +0.0193084701895714 -0.171838819980621
45 5 -0.145396754145622 +0.0326539687812328 -0.173430725932121
46 6 -0.247036978602409 -0.143850952386856 -0.0139587670564651
47 7 -0.117833837866783 -0.258101433515549 -0.0626271516084671
48 8 -0.24319551885128 -0.209093928337097 -0.180919468402863
49 9 +0.20363637804985 +0.179911136627197 +0.135991409420967
50 10 +0.135080486536026 +0.0905792862176895 +0.241177901625633
51 11 +0.0130694806575775 +0.037940725684166 +0.188075974583626
52 12 +0.227395713329315 +0.120254844427109 +0.0466667115688324
53 13 +0.296529978513718 +0.22129887342453 +0.17801471054554
54 14 +0.136174067854881 +0.262273341417313 +0.1082374304533
55 15 +0.112889997661114 +0.150475740432739 +0.330741226673126
56 16 +0.202159464359283 +0.00775161385536194 +0.26849240064621
57 17 +0.0312103629112244 -0.0147131979465485 +0.111015766859055
58 18 -0.125100269913673 -0.171242788434029 -0.410966038703918
59 !Charges
60 0 -0.2
61 1 -0.1
62 2 +0
63 3 +0.1
64 4 +0.1
65 5 +0.1
66 6 +0
67 7 +0
68 8 +0
69 9 +0
70 10 +0
71 11 -0.4
72 12 +0
73 13 +0
74 14 +0
75 15 +0
76 16 +0
77 17 +0.4
78 18 +0
79 !End
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 19
3 0 6 4096
4 1 6 4096
5 2 6 4096
6 3 1 4096
7 4 1 4096
8 5 1 4096
9 6 1 4096
10 7 1 4096
11 8 1 4096
12 9 6 4096
13 10 6 4096
14 11 8 4096
15 12 1 4096
16 13 1 4096
17 14 1 4096
18 15 1 4096
19 16 1 4096
20 17 1 4096
21 18 35 4096
22 !Bonds 17
23 0 1 S
24 1 2 S
25 9 10 S
26 10 11 S
27 0 3 S
28 0 4 S
29 1 5 S
30 2 6 S
31 2 7 S
32 2 8 S
33 9 12 S
34 9 13 S
35 9 14 S
36 10 15 S
37 10 16 S
38 18 1 S
39 17 0 S
40 !Coord
41 0 +0.0140801332890987 -0.0594236478209496 -0.114172533154488
42 1 -0.122547134757042 -0.0735190138220787 -0.183916866779327
43 2 -0.207736685872078 -0.178421750664711 -0.109933905303478
44 3 +0.0665303394198418 -0.156103909015656 -0.116001009941101
45 4 +0.0744747892022133 +0.0159796606749296 -0.166800409555435
46 5 -0.174470886588097 +0.0234445575624704 -0.182625830173492
47 6 -0.22256138920784 -0.146815285086632 -0.00562175503000617
48 7 -0.156211242079735 -0.27561554312706 -0.111838065087795
49 8 -0.305442333221436 -0.187891602516174 -0.159579664468765
50 9 +0.177564889192581 +0.188842624425888 +0.132700815796852
51 10 +0.113240636885166 +0.111500911414623 +0.249371916055679
52 11 -0.0221741441637278 +0.079217717051506 +0.216604590415955
53 12 +0.176275134086609 +0.126591190695763 +0.0420451611280441
54 13 +0.281533360481262 +0.214018821716309 +0.15828050673008
55 14 +0.120892912149429 +0.281348556280136 +0.114422179758549
56 15 +0.114922732114792 +0.173827394843102 +0.34000238776207
57 16 +0.169677138328552 +0.0188109762966633 +0.267634183168411
58 17 -0.00107370968908072 -0.0280076488852501 -0.00988384056836367
59 18 -0.0969745367765427 -0.12778402864933 -0.3606878221035
60 !Charges
61 0 +0
62 1 +0.175
63 2 +0
64 3 +0
65 4 +0
66 5 +0
67 6 +0
68 7 +0
69 8 +0
70 9 +0
71 10 +0
72 11 +0
73 12 +0
74 13 +0
75 14 +0
76 15 +0
77 16 +0
78 17 +0
79 18 -0.175
80 !End
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 19
3 0 6 2048
4 1 6 2048
5 2 6 2048
6 3 1 2048
7 4 1 2048
8 5 1 2048
9 6 1 2048
10 7 1 2048
11 8 1 2048
12 9 6 2048
13 10 6 2048
14 11 8 2048
15 12 1 2048
16 13 1 2048
17 14 1 2048
18 15 1 2048
19 16 1 2048
20 17 1 2048
21 18 35 2048
22 !Bonds 18
23 0 1 C
24 1 2 S
25 9 10 S
26 10 11 S
27 0 3 S
28 0 4 S
29 1 5 S
30 2 6 S
31 2 7 S
32 2 8 S
33 9 12 S
34 9 13 S
35 9 14 S
36 10 15 S
37 10 16 S
38 18 1 S
39 17 0 S
40 11 17 S
41 !Coord
42 0 +0.0193895865231752 -0.0535837858915329 -0.112194590270519
43 1 -0.112624935805798 -0.06749327480793 -0.16600726544857
44 2 -0.199584692716599 -0.167694926261902 -0.095577597618103
45 3 +0.0749208703637123 -0.146261945366859 -0.0930018052458763
46 4 +0.0816149711608887 +0.025512894615531 -0.156286358833313
47 5 -0.165227636694908 +0.0291473735123873 -0.182501152157784
48 6 -0.227192267775536 -0.126815557479858 +0.00497464742511511
49 7 -0.14524257183075 -0.264048188924789 -0.0804011449217796
50 8 -0.293364197015762 -0.18847331404686 -0.152472764253616
51 9 +0.174765467643738 +0.183166265487671 +0.124066472053528
52 10 +0.0985056981444359 +0.0899459347128868 +0.217645645141602
53 11 -0.0172959193587303 +0.040658101439476 +0.164065897464752
54 12 +0.199656888842583 +0.12968847155571 +0.0292516686022282
55 13 +0.26920610666275 +0.218741714954376 +0.171672001481056
56 14 +0.111917167901993 +0.271720886230469 +0.0986672937870026
57 15 +0.0732455998659134 +0.147141084074974 +0.311985045671463
58 16 +0.168929278850555 +0.00655154045671225 +0.248685285449028
59 17 +0.00321523589082062 -0.00153980241157115 +0.0371550545096397
60 18 -0.114834658801556 -0.126363500952721 -0.369726359844208
61 !Charges
62 0 +0
63 1 +0.175
64 2 +0
65 3 +0
66 4 +0
67 5 +0
68 6 +0
69 7 +0
70 8 +0
71 9 +0
72 10 +0
73 11 +0
74 12 +0
75 13 +0
76 14 +0
77 15 +0
78 16 +0
79 17 +0
80 18 -0.175
81 !End
0 SUBDIRS = \
1 carbocation_rearrangement_hydride_shift \
2 carbocation_rearrangement_methide_shift \
3 cycloaddition_Diels-Alder \
4 E2-reaction \
5 sigmatropic_rearrangement_Cope \
6 SN2-reaction \
7 tautomeric_shift_keto_enol
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16 VPATH = @srcdir@
17 pkgdatadir = $(datadir)/@PACKAGE@
18 pkgincludedir = $(includedir)/@PACKAGE@
19 pkglibdir = $(libdir)/@PACKAGE@
20 pkglibexecdir = $(libexecdir)/@PACKAGE@
21 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
22 install_sh_DATA = $(install_sh) -c -m 644
23 install_sh_PROGRAM = $(install_sh) -c
24 install_sh_SCRIPT = $(install_sh) -c
25 INSTALL_HEADER = $(INSTALL_DATA)
26 transform = $(program_transform_name)
27 NORMAL_INSTALL = :
28 PRE_INSTALL = :
29 POST_INSTALL = :
30 NORMAL_UNINSTALL = :
31 PRE_UNINSTALL = :
32 POST_UNINSTALL = :
33 build_triplet = @build@
34 host_triplet = @host@
35 subdir = examples/TSS
36 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
37 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
38 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
39 $(top_srcdir)/configure.ac
40 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
41 $(ACLOCAL_M4)
42 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
43 CONFIG_HEADER = $(top_builddir)/src/ghemicalconfig.h
44 CONFIG_CLEAN_FILES =
45 CONFIG_CLEAN_VPATH_FILES =
46 SOURCES =
47 DIST_SOURCES =
48 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
49 html-recursive info-recursive install-data-recursive \
50 install-dvi-recursive install-exec-recursive \
51 install-html-recursive install-info-recursive \
52 install-pdf-recursive install-ps-recursive install-recursive \
53 installcheck-recursive installdirs-recursive pdf-recursive \
54 ps-recursive uninstall-recursive
55 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
56 distclean-recursive maintainer-clean-recursive
57 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
58 $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
59 distdir
60 ETAGS = etags
61 CTAGS = ctags
62 DIST_SUBDIRS = $(SUBDIRS)
63 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
64 am__relativize = \
65 dir0=`pwd`; \
66 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
67 sed_rest='s,^[^/]*/*,,'; \
68 sed_last='s,^.*/\([^/]*\)$$,\1,'; \
69 sed_butlast='s,/*[^/]*$$,,'; \
70 while test -n "$$dir1"; do \
71 first=`echo "$$dir1" | sed -e "$$sed_first"`; \
72 if test "$$first" != "."; then \
73 if test "$$first" = ".."; then \
74 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
75 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
76 else \
77 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
78 if test "$$first2" = "$$first"; then \
79 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
80 else \
81 dir2="../$$dir2"; \
82 fi; \
83 dir0="$$dir0"/"$$first"; \
84 fi; \
85 fi; \
86 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
87 done; \
88 reldir="$$dir2"
89 ACLOCAL = @ACLOCAL@
90 ALL_LINGUAS = @ALL_LINGUAS@
91 AMTAR = @AMTAR@
92 APPRELEASEDATE = @APPRELEASEDATE@
93 APPVERSION = @APPVERSION@
94 AR = @AR@
95 AUTOCONF = @AUTOCONF@
96 AUTOHEADER = @AUTOHEADER@
97 AUTOMAKE = @AUTOMAKE@
98 AWK = @AWK@
99 CATALOGS = @CATALOGS@
100 CATOBJEXT = @CATOBJEXT@
101 CC = @CC@
102 CCDEPMODE = @CCDEPMODE@
103 CFLAGS = @CFLAGS@
104 CPP = @CPP@
105 CPPFLAGS = @CPPFLAGS@
106 CXX = @CXX@
107 CXXCPP = @CXXCPP@
108 CXXDEPMODE = @CXXDEPMODE@
109 CXXFLAGS = @CXXFLAGS@
110 CYGPATH_W = @CYGPATH_W@
111 DATADIRNAME = @DATADIRNAME@
112 DEFS = @DEFS@
113 DEPDIR = @DEPDIR@
114 DSYMUTIL = @DSYMUTIL@
115 DUMPBIN = @DUMPBIN@
116 ECHO_C = @ECHO_C@
117 ECHO_N = @ECHO_N@
118 ECHO_T = @ECHO_T@
119 EGREP = @EGREP@
120 EXEEXT = @EXEEXT@
121 FGREP = @FGREP@
122 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
123 GMOFILES = @GMOFILES@
124 GMSGFMT = @GMSGFMT@
125 GREP = @GREP@
126 GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
127 GTHREAD_LIBS = @GTHREAD_LIBS@
128 GTK_CFLAGS = @GTK_CFLAGS@
129 GTK_LIBS = @GTK_LIBS@
130 INSTALL = @INSTALL@
131 INSTALL_DATA = @INSTALL_DATA@
132 INSTALL_PROGRAM = @INSTALL_PROGRAM@
133 INSTALL_SCRIPT = @INSTALL_SCRIPT@
134 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
135 INSTOBJEXT = @INSTOBJEXT@
136 INTLLIBS = @INTLLIBS@
137 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
138 INTLTOOL_MERGE = @INTLTOOL_MERGE@
139 INTLTOOL_PERL = @INTLTOOL_PERL@
140 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
141 LD = @LD@
142 LDFLAGS = @LDFLAGS@
143 LIBGHEMICAL_CFLAGS = @LIBGHEMICAL_CFLAGS@
144 LIBGHEMICAL_LIBS = @LIBGHEMICAL_LIBS@
145 LIBOBJS = @LIBOBJS@
146 LIBS = @LIBS@
147 LIBTOOL = @LIBTOOL@
148 LIPO = @LIPO@
149 LN_S = @LN_S@
150 LTLIBOBJS = @LTLIBOBJS@
151 MAKEINFO = @MAKEINFO@
152 MKDIR_P = @MKDIR_P@
153 MKINSTALLDIRS = @MKINSTALLDIRS@
154 MSGFMT = @MSGFMT@
155 MSGFMT_OPTS = @MSGFMT_OPTS@
156 MSGMERGE = @MSGMERGE@
157 NM = @NM@
158 NMEDIT = @NMEDIT@
159 OBJDUMP = @OBJDUMP@
160 OBJEXT = @OBJEXT@
161 OPENBABEL_CFLAGS = @OPENBABEL_CFLAGS@
162 OPENBABEL_LIBS = @OPENBABEL_LIBS@
163 OTOOL = @OTOOL@
164 OTOOL64 = @OTOOL64@
165 PACKAGE = @PACKAGE@
166 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
167 PACKAGE_NAME = @PACKAGE_NAME@
168 PACKAGE_STRING = @PACKAGE_STRING@
169 PACKAGE_TARNAME = @PACKAGE_TARNAME@
170 PACKAGE_URL = @PACKAGE_URL@
171 PACKAGE_VERSION = @PACKAGE_VERSION@
172 PATH_SEPARATOR = @PATH_SEPARATOR@
173 PKG_CONFIG = @PKG_CONFIG@
174 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
175 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
176 POFILES = @POFILES@
177 POSUB = @POSUB@
178 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
179 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
180 RANLIB = @RANLIB@
181 SED = @SED@
182 SET_MAKE = @SET_MAKE@
183 SHELL = @SHELL@
184 STRIP = @STRIP@
185 USE_NLS = @USE_NLS@
186 VERSION = @VERSION@
187 XGETTEXT = @XGETTEXT@
188 abs_builddir = @abs_builddir@
189 abs_srcdir = @abs_srcdir@
190 abs_top_builddir = @abs_top_builddir@
191 abs_top_srcdir = @abs_top_srcdir@
192 ac_ct_CC = @ac_ct_CC@
193 ac_ct_CXX = @ac_ct_CXX@
194 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
195 am__include = @am__include@
196 am__leading_dot = @am__leading_dot@
197 am__quote = @am__quote@
198 am__tar = @am__tar@
199 am__untar = @am__untar@
200 bindir = @bindir@
201 build = @build@
202 build_alias = @build_alias@
203 build_cpu = @build_cpu@
204 build_os = @build_os@
205 build_vendor = @build_vendor@
206 builddir = @builddir@
207 datadir = @datadir@
208 datarootdir = @datarootdir@
209 docdir = @docdir@
210 dvidir = @dvidir@
211 exec_prefix = @exec_prefix@
212 host = @host@
213 host_alias = @host_alias@
214 host_cpu = @host_cpu@
215 host_os = @host_os@
216 host_vendor = @host_vendor@
217 htmldir = @htmldir@
218 includedir = @includedir@
219 infodir = @infodir@
220 install_sh = @install_sh@
221 libdir = @libdir@
222 libexecdir = @libexecdir@
223 localedir = @localedir@
224 localstatedir = @localstatedir@
225 lt_ECHO = @lt_ECHO@
226 mandir = @mandir@
227 mkdir_p = @mkdir_p@
228 oldincludedir = @oldincludedir@
229 pdfdir = @pdfdir@
230 prefix = @prefix@
231 program_transform_name = @program_transform_name@
232 psdir = @psdir@
233 sbindir = @sbindir@
234 sharedstatedir = @sharedstatedir@
235 srcdir = @srcdir@
236 sysconfdir = @sysconfdir@
237 target_alias = @target_alias@
238 top_build_prefix = @top_build_prefix@
239 top_builddir = @top_builddir@
240 top_builddir_ = @top_builddir_@
241 top_srcdir = @top_srcdir@
242 SUBDIRS = \
243 carbocation_rearrangement_hydride_shift \
244 carbocation_rearrangement_methide_shift \
245 cycloaddition_Diels-Alder \
246 E2-reaction \
247 sigmatropic_rearrangement_Cope \
248 SN2-reaction \
249 tautomeric_shift_keto_enol
250
251 all: all-recursive
252
253 .SUFFIXES:
254 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
255 @for dep in $?; do \
256 case '$(am__configure_deps)' in \
257 *$$dep*) \
258 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
259 && { if test -f $@; then exit 0; else break; fi; }; \
260 exit 1;; \
261 esac; \
262 done; \
263 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/TSS/Makefile'; \
264 $(am__cd) $(top_srcdir) && \
265 $(AUTOMAKE) --gnu examples/TSS/Makefile
266 .PRECIOUS: Makefile
267 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
268 @case '$?' in \
269 *config.status*) \
270 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
271 *) \
272 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
273 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
274 esac;
275
276 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
277 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
278
279 $(top_srcdir)/configure: $(am__configure_deps)
280 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
281 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
282 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
283 $(am__aclocal_m4_deps):
284
285 mostlyclean-libtool:
286 -rm -f *.lo
287
288 clean-libtool:
289 -rm -rf .libs _libs
290
291 # This directory's subdirectories are mostly independent; you can cd
292 # into them and run `make' without going through this Makefile.
293 # To change the values of `make' variables: instead of editing Makefiles,
294 # (1) if the variable is set in `config.status', edit `config.status'
295 # (which will cause the Makefiles to be regenerated when you run `make');
296 # (2) otherwise, pass the desired values on the `make' command line.
297 $(RECURSIVE_TARGETS):
298 @fail= failcom='exit 1'; \
299 for f in x $$MAKEFLAGS; do \
300 case $$f in \
301 *=* | --[!k]*);; \
302 *k*) failcom='fail=yes';; \
303 esac; \
304 done; \
305 dot_seen=no; \
306 target=`echo $@ | sed s/-recursive//`; \
307 list='$(SUBDIRS)'; for subdir in $$list; do \
308 echo "Making $$target in $$subdir"; \
309 if test "$$subdir" = "."; then \
310 dot_seen=yes; \
311 local_target="$$target-am"; \
312 else \
313 local_target="$$target"; \
314 fi; \
315 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
316 || eval $$failcom; \
317 done; \
318 if test "$$dot_seen" = "no"; then \
319 $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
320 fi; test -z "$$fail"
321
322 $(RECURSIVE_CLEAN_TARGETS):
323 @fail= failcom='exit 1'; \
324 for f in x $$MAKEFLAGS; do \
325 case $$f in \
326 *=* | --[!k]*);; \
327 *k*) failcom='fail=yes';; \
328 esac; \
329 done; \
330 dot_seen=no; \
331 case "$@" in \
332 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
333 *) list='$(SUBDIRS)' ;; \
334 esac; \
335 rev=''; for subdir in $$list; do \
336 if test "$$subdir" = "."; then :; else \
337 rev="$$subdir $$rev"; \
338 fi; \
339 done; \
340 rev="$$rev ."; \
341 target=`echo $@ | sed s/-recursive//`; \
342 for subdir in $$rev; do \
343 echo "Making $$target in $$subdir"; \
344 if test "$$subdir" = "."; then \
345 local_target="$$target-am"; \
346 else \
347 local_target="$$target"; \
348 fi; \
349 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
350 || eval $$failcom; \
351 done && test -z "$$fail"
352 tags-recursive:
353 list='$(SUBDIRS)'; for subdir in $$list; do \
354 test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
355 done
356 ctags-recursive:
357 list='$(SUBDIRS)'; for subdir in $$list; do \
358 test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
359 done
360
361 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
362 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
363 unique=`for i in $$list; do \
364 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
365 done | \
366 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
367 END { if (nonempty) { for (i in files) print i; }; }'`; \
368 mkid -fID $$unique
369 tags: TAGS
370
371 TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
372 $(TAGS_FILES) $(LISP)
373 set x; \
374 here=`pwd`; \
375 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
376 include_option=--etags-include; \
377 empty_fix=.; \
378 else \
379 include_option=--include; \
380 empty_fix=; \
381 fi; \
382 list='$(SUBDIRS)'; for subdir in $$list; do \
383 if test "$$subdir" = .; then :; else \
384 test ! -f $$subdir/TAGS || \
385 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
386 fi; \
387 done; \
388 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
389 unique=`for i in $$list; do \
390 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
391 done | \
392 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
393 END { if (nonempty) { for (i in files) print i; }; }'`; \
394 shift; \
395 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
396 test -n "$$unique" || unique=$$empty_fix; \
397 if test $$# -gt 0; then \
398 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
399 "$$@" $$unique; \
400 else \
401 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
402 $$unique; \
403 fi; \
404 fi
405 ctags: CTAGS
406 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
407 $(TAGS_FILES) $(LISP)
408 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
409 unique=`for i in $$list; do \
410 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
411 done | \
412 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
413 END { if (nonempty) { for (i in files) print i; }; }'`; \
414 test -z "$(CTAGS_ARGS)$$unique" \
415 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
416 $$unique
417
418 GTAGS:
419 here=`$(am__cd) $(top_builddir) && pwd` \
420 && $(am__cd) $(top_srcdir) \
421 && gtags -i $(GTAGS_ARGS) "$$here"
422
423 distclean-tags:
424 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
425
426 distdir: $(DISTFILES)
427 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
428 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
429 list='$(DISTFILES)'; \
430 dist_files=`for file in $$list; do echo $$file; done | \
431 sed -e "s|^$$srcdirstrip/||;t" \
432 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
433 case $$dist_files in \
434 */*) $(MKDIR_P) `echo "$$dist_files" | \
435 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
436 sort -u` ;; \
437 esac; \
438 for file in $$dist_files; do \
439 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
440 if test -d $$d/$$file; then \
441 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
442 if test -d "$(distdir)/$$file"; then \
443 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
444 fi; \
445 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
446 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
447 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
448 fi; \
449 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
450 else \
451 test -f "$(distdir)/$$file" \
452 || cp -p $$d/$$file "$(distdir)/$$file" \
453 || exit 1; \
454 fi; \
455 done
456 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
457 if test "$$subdir" = .; then :; else \
458 test -d "$(distdir)/$$subdir" \
459 || $(MKDIR_P) "$(distdir)/$$subdir" \
460 || exit 1; \
461 fi; \
462 done
463 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
464 if test "$$subdir" = .; then :; else \
465 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
466 $(am__relativize); \
467 new_distdir=$$reldir; \
468 dir1=$$subdir; dir2="$(top_distdir)"; \
469 $(am__relativize); \
470 new_top_distdir=$$reldir; \
471 echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
472 echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
473 ($(am__cd) $$subdir && \
474 $(MAKE) $(AM_MAKEFLAGS) \
475 top_distdir="$$new_top_distdir" \
476 distdir="$$new_distdir" \
477 am__remove_distdir=: \
478 am__skip_length_check=: \
479 am__skip_mode_fix=: \
480 distdir) \
481 || exit 1; \
482 fi; \
483 done
484 check-am: all-am
485 check: check-recursive
486 all-am: Makefile
487 installdirs: installdirs-recursive
488 installdirs-am:
489 install: install-recursive
490 install-exec: install-exec-recursive
491 install-data: install-data-recursive
492 uninstall: uninstall-recursive
493
494 install-am: all-am
495 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
496
497 installcheck: installcheck-recursive
498 install-strip:
499 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
500 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
501 `test -z '$(STRIP)' || \
502 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
503 mostlyclean-generic:
504
505 clean-generic:
506
507 distclean-generic:
508 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
509 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
510
511 maintainer-clean-generic:
512 @echo "This command is intended for maintainers to use"
513 @echo "it deletes files that may require special tools to rebuild."
514 clean: clean-recursive
515
516 clean-am: clean-generic clean-libtool mostlyclean-am
517
518 distclean: distclean-recursive
519 -rm -f Makefile
520 distclean-am: clean-am distclean-generic distclean-tags
521
522 dvi: dvi-recursive
523
524 dvi-am:
525
526 html: html-recursive
527
528 html-am:
529
530 info: info-recursive
531
532 info-am:
533
534 install-data-am:
535
536 install-dvi: install-dvi-recursive
537
538 install-dvi-am:
539
540 install-exec-am:
541
542 install-html: install-html-recursive
543
544 install-html-am:
545
546 install-info: install-info-recursive
547
548 install-info-am:
549
550 install-man:
551
552 install-pdf: install-pdf-recursive
553
554 install-pdf-am:
555
556 install-ps: install-ps-recursive
557
558 install-ps-am:
559
560 installcheck-am:
561
562 maintainer-clean: maintainer-clean-recursive
563 -rm -f Makefile
564 maintainer-clean-am: distclean-am maintainer-clean-generic
565
566 mostlyclean: mostlyclean-recursive
567
568 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
569
570 pdf: pdf-recursive
571
572 pdf-am:
573
574 ps: ps-recursive
575
576 ps-am:
577
578 uninstall-am:
579
580 .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
581 install-am install-strip tags-recursive
582
583 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
584 all all-am check check-am clean clean-generic clean-libtool \
585 ctags ctags-recursive distclean distclean-generic \
586 distclean-libtool distclean-tags distdir dvi dvi-am html \
587 html-am info info-am install install-am install-data \
588 install-data-am install-dvi install-dvi-am install-exec \
589 install-exec-am install-html install-html-am install-info \
590 install-info-am install-man install-pdf install-pdf-am \
591 install-ps install-ps-am install-strip installcheck \
592 installcheck-am installdirs installdirs-am maintainer-clean \
593 maintainer-clean-generic mostlyclean mostlyclean-generic \
594 mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
595 uninstall uninstall-am
596
597
598 # Tell versions [3.59,3.63) of GNU make to not export all variables.
599 # Otherwise a system limit (for SysV at least) may be exceeded.
600 .NOEXPORT:
0 Here are some transition state search examples.
1
2 When adding new files here, first make sure that the "make dist" command
3 still works (it seems to limit filenames to 99 characters).
0 tssexampledir = $(datadir)/ghemical/@APPVERSION@/examples/transition_state_search/SN2-reaction
1
2 tssexample_DATA = \
3 products.gpr \
4 reactants.gpr \
5 ts.gpr
6
7 EXTRA_DIST = $(tssexample_DATA)
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16
17 VPATH = @srcdir@
18 pkgdatadir = $(datadir)/@PACKAGE@
19 pkgincludedir = $(includedir)/@PACKAGE@
20 pkglibdir = $(libdir)/@PACKAGE@
21 pkglibexecdir = $(libexecdir)/@PACKAGE@
22 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
23 install_sh_DATA = $(install_sh) -c -m 644
24 install_sh_PROGRAM = $(install_sh) -c
25 install_sh_SCRIPT = $(install_sh) -c
26 INSTALL_HEADER = $(INSTALL_DATA)
27 transform = $(program_transform_name)
28 NORMAL_INSTALL = :
29 PRE_INSTALL = :
30 POST_INSTALL = :
31 NORMAL_UNINSTALL = :
32 PRE_UNINSTALL = :
33 POST_UNINSTALL = :
34 build_triplet = @build@
35 host_triplet = @host@
36 subdir = examples/TSS/SN2-reaction
37 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
38 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
39 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
40 $(top_srcdir)/configure.ac
41 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
42 $(ACLOCAL_M4)
43 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
44 CONFIG_HEADER = $(top_builddir)/src/ghemicalconfig.h
45 CONFIG_CLEAN_FILES =
46 CONFIG_CLEAN_VPATH_FILES =
47 SOURCES =
48 DIST_SOURCES =
49 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
50 am__vpath_adj = case $$p in \
51 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
52 *) f=$$p;; \
53 esac;
54 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
55 am__install_max = 40
56 am__nobase_strip_setup = \
57 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
58 am__nobase_strip = \
59 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
60 am__nobase_list = $(am__nobase_strip_setup); \
61 for p in $$list; do echo "$$p $$p"; done | \
62 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
63 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
64 if (++n[$$2] == $(am__install_max)) \
65 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
66 END { for (dir in files) print dir, files[dir] }'
67 am__base_list = \
68 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
69 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
70 am__installdirs = "$(DESTDIR)$(tssexampledir)"
71 DATA = $(tssexample_DATA)
72 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
73 ACLOCAL = @ACLOCAL@
74 ALL_LINGUAS = @ALL_LINGUAS@
75 AMTAR = @AMTAR@
76 APPRELEASEDATE = @APPRELEASEDATE@
77 APPVERSION = @APPVERSION@
78 AR = @AR@
79 AUTOCONF = @AUTOCONF@
80 AUTOHEADER = @AUTOHEADER@
81 AUTOMAKE = @AUTOMAKE@
82 AWK = @AWK@
83 CATALOGS = @CATALOGS@
84 CATOBJEXT = @CATOBJEXT@
85 CC = @CC@
86 CCDEPMODE = @CCDEPMODE@
87 CFLAGS = @CFLAGS@
88 CPP = @CPP@
89 CPPFLAGS = @CPPFLAGS@
90 CXX = @CXX@
91 CXXCPP = @CXXCPP@
92 CXXDEPMODE = @CXXDEPMODE@
93 CXXFLAGS = @CXXFLAGS@
94 CYGPATH_W = @CYGPATH_W@
95 DATADIRNAME = @DATADIRNAME@
96 DEFS = @DEFS@
97 DEPDIR = @DEPDIR@
98 DSYMUTIL = @DSYMUTIL@
99 DUMPBIN = @DUMPBIN@
100 ECHO_C = @ECHO_C@
101 ECHO_N = @ECHO_N@
102 ECHO_T = @ECHO_T@
103 EGREP = @EGREP@
104 EXEEXT = @EXEEXT@
105 FGREP = @FGREP@
106 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
107 GMOFILES = @GMOFILES@
108 GMSGFMT = @GMSGFMT@
109 GREP = @GREP@
110 GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
111 GTHREAD_LIBS = @GTHREAD_LIBS@
112 GTK_CFLAGS = @GTK_CFLAGS@
113 GTK_LIBS = @GTK_LIBS@
114 INSTALL = @INSTALL@
115 INSTALL_DATA = @INSTALL_DATA@
116 INSTALL_PROGRAM = @INSTALL_PROGRAM@
117 INSTALL_SCRIPT = @INSTALL_SCRIPT@
118 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
119 INSTOBJEXT = @INSTOBJEXT@
120 INTLLIBS = @INTLLIBS@
121 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
122 INTLTOOL_MERGE = @INTLTOOL_MERGE@
123 INTLTOOL_PERL = @INTLTOOL_PERL@
124 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
125 LD = @LD@
126 LDFLAGS = @LDFLAGS@
127 LIBGHEMICAL_CFLAGS = @LIBGHEMICAL_CFLAGS@
128 LIBGHEMICAL_LIBS = @LIBGHEMICAL_LIBS@
129 LIBOBJS = @LIBOBJS@
130 LIBS = @LIBS@
131 LIBTOOL = @LIBTOOL@
132 LIPO = @LIPO@
133 LN_S = @LN_S@
134 LTLIBOBJS = @LTLIBOBJS@
135 MAKEINFO = @MAKEINFO@
136 MKDIR_P = @MKDIR_P@
137 MKINSTALLDIRS = @MKINSTALLDIRS@
138 MSGFMT = @MSGFMT@
139 MSGFMT_OPTS = @MSGFMT_OPTS@
140 MSGMERGE = @MSGMERGE@
141 NM = @NM@
142 NMEDIT = @NMEDIT@
143 OBJDUMP = @OBJDUMP@
144 OBJEXT = @OBJEXT@
145 OPENBABEL_CFLAGS = @OPENBABEL_CFLAGS@
146 OPENBABEL_LIBS = @OPENBABEL_LIBS@
147 OTOOL = @OTOOL@
148 OTOOL64 = @OTOOL64@
149 PACKAGE = @PACKAGE@
150 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
151 PACKAGE_NAME = @PACKAGE_NAME@
152 PACKAGE_STRING = @PACKAGE_STRING@
153 PACKAGE_TARNAME = @PACKAGE_TARNAME@
154 PACKAGE_URL = @PACKAGE_URL@
155 PACKAGE_VERSION = @PACKAGE_VERSION@
156 PATH_SEPARATOR = @PATH_SEPARATOR@
157 PKG_CONFIG = @PKG_CONFIG@
158 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
159 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
160 POFILES = @POFILES@
161 POSUB = @POSUB@
162 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
163 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
164 RANLIB = @RANLIB@
165 SED = @SED@
166 SET_MAKE = @SET_MAKE@
167 SHELL = @SHELL@
168 STRIP = @STRIP@
169 USE_NLS = @USE_NLS@
170 VERSION = @VERSION@
171 XGETTEXT = @XGETTEXT@
172 abs_builddir = @abs_builddir@
173 abs_srcdir = @abs_srcdir@
174 abs_top_builddir = @abs_top_builddir@
175 abs_top_srcdir = @abs_top_srcdir@
176 ac_ct_CC = @ac_ct_CC@
177 ac_ct_CXX = @ac_ct_CXX@
178 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
179 am__include = @am__include@
180 am__leading_dot = @am__leading_dot@
181 am__quote = @am__quote@
182 am__tar = @am__tar@
183 am__untar = @am__untar@
184 bindir = @bindir@
185 build = @build@
186 build_alias = @build_alias@
187 build_cpu = @build_cpu@
188 build_os = @build_os@
189 build_vendor = @build_vendor@
190 builddir = @builddir@
191 datadir = @datadir@
192 datarootdir = @datarootdir@
193 docdir = @docdir@
194 dvidir = @dvidir@
195 exec_prefix = @exec_prefix@
196 host = @host@
197 host_alias = @host_alias@
198 host_cpu = @host_cpu@
199 host_os = @host_os@
200 host_vendor = @host_vendor@
201 htmldir = @htmldir@
202 includedir = @includedir@
203 infodir = @infodir@
204 install_sh = @install_sh@
205 libdir = @libdir@
206 libexecdir = @libexecdir@
207 localedir = @localedir@
208 localstatedir = @localstatedir@
209 lt_ECHO = @lt_ECHO@
210 mandir = @mandir@
211 mkdir_p = @mkdir_p@
212 oldincludedir = @oldincludedir@
213 pdfdir = @pdfdir@
214 prefix = @prefix@
215 program_transform_name = @program_transform_name@
216 psdir = @psdir@
217 sbindir = @sbindir@
218 sharedstatedir = @sharedstatedir@
219 srcdir = @srcdir@
220 sysconfdir = @sysconfdir@
221 target_alias = @target_alias@
222 top_build_prefix = @top_build_prefix@
223 top_builddir = @top_builddir@
224 top_builddir_ = @top_builddir_@
225 top_srcdir = @top_srcdir@
226 tssexampledir = $(datadir)/ghemical/@APPVERSION@/examples/transition_state_search/SN2-reaction
227 tssexample_DATA = \
228 products.gpr \
229 reactants.gpr \
230 ts.gpr
231
232 EXTRA_DIST = $(tssexample_DATA)
233 all: all-am
234
235 .SUFFIXES:
236 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
237 @for dep in $?; do \
238 case '$(am__configure_deps)' in \
239 *$$dep*) \
240 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
241 && { if test -f $@; then exit 0; else break; fi; }; \
242 exit 1;; \
243 esac; \
244 done; \
245 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/TSS/SN2-reaction/Makefile'; \
246 $(am__cd) $(top_srcdir) && \
247 $(AUTOMAKE) --gnu examples/TSS/SN2-reaction/Makefile
248 .PRECIOUS: Makefile
249 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
250 @case '$?' in \
251 *config.status*) \
252 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
253 *) \
254 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
255 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
256 esac;
257
258 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
259 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
260
261 $(top_srcdir)/configure: $(am__configure_deps)
262 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
263 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
264 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
265 $(am__aclocal_m4_deps):
266
267 mostlyclean-libtool:
268 -rm -f *.lo
269
270 clean-libtool:
271 -rm -rf .libs _libs
272 install-tssexampleDATA: $(tssexample_DATA)
273 @$(NORMAL_INSTALL)
274 test -z "$(tssexampledir)" || $(MKDIR_P) "$(DESTDIR)$(tssexampledir)"
275 @list='$(tssexample_DATA)'; test -n "$(tssexampledir)" || list=; \
276 for p in $$list; do \
277 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
278 echo "$$d$$p"; \
279 done | $(am__base_list) | \
280 while read files; do \
281 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tssexampledir)'"; \
282 $(INSTALL_DATA) $$files "$(DESTDIR)$(tssexampledir)" || exit $$?; \
283 done
284
285 uninstall-tssexampleDATA:
286 @$(NORMAL_UNINSTALL)
287 @list='$(tssexample_DATA)'; test -n "$(tssexampledir)" || list=; \
288 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
289 test -n "$$files" || exit 0; \
290 echo " ( cd '$(DESTDIR)$(tssexampledir)' && rm -f" $$files ")"; \
291 cd "$(DESTDIR)$(tssexampledir)" && rm -f $$files
292 tags: TAGS
293 TAGS:
294
295 ctags: CTAGS
296 CTAGS:
297
298
299 distdir: $(DISTFILES)
300 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
301 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
302 list='$(DISTFILES)'; \
303 dist_files=`for file in $$list; do echo $$file; done | \
304 sed -e "s|^$$srcdirstrip/||;t" \
305 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
306 case $$dist_files in \
307 */*) $(MKDIR_P) `echo "$$dist_files" | \
308 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
309 sort -u` ;; \
310 esac; \
311 for file in $$dist_files; do \
312 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
313 if test -d $$d/$$file; then \
314 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
315 if test -d "$(distdir)/$$file"; then \
316 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
317 fi; \
318 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
319 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
320 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
321 fi; \
322 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
323 else \
324 test -f "$(distdir)/$$file" \
325 || cp -p $$d/$$file "$(distdir)/$$file" \
326 || exit 1; \
327 fi; \
328 done
329 check-am: all-am
330 check: check-am
331 all-am: Makefile $(DATA)
332 installdirs:
333 for dir in "$(DESTDIR)$(tssexampledir)"; do \
334 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
335 done
336 install: install-am
337 install-exec: install-exec-am
338 install-data: install-data-am
339 uninstall: uninstall-am
340
341 install-am: all-am
342 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
343
344 installcheck: installcheck-am
345 install-strip:
346 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
347 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
348 `test -z '$(STRIP)' || \
349 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
350 mostlyclean-generic:
351
352 clean-generic:
353
354 distclean-generic:
355 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
356 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
357
358 maintainer-clean-generic:
359 @echo "This command is intended for maintainers to use"
360 @echo "it deletes files that may require special tools to rebuild."
361 clean: clean-am
362
363 clean-am: clean-generic clean-libtool mostlyclean-am
364
365 distclean: distclean-am
366 -rm -f Makefile
367 distclean-am: clean-am distclean-generic
368
369 dvi: dvi-am
370
371 dvi-am:
372
373 html: html-am
374
375 html-am:
376
377 info: info-am
378
379 info-am:
380
381 install-data-am: install-tssexampleDATA
382
383 install-dvi: install-dvi-am
384
385 install-dvi-am:
386
387 install-exec-am:
388
389 install-html: install-html-am
390
391 install-html-am:
392
393 install-info: install-info-am
394
395 install-info-am:
396
397 install-man:
398
399 install-pdf: install-pdf-am
400
401 install-pdf-am:
402
403 install-ps: install-ps-am
404
405 install-ps-am:
406
407 installcheck-am:
408
409 maintainer-clean: maintainer-clean-am
410 -rm -f Makefile
411 maintainer-clean-am: distclean-am maintainer-clean-generic
412
413 mostlyclean: mostlyclean-am
414
415 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
416
417 pdf: pdf-am
418
419 pdf-am:
420
421 ps: ps-am
422
423 ps-am:
424
425 uninstall-am: uninstall-tssexampleDATA
426
427 .MAKE: install-am install-strip
428
429 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
430 distclean distclean-generic distclean-libtool distdir dvi \
431 dvi-am html html-am info info-am install install-am \
432 install-data install-data-am install-dvi install-dvi-am \
433 install-exec install-exec-am install-html install-html-am \
434 install-info install-info-am install-man install-pdf \
435 install-pdf-am install-ps install-ps-am install-strip \
436 install-tssexampleDATA installcheck installcheck-am \
437 installdirs maintainer-clean maintainer-clean-generic \
438 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
439 ps ps-am uninstall uninstall-am uninstall-tssexampleDATA
440
441
442 # Tell versions [3.59,3.63) of GNU make to not export all variables.
443 # Otherwise a system limit (for SysV at least) may be exceeded.
444 .NOEXPORT:
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 13
3 0 6 4096
4 1 6 4096
5 2 1 4096
6 3 1 4096
7 4 1 4096
8 5 1 4096
9 6 1 4096
10 7 35 4096
11 8 8 4096
12 9 6 4096
13 10 1 4096
14 11 1 4096
15 12 1 4096
16 !Bonds 11
17 0 1 S
18 0 2 S
19 0 3 S
20 1 4 S
21 1 5 S
22 1 6 S
23 8 9 S
24 9 10 S
25 9 11 S
26 9 12 S
27 0 8 S
28 !Coord
29 0 -0.0529878214001656 -0.0459373258054256 +0.038114856928587
30 1 -0.0541746020317078 +0.108243830502033 +0.0382689572870731
31 2 -0.0930825397372246 -0.0830938443541527 -0.0573459602892399
32 3 -0.117545291781425 -0.0808610990643501 +0.120049431920052
33 4 -0.158471092581749 +0.143173351883888 +0.03695198148489
34 5 -0.00257376092486084 +0.147503480315208 -0.0505055896937847
35 6 -0.00463439431041479 +0.145186185836792 +0.129262119531631
36 7 -0.339311242103577 -0.0128413047641516 -0.0526983961462975
37 8 +0.0784235969185829 -0.0990187674760818 +0.0601422376930714
38 9 +0.168094083666801 -0.0621927678585052 -0.0453126840293407
39 10 +0.185231909155846 +0.0463563501834869 -0.0456215031445026
40 11 +0.126781642436981 -0.0934915393590927 -0.142330721020699
41 12 +0.264249533414841 -0.113026544451714 -0.0289747472852468
42 !Charges
43 0 +0
44 1 +0
45 2 +0
46 3 +0
47 4 +0
48 5 +0
49 6 +0
50 7 +0
51 8 +0
52 9 +0
53 10 +0
54 11 +0
55 12 +0
56 !End
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 13
3 0 6 4096
4 1 6 4096
5 2 1 4096
6 3 1 4096
7 4 1 4096
8 5 1 4096
9 6 1 4096
10 7 35 4096
11 8 8 4096
12 9 6 4096
13 10 1 4096
14 11 1 4096
15 12 1 4096
16 !Bonds 11
17 0 1 S
18 0 2 S
19 0 3 S
20 1 4 S
21 1 5 S
22 1 6 S
23 8 9 S
24 9 10 S
25 9 11 S
26 9 12 S
27 0 7 S
28 !Coord
29 0 -0.148433566093445 -0.026723574846983 +0.0157669745385647
30 1 -0.0871327221393585 +0.114139594137669 +0.0271944142878056
31 2 -0.087485559284687 -0.0882082208991051 -0.0520408637821674
32 3 -0.151384487748146 -0.0737240985035896 +0.115163221955299
33 4 -0.149432227015495 +0.175945729017258 +0.0935260951519012
34 5 -0.0827225297689438 +0.160466074943542 -0.0724562034010887
35 6 +0.0144315343350172 +0.107013583183289 +0.0687735080718994
36 7 -0.321896880865097 -0.0136256599798799 -0.051962036639452
37 8 +0.130763694643974 -0.118962205946445 +0.0766734331846237
38 9 +0.206265449523926 -0.0687336549162865 -0.0338849723339081
39 10 +0.23618771135807 +0.0351760908961296 -0.0137729328125715
40 11 +0.144749879837036 -0.072139710187912 -0.124999448657036
41 12 +0.296089828014374 -0.130623936653137 -0.0479811765253544
42 !Charges
43 0 +0.175
44 1 +0
45 2 +0
46 3 +0
47 4 +0
48 5 +0
49 6 +0
50 7 -0.175
51 8 +0
52 9 +0
53 10 +0
54 11 +0
55 12 +0
56 !End
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 13
3 0 6 2048
4 1 6 2048
5 2 1 2048
6 3 1 2048
7 4 1 2048
8 5 1 2048
9 6 1 2048
10 7 35 2048
11 8 8 2048
12 9 6 2048
13 10 1 2048
14 11 1 2048
15 12 1 2048
16 !Bonds 12
17 0 1 S
18 0 2 S
19 0 3 S
20 1 4 S
21 1 5 S
22 1 6 S
23 8 9 S
24 9 10 S
25 9 11 S
26 9 12 S
27 0 7 S
28 0 8 S
29 !Coord
30 0 -0.0972464978694916 -0.0334956347942352 +0.0184528976678848
31 1 -0.0679827108979225 +0.111841641366482 +0.0355890654027462
32 2 -0.0796822607517242 -0.0853527709841728 -0.0769255980849266
33 3 -0.12500411272049 -0.0888582020998001 +0.109724648296833
34 4 -0.153737232089043 +0.16543984413147 +0.0834726691246033
35 5 -0.0453995056450367 +0.16002981364727 -0.0624568425118923
36 6 +0.020512230694294 +0.125375211238861 +0.102787740528584
37 7 -0.315167516469955 -0.0203711371868849 -0.0467229560017586
38 8 +0.0811677053570747 -0.0942627564072609 +0.0609674416482449
39 9 +0.172823444008827 -0.066570408642292 -0.0343773439526558
40 10 +0.195851072669029 +0.0440314188599586 -0.0419752337038517
41 11 +0.142108872532845 -0.101677924394608 -0.137494176626205
42 12 +0.271756500005722 -0.116129070520401 -0.0110423052683473
43 !Charges
44 0 +0.175
45 1 +0
46 2 +0
47 3 +0
48 4 +0
49 5 +0
50 6 +0
51 7 -0.175
52 8 +0
53 9 +0
54 10 +0
55 11 +0
56 12 +0
57 !End
0 tssexampledir = $(datadir)/ghemical/@APPVERSION@/examples/transition_state_search/carbocation_rearrangement_hydride_shift
1
2 tssexample_DATA = \
3 products.gpr \
4 reactants.gpr \
5 ts.gpr
6
7 EXTRA_DIST = $(tssexample_DATA)
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16
17 VPATH = @srcdir@
18 pkgdatadir = $(datadir)/@PACKAGE@
19 pkgincludedir = $(includedir)/@PACKAGE@
20 pkglibdir = $(libdir)/@PACKAGE@
21 pkglibexecdir = $(libexecdir)/@PACKAGE@
22 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
23 install_sh_DATA = $(install_sh) -c -m 644
24 install_sh_PROGRAM = $(install_sh) -c
25 install_sh_SCRIPT = $(install_sh) -c
26 INSTALL_HEADER = $(INSTALL_DATA)
27 transform = $(program_transform_name)
28 NORMAL_INSTALL = :
29 PRE_INSTALL = :
30 POST_INSTALL = :
31 NORMAL_UNINSTALL = :
32 PRE_UNINSTALL = :
33 POST_UNINSTALL = :
34 build_triplet = @build@
35 host_triplet = @host@
36 subdir = examples/TSS/carbocation_rearrangement_hydride_shift
37 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
38 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
39 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
40 $(top_srcdir)/configure.ac
41 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
42 $(ACLOCAL_M4)
43 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
44 CONFIG_HEADER = $(top_builddir)/src/ghemicalconfig.h
45 CONFIG_CLEAN_FILES =
46 CONFIG_CLEAN_VPATH_FILES =
47 SOURCES =
48 DIST_SOURCES =
49 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
50 am__vpath_adj = case $$p in \
51 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
52 *) f=$$p;; \
53 esac;
54 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
55 am__install_max = 40
56 am__nobase_strip_setup = \
57 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
58 am__nobase_strip = \
59 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
60 am__nobase_list = $(am__nobase_strip_setup); \
61 for p in $$list; do echo "$$p $$p"; done | \
62 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
63 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
64 if (++n[$$2] == $(am__install_max)) \
65 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
66 END { for (dir in files) print dir, files[dir] }'
67 am__base_list = \
68 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
69 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
70 am__installdirs = "$(DESTDIR)$(tssexampledir)"
71 DATA = $(tssexample_DATA)
72 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
73 ACLOCAL = @ACLOCAL@
74 ALL_LINGUAS = @ALL_LINGUAS@
75 AMTAR = @AMTAR@
76 APPRELEASEDATE = @APPRELEASEDATE@
77 APPVERSION = @APPVERSION@
78 AR = @AR@
79 AUTOCONF = @AUTOCONF@
80 AUTOHEADER = @AUTOHEADER@
81 AUTOMAKE = @AUTOMAKE@
82 AWK = @AWK@
83 CATALOGS = @CATALOGS@
84 CATOBJEXT = @CATOBJEXT@
85 CC = @CC@
86 CCDEPMODE = @CCDEPMODE@
87 CFLAGS = @CFLAGS@
88 CPP = @CPP@
89 CPPFLAGS = @CPPFLAGS@
90 CXX = @CXX@
91 CXXCPP = @CXXCPP@
92 CXXDEPMODE = @CXXDEPMODE@
93 CXXFLAGS = @CXXFLAGS@
94 CYGPATH_W = @CYGPATH_W@
95 DATADIRNAME = @DATADIRNAME@
96 DEFS = @DEFS@
97 DEPDIR = @DEPDIR@
98 DSYMUTIL = @DSYMUTIL@
99 DUMPBIN = @DUMPBIN@
100 ECHO_C = @ECHO_C@
101 ECHO_N = @ECHO_N@
102 ECHO_T = @ECHO_T@
103 EGREP = @EGREP@
104 EXEEXT = @EXEEXT@
105 FGREP = @FGREP@
106 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
107 GMOFILES = @GMOFILES@
108 GMSGFMT = @GMSGFMT@
109 GREP = @GREP@
110 GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
111 GTHREAD_LIBS = @GTHREAD_LIBS@
112 GTK_CFLAGS = @GTK_CFLAGS@
113 GTK_LIBS = @GTK_LIBS@
114 INSTALL = @INSTALL@
115 INSTALL_DATA = @INSTALL_DATA@
116 INSTALL_PROGRAM = @INSTALL_PROGRAM@
117 INSTALL_SCRIPT = @INSTALL_SCRIPT@
118 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
119 INSTOBJEXT = @INSTOBJEXT@
120 INTLLIBS = @INTLLIBS@
121 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
122 INTLTOOL_MERGE = @INTLTOOL_MERGE@
123 INTLTOOL_PERL = @INTLTOOL_PERL@
124 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
125 LD = @LD@
126 LDFLAGS = @LDFLAGS@
127 LIBGHEMICAL_CFLAGS = @LIBGHEMICAL_CFLAGS@
128 LIBGHEMICAL_LIBS = @LIBGHEMICAL_LIBS@
129 LIBOBJS = @LIBOBJS@
130 LIBS = @LIBS@
131 LIBTOOL = @LIBTOOL@
132 LIPO = @LIPO@
133 LN_S = @LN_S@
134 LTLIBOBJS = @LTLIBOBJS@
135 MAKEINFO = @MAKEINFO@
136 MKDIR_P = @MKDIR_P@
137 MKINSTALLDIRS = @MKINSTALLDIRS@
138 MSGFMT = @MSGFMT@
139 MSGFMT_OPTS = @MSGFMT_OPTS@
140 MSGMERGE = @MSGMERGE@
141 NM = @NM@
142 NMEDIT = @NMEDIT@
143 OBJDUMP = @OBJDUMP@
144 OBJEXT = @OBJEXT@
145 OPENBABEL_CFLAGS = @OPENBABEL_CFLAGS@
146 OPENBABEL_LIBS = @OPENBABEL_LIBS@
147 OTOOL = @OTOOL@
148 OTOOL64 = @OTOOL64@
149 PACKAGE = @PACKAGE@
150 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
151 PACKAGE_NAME = @PACKAGE_NAME@
152 PACKAGE_STRING = @PACKAGE_STRING@
153 PACKAGE_TARNAME = @PACKAGE_TARNAME@
154 PACKAGE_URL = @PACKAGE_URL@
155 PACKAGE_VERSION = @PACKAGE_VERSION@
156 PATH_SEPARATOR = @PATH_SEPARATOR@
157 PKG_CONFIG = @PKG_CONFIG@
158 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
159 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
160 POFILES = @POFILES@
161 POSUB = @POSUB@
162 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
163 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
164 RANLIB = @RANLIB@
165 SED = @SED@
166 SET_MAKE = @SET_MAKE@
167 SHELL = @SHELL@
168 STRIP = @STRIP@
169 USE_NLS = @USE_NLS@
170 VERSION = @VERSION@
171 XGETTEXT = @XGETTEXT@
172 abs_builddir = @abs_builddir@
173 abs_srcdir = @abs_srcdir@
174 abs_top_builddir = @abs_top_builddir@
175 abs_top_srcdir = @abs_top_srcdir@
176 ac_ct_CC = @ac_ct_CC@
177 ac_ct_CXX = @ac_ct_CXX@
178 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
179 am__include = @am__include@
180 am__leading_dot = @am__leading_dot@
181 am__quote = @am__quote@
182 am__tar = @am__tar@
183 am__untar = @am__untar@
184 bindir = @bindir@
185 build = @build@
186 build_alias = @build_alias@
187 build_cpu = @build_cpu@
188 build_os = @build_os@
189 build_vendor = @build_vendor@
190 builddir = @builddir@
191 datadir = @datadir@
192 datarootdir = @datarootdir@
193 docdir = @docdir@
194 dvidir = @dvidir@
195 exec_prefix = @exec_prefix@
196 host = @host@
197 host_alias = @host_alias@
198 host_cpu = @host_cpu@
199 host_os = @host_os@
200 host_vendor = @host_vendor@
201 htmldir = @htmldir@
202 includedir = @includedir@
203 infodir = @infodir@
204 install_sh = @install_sh@
205 libdir = @libdir@
206 libexecdir = @libexecdir@
207 localedir = @localedir@
208 localstatedir = @localstatedir@
209 lt_ECHO = @lt_ECHO@
210 mandir = @mandir@
211 mkdir_p = @mkdir_p@
212 oldincludedir = @oldincludedir@
213 pdfdir = @pdfdir@
214 prefix = @prefix@
215 program_transform_name = @program_transform_name@
216 psdir = @psdir@
217 sbindir = @sbindir@
218 sharedstatedir = @sharedstatedir@
219 srcdir = @srcdir@
220 sysconfdir = @sysconfdir@
221 target_alias = @target_alias@
222 top_build_prefix = @top_build_prefix@
223 top_builddir = @top_builddir@
224 top_builddir_ = @top_builddir_@
225 top_srcdir = @top_srcdir@
226 tssexampledir = $(datadir)/ghemical/@APPVERSION@/examples/transition_state_search/carbocation_rearrangement_hydride_shift
227 tssexample_DATA = \
228 products.gpr \
229 reactants.gpr \
230 ts.gpr
231
232 EXTRA_DIST = $(tssexample_DATA)
233 all: all-am
234
235 .SUFFIXES:
236 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
237 @for dep in $?; do \
238 case '$(am__configure_deps)' in \
239 *$$dep*) \
240 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
241 && { if test -f $@; then exit 0; else break; fi; }; \
242 exit 1;; \
243 esac; \
244 done; \
245 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/TSS/carbocation_rearrangement_hydride_shift/Makefile'; \
246 $(am__cd) $(top_srcdir) && \
247 $(AUTOMAKE) --gnu examples/TSS/carbocation_rearrangement_hydride_shift/Makefile
248 .PRECIOUS: Makefile
249 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
250 @case '$?' in \
251 *config.status*) \
252 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
253 *) \
254 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
255 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
256 esac;
257
258 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
259 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
260
261 $(top_srcdir)/configure: $(am__configure_deps)
262 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
263 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
264 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
265 $(am__aclocal_m4_deps):
266
267 mostlyclean-libtool:
268 -rm -f *.lo
269
270 clean-libtool:
271 -rm -rf .libs _libs
272 install-tssexampleDATA: $(tssexample_DATA)
273 @$(NORMAL_INSTALL)
274 test -z "$(tssexampledir)" || $(MKDIR_P) "$(DESTDIR)$(tssexampledir)"
275 @list='$(tssexample_DATA)'; test -n "$(tssexampledir)" || list=; \
276 for p in $$list; do \
277 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
278 echo "$$d$$p"; \
279 done | $(am__base_list) | \
280 while read files; do \
281 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tssexampledir)'"; \
282 $(INSTALL_DATA) $$files "$(DESTDIR)$(tssexampledir)" || exit $$?; \
283 done
284
285 uninstall-tssexampleDATA:
286 @$(NORMAL_UNINSTALL)
287 @list='$(tssexample_DATA)'; test -n "$(tssexampledir)" || list=; \
288 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
289 test -n "$$files" || exit 0; \
290 echo " ( cd '$(DESTDIR)$(tssexampledir)' && rm -f" $$files ")"; \
291 cd "$(DESTDIR)$(tssexampledir)" && rm -f $$files
292 tags: TAGS
293 TAGS:
294
295 ctags: CTAGS
296 CTAGS:
297
298
299 distdir: $(DISTFILES)
300 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
301 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
302 list='$(DISTFILES)'; \
303 dist_files=`for file in $$list; do echo $$file; done | \
304 sed -e "s|^$$srcdirstrip/||;t" \
305 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
306 case $$dist_files in \
307 */*) $(MKDIR_P) `echo "$$dist_files" | \
308 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
309 sort -u` ;; \
310 esac; \
311 for file in $$dist_files; do \
312 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
313 if test -d $$d/$$file; then \
314 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
315 if test -d "$(distdir)/$$file"; then \
316 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
317 fi; \
318 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
319 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
320 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
321 fi; \
322 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
323 else \
324 test -f "$(distdir)/$$file" \
325 || cp -p $$d/$$file "$(distdir)/$$file" \
326 || exit 1; \
327 fi; \
328 done
329 check-am: all-am
330 check: check-am
331 all-am: Makefile $(DATA)
332 installdirs:
333 for dir in "$(DESTDIR)$(tssexampledir)"; do \
334 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
335 done
336 install: install-am
337 install-exec: install-exec-am
338 install-data: install-data-am
339 uninstall: uninstall-am
340
341 install-am: all-am
342 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
343
344 installcheck: installcheck-am
345 install-strip:
346 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
347 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
348 `test -z '$(STRIP)' || \
349 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
350 mostlyclean-generic:
351
352 clean-generic:
353
354 distclean-generic:
355 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
356 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
357
358 maintainer-clean-generic:
359 @echo "This command is intended for maintainers to use"
360 @echo "it deletes files that may require special tools to rebuild."
361 clean: clean-am
362
363 clean-am: clean-generic clean-libtool mostlyclean-am
364
365 distclean: distclean-am
366 -rm -f Makefile
367 distclean-am: clean-am distclean-generic
368
369 dvi: dvi-am
370
371 dvi-am:
372
373 html: html-am
374
375 html-am:
376
377 info: info-am
378
379 info-am:
380
381 install-data-am: install-tssexampleDATA
382
383 install-dvi: install-dvi-am
384
385 install-dvi-am:
386
387 install-exec-am:
388
389 install-html: install-html-am
390
391 install-html-am:
392
393 install-info: install-info-am
394
395 install-info-am:
396
397 install-man:
398
399 install-pdf: install-pdf-am
400
401 install-pdf-am:
402
403 install-ps: install-ps-am
404
405 install-ps-am:
406
407 installcheck-am:
408
409 maintainer-clean: maintainer-clean-am
410 -rm -f Makefile
411 maintainer-clean-am: distclean-am maintainer-clean-generic
412
413 mostlyclean: mostlyclean-am
414
415 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
416
417 pdf: pdf-am
418
419 pdf-am:
420
421 ps: ps-am
422
423 ps-am:
424
425 uninstall-am: uninstall-tssexampleDATA
426
427 .MAKE: install-am install-strip
428
429 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
430 distclean distclean-generic distclean-libtool distdir dvi \
431 dvi-am html html-am info info-am install install-am \
432 install-data install-data-am install-dvi install-dvi-am \
433 install-exec install-exec-am install-html install-html-am \
434 install-info install-info-am install-man install-pdf \
435 install-pdf-am install-ps install-ps-am install-strip \
436 install-tssexampleDATA installcheck installcheck-am \
437 installdirs maintainer-clean maintainer-clean-generic \
438 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
439 ps ps-am uninstall uninstall-am uninstall-tssexampleDATA
440
441
442 # Tell versions [3.59,3.63) of GNU make to not export all variables.
443 # Otherwise a system limit (for SysV at least) may be exceeded.
444 .NOEXPORT:
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 16
3 0 6 2048
4 1 6 2048
5 2 6 2048
6 3 6 2048
7 4 6 2048
8 5 1 2048
9 6 1 2048
10 7 1 2048
11 8 1 2048
12 9 1 2048
13 10 1 2048
14 11 1 2048
15 12 1 2048
16 13 1 2048
17 14 1 2048
18 15 1 2048
19 !Bonds 15
20 0 1 S
21 1 2 S
22 1 3 S
23 3 4 S
24 0 5 S
25 0 6 S
26 0 7 S
27 2 8 S
28 2 9 S
29 2 10 S
30 3 11 S
31 3 12 S
32 4 13 S
33 4 14 S
34 4 15 S
35 !Coord
36 0 +0.106137745082378 +0.0860918015241623 +0.109166689217091
37 1 +0.0453490242362022 -0.0166507419198751 +0.0264775399118662
38 2 +0.126886993646622 -0.102424919605255 -0.0576674938201904
39 3 -0.100728273391724 -0.0339797139167786 +0.0281000286340714
40 4 -0.165254205465317 +0.0488220229744911 -0.0824111849069595
41 5 +0.21342533826828 +0.106401987373829 +0.0837450250983238
42 6 +0.101658418774605 +0.0542807877063751 +0.217871218919754
43 7 +0.0474477335810661 +0.18231138586998 +0.103588111698627
44 8 +0.0753886103630066 -0.126028820872307 -0.155064254999161
45 9 +0.141349077224731 -0.202055066823959 -0.00536460382863879
46 10 +0.228937163949013 -0.0605371594429016 -0.0782273411750793
47 11 -0.143760576844215 -0.00150357338134199 +0.127081230282784
48 12 -0.127753645181656 -0.142283245921135 +0.012004766613245
49 13 -0.275944024324417 +0.0323547571897507 -0.0787164568901062
50 14 -0.128023162484169 +0.0175301861017942 -0.182932212948799
51 15 -0.145116120576859 +0.157670333981514 -0.0676510483026505
52 !Charges
53 0 +0
54 1 +0
55 2 +0
56 3 +0
57 4 +0
58 5 +0
59 6 +0
60 7 +0
61 8 +0
62 9 +0
63 10 +0
64 11 +0
65 12 +0
66 13 +0
67 14 +0
68 15 +0
69 !End
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 16
3 0 6 2048
4 1 6 2048
5 2 6 2048
6 3 6 2048
7 4 6 2048
8 5 1 2048
9 6 1 2048
10 7 1 2048
11 8 1 2048
12 9 1 2048
13 10 1 2048
14 11 1 2048
15 12 1 2048
16 13 1 2048
17 14 1 2048
18 15 1 2048
19 !Bonds 15
20 0 1 S
21 1 2 S
22 1 3 S
23 3 4 S
24 0 5 S
25 0 6 S
26 0 7 S
27 2 8 S
28 2 9 S
29 2 10 S
30 3 11 S
31 4 13 S
32 4 14 S
33 4 15 S
34 1 12 S
35 !Coord
36 0 +0.115869946777821 +0.041977196931839 +0.141510367393494
37 1 +0.0270762592554092 -0.0341073013842106 +0.0438263975083828
38 2 +0.102091044187546 -0.0690752044320107 -0.0830887481570244
39 3 -0.101753443479538 +0.0302122868597507 +0.0251364521682262
40 4 -0.178392887115479 +0.0296078585088253 -0.0963807851076126
41 5 +0.200425446033478 -0.0238985680043697 +0.173535645008087
42 6 +0.059024766087532 +0.0733606070280075 +0.232370927929878
43 7 +0.158850774168968 +0.132303044199944 +0.0917387306690216
44 8 +0.045868493616581 -0.143496423959732 -0.144560471177101
45 9 +0.201096624135971 -0.114015482366085 -0.056370846927166
46 10 +0.120722472667694 +0.0225142799317837 -0.14428573846817
47 11 -0.144954994320869 +0.0834380388259888 +0.113176539540291
48 12 -0.00202658399939537 -0.133046850562096 +0.0957164391875267
49 13 -0.287962913513184 +0.0106385545805097 -0.0766732469201088
50 14 -0.141226395964622 -0.0410833247005939 -0.175161227583885
51 15 -0.174708604812622 +0.134671285748482 -0.140490382909775
52 !Charges
53 0 +0
54 1 +0
55 2 +0
56 3 +0
57 4 +0
58 5 +0
59 6 +0
60 7 +0
61 8 +0
62 9 +0
63 10 +0
64 11 +0
65 12 +0
66 13 +0
67 14 +0
68 15 +0
69 !End
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 16
3 0 6 2048
4 1 6 2048
5 2 6 2048
6 3 6 2048
7 4 6 2048
8 5 1 2048
9 6 1 2048
10 7 1 2048
11 8 1 2048
12 9 1 2048
13 10 1 2048
14 11 1 2048
15 12 1 2048
16 13 1 2048
17 14 1 2048
18 15 1 2048
19 !Bonds 16
20 0 1 S
21 1 2 S
22 1 3 S
23 3 4 S
24 0 5 S
25 0 6 S
26 0 7 S
27 2 8 S
28 2 9 S
29 2 10 S
30 3 11 S
31 4 13 S
32 4 14 S
33 4 15 S
34 1 12 S
35 3 12 S
36 !Coord
37 0 +0.116183266043663 +0.058733057230711 +0.130180850625038
38 1 +0.0347759053111076 -0.0224268697202206 +0.0350258052349091
39 2 +0.108304008841515 -0.0860214978456497 -0.0774137750267982
40 3 -0.103311575949192 +0.00887893047183752 +0.0312997549772263
41 4 -0.176498889923096 +0.0304617695510387 -0.0930882468819618
42 5 +0.22585129737854 +0.042643740773201 +0.115918509662151
43 6 +0.0906580090522766 +0.0431588776409626 +0.23750627040863
44 7 +0.0957397893071175 +0.166961193084717 +0.106011115014553
45 8 +0.0397533252835274 -0.131337270140648 -0.153389781713486
46 9 +0.176900461316109 -0.165921598672867 -0.0381560996174812
47 10 +0.173310145735741 -0.00947354827076197 -0.127339690923691
48 11 -0.150687023997307 +0.0478730015456676 +0.124440029263496
49 12 -0.0502685308456421 -0.118265554308891 +0.0835474953055382
50 13 -0.284850805997849 +0.00411892542615533 -0.0875368714332581
51 14 -0.127332597970963 -0.0128817269578576 -0.183696493506432
52 15 -0.168526828289032 +0.143498584628105 -0.103308871388435
53 !Charges
54 0 +0
55 1 +0
56 2 +0
57 3 +0
58 4 +0
59 5 +0
60 6 +0
61 7 +0
62 8 +0
63 9 +0
64 10 +0
65 11 +0
66 12 +0
67 13 +0
68 14 +0
69 15 +0
70 !End
0 tssexampledir = $(datadir)/ghemical/@APPVERSION@/examples/transition_state_search/carbocation_rearrangement_methide_shift
1
2 tssexample_DATA = \
3 products.gpr \
4 reactants.gpr \
5 ts.gpr
6
7 EXTRA_DIST = $(tssexample_DATA)
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16
17 VPATH = @srcdir@
18 pkgdatadir = $(datadir)/@PACKAGE@
19 pkgincludedir = $(includedir)/@PACKAGE@
20 pkglibdir = $(libdir)/@PACKAGE@
21 pkglibexecdir = $(libexecdir)/@PACKAGE@
22 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
23 install_sh_DATA = $(install_sh) -c -m 644
24 install_sh_PROGRAM = $(install_sh) -c
25 install_sh_SCRIPT = $(install_sh) -c
26 INSTALL_HEADER = $(INSTALL_DATA)
27 transform = $(program_transform_name)
28 NORMAL_INSTALL = :
29 PRE_INSTALL = :
30 POST_INSTALL = :
31 NORMAL_UNINSTALL = :
32 PRE_UNINSTALL = :
33 POST_UNINSTALL = :
34 build_triplet = @build@
35 host_triplet = @host@
36 subdir = examples/TSS/carbocation_rearrangement_methide_shift
37 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
38 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
39 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
40 $(top_srcdir)/configure.ac
41 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
42 $(ACLOCAL_M4)
43 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
44 CONFIG_HEADER = $(top_builddir)/src/ghemicalconfig.h
45 CONFIG_CLEAN_FILES =
46 CONFIG_CLEAN_VPATH_FILES =
47 SOURCES =
48 DIST_SOURCES =
49 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
50 am__vpath_adj = case $$p in \
51 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
52 *) f=$$p;; \
53 esac;
54 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
55 am__install_max = 40
56 am__nobase_strip_setup = \
57 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
58 am__nobase_strip = \
59 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
60 am__nobase_list = $(am__nobase_strip_setup); \
61 for p in $$list; do echo "$$p $$p"; done | \
62 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
63 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
64 if (++n[$$2] == $(am__install_max)) \
65 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
66 END { for (dir in files) print dir, files[dir] }'
67 am__base_list = \
68 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
69 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
70 am__installdirs = "$(DESTDIR)$(tssexampledir)"
71 DATA = $(tssexample_DATA)
72 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
73 ACLOCAL = @ACLOCAL@
74 ALL_LINGUAS = @ALL_LINGUAS@
75 AMTAR = @AMTAR@
76 APPRELEASEDATE = @APPRELEASEDATE@
77 APPVERSION = @APPVERSION@
78 AR = @AR@
79 AUTOCONF = @AUTOCONF@
80 AUTOHEADER = @AUTOHEADER@
81 AUTOMAKE = @AUTOMAKE@
82 AWK = @AWK@
83 CATALOGS = @CATALOGS@
84 CATOBJEXT = @CATOBJEXT@
85 CC = @CC@
86 CCDEPMODE = @CCDEPMODE@
87 CFLAGS = @CFLAGS@
88 CPP = @CPP@
89 CPPFLAGS = @CPPFLAGS@
90 CXX = @CXX@
91 CXXCPP = @CXXCPP@
92 CXXDEPMODE = @CXXDEPMODE@
93 CXXFLAGS = @CXXFLAGS@
94 CYGPATH_W = @CYGPATH_W@
95 DATADIRNAME = @DATADIRNAME@
96 DEFS = @DEFS@
97 DEPDIR = @DEPDIR@
98 DSYMUTIL = @DSYMUTIL@
99 DUMPBIN = @DUMPBIN@
100 ECHO_C = @ECHO_C@
101 ECHO_N = @ECHO_N@
102 ECHO_T = @ECHO_T@
103 EGREP = @EGREP@
104 EXEEXT = @EXEEXT@
105 FGREP = @FGREP@
106 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
107 GMOFILES = @GMOFILES@
108 GMSGFMT = @GMSGFMT@
109 GREP = @GREP@
110 GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
111 GTHREAD_LIBS = @GTHREAD_LIBS@
112 GTK_CFLAGS = @GTK_CFLAGS@
113 GTK_LIBS = @GTK_LIBS@
114 INSTALL = @INSTALL@
115 INSTALL_DATA = @INSTALL_DATA@
116 INSTALL_PROGRAM = @INSTALL_PROGRAM@
117 INSTALL_SCRIPT = @INSTALL_SCRIPT@
118 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
119 INSTOBJEXT = @INSTOBJEXT@
120 INTLLIBS = @INTLLIBS@
121 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
122 INTLTOOL_MERGE = @INTLTOOL_MERGE@
123 INTLTOOL_PERL = @INTLTOOL_PERL@
124 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
125 LD = @LD@
126 LDFLAGS = @LDFLAGS@
127 LIBGHEMICAL_CFLAGS = @LIBGHEMICAL_CFLAGS@
128 LIBGHEMICAL_LIBS = @LIBGHEMICAL_LIBS@
129 LIBOBJS = @LIBOBJS@
130 LIBS = @LIBS@
131 LIBTOOL = @LIBTOOL@
132 LIPO = @LIPO@
133 LN_S = @LN_S@
134 LTLIBOBJS = @LTLIBOBJS@
135 MAKEINFO = @MAKEINFO@
136 MKDIR_P = @MKDIR_P@
137 MKINSTALLDIRS = @MKINSTALLDIRS@
138 MSGFMT = @MSGFMT@
139 MSGFMT_OPTS = @MSGFMT_OPTS@
140 MSGMERGE = @MSGMERGE@
141 NM = @NM@
142 NMEDIT = @NMEDIT@
143 OBJDUMP = @OBJDUMP@
144 OBJEXT = @OBJEXT@
145 OPENBABEL_CFLAGS = @OPENBABEL_CFLAGS@
146 OPENBABEL_LIBS = @OPENBABEL_LIBS@
147 OTOOL = @OTOOL@
148 OTOOL64 = @OTOOL64@
149 PACKAGE = @PACKAGE@
150 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
151 PACKAGE_NAME = @PACKAGE_NAME@
152 PACKAGE_STRING = @PACKAGE_STRING@
153 PACKAGE_TARNAME = @PACKAGE_TARNAME@
154 PACKAGE_URL = @PACKAGE_URL@
155 PACKAGE_VERSION = @PACKAGE_VERSION@
156 PATH_SEPARATOR = @PATH_SEPARATOR@
157 PKG_CONFIG = @PKG_CONFIG@
158 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
159 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
160 POFILES = @POFILES@
161 POSUB = @POSUB@
162 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
163 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
164 RANLIB = @RANLIB@
165 SED = @SED@
166 SET_MAKE = @SET_MAKE@
167 SHELL = @SHELL@
168 STRIP = @STRIP@
169 USE_NLS = @USE_NLS@
170 VERSION = @VERSION@
171 XGETTEXT = @XGETTEXT@
172 abs_builddir = @abs_builddir@
173 abs_srcdir = @abs_srcdir@
174 abs_top_builddir = @abs_top_builddir@
175 abs_top_srcdir = @abs_top_srcdir@
176 ac_ct_CC = @ac_ct_CC@
177 ac_ct_CXX = @ac_ct_CXX@
178 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
179 am__include = @am__include@
180 am__leading_dot = @am__leading_dot@
181 am__quote = @am__quote@
182 am__tar = @am__tar@
183 am__untar = @am__untar@
184 bindir = @bindir@
185 build = @build@
186 build_alias = @build_alias@
187 build_cpu = @build_cpu@
188 build_os = @build_os@
189 build_vendor = @build_vendor@
190 builddir = @builddir@
191 datadir = @datadir@
192 datarootdir = @datarootdir@
193 docdir = @docdir@
194 dvidir = @dvidir@
195 exec_prefix = @exec_prefix@
196 host = @host@
197 host_alias = @host_alias@
198 host_cpu = @host_cpu@
199 host_os = @host_os@
200 host_vendor = @host_vendor@
201 htmldir = @htmldir@
202 includedir = @includedir@
203 infodir = @infodir@
204 install_sh = @install_sh@
205 libdir = @libdir@
206 libexecdir = @libexecdir@
207 localedir = @localedir@
208 localstatedir = @localstatedir@
209 lt_ECHO = @lt_ECHO@
210 mandir = @mandir@
211 mkdir_p = @mkdir_p@
212 oldincludedir = @oldincludedir@
213 pdfdir = @pdfdir@
214 prefix = @prefix@
215 program_transform_name = @program_transform_name@
216 psdir = @psdir@
217 sbindir = @sbindir@
218 sharedstatedir = @sharedstatedir@
219 srcdir = @srcdir@
220 sysconfdir = @sysconfdir@
221 target_alias = @target_alias@
222 top_build_prefix = @top_build_prefix@
223 top_builddir = @top_builddir@
224 top_builddir_ = @top_builddir_@
225 top_srcdir = @top_srcdir@
226 tssexampledir = $(datadir)/ghemical/@APPVERSION@/examples/transition_state_search/carbocation_rearrangement_methide_shift
227 tssexample_DATA = \
228 products.gpr \
229 reactants.gpr \
230 ts.gpr
231
232 EXTRA_DIST = $(tssexample_DATA)
233 all: all-am
234
235 .SUFFIXES:
236 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
237 @for dep in $?; do \
238 case '$(am__configure_deps)' in \
239 *$$dep*) \
240 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
241 && { if test -f $@; then exit 0; else break; fi; }; \
242 exit 1;; \
243 esac; \
244 done; \
245 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/TSS/carbocation_rearrangement_methide_shift/Makefile'; \
246 $(am__cd) $(top_srcdir) && \
247 $(AUTOMAKE) --gnu examples/TSS/carbocation_rearrangement_methide_shift/Makefile
248 .PRECIOUS: Makefile
249 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
250 @case '$?' in \
251 *config.status*) \
252 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
253 *) \
254 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
255 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
256 esac;
257
258 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
259 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
260
261 $(top_srcdir)/configure: $(am__configure_deps)
262 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
263 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
264 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
265 $(am__aclocal_m4_deps):
266
267 mostlyclean-libtool:
268 -rm -f *.lo
269
270 clean-libtool:
271 -rm -rf .libs _libs
272 install-tssexampleDATA: $(tssexample_DATA)
273 @$(NORMAL_INSTALL)
274 test -z "$(tssexampledir)" || $(MKDIR_P) "$(DESTDIR)$(tssexampledir)"
275 @list='$(tssexample_DATA)'; test -n "$(tssexampledir)" || list=; \
276 for p in $$list; do \
277 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
278 echo "$$d$$p"; \
279 done | $(am__base_list) | \
280 while read files; do \
281 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tssexampledir)'"; \
282 $(INSTALL_DATA) $$files "$(DESTDIR)$(tssexampledir)" || exit $$?; \
283 done
284
285 uninstall-tssexampleDATA:
286 @$(NORMAL_UNINSTALL)
287 @list='$(tssexample_DATA)'; test -n "$(tssexampledir)" || list=; \
288 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
289 test -n "$$files" || exit 0; \
290 echo " ( cd '$(DESTDIR)$(tssexampledir)' && rm -f" $$files ")"; \
291 cd "$(DESTDIR)$(tssexampledir)" && rm -f $$files
292 tags: TAGS
293 TAGS:
294
295 ctags: CTAGS
296 CTAGS:
297
298
299 distdir: $(DISTFILES)
300 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
301 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
302 list='$(DISTFILES)'; \
303 dist_files=`for file in $$list; do echo $$file; done | \
304 sed -e "s|^$$srcdirstrip/||;t" \
305 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
306 case $$dist_files in \
307 */*) $(MKDIR_P) `echo "$$dist_files" | \
308 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
309 sort -u` ;; \
310 esac; \
311 for file in $$dist_files; do \
312 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
313 if test -d $$d/$$file; then \
314 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
315 if test -d "$(distdir)/$$file"; then \
316 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
317 fi; \
318 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
319 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
320 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
321 fi; \
322 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
323 else \
324 test -f "$(distdir)/$$file" \
325 || cp -p $$d/$$file "$(distdir)/$$file" \
326 || exit 1; \
327 fi; \
328 done
329 check-am: all-am
330 check: check-am
331 all-am: Makefile $(DATA)
332 installdirs:
333 for dir in "$(DESTDIR)$(tssexampledir)"; do \
334 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
335 done
336 install: install-am
337 install-exec: install-exec-am
338 install-data: install-data-am
339 uninstall: uninstall-am
340
341 install-am: all-am
342 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
343
344 installcheck: installcheck-am
345 install-strip:
346 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
347 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
348 `test -z '$(STRIP)' || \
349 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
350 mostlyclean-generic:
351
352 clean-generic:
353
354 distclean-generic:
355 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
356 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
357
358 maintainer-clean-generic:
359 @echo "This command is intended for maintainers to use"
360 @echo "it deletes files that may require special tools to rebuild."
361 clean: clean-am
362
363 clean-am: clean-generic clean-libtool mostlyclean-am
364
365 distclean: distclean-am
366 -rm -f Makefile
367 distclean-am: clean-am distclean-generic
368
369 dvi: dvi-am
370
371 dvi-am:
372
373 html: html-am
374
375 html-am:
376
377 info: info-am
378
379 info-am:
380
381 install-data-am: install-tssexampleDATA
382
383 install-dvi: install-dvi-am
384
385 install-dvi-am:
386
387 install-exec-am:
388
389 install-html: install-html-am
390
391 install-html-am:
392
393 install-info: install-info-am
394
395 install-info-am:
396
397 install-man:
398
399 install-pdf: install-pdf-am
400
401 install-pdf-am:
402
403 install-ps: install-ps-am
404
405 install-ps-am:
406
407 installcheck-am:
408
409 maintainer-clean: maintainer-clean-am
410 -rm -f Makefile
411 maintainer-clean-am: distclean-am maintainer-clean-generic
412
413 mostlyclean: mostlyclean-am
414
415 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
416
417 pdf: pdf-am
418
419 pdf-am:
420
421 ps: ps-am
422
423 ps-am:
424
425 uninstall-am: uninstall-tssexampleDATA
426
427 .MAKE: install-am install-strip
428
429 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
430 distclean distclean-generic distclean-libtool distdir dvi \
431 dvi-am html html-am info info-am install install-am \
432 install-data install-data-am install-dvi install-dvi-am \
433 install-exec install-exec-am install-html install-html-am \
434 install-info install-info-am install-man install-pdf \
435 install-pdf-am install-ps install-ps-am install-strip \
436 install-tssexampleDATA installcheck installcheck-am \
437 installdirs maintainer-clean maintainer-clean-generic \
438 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
439 ps ps-am uninstall uninstall-am uninstall-tssexampleDATA
440
441
442 # Tell versions [3.59,3.63) of GNU make to not export all variables.
443 # Otherwise a system limit (for SysV at least) may be exceeded.
444 .NOEXPORT:
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 19
3 0 6 2048
4 1 6 2048
5 2 6 2048
6 3 6 2048
7 4 6 2048
8 5 6 2048
9 6 1 2048
10 7 1 2048
11 8 1 2048
12 9 1 2048
13 10 1 2048
14 11 1 2048
15 12 1 2048
16 13 1 2048
17 14 1 2048
18 15 1 2048
19 16 1 2048
20 17 1 2048
21 18 1 2048
22 !Bonds 18
23 0 1 S
24 1 2 S
25 1 3 S
26 3 4 S
27 3 5 S
28 0 6 S
29 0 7 S
30 0 8 S
31 2 9 S
32 2 10 S
33 2 11 S
34 3 12 S
35 4 13 S
36 4 14 S
37 4 15 S
38 5 16 S
39 5 17 S
40 5 18 S
41 !Coord
42 0 +0.169436529278755 +0.0961544215679169 -0.00295841391198337
43 1 +0.0757088884711266 -0.014289285056293 +0.0104247955605388
44 2 +0.122963346540928 -0.151040881872177 -0.00470416247844696
45 3 -0.0661538913846016 +0.0121656358242035 +0.0400053486227989
46 4 -0.113647870719433 +0.148351103067398 -0.00759513815864921
47 5 -0.159747883677483 -0.0968638584017754 -0.00917604472488165
48 6 +0.145408913493156 +0.15312471985817 -0.0979612171649933
49 7 +0.276539444923401 +0.0635001435875893 -0.00756861967965961
50 8 +0.157380804419518 +0.170845121145248 +0.0806316509842873
51 9 +0.23462650179863 -0.159451887011528 -0.00930190645158291
52 10 +0.0799913704395294 -0.194187834858894 -0.100313924252987
53 11 +0.0845316424965858 -0.217360928654671 +0.0779899954795837
54 12 -0.0706634297966957 +0.0122767733410001 +0.154533952474594
55 13 -0.106117680668831 +0.155852317810059 -0.118801571428776
56 14 -0.0544923320412636 +0.230898529291153 +0.0388124100863934
57 15 -0.220990657806396 +0.162141710519791 +0.0209610294550657
58 16 -0.155360266566277 -0.105039454996586 -0.12050573527813
59 17 -0.264814406633377 -0.0711932182312012 +0.0196534972637892
60 18 -0.134599044919014 -0.19588315486908 +0.0358740575611591
61 !Charges
62 0 +0
63 1 +0
64 2 +0
65 3 +0
66 4 +0
67 5 +0
68 6 +0
69 7 +0
70 8 +0
71 9 +0
72 10 +0
73 11 +0
74 12 +0
75 13 +0
76 14 +0
77 15 +0
78 16 +0
79 17 +0
80 18 +0
81 !End
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 19
3 0 6 2048
4 1 6 2048
5 2 6 2048
6 3 6 2048
7 4 6 2048
8 5 6 2048
9 6 1 2048
10 7 1 2048
11 8 1 2048
12 9 1 2048
13 10 1 2048
14 11 1 2048
15 12 1 2048
16 13 1 2048
17 14 1 2048
18 15 1 2048
19 16 1 2048
20 17 1 2048
21 18 1 2048
22 !Bonds 18
23 0 1 S
24 1 2 S
25 1 3 S
26 3 5 S
27 0 6 S
28 0 7 S
29 0 8 S
30 2 9 S
31 2 10 S
32 2 11 S
33 3 12 S
34 4 13 S
35 4 14 S
36 4 15 S
37 5 16 S
38 5 17 S
39 5 18 S
40 4 1 S
41 !Coord
42 0 +0.144557565450668 +0.0829070135951042 +0.0656402185559273
43 1 +0.0257144849747419 +0.0243837293237448 -0.0123308189213276
44 2 +0.0704908221960068 -0.0982359945774078 -0.0900810807943344
45 3 -0.0829681232571602 -0.00107721763197333 +0.0831800103187561
46 4 -0.0257738046348095 +0.131668701767921 -0.110372751951218
47 5 -0.152141079306602 -0.125679925084114 +0.0993047803640366
48 6 +0.223983034491539 +0.111387848854065 -0.00784222409129143
49 7 +0.186782613396645 +0.0069195693358779 +0.135639801621437
50 8 +0.114224933087826 +0.173982068896294 +0.122628375887871
51 9 +0.149956464767456 -0.0687112212181091 -0.163122236728668
52 10 -0.0147232450544834 -0.142585724592209 -0.147090837359428
53 11 +0.1134437546134 -0.175612166523933 -0.0217962507158518
54 12 -0.11441858112812 +0.0852556824684143 +0.146477535367012
55 13 +0.0587139576673508 +0.159988641738892 -0.178049311041832
56 14 -0.0599185042083263 +0.222971588373184 -0.0560854412615299
57 15 -0.109066031873226 +0.0910654589533806 -0.172490313649178
58 16 -0.248490616679192 -0.120741866528988 +0.0384192764759064
59 17 -0.184960126876831 -0.142521038651466 +0.205883964896202
60 18 -0.0954075455665588 -0.215365171432495 +0.0620873086154461
61 !Charges
62 0 +0
63 1 +0
64 2 +0
65 3 +0
66 4 +0
67 5 +0
68 6 +0
69 7 +0
70 8 +0
71 9 +0
72 10 +0
73 11 +0
74 12 +0
75 13 +0
76 14 +0
77 15 +0
78 16 +0
79 17 +0
80 18 +0
81 !End
0 !Header gpr 110
1 !Info 1 allqm 257
2 !Atoms 19
3 0 6 2048
4 1 6 2048
5 2 6 2048
6 3 6 2048
7 4 6 2048
8 5 6 2048
9 6 1 2048
10 7 1 2048
11 8 1 2048
12 9 1 2048
13 10 1 2048
14 11 1 2048
15 12 1 2048
16 13 1 2048
17 14 1 2048
18 15 1 2048
19 16 1 2048
20 17 1 2048
21 18 1 2048
22 !Bonds 19
23 0 1 S
24 1 2 S
25 1 3 S
26 3 5 S
27 0 6 S
28 0 7 S
29 0 8 S
30 2 9 S
31 2 10 S
32 2 11 S
33 3 12 S
34 4 13 S
35 4 14 S
36 4 15 S
37 5 16 S
38 5 17 S
39 5 18 S
40 4 1 S
41 3 4 S
42 !Coord
43 0 +0.16979943215847 +0.0862049385905266 +0.0564024560153484
44 1 +0.0516823194921017 +0.00651520676910877 -0.00183515809476376
45 2 +0.0972661525011063 -0.11272956430912 -0.0864031612873077
46 3 -0.0724850445985794 +0.00549312587827444 +0.070123478770256
47 4 -0.0671598836779594 +0.116716749966145 -0.0794736072421074
48 5 -0.178551197052002 -0.102224253118038 +0.0733881443738937
49 6 +0.235058650374413 +0.127351403236389 -0.0230589471757412
50 7 +0.230675965547562 +0.0187267363071442 +0.120316706597805
51 8 +0.138046771287918 +0.170585989952087 +0.120689876377583
52 9 +0.187098518013954 -0.086832232773304 -0.145744994282722
53 10 +0.0190927162766457 -0.150121688842773 -0.155205130577087
54 11 +0.125558853149414 -0.19475257396698 -0.0166667941957712
55 12 -0.078364297747612 +0.0732969492673874 +0.157194867730141
56 13 +0.00354781933128834 +0.138920247554779 -0.162873432040215
57 14 -0.0852934047579765 +0.212859451770782 -0.0275742206722498
58 15 -0.159883305430412 +0.0805802941322327 -0.128497913479805
59 16 -0.235316544771194 -0.110197402536869 -0.0214476361870766
60 17 -0.249651432037354 -0.0799666941165924 +0.155534461140633
61 18 -0.131122201681137 -0.200426697731018 +0.0951309651136398
62 !Charges
63 0 +0
64 1 +0
65 2 +0
66 3 +0
67 4 +0
68 5 +0
69 6 +0
70 7 +0
71 8 +0
72 9 +0
73 10 +0
74 11 +0
75 12 +0
76 13 +0
77 14 +0
78 15 +0
79 16 +0
80 17 +0
81 18 +0
82 !End
0 tssexampledir = $(datadir)/ghemical/@APPVERSION@/examples/transition_state_search/cycloaddition_Diels-Alder
1
2 tssexample_DATA = \
3 products.gpr \
4 reactants.gpr \
5 ts.gpr
6
7 EXTRA_DIST = $(tssexample_DATA)
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16
17 VPATH = @srcdir@
18 pkgdatadir = $(datadir)/@PACKAGE@
19 pkgincludedir = $(includedir)/@PACKAGE@
20 pkglibdir = $(libdir)/@PACKAGE@
21 pkglibexecdir = $(libexecdir)/@PACKAGE@
22 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
23 install_sh_DATA = $(install_sh) -c -m 644
24 install_sh_PROGRAM = $(install_sh) -c
25 install_sh_SCRIPT = $(install_sh) -c
26 INSTALL_HEADER = $(INSTALL_DATA)
27 transform = $(program_transform_name)
28 NORMAL_INSTALL = :
29 PRE_INSTALL = :
30 POST_INSTALL = :
31 NORMAL_UNINSTALL = :
32 PRE_UNINSTALL = :
33 POST_UNINSTALL = :
34 build_triplet = @build@
35 host_triplet = @host@
36 subdir = examples/TSS/cycloaddition_Diels-Alder
37 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
38 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
39 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
40 $(top_srcdir)/configure.ac
41 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
42 $(ACLOCAL_M4)
43 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
44 CONFIG_HEADER = $(top_builddir)/src/ghemicalconfig.h
45 CONFIG_CLEAN_FILES =
46 CONFIG_CLEAN_VPATH_FILES =
47 SOURCES =
48 DIST_SOURCES =
49 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
50 am__vpath_adj = case $$p in \
51 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
52 *) f=$$p;; \
53 esac;
54 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
55 am__install_max = 40
56 am__nobase_strip_setup = \
57 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
58 am__nobase_strip = \
59 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
60 am__nobase_list = $(am__nobase_strip_setup); \
61 for p in $$list; do echo "$$p $$p"; done | \
62 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
63 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
64 if (++n[$$2] == $(am__install_max)) \
65 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
66 END { for (dir in files) print dir, files[dir] }'
67 am__base_list = \
68 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
69 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
70 am__installdirs = "$(DESTDIR)$(tssexampledir)"
71 DATA = $(tssexample_DATA)
72 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
73 ACLOCAL = @ACLOCAL@
74 ALL_LINGUAS = @ALL_LINGUAS@
75 AMTAR = @AMTAR@
76 APPRELEASEDATE = @APPRELEASEDATE@
77 APPVERSION = @APPVERSION@
78 AR = @AR@
79 AUTOCONF = @AUTOCONF@
80 AUTOHEADER = @AUTOHEADER@
81 AUTOMAKE = @AUTOMAKE@
82 AWK = @AWK@
83 CATALOGS = @CATALOGS@
84 CATOBJEXT = @CATOBJEXT@
85 CC = @CC@
86 CCDEPMODE = @CCDEPMODE@
87 CFLAGS = @CFLAGS@
88 CPP = @CPP@
89 CPPFLAGS = @CPPFLAGS@
90 CXX = @CXX@
91 CXXCPP = @CXXCPP@
92 CXXDEPMODE = @CXXDEPMODE@
93 CXXFLAGS = @CXXFLAGS@
94 CYGPATH_W = @CYGPATH_W@
95 DATADIRNAME = @DATADIRNAME@
96 DEFS = @DEFS@
97 DEPDIR = @DEPDIR@
98 DSYMUTIL = @DSYMUTIL@
99 DUMPBIN = @DUMPBIN@
100 ECHO_C = @ECHO_C@
101 ECHO_N = @ECHO_N@
102 ECHO_T = @ECHO_T@
103 EGREP = @EGREP@
104 EXEEXT = @EXEEXT@
105 FGREP = @FGREP@
106 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
107 GMOFILES = @GMOFILES@
108 GMSGFMT = @GMSGFMT@
109 GREP = @GREP@
110 GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
111 GTHREAD_LIBS = @GTHREAD_LIBS@
112 GTK_CFLAGS = @GTK_CFLAGS@
113 GTK_LIBS = @GTK_LIBS@
114 INSTALL = @INSTALL@
115 INSTALL_DATA = @INSTALL_DATA@
116 INSTALL_PROGRAM = @INSTALL_PROGRAM@
117 INSTALL_SCRIPT = @INSTALL_SCRIPT@
118 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
119 INSTOBJEXT = @INSTOBJEXT@
120 INTLLIBS = @INTLLIBS@
121 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
122 INTLTOOL_MERGE = @INTLTOOL_MERGE@
123 INTLTOOL_PERL = @INTLTOOL_PERL@
124 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
125 LD = @LD@
126 LDFLAGS = @LDFLAGS@
127 LIBGHEMICAL_CFLAGS = @LIBGHEMICAL_CFLAGS@
128 LIBGHEMICAL_LIBS = @LIBGHEMICAL_LIBS@
129 LIBOBJS = @LIBOBJS@
130 LIBS = @LIBS@
131 LIBTOOL = @LIBTOOL@
132 LIPO = @LIPO@
133 LN_S = @LN_S@
134 LTLIBOBJS = @LTLIBOBJS@
135 MAKEINFO = @MAKEINFO@
136 MKDIR_P = @MKDIR_P@
137 MKINSTALLDIRS = @MKINSTALLDIRS@
138 MSGFMT = @MSGFMT@
139 MSGFMT_OPTS = @MSGFMT_OPTS@
140 MSGMERGE = @MSGMERGE@
141 NM = @NM@
142 NMEDIT = @NMEDIT@
143 OBJDUMP = @OBJDUMP@
144 OBJEXT = @OBJEXT@
145 OPENBABEL_CFLAGS = @OPENBABEL_CFLAGS@
146 OPENBABEL_LIBS = @OPENBABEL_LIBS@
147 OTOOL = @OTOOL@
148 OTOOL64 = @OTOOL64@
149 PACKAGE = @PACKAGE@
150 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
151 PACKAGE_NAME = @PACKAGE_NAME@
152 PACKAGE_STRING = @PACKAGE_STRING@
153 PACKAGE_TARNAME = @PACKAGE_TARNAME@
154 PACKAGE_URL = @PACKAGE_URL@
155 PACKAGE_VERSION = @PACKAGE_VERSION@
156 PATH_SEPARATOR = @PATH_SEPARATOR@
157 PKG_CONFIG = @PKG_CONFIG@
158 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
159 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
160 POFILES = @POFILES@
161 POSUB = @POSUB@
162 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
163 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
164 RANLIB = @RANLIB@
165 SED = @SED@
166 SET_MAKE = @SET_MAKE@
167 SHELL = @SHELL@
168 STRIP = @STRIP@
169 USE_NLS = @USE_NLS@
170 VERSION = @VERSION@
171 XGETTEXT = @XGETTEXT@
172 abs_builddir = @abs_builddir@
173 abs_srcdir = @abs_srcdir@
174 abs_top_builddir = @abs_top_builddir@
175 abs_top_srcdir = @abs_top_srcdir@
176 ac_ct_CC = @ac_ct_CC@
177 ac_ct_CXX = @ac_ct_CXX@
178 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
179 am__include = @am__include@
180 am__leading_dot = @am__leading_dot@
181 am__quote = @am__quote@
182 am__tar = @am__tar@
183 am__untar = @am__untar@
184 bindir = @bindir@
185 build = @build@
186 build_alias = @build_alias@
187 build_cpu = @build_cpu@
188 build_os = @build_os@
189 build_vendor = @build_vendor@
190 builddir = @builddir@
191 datadir = @datadir@
192 datarootdir = @datarootdir@
193 docdir = @docdir@
194 dvidir = @dvidir@
195 exec_prefix = @exec_prefix@
196 host = @host@
197 host_alias = @host_alias@
198 host_cpu = @host_cpu@
199 host_os = @host_os@
200 host_vendor = @host_vendor@
201 htmldir = @htmldir@
202 includedir = @includedir@
203 infodir = @infodir@
204 install_sh = @install_sh@
205 libdir = @libdir@
206 libexecdir = @libexecdir@
207 localedir = @localedir@
208 localstatedir = @localstatedir@
209 lt_ECHO = @lt_ECHO@
210 mandir = @mandir@
211 mkdir_p = @mkdir_p@
212 oldincludedir = @oldincludedir@
213 pdfdir = @pdfdir@
214 prefix = @prefix@
215 program_transform_name = @program_transform_name@
216 psdir = @psdir@
217 sbindir = @sbindir@
218 sharedstatedir = @sharedstatedir@
219 srcdir = @srcdir@
220 sysconfdir = @sysconfdir@
221 target_alias = @target_alias@
222 top_build_prefix = @top_build_prefix@
223 top_builddir = @top_builddir@
224 top_builddir_ = @top_builddir_@
225 top_srcdir = @top_srcdir@
226 tssexampledir = $(datadir)/ghemical/@APPVERSION@/examples/transition_state_search/cycloaddition_Diels-Alder
227 tssexample_DATA = \
228 products.gpr \
229 reactants.gpr \
230 ts.gpr
231
232 EXTRA_DIST = $(tssexample_DATA)
233 all: all-am
234
235 .SUFFIXES:
236 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
237 @for dep in $?; do \
238 case '$(am__configure_deps)' in \
239 *$$dep*) \
240 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
241 && { if test -f $@; then exit 0; else break; fi; }; \
242 exit 1;; \
243 esac; \
244 done; \
245 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/TSS/cycloaddition_Diels-Alder/Makefile'; \
246 $(am__cd) $(top_srcdir) && \
247 $(AUTOMAKE) --gnu examples/TSS/cycloaddition_Diels-Alder/Makefile
248 .PRECIOUS: Makefile
249 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
250 @case '$?' in \
251 *config.status*) \
252 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
253 *) \
254 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
255 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
256 esac;
257
258 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
259 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
260
261 $(top_srcdir)/configure: $(am__configure_deps)
262 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
263 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
264 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
265 $(am__aclocal_m4_deps):
266
267 mostlyclean-libtool:
268 -rm -f *.lo
269
270 clean-libtool:
271 -rm -rf .libs _libs
272 install-tssexampleDATA: $(tssexample_DATA)
273 @$(NORMAL_INSTALL)
274 test -z "$(tssexampledir)" || $(MKDIR_P) "$(DESTDIR)$(tssexampledir)"
275 @list='$(tssexample_DATA)'; test -n "$(tssexampledir)" || list=; \
276 for p in $$list; do \
277 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
278 echo "$$d$$p"; \
279 done | $(am__base_list) | \
280 while read files; do \
281 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tssexampledir)'"; \
282 $(INSTALL_DATA) $$files "$(DESTDIR)$(tssexampledir)" || exit $$?; \
283 done
284
285 uninstall-tssexampleDATA:
286 @$(NORMAL_UNINSTALL)
287 @list='$(tssexample_DATA)'; test -n "$(tssexampledir)" || list=; \
288 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
289 test -n "$$files" || exit 0; \
290 echo " ( cd '$(DESTDIR)$(tssexampledir)' && rm -f" $$files ")"; \
291 cd "$(DESTDIR)$(tssexampledir)" && rm -f $$files
292 tags: TAGS
293 TAGS:
294
295 ctags: CTAGS
296 CTAGS:
297
298
299 distdir: $(DISTFILES)
300 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
301 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
302 list='$(DISTFILES)'; \
303 dist_files=`for file in $$list; do echo $$file; done | \
304 sed -e "s|^$$srcdirstrip/||;t" \
305 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
306 case $$dist_files in \
307 */*) $(MKDIR_P) `echo "$$dist_files" | \
308 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
309 sort -u` ;; \
310 esac; \
311 for file in $$dist_files; do \
312 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
313 if test -d $$d/$$file; then \
314 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
315 if test -d "$(distdir)/$$file"; then \
316 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
317 fi; \
318 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
319 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
320 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
321 fi; \
322 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
323 else \
324 test -f "$(distdir)/$$file" \
325 || cp -p $$d/$$file "$(distdir)/$$file" \
326 || exit 1; \
327 fi; \
328 done
329 check-am: all-am
330 check: check-am
331 all-am: Makefile $(DATA)
332 installdirs:
333 for dir in "$(DESTDIR)$(tssexampledir)"; do \
334 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
335 done
336 install: install-am
337 install-exec: install-exec-am
338 install-data: install-data-am
339 uninstall: uninstall-am
340
341 install-am: all-am
342 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
343
344 installcheck: installcheck-am
345 install-strip:
346 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
347 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
348 `test -z '$(STRIP)' || \
349 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
350 mostlyclean-generic:
351
352 clean-generic:
353
354 distclean-generic:
355 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
356 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
357
358 maintainer-clean-generic:
359 @echo "This command is intended for maintainers to use"
360 @echo "it deletes files that may require special tools to rebuild."
361 clean: clean-am
362
363 clean-am: clean-generic clean-libtool mostlyclean-am
364
365 distclean: distclean-am
366 -rm -f Makefile
367 distclean-am: clean-am distclean-generic
368
369 dvi: dvi-am
370
371 dvi-am:
372
373 html: html-am
374
375 html-am:
376
377 info: info-am
378
379 info-am:
380
381 install-data-am: install-tssexampleDATA
382
383 install-dvi: install-dvi-am
384
385 install-dvi-am:
386
387 install-exec-am:
388
389 install-html: install-html-am
390
391 install-html-am:
392
393 install-info: install-info-am
394
395 install-info-am:
396
397 install-man:
398
399 install-pdf: install-pdf-am
400
401 install-pdf-am:
402
403 install-ps: install-ps-am
404
405 install-ps-am:
406
407 installcheck-am:
408
409 maintainer-clean: maintainer-clean-am
410 -rm -f Makefile
411 maintainer-clean-am: distclean-am maintainer-clean-generic
412
413 mostlyclean: mostlyclean-am
414
415 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
416
417 pdf: pdf-am
418
419 pdf-am:
420
421 ps: ps-am
422
423 ps-am:
424
425 uninstall-am: uninstall-tssexampleDATA
426
427 .MAKE: install-am install-strip
428
429 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
430 distclean distclean-generic distclean-libtool distdir dvi \
431 dvi-am html html-am info info-am install install-am \
432 install-data install-data-am install-dvi install-dvi-am \
433 install-exec install-exec-am install-html install-html-am \
434 install-info install-info-am install-man install-pdf \
435 install-pdf-am install-ps install-ps-am install-strip \
436 install-tssexampleDATA installcheck installcheck-am \
437 installdirs maintainer-clean maintainer-clean-generic \
438 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
439 ps ps-am uninstall uninstall-am uninstall-tssexampleDATA
440
441
442 # Tell versions [3.59,3.63) of GNU make to not export all variables.
443 # Otherwise a system limit (for SysV at least) may be exceeded.
444 .NOEXPORT:
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 18
3 0 6 4096
4 1 6 4096
5 2 6 4096
6 3 6 4096
7 4 6 4096
8 5 6 4096
9 6 6 4096
10 7 8 4096
11 8 1 4096
12 9 1 4096
13 10 1 4096
14 11 1 4096
15 12 1 4096
16 13 1 4096
17 14 1 4096
18 15 1 4096
19 16 1 4096
20 17 1 4096
21 !Bonds 18
22 0 1 D
23 0 2 S
24 2 3 S
25 3 4 S
26 4 5 S
27 5 1 S
28 3 6 S
29 6 7 D
30 0 8 S
31 1 9 S
32 2 10 S
33 2 11 S
34 3 12 S
35 4 13 S
36 4 14 S
37 5 15 S
38 5 16 S
39 6 17 S
40 !Coord
41 0 +0.152617484331131 +0.0609197802841663 -0.0175567679107189
42 1 +0.140562489628792 -0.0651738345623016 -0.0602746494114399
43 2 +0.0466006025671959 +0.131352707743645 +0.0623224936425686
44 3 -0.0884910374879837 +0.0584644973278046 +0.0507018081843853
45 4 -0.0655706226825714 -0.0905199348926544 +0.0804736390709877
46 5 +0.0200364291667938 -0.150561898946762 -0.0325275845825672
47 6 -0.143513560295105 +0.0732217952609062 -0.0882155448198318
48 7 -0.0803420096635818 +0.13391225039959 -0.173129066824913
49 8 +0.243951320648193 +0.115368440747261 -0.04109912738204
50 9 +0.221680998802185 -0.108151115477085 -0.11887526512146
51 10 +0.0343916676938534 +0.234429836273193 +0.0258976723998785
52 11 +0.0776289328932762 +0.133999735116959 +0.167820647358894
53 12 -0.159123793244362 +0.100987002253532 +0.123534850776196
54 13 -0.161788433790207 -0.143589526414871 +0.0856876522302628
55 14 -0.012924512848258 -0.1003213301301 +0.176565945148468
56 15 -0.0401281453669071 -0.157940894365311 -0.124317608773708
57 16 +0.0519269816577435 -0.251434236764908 -0.0023948831949383
58 17 -0.237514823675156 +0.0250367410480976 -0.114614225924015
59 !Charges
60 0 -0.1
61 1 -0.1
62 2 +0
63 3 +0
64 4 +0
65 5 +0
66 6 +0
67 7 -0.1
68 8 +0.1
69 9 +0.1
70 10 +0
71 11 +0
72 12 +0
73 13 +0
74 14 +0
75 15 +0
76 16 +0
77 17 +0.1
78 !End
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 18
3 0 6 4096
4 1 6 4096
5 2 6 4096
6 3 6 4096
7 4 6 4096
8 5 6 4096
9 6 6 4096
10 7 8 4096
11 8 1 4096
12 9 1 4096
13 10 1 4096
14 11 1 4096
15 12 1 4096
16 13 1 4096
17 14 1 4096
18 15 1 4096
19 16 1 4096
20 17 1 4096
21 !Bonds 16
22 0 1 S
23 0 2 D
24 3 4 D
25 5 1 D
26 3 6 S
27 6 7 D
28 0 8 S
29 1 9 S
30 2 10 S
31 2 11 S
32 3 12 S
33 4 13 S
34 4 14 S
35 5 15 S
36 5 16 S
37 6 17 S
38 !Coord
39 0 +0.21893136203289 +0.0643123835325241 -0.051260270178318
40 1 +0.219415992498398 -0.0784877985715866 -0.087394505739212
41 2 +0.13201992213726 +0.120105355978012 +0.0334938205778599
42 3 -0.202064976096153 +0.0595590434968472 +0.0711264982819557
43 4 -0.189222514629364 -0.0592162646353245 +0.130754843354225
44 5 +0.130065187811852 -0.1675626039505 -0.043398842215538
45 6 -0.234343230724335 +0.0709318816661835 -0.0718605890870094
46 7 -0.244234085083008 +0.181129798293114 -0.123278737068176
47 8 +0.294617474079132 +0.128410458564758 -0.0963510200381279
48 9 +0.297778129577637 -0.113620333373547 -0.154490768909454
49 10 +0.139161720871925 +0.226683303713799 +0.0546546392142773
50 11 +0.05418561398983 +0.0622305758297443 +0.0826665982604027
51 12 -0.188075557351112 +0.150534227490425 +0.129323378205299
52 13 -0.20292791724205 -0.151006281375885 +0.0738063603639603
53 14 -0.164959713816643 -0.0644535720348358 +0.236798852682114
54 15 +0.0488786585628986 -0.139685735106468 +0.0233958549797535
55 16 +0.138256296515465 -0.271332532167435 -0.0754063129425049
56 17 -0.247482433915138 -0.0185319259762764 -0.132579803466797
57 !Charges
58 0 -0.1
59 1 -0.1
60 2 -0.2
61 3 -0.1
62 4 -0.2
63 5 -0.2
64 6 +0
65 7 -0.1
66 8 +0.1
67 9 +0.1
68 10 +0.1
69 11 +0.1
70 12 +0.1
71 13 +0.1
72 14 +0.1
73 15 +0.1
74 16 +0.1
75 17 +0.1
76 !End
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 18
3 0 6 2048
4 1 6 2048
5 2 6 2048
6 3 6 2048
7 4 6 2048
8 5 6 2048
9 6 6 2048
10 7 8 2048
11 8 1 2048
12 9 1 2048
13 10 1 2048
14 11 1 2048
15 12 1 2048
16 13 1 2048
17 14 1 2048
18 15 1 2048
19 16 1 2048
20 17 1 2048
21 !Bonds 18
22 0 1 C
23 0 2 C
24 3 4 C
25 5 1 C
26 3 6 S
27 6 7 D
28 0 8 S
29 1 9 S
30 2 10 S
31 2 11 S
32 3 12 S
33 4 13 S
34 4 14 S
35 5 15 S
36 5 16 S
37 6 17 S
38 2 3 S
39 4 5 S
40 !Coord
41 0 +0.158179506659508 +0.0648675933480263 -0.0492218919098377
42 1 +0.174432963132858 -0.0787351876497269 -0.0385059714317322
43 2 +0.0809696614742279 +0.131633192300797 +0.0377119742333889
44 3 -0.114584796130657 +0.0519531145691872 +0.0512905716896057
45 4 -0.100069589912891 -0.075332023203373 +0.0954848453402519
46 5 +0.0688123479485512 -0.160318240523338 -0.0345642045140266
47 6 -0.184624895453453 +0.0772771537303925 -0.0757436007261276
48 7 -0.207904428243637 +0.189016699790955 -0.122433893382549
49 8 +0.216015592217445 +0.116776049137115 -0.127423852682114
50 9 +0.27817365527153 -0.117326401174068 -0.0389583073556423
51 10 +0.0728114545345306 +0.240019515156746 +0.0241867508739233
52 11 +0.0833172053098679 +0.102499753236771 +0.144452095031738
53 12 -0.13510362803936 +0.132210075855255 +0.126300916075706
54 13 -0.161025419831276 -0.15772071480751 +0.0532543957233429
55 14 -0.0754458233714104 -0.0942045748233795 +0.200966835021973
56 15 -0.0175011940300465 -0.14136914908886 -0.101099722087383
57 16 +0.0874394997954369 -0.266944527626038 -0.0194282494485378
58 17 -0.223892137408257 -0.0143023049458861 -0.126268684864044
59 !Charges
60 0 -0.1
61 1 -0.1
62 2 -0.2
63 3 -0.1
64 4 -0.2
65 5 -0.2
66 6 +0
67 7 -0.1
68 8 +0.1
69 9 +0.1
70 10 +0.1
71 11 +0.1
72 12 +0.1
73 13 +0.1
74 14 +0.1
75 15 +0.1
76 16 +0.1
77 17 +0.1
78 !End
0 tssexampledir = $(datadir)/ghemical/@APPVERSION@/examples/transition_state_search/sigmatropic_rearrangement_Cope
1
2 tssexample_DATA = \
3 products.gpr \
4 reactants.gpr \
5 ts.gpr
6
7 EXTRA_DIST = $(tssexample_DATA)
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16
17 VPATH = @srcdir@
18 pkgdatadir = $(datadir)/@PACKAGE@
19 pkgincludedir = $(includedir)/@PACKAGE@
20 pkglibdir = $(libdir)/@PACKAGE@
21 pkglibexecdir = $(libexecdir)/@PACKAGE@
22 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
23 install_sh_DATA = $(install_sh) -c -m 644
24 install_sh_PROGRAM = $(install_sh) -c
25 install_sh_SCRIPT = $(install_sh) -c
26 INSTALL_HEADER = $(INSTALL_DATA)
27 transform = $(program_transform_name)
28 NORMAL_INSTALL = :
29 PRE_INSTALL = :
30 POST_INSTALL = :
31 NORMAL_UNINSTALL = :
32 PRE_UNINSTALL = :
33 POST_UNINSTALL = :
34 build_triplet = @build@
35 host_triplet = @host@
36 subdir = examples/TSS/sigmatropic_rearrangement_Cope
37 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
38 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
39 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
40 $(top_srcdir)/configure.ac
41 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
42 $(ACLOCAL_M4)
43 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
44 CONFIG_HEADER = $(top_builddir)/src/ghemicalconfig.h
45 CONFIG_CLEAN_FILES =
46 CONFIG_CLEAN_VPATH_FILES =
47 SOURCES =
48 DIST_SOURCES =
49 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
50 am__vpath_adj = case $$p in \
51 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
52 *) f=$$p;; \
53 esac;
54 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
55 am__install_max = 40
56 am__nobase_strip_setup = \
57 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
58 am__nobase_strip = \
59 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
60 am__nobase_list = $(am__nobase_strip_setup); \
61 for p in $$list; do echo "$$p $$p"; done | \
62 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
63 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
64 if (++n[$$2] == $(am__install_max)) \
65 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
66 END { for (dir in files) print dir, files[dir] }'
67 am__base_list = \
68 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
69 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
70 am__installdirs = "$(DESTDIR)$(tssexampledir)"
71 DATA = $(tssexample_DATA)
72 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
73 ACLOCAL = @ACLOCAL@
74 ALL_LINGUAS = @ALL_LINGUAS@
75 AMTAR = @AMTAR@
76 APPRELEASEDATE = @APPRELEASEDATE@
77 APPVERSION = @APPVERSION@
78 AR = @AR@
79 AUTOCONF = @AUTOCONF@
80 AUTOHEADER = @AUTOHEADER@
81 AUTOMAKE = @AUTOMAKE@
82 AWK = @AWK@
83 CATALOGS = @CATALOGS@
84 CATOBJEXT = @CATOBJEXT@
85 CC = @CC@
86 CCDEPMODE = @CCDEPMODE@
87 CFLAGS = @CFLAGS@
88 CPP = @CPP@
89 CPPFLAGS = @CPPFLAGS@
90 CXX = @CXX@
91 CXXCPP = @CXXCPP@
92 CXXDEPMODE = @CXXDEPMODE@
93 CXXFLAGS = @CXXFLAGS@
94 CYGPATH_W = @CYGPATH_W@
95 DATADIRNAME = @DATADIRNAME@
96 DEFS = @DEFS@
97 DEPDIR = @DEPDIR@
98 DSYMUTIL = @DSYMUTIL@
99 DUMPBIN = @DUMPBIN@
100 ECHO_C = @ECHO_C@
101 ECHO_N = @ECHO_N@
102 ECHO_T = @ECHO_T@
103 EGREP = @EGREP@
104 EXEEXT = @EXEEXT@
105 FGREP = @FGREP@
106 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
107 GMOFILES = @GMOFILES@
108 GMSGFMT = @GMSGFMT@
109 GREP = @GREP@
110 GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
111 GTHREAD_LIBS = @GTHREAD_LIBS@
112 GTK_CFLAGS = @GTK_CFLAGS@
113 GTK_LIBS = @GTK_LIBS@
114 INSTALL = @INSTALL@
115 INSTALL_DATA = @INSTALL_DATA@
116 INSTALL_PROGRAM = @INSTALL_PROGRAM@
117 INSTALL_SCRIPT = @INSTALL_SCRIPT@
118 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
119 INSTOBJEXT = @INSTOBJEXT@
120 INTLLIBS = @INTLLIBS@
121 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
122 INTLTOOL_MERGE = @INTLTOOL_MERGE@
123 INTLTOOL_PERL = @INTLTOOL_PERL@
124 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
125 LD = @LD@
126 LDFLAGS = @LDFLAGS@
127 LIBGHEMICAL_CFLAGS = @LIBGHEMICAL_CFLAGS@
128 LIBGHEMICAL_LIBS = @LIBGHEMICAL_LIBS@
129 LIBOBJS = @LIBOBJS@
130 LIBS = @LIBS@
131 LIBTOOL = @LIBTOOL@
132 LIPO = @LIPO@
133 LN_S = @LN_S@
134 LTLIBOBJS = @LTLIBOBJS@
135 MAKEINFO = @MAKEINFO@
136 MKDIR_P = @MKDIR_P@
137 MKINSTALLDIRS = @MKINSTALLDIRS@
138 MSGFMT = @MSGFMT@
139 MSGFMT_OPTS = @MSGFMT_OPTS@
140 MSGMERGE = @MSGMERGE@
141 NM = @NM@
142 NMEDIT = @NMEDIT@
143 OBJDUMP = @OBJDUMP@
144 OBJEXT = @OBJEXT@
145 OPENBABEL_CFLAGS = @OPENBABEL_CFLAGS@
146 OPENBABEL_LIBS = @OPENBABEL_LIBS@
147 OTOOL = @OTOOL@
148 OTOOL64 = @OTOOL64@
149 PACKAGE = @PACKAGE@
150 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
151 PACKAGE_NAME = @PACKAGE_NAME@
152 PACKAGE_STRING = @PACKAGE_STRING@
153 PACKAGE_TARNAME = @PACKAGE_TARNAME@
154 PACKAGE_URL = @PACKAGE_URL@
155 PACKAGE_VERSION = @PACKAGE_VERSION@
156 PATH_SEPARATOR = @PATH_SEPARATOR@
157 PKG_CONFIG = @PKG_CONFIG@
158 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
159 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
160 POFILES = @POFILES@
161 POSUB = @POSUB@
162 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
163 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
164 RANLIB = @RANLIB@
165 SED = @SED@
166 SET_MAKE = @SET_MAKE@
167 SHELL = @SHELL@
168 STRIP = @STRIP@
169 USE_NLS = @USE_NLS@
170 VERSION = @VERSION@
171 XGETTEXT = @XGETTEXT@
172 abs_builddir = @abs_builddir@
173 abs_srcdir = @abs_srcdir@
174 abs_top_builddir = @abs_top_builddir@
175 abs_top_srcdir = @abs_top_srcdir@
176 ac_ct_CC = @ac_ct_CC@
177 ac_ct_CXX = @ac_ct_CXX@
178 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
179 am__include = @am__include@
180 am__leading_dot = @am__leading_dot@
181 am__quote = @am__quote@
182 am__tar = @am__tar@
183 am__untar = @am__untar@
184 bindir = @bindir@
185 build = @build@
186 build_alias = @build_alias@
187 build_cpu = @build_cpu@
188 build_os = @build_os@
189 build_vendor = @build_vendor@
190 builddir = @builddir@
191 datadir = @datadir@
192 datarootdir = @datarootdir@
193 docdir = @docdir@
194 dvidir = @dvidir@
195 exec_prefix = @exec_prefix@
196 host = @host@
197 host_alias = @host_alias@
198 host_cpu = @host_cpu@
199 host_os = @host_os@
200 host_vendor = @host_vendor@
201 htmldir = @htmldir@
202 includedir = @includedir@
203 infodir = @infodir@
204 install_sh = @install_sh@
205 libdir = @libdir@
206 libexecdir = @libexecdir@
207 localedir = @localedir@
208 localstatedir = @localstatedir@
209 lt_ECHO = @lt_ECHO@
210 mandir = @mandir@
211 mkdir_p = @mkdir_p@
212 oldincludedir = @oldincludedir@
213 pdfdir = @pdfdir@
214 prefix = @prefix@
215 program_transform_name = @program_transform_name@
216 psdir = @psdir@
217 sbindir = @sbindir@
218 sharedstatedir = @sharedstatedir@
219 srcdir = @srcdir@
220 sysconfdir = @sysconfdir@
221 target_alias = @target_alias@
222 top_build_prefix = @top_build_prefix@
223 top_builddir = @top_builddir@
224 top_builddir_ = @top_builddir_@
225 top_srcdir = @top_srcdir@
226 tssexampledir = $(datadir)/ghemical/@APPVERSION@/examples/transition_state_search/sigmatropic_rearrangement_Cope
227 tssexample_DATA = \
228 products.gpr \
229 reactants.gpr \
230 ts.gpr
231
232 EXTRA_DIST = $(tssexample_DATA)
233 all: all-am
234
235 .SUFFIXES:
236 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
237 @for dep in $?; do \
238 case '$(am__configure_deps)' in \
239 *$$dep*) \
240 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
241 && { if test -f $@; then exit 0; else break; fi; }; \
242 exit 1;; \
243 esac; \
244 done; \
245 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/TSS/sigmatropic_rearrangement_Cope/Makefile'; \
246 $(am__cd) $(top_srcdir) && \
247 $(AUTOMAKE) --gnu examples/TSS/sigmatropic_rearrangement_Cope/Makefile
248 .PRECIOUS: Makefile
249 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
250 @case '$?' in \
251 *config.status*) \
252 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
253 *) \
254 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
255 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
256 esac;
257
258 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
259 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
260
261 $(top_srcdir)/configure: $(am__configure_deps)
262 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
263 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
264 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
265 $(am__aclocal_m4_deps):
266
267 mostlyclean-libtool:
268 -rm -f *.lo
269
270 clean-libtool:
271 -rm -rf .libs _libs
272 install-tssexampleDATA: $(tssexample_DATA)
273 @$(NORMAL_INSTALL)
274 test -z "$(tssexampledir)" || $(MKDIR_P) "$(DESTDIR)$(tssexampledir)"
275 @list='$(tssexample_DATA)'; test -n "$(tssexampledir)" || list=; \
276 for p in $$list; do \
277 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
278 echo "$$d$$p"; \
279 done | $(am__base_list) | \
280 while read files; do \
281 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tssexampledir)'"; \
282 $(INSTALL_DATA) $$files "$(DESTDIR)$(tssexampledir)" || exit $$?; \
283 done
284
285 uninstall-tssexampleDATA:
286 @$(NORMAL_UNINSTALL)
287 @list='$(tssexample_DATA)'; test -n "$(tssexampledir)" || list=; \
288 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
289 test -n "$$files" || exit 0; \
290 echo " ( cd '$(DESTDIR)$(tssexampledir)' && rm -f" $$files ")"; \
291 cd "$(DESTDIR)$(tssexampledir)" && rm -f $$files
292 tags: TAGS
293 TAGS:
294
295 ctags: CTAGS
296 CTAGS:
297
298
299 distdir: $(DISTFILES)
300 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
301 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
302 list='$(DISTFILES)'; \
303 dist_files=`for file in $$list; do echo $$file; done | \
304 sed -e "s|^$$srcdirstrip/||;t" \
305 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
306 case $$dist_files in \
307 */*) $(MKDIR_P) `echo "$$dist_files" | \
308 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
309 sort -u` ;; \
310 esac; \
311 for file in $$dist_files; do \
312 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
313 if test -d $$d/$$file; then \
314 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
315 if test -d "$(distdir)/$$file"; then \
316 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
317 fi; \
318 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
319 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
320 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
321 fi; \
322 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
323 else \
324 test -f "$(distdir)/$$file" \
325 || cp -p $$d/$$file "$(distdir)/$$file" \
326 || exit 1; \
327 fi; \
328 done
329 check-am: all-am
330 check: check-am
331 all-am: Makefile $(DATA)
332 installdirs:
333 for dir in "$(DESTDIR)$(tssexampledir)"; do \
334 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
335 done
336 install: install-am
337 install-exec: install-exec-am
338 install-data: install-data-am
339 uninstall: uninstall-am
340
341 install-am: all-am
342 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
343
344 installcheck: installcheck-am
345 install-strip:
346 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
347 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
348 `test -z '$(STRIP)' || \
349 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
350 mostlyclean-generic:
351
352 clean-generic:
353
354 distclean-generic:
355 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
356 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
357
358 maintainer-clean-generic:
359 @echo "This command is intended for maintainers to use"
360 @echo "it deletes files that may require special tools to rebuild."
361 clean: clean-am
362
363 clean-am: clean-generic clean-libtool mostlyclean-am
364
365 distclean: distclean-am
366 -rm -f Makefile
367 distclean-am: clean-am distclean-generic
368
369 dvi: dvi-am
370
371 dvi-am:
372
373 html: html-am
374
375 html-am:
376
377 info: info-am
378
379 info-am:
380
381 install-data-am: install-tssexampleDATA
382
383 install-dvi: install-dvi-am
384
385 install-dvi-am:
386
387 install-exec-am:
388
389 install-html: install-html-am
390
391 install-html-am:
392
393 install-info: install-info-am
394
395 install-info-am:
396
397 install-man:
398
399 install-pdf: install-pdf-am
400
401 install-pdf-am:
402
403 install-ps: install-ps-am
404
405 install-ps-am:
406
407 installcheck-am:
408
409 maintainer-clean: maintainer-clean-am
410 -rm -f Makefile
411 maintainer-clean-am: distclean-am maintainer-clean-generic
412
413 mostlyclean: mostlyclean-am
414
415 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
416
417 pdf: pdf-am
418
419 pdf-am:
420
421 ps: ps-am
422
423 ps-am:
424
425 uninstall-am: uninstall-tssexampleDATA
426
427 .MAKE: install-am install-strip
428
429 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
430 distclean distclean-generic distclean-libtool distdir dvi \
431 dvi-am html html-am info info-am install install-am \
432 install-data install-data-am install-dvi install-dvi-am \
433 install-exec install-exec-am install-html install-html-am \
434 install-info install-info-am install-man install-pdf \
435 install-pdf-am install-ps install-ps-am install-strip \
436 install-tssexampleDATA installcheck installcheck-am \
437 installdirs maintainer-clean maintainer-clean-generic \
438 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
439 ps ps-am uninstall uninstall-am uninstall-tssexampleDATA
440
441
442 # Tell versions [3.59,3.63) of GNU make to not export all variables.
443 # Otherwise a system limit (for SysV at least) may be exceeded.
444 .NOEXPORT:
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 19
3 0 6 4096
4 1 6 4096
5 2 6 4096
6 3 6 4096
7 4 6 4096
8 5 6 4096
9 6 6 4096
10 7 1 4096
11 8 1 4096
12 9 1 4096
13 10 1 4096
14 11 1 4096
15 12 1 4096
16 13 1 4096
17 14 1 4096
18 15 1 4096
19 16 1 4096
20 17 1 4096
21 18 1 4096
22 !Bonds 18
23 0 1 S
24 0 2 S
25 3 0 S
26 1 4 S
27 3 5 D
28 4 6 D
29 0 7 S
30 1 8 S
31 1 9 S
32 2 10 S
33 2 11 S
34 2 12 S
35 3 13 S
36 4 14 S
37 5 15 S
38 5 16 S
39 6 17 S
40 6 18 S
41 !Coord
42 0 -0.060665313154459 +0.0595024041831493 -0.00648502074182034
43 1 -0.0637677237391472 -0.0895811021327972 -0.0462338142096996
44 2 -0.194810539484024 +0.095639668405056 +0.060107309371233
45 3 +0.0494275949895382 +0.0930457413196564 +0.0905364602804184
46 4 +0.0596719793975353 -0.134458631277084 -0.119736708700657
47 5 +0.133868709206581 +0.00240008113905787 +0.140626788139343
48 6 +0.161017015576363 -0.052964523434639 -0.150475814938545
49 7 -0.0499241277575493 +0.120571292936802 -0.0973543152213097
50 8 -0.150359883904457 -0.105527691543102 -0.11216239631176
51 9 -0.0771866664290428 -0.150584369897842 +0.0443047806620598
52 10 -0.195137560367584 +0.202462002635002 +0.0863608121871948
53 11 -0.207829430699348 +0.0355583913624287 +0.151324704289436
54 12 -0.277429074048996 +0.0749174878001213 -0.00949651934206486
55 13 +0.060303583741188 +0.196838766336441 +0.121704518795013
56 14 +0.0662470757961273 -0.238990068435669 -0.149622946977615
57 15 +0.128195658326149 -0.102871470153332 +0.113720968365669
58 16 +0.210915610194206 +0.0345147550106049 +0.210562720894814
59 17 +0.160460621118546 +0.0524865165352821 -0.123673245310783
60 18 +0.247002512216568 -0.0929592698812485 -0.20400832593441
61 !Charges
62 0 +0
63 1 +0
64 2 +0
65 3 -0.1
66 4 -0.1
67 5 -0.2
68 6 -0.2
69 7 +0
70 8 +0
71 9 +0
72 10 +0
73 11 +0
74 12 +0
75 13 +0.1
76 14 +0.1
77 15 +0.1
78 16 +0.1
79 17 +0.1
80 18 +0.1
81 !End
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 19
3 0 6 4096
4 1 6 4096
5 2 6 4096
6 3 6 4096
7 4 6 4096
8 5 6 4096
9 6 6 4096
10 7 1 4096
11 8 1 4096
12 9 1 4096
13 10 1 4096
14 11 1 4096
15 12 1 4096
16 13 1 4096
17 14 1 4096
18 15 1 4096
19 16 1 4096
20 17 1 4096
21 18 1 4096
22 !Bonds 18
23 0 2 S
24 1 4 D
25 3 5 S
26 4 6 S
27 0 7 S
28 1 8 S
29 1 9 S
30 2 10 S
31 2 11 S
32 2 12 S
33 3 13 S
34 4 14 S
35 5 15 S
36 5 16 S
37 6 17 S
38 6 18 S
39 6 5 S
40 3 0 D
41 !Coord
42 0 -0.0735636726021767 +0.0970456898212433 +0.017168078571558
43 1 -0.0412141606211662 -0.187321648001671 -0.0606889277696609
44 2 -0.199300795793533 +0.16697932779789 +0.0602576620876789
45 3 +0.0176119711250067 +0.0581750422716141 +0.106847152113914
46 4 +0.0540752336382866 -0.131385520100594 -0.135850206017494
47 5 +0.145373627543449 -0.0124199679121375 +0.0701139718294144
48 6 +0.159679636359215 -0.0391146577894688 -0.0811707749962807
49 7 -0.0594132393598557 +0.0791155397891998 -0.0892026573419571
50 8 -0.114097788929939 -0.25317719578743 -0.10770945250988
51 9 -0.0484550483524799 -0.169323354959488 +0.0463766232132912
52 10 -0.203994885087013 +0.266288965940475 +0.0132002495229244
53 11 -0.201163575053215 +0.178735896945 +0.16960309445858
54 12 -0.286618232727051 +0.107925266027451 +0.028835341334343
55 13 -0.000510256038978696 +0.0783276185393333 +0.212317943572998
56 14 +0.0559063628315926 -0.153795257210732 -0.242428362369537
57 15 +0.151460841298103 -0.108144998550415 +0.123962752521038
58 16 +0.229745447635651 +0.0507504791021347 +0.101601392030716
59 17 +0.156530320644379 +0.0568167380988598 -0.134906142950058
60 18 +0.257948249578476 -0.0854779928922653 -0.0983277633786201
61 !Charges
62 0 -0.1
63 1 -0.2
64 2 +0
65 3 -0.1
66 4 -0.1
67 5 +0
68 6 +0
69 7 +0.1
70 8 +0.1
71 9 +0.1
72 10 +0
73 11 +0
74 12 +0
75 13 +0.1
76 14 +0.1
77 15 +0
78 16 +0
79 17 +0
80 18 +0
81 !End
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 19
3 0 6 2048
4 1 6 2048
5 2 6 2048
6 3 6 2048
7 4 6 2048
8 5 6 2048
9 6 6 2048
10 7 1 2048
11 8 1 2048
12 9 1 2048
13 10 1 2048
14 11 1 2048
15 12 1 2048
16 13 1 2048
17 14 1 2048
18 15 1 2048
19 16 1 2048
20 17 1 2048
21 18 1 2048
22 !Bonds 19
23 0 2 S
24 1 4 C
25 3 5 C
26 4 6 C
27 0 7 S
28 1 8 S
29 1 9 S
30 2 10 S
31 2 11 S
32 2 12 S
33 3 13 S
34 4 14 S
35 5 15 S
36 5 16 S
37 6 17 S
38 6 18 S
39 6 5 S
40 3 0 C
41 0 1 S
42 !Coord
43 0 -0.0672832056879997 +0.0705713704228401 +0.00422747153788805
44 1 -0.0673153698444366 -0.113757118582726 -0.0463452786207199
45 2 -0.201232388615608 +0.113924622535706 +0.0523499771952629
46 3 +0.0411488339304924 +0.0781673789024353 +0.0948800966143608
47 4 +0.0520293973386288 -0.12677663564682 -0.120037846267223
48 5 +0.153699934482574 -0.00650792522355914 +0.0877402201294899
49 6 +0.16628560423851 -0.047285083681345 -0.0969271436333656
50 7 -0.0473549887537956 +0.0998867973685265 -0.0996526554226875
51 8 -0.160830140113831 -0.140638068318367 -0.0982251912355423
52 9 -0.0683745518326759 -0.143533706665039 +0.0585348308086395
53 10 -0.204237461090088 +0.224837318062782 +0.066367544233799
54 11 -0.22603052854538 +0.0657230466604233 +0.149982079863548
55 12 -0.279659897089005 +0.0857882648706436 -0.0220025889575481
56 13 +0.0369966849684715 +0.154113486409187 +0.173853099346161
57 14 +0.0561183653771877 -0.203002899885178 -0.198759734630585
58 15 +0.142061725258827 -0.112351961433887 +0.111857943236828
59 16 +0.247795060276985 +0.0345479920506477 +0.128207355737686
60 17 +0.162934526801109 +0.0588633306324482 -0.122305795550346
61 18 +0.263248383998871 -0.0925702154636383 -0.123744428157806
62 !Charges
63 0 -0.1
64 1 -0.2
65 2 +0
66 3 -0.1
67 4 -0.1
68 5 +0
69 6 +0
70 7 +0.1
71 8 +0.1
72 9 +0.1
73 10 +0
74 11 +0
75 12 +0
76 13 +0.1
77 14 +0.1
78 15 +0
79 16 +0
80 17 +0
81 18 +0
82 !End
0 tssexampledir = $(datadir)/ghemical/@APPVERSION@/examples/transition_state_search/tautomeric_shift_keto_enol
1
2 tssexample_DATA = \
3 products.gpr \
4 reactants.gpr \
5 ts.gpr
6
7 EXTRA_DIST = $(tssexample_DATA)
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16
17 VPATH = @srcdir@
18 pkgdatadir = $(datadir)/@PACKAGE@
19 pkgincludedir = $(includedir)/@PACKAGE@
20 pkglibdir = $(libdir)/@PACKAGE@
21 pkglibexecdir = $(libexecdir)/@PACKAGE@
22 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
23 install_sh_DATA = $(install_sh) -c -m 644
24 install_sh_PROGRAM = $(install_sh) -c
25 install_sh_SCRIPT = $(install_sh) -c
26 INSTALL_HEADER = $(INSTALL_DATA)
27 transform = $(program_transform_name)
28 NORMAL_INSTALL = :
29 PRE_INSTALL = :
30 POST_INSTALL = :
31 NORMAL_UNINSTALL = :
32 PRE_UNINSTALL = :
33 POST_UNINSTALL = :
34 build_triplet = @build@
35 host_triplet = @host@
36 subdir = examples/TSS/tautomeric_shift_keto_enol
37 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
38 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
39 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
40 $(top_srcdir)/configure.ac
41 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
42 $(ACLOCAL_M4)
43 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
44 CONFIG_HEADER = $(top_builddir)/src/ghemicalconfig.h
45 CONFIG_CLEAN_FILES =
46 CONFIG_CLEAN_VPATH_FILES =
47 SOURCES =
48 DIST_SOURCES =
49 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
50 am__vpath_adj = case $$p in \
51 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
52 *) f=$$p;; \
53 esac;
54 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
55 am__install_max = 40
56 am__nobase_strip_setup = \
57 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
58 am__nobase_strip = \
59 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
60 am__nobase_list = $(am__nobase_strip_setup); \
61 for p in $$list; do echo "$$p $$p"; done | \
62 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
63 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
64 if (++n[$$2] == $(am__install_max)) \
65 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
66 END { for (dir in files) print dir, files[dir] }'
67 am__base_list = \
68 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
69 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
70 am__installdirs = "$(DESTDIR)$(tssexampledir)"
71 DATA = $(tssexample_DATA)
72 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
73 ACLOCAL = @ACLOCAL@
74 ALL_LINGUAS = @ALL_LINGUAS@
75 AMTAR = @AMTAR@
76 APPRELEASEDATE = @APPRELEASEDATE@
77 APPVERSION = @APPVERSION@
78 AR = @AR@
79 AUTOCONF = @AUTOCONF@
80 AUTOHEADER = @AUTOHEADER@
81 AUTOMAKE = @AUTOMAKE@
82 AWK = @AWK@
83 CATALOGS = @CATALOGS@
84 CATOBJEXT = @CATOBJEXT@
85 CC = @CC@
86 CCDEPMODE = @CCDEPMODE@
87 CFLAGS = @CFLAGS@
88 CPP = @CPP@
89 CPPFLAGS = @CPPFLAGS@
90 CXX = @CXX@
91 CXXCPP = @CXXCPP@
92 CXXDEPMODE = @CXXDEPMODE@
93 CXXFLAGS = @CXXFLAGS@
94 CYGPATH_W = @CYGPATH_W@
95 DATADIRNAME = @DATADIRNAME@
96 DEFS = @DEFS@
97 DEPDIR = @DEPDIR@
98 DSYMUTIL = @DSYMUTIL@
99 DUMPBIN = @DUMPBIN@
100 ECHO_C = @ECHO_C@
101 ECHO_N = @ECHO_N@
102 ECHO_T = @ECHO_T@
103 EGREP = @EGREP@
104 EXEEXT = @EXEEXT@
105 FGREP = @FGREP@
106 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
107 GMOFILES = @GMOFILES@
108 GMSGFMT = @GMSGFMT@
109 GREP = @GREP@
110 GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
111 GTHREAD_LIBS = @GTHREAD_LIBS@
112 GTK_CFLAGS = @GTK_CFLAGS@
113 GTK_LIBS = @GTK_LIBS@
114 INSTALL = @INSTALL@
115 INSTALL_DATA = @INSTALL_DATA@
116 INSTALL_PROGRAM = @INSTALL_PROGRAM@
117 INSTALL_SCRIPT = @INSTALL_SCRIPT@
118 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
119 INSTOBJEXT = @INSTOBJEXT@
120 INTLLIBS = @INTLLIBS@
121 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
122 INTLTOOL_MERGE = @INTLTOOL_MERGE@
123 INTLTOOL_PERL = @INTLTOOL_PERL@
124 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
125 LD = @LD@
126 LDFLAGS = @LDFLAGS@
127 LIBGHEMICAL_CFLAGS = @LIBGHEMICAL_CFLAGS@
128 LIBGHEMICAL_LIBS = @LIBGHEMICAL_LIBS@
129 LIBOBJS = @LIBOBJS@
130 LIBS = @LIBS@
131 LIBTOOL = @LIBTOOL@
132 LIPO = @LIPO@
133 LN_S = @LN_S@
134 LTLIBOBJS = @LTLIBOBJS@
135 MAKEINFO = @MAKEINFO@
136 MKDIR_P = @MKDIR_P@
137 MKINSTALLDIRS = @MKINSTALLDIRS@
138 MSGFMT = @MSGFMT@
139 MSGFMT_OPTS = @MSGFMT_OPTS@
140 MSGMERGE = @MSGMERGE@
141 NM = @NM@
142 NMEDIT = @NMEDIT@
143 OBJDUMP = @OBJDUMP@
144 OBJEXT = @OBJEXT@
145 OPENBABEL_CFLAGS = @OPENBABEL_CFLAGS@
146 OPENBABEL_LIBS = @OPENBABEL_LIBS@
147 OTOOL = @OTOOL@
148 OTOOL64 = @OTOOL64@
149 PACKAGE = @PACKAGE@
150 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
151 PACKAGE_NAME = @PACKAGE_NAME@
152 PACKAGE_STRING = @PACKAGE_STRING@
153 PACKAGE_TARNAME = @PACKAGE_TARNAME@
154 PACKAGE_URL = @PACKAGE_URL@
155 PACKAGE_VERSION = @PACKAGE_VERSION@
156 PATH_SEPARATOR = @PATH_SEPARATOR@
157 PKG_CONFIG = @PKG_CONFIG@
158 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
159 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
160 POFILES = @POFILES@
161 POSUB = @POSUB@
162 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
163 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
164 RANLIB = @RANLIB@
165 SED = @SED@
166 SET_MAKE = @SET_MAKE@
167 SHELL = @SHELL@
168 STRIP = @STRIP@
169 USE_NLS = @USE_NLS@
170 VERSION = @VERSION@
171 XGETTEXT = @XGETTEXT@
172 abs_builddir = @abs_builddir@
173 abs_srcdir = @abs_srcdir@
174 abs_top_builddir = @abs_top_builddir@
175 abs_top_srcdir = @abs_top_srcdir@
176 ac_ct_CC = @ac_ct_CC@
177 ac_ct_CXX = @ac_ct_CXX@
178 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
179 am__include = @am__include@
180 am__leading_dot = @am__leading_dot@
181 am__quote = @am__quote@
182 am__tar = @am__tar@
183 am__untar = @am__untar@
184 bindir = @bindir@
185 build = @build@
186 build_alias = @build_alias@
187 build_cpu = @build_cpu@
188 build_os = @build_os@
189 build_vendor = @build_vendor@
190 builddir = @builddir@
191 datadir = @datadir@
192 datarootdir = @datarootdir@
193 docdir = @docdir@
194 dvidir = @dvidir@
195 exec_prefix = @exec_prefix@
196 host = @host@
197 host_alias = @host_alias@
198 host_cpu = @host_cpu@
199 host_os = @host_os@
200 host_vendor = @host_vendor@
201 htmldir = @htmldir@
202 includedir = @includedir@
203 infodir = @infodir@
204 install_sh = @install_sh@
205 libdir = @libdir@
206 libexecdir = @libexecdir@
207 localedir = @localedir@
208 localstatedir = @localstatedir@
209 lt_ECHO = @lt_ECHO@
210 mandir = @mandir@
211 mkdir_p = @mkdir_p@
212 oldincludedir = @oldincludedir@
213 pdfdir = @pdfdir@
214 prefix = @prefix@
215 program_transform_name = @program_transform_name@
216 psdir = @psdir@
217 sbindir = @sbindir@
218 sharedstatedir = @sharedstatedir@
219 srcdir = @srcdir@
220 sysconfdir = @sysconfdir@
221 target_alias = @target_alias@
222 top_build_prefix = @top_build_prefix@
223 top_builddir = @top_builddir@
224 top_builddir_ = @top_builddir_@
225 top_srcdir = @top_srcdir@
226 tssexampledir = $(datadir)/ghemical/@APPVERSION@/examples/transition_state_search/tautomeric_shift_keto_enol
227 tssexample_DATA = \
228 products.gpr \
229 reactants.gpr \
230 ts.gpr
231
232 EXTRA_DIST = $(tssexample_DATA)
233 all: all-am
234
235 .SUFFIXES:
236 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
237 @for dep in $?; do \
238 case '$(am__configure_deps)' in \
239 *$$dep*) \
240 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
241 && { if test -f $@; then exit 0; else break; fi; }; \
242 exit 1;; \
243 esac; \
244 done; \
245 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/TSS/tautomeric_shift_keto_enol/Makefile'; \
246 $(am__cd) $(top_srcdir) && \
247 $(AUTOMAKE) --gnu examples/TSS/tautomeric_shift_keto_enol/Makefile
248 .PRECIOUS: Makefile
249 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
250 @case '$?' in \
251 *config.status*) \
252 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
253 *) \
254 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
255 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
256 esac;
257
258 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
259 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
260
261 $(top_srcdir)/configure: $(am__configure_deps)
262 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
263 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
264 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
265 $(am__aclocal_m4_deps):
266
267 mostlyclean-libtool:
268 -rm -f *.lo
269
270 clean-libtool:
271 -rm -rf .libs _libs
272 install-tssexampleDATA: $(tssexample_DATA)
273 @$(NORMAL_INSTALL)
274 test -z "$(tssexampledir)" || $(MKDIR_P) "$(DESTDIR)$(tssexampledir)"
275 @list='$(tssexample_DATA)'; test -n "$(tssexampledir)" || list=; \
276 for p in $$list; do \
277 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
278 echo "$$d$$p"; \
279 done | $(am__base_list) | \
280 while read files; do \
281 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tssexampledir)'"; \
282 $(INSTALL_DATA) $$files "$(DESTDIR)$(tssexampledir)" || exit $$?; \
283 done
284
285 uninstall-tssexampleDATA:
286 @$(NORMAL_UNINSTALL)
287 @list='$(tssexample_DATA)'; test -n "$(tssexampledir)" || list=; \
288 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
289 test -n "$$files" || exit 0; \
290 echo " ( cd '$(DESTDIR)$(tssexampledir)' && rm -f" $$files ")"; \
291 cd "$(DESTDIR)$(tssexampledir)" && rm -f $$files
292 tags: TAGS
293 TAGS:
294
295 ctags: CTAGS
296 CTAGS:
297
298
299 distdir: $(DISTFILES)
300 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
301 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
302 list='$(DISTFILES)'; \
303 dist_files=`for file in $$list; do echo $$file; done | \
304 sed -e "s|^$$srcdirstrip/||;t" \
305 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
306 case $$dist_files in \
307 */*) $(MKDIR_P) `echo "$$dist_files" | \
308 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
309 sort -u` ;; \
310 esac; \
311 for file in $$dist_files; do \
312 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
313 if test -d $$d/$$file; then \
314 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
315 if test -d "$(distdir)/$$file"; then \
316 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
317 fi; \
318 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
319 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
320 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
321 fi; \
322 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
323 else \
324 test -f "$(distdir)/$$file" \
325 || cp -p $$d/$$file "$(distdir)/$$file" \
326 || exit 1; \
327 fi; \
328 done
329 check-am: all-am
330 check: check-am
331 all-am: Makefile $(DATA)
332 installdirs:
333 for dir in "$(DESTDIR)$(tssexampledir)"; do \
334 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
335 done
336 install: install-am
337 install-exec: install-exec-am
338 install-data: install-data-am
339 uninstall: uninstall-am
340
341 install-am: all-am
342 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
343
344 installcheck: installcheck-am
345 install-strip:
346 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
347 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
348 `test -z '$(STRIP)' || \
349 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
350 mostlyclean-generic:
351
352 clean-generic:
353
354 distclean-generic:
355 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
356 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
357
358 maintainer-clean-generic:
359 @echo "This command is intended for maintainers to use"
360 @echo "it deletes files that may require special tools to rebuild."
361 clean: clean-am
362
363 clean-am: clean-generic clean-libtool mostlyclean-am
364
365 distclean: distclean-am
366 -rm -f Makefile
367 distclean-am: clean-am distclean-generic
368
369 dvi: dvi-am
370
371 dvi-am:
372
373 html: html-am
374
375 html-am:
376
377 info: info-am
378
379 info-am:
380
381 install-data-am: install-tssexampleDATA
382
383 install-dvi: install-dvi-am
384
385 install-dvi-am:
386
387 install-exec-am:
388
389 install-html: install-html-am
390
391 install-html-am:
392
393 install-info: install-info-am
394
395 install-info-am:
396
397 install-man:
398
399 install-pdf: install-pdf-am
400
401 install-pdf-am:
402
403 install-ps: install-ps-am
404
405 install-ps-am:
406
407 installcheck-am:
408
409 maintainer-clean: maintainer-clean-am
410 -rm -f Makefile
411 maintainer-clean-am: distclean-am maintainer-clean-generic
412
413 mostlyclean: mostlyclean-am
414
415 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
416
417 pdf: pdf-am
418
419 pdf-am:
420
421 ps: ps-am
422
423 ps-am:
424
425 uninstall-am: uninstall-tssexampleDATA
426
427 .MAKE: install-am install-strip
428
429 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
430 distclean distclean-generic distclean-libtool distdir dvi \
431 dvi-am html html-am info info-am install install-am \
432 install-data install-data-am install-dvi install-dvi-am \
433 install-exec install-exec-am install-html install-html-am \
434 install-info install-info-am install-man install-pdf \
435 install-pdf-am install-ps install-ps-am install-strip \
436 install-tssexampleDATA installcheck installcheck-am \
437 installdirs maintainer-clean maintainer-clean-generic \
438 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
439 ps ps-am uninstall uninstall-am uninstall-tssexampleDATA
440
441
442 # Tell versions [3.59,3.63) of GNU make to not export all variables.
443 # Otherwise a system limit (for SysV at least) may be exceeded.
444 .NOEXPORT:
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 10
3 0 6 2048
4 1 6 2048
5 2 6 2048
6 3 8 2048
7 4 1 2048
8 5 1 2048
9 6 1 2048
10 7 1 2048
11 8 1 2048
12 9 1 2048
13 !Bonds 9
14 0 1 S
15 0 4 S
16 0 5 S
17 0 6 S
18 2 7 S
19 2 8 S
20 3 9 S
21 1 2 D
22 1 3 S
23 !Coord
24 0 +0.108885630965233 -0.0620080642402172 +0.0276192538440228
25 1 -0.0116075417026877 +0.0227868892252445 +0.00897077098488808
26 2 -0.111676521599293 -0.0019641702529043 -0.0767173692584038
27 3 -0.00813499558717012 +0.132750511169434 +0.0923915579915047
28 4 +0.114638887345791 -0.0972081646323204 +0.133591532707214
29 5 +0.20101161301136 -0.00267191720195115 +0.00538529735058546
30 6 +0.104828089475632 -0.150458201766014 -0.0403225868940353
31 7 -0.198607996106148 +0.0639438852667809 -0.0866546332836151
32 8 -0.111202210187912 -0.0901985242962837 -0.141472220420837
33 9 -0.0881349742412567 +0.18502776324749 +0.0772083923220634
34 !Charges
35 0 +0
36 1 +0
37 2 -0.2
38 3 -0.4
39 4 +0
40 5 +0
41 6 +0
42 7 +0.1
43 8 +0.1
44 9 +0.4
45 !End
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 10
3 0 6 2048
4 1 6 2048
5 2 6 2048
6 3 8 2048
7 4 1 2048
8 5 1 2048
9 6 1 2048
10 7 1 2048
11 8 1 2048
12 9 1 2048
13 !Bonds 9
14 0 1 S
15 1 2 S
16 1 3 D
17 0 4 S
18 0 5 S
19 0 6 S
20 2 7 S
21 2 8 S
22 2 9 S
23 !Coord
24 0 +0.11294025182724 -0.0582396723330021 +0.00909721944481134
25 1 +0.0147043401375413 +0.0513125397264957 +0.0356181487441063
26 2 -0.120040111243725 +0.0332610420882702 -0.02661526016891
27 3 +0.0428658053278923 +0.149953201413155 +0.104458495974541
28 4 +0.0741039514541626 -0.154378086328506 +0.0506938174366951
29 5 +0.211649641394615 -0.0356999263167381 +0.0562566854059696
30 6 +0.127242535352707 -0.0702107548713684 -0.101028002798557
31 7 -0.109442539513111 +0.023510355502367 -0.137388691306114
32 8 -0.167624264955521 -0.0597527660429478 +0.0129647785797715
33 9 -0.18639962375164 +0.120244070887566 -0.00405719876289368
34 !Charges
35 0 +0
36 1 +0.1
37 2 +0
38 3 -0.1
39 4 +0
40 5 +0
41 6 +0
42 7 +0
43 8 +0
44 9 +0
45 !End
0 !Header gpr 110
1 !Info 1 allqm 259
2 !Atoms 10
3 0 6 2048
4 1 6 2048
5 2 6 2048
6 3 8 2048
7 4 1 2048
8 5 1 2048
9 6 1 2048
10 7 1 2048
11 8 1 2048
12 9 1 2048
13 !Bonds 10
14 0 1 S
15 1 2 C
16 1 3 C
17 0 4 S
18 0 5 S
19 0 6 S
20 2 7 S
21 2 8 S
22 2 9 S
23 3 9 S
24 !Coord
25 0 +0.117989048361778 -0.0602064430713654 +0.0176990553736687
26 1 +0.00668409373611212 +0.0357387699186802 +0.00713290786370635
27 2 -0.119494192302227 +0.0140367392450571 -0.0483617447316647
28 3 +0.00762207480147481 +0.148197814822197 +0.0716514959931374
29 4 +0.10045151412487 -0.130669891834259 +0.0941691473126411
30 5 +0.208669394254684 -0.0109972730278969 +0.0402012467384338
31 6 +0.131938219070435 -0.113820560276508 -0.072499506175518
32 7 -0.170090943574905 +0.083424337208271 -0.11284039914608
33 8 -0.152499198913574 -0.0892005413770676 -0.0642838254570961
34 9 -0.13127002120018 +0.123497039079666 +0.0671316385269165
35 !Charges
36 0 +0
37 1 +0.1
38 2 +0
39 3 -0.1
40 4 +0
41 5 +0
42 6 +0
43 7 +0
44 8 +0
45 9 +0
46 !End
0 !Header gpr 100
1 !Info 1
2 !Atoms 21
3 0 6
4 1 6
5 2 6
6 3 6
7 4 6
8 5 6
9 6 6
10 7 8
11 8 6
12 9 6
13 10 8
14 11 8
15 12 8
16 13 1
17 14 1
18 15 1
19 16 1
20 17 1
21 18 1
22 19 1
23 20 1
24 !Bonds 21
25 0 1 C
26 1 2 C
27 2 3 C
28 3 4 C
29 4 5 C
30 0 5 C
31 4 6 S
32 5 7 S
33 7 8 S
34 8 9 S
35 8 10 D
36 6 11 D
37 6 12 S
38 0 13 S
39 1 14 S
40 2 15 S
41 3 16 S
42 9 17 S
43 9 18 S
44 9 19 S
45 12 20 S
46 !Coord
47 0 0.134808 0.106675 -0.0303526
48 1 0.263921 0.0584588 -0.00835336
49 2 0.284516 -0.0776194 0.0146708
50 3 0.17606 -0.165436 0.0143893
51 4 0.0468972 -0.117262 -0.00768695
52 5 0.0258229 0.0193406 -0.0276345
53 6 -0.0697862 -0.213285 -0.00820046
54 7 -0.102627 0.0663459 -0.0543631
55 8 -0.137946 0.173991 0.0160855
56 9 -0.281366 0.215136 -0.000998379
57 10 -0.0730955 0.212374 0.11211
58 11 -0.183108 -0.171719 -0.026409
59 12 -0.0483139 -0.343275 0.0116782
60 13 0.119553 0.211986 -0.0512462
61 14 0.348279 0.126597 -0.00994711
62 15 0.384778 -0.115313 0.0316454
63 16 0.192348 -0.271318 0.0311481
64 17 -0.29389 0.320112 0.0294371
65 18 -0.345737 0.151408 0.0614231
66 19 -0.311027 0.204368 -0.106393
67 20 -0.130086 -0.391564 0.00899736
68 !Charges
69 0 -0.1
70 1 -0.1
71 2 -0.1
72 3 -0.1
73 4 0
74 5 0
75 6 0.1
76 7 0
77 8 0.1
78 9 0
79 10 -0.1
80 11 -0.1
81 12 -0.25
82 13 0.1
83 14 0.1
84 15 0.1
85 16 0.1
86 17 0
87 18 0
88 19 0
89 20 0.25
90 !End
0 !Header gpr 100
1 !Info 1
2 !Atoms 26
3 0 6
4 1 6
5 2 6
6 3 6
7 4 6
8 5 6
9 6 6
10 7 6
11 8 6
12 9 1
13 10 1
14 11 1
15 12 1
16 13 1
17 14 1
18 15 6
19 16 1
20 17 1
21 18 1
22 19 1
23 20 1
24 21 1
25 22 1
26 23 1
27 24 1
28 25 1
29 !Bonds 27
30 0 1 S
31 0 2 S
32 2 3 S
33 1 4 S
34 4 5 D
35 3 5 S
36 1 6 S
37 2 6 S
38 6 7 S
39 6 8 S
40 0 9 S
41 0 10 S
42 1 11 S
43 2 12 S
44 3 13 S
45 3 14 S
46 4 15 S
47 5 16 S
48 7 17 S
49 7 18 S
50 7 19 S
51 8 20 S
52 8 21 S
53 8 22 S
54 15 23 S
55 15 24 S
56 15 25 S
57 !Coord
58 0 0.118408 -0.0855542 -0.0990185
59 1 0.000745217 0.014345 -0.099263
60 2 0.129487 -0.0563136 0.0522006
61 3 0.030522 -0.152035 0.122931
62 4 -0.117179 -0.0673748 -0.054751
63 5 -0.102132 -0.148216 0.050821
64 6 0.0630085 0.0806744 0.025414
65 7 0.166309 0.189658 -0.0119308
66 8 -0.0350207 0.134292 0.132578
67 9 0.205169 -0.0492013 -0.156
68 10 0.0928318 -0.189227 -0.12581
69 11 -0.0121999 0.0763079 -0.189281
70 12 0.231196 -0.054234 0.0942025
71 13 0.0179872 -0.121731 0.227953
72 14 0.0708865 -0.254354 0.119906
73 15 -0.244699 -0.0542361 -0.133228
74 16 -0.184835 -0.209744 0.0860293
75 17 0.23781 0.155047 -0.0878458
76 18 0.22201 0.218738 0.0783739
77 19 0.113175 0.277702 -0.0510216
78 20 -0.0836556 0.224976 0.0936794
79 21 0.0219714 0.16049 0.222954
80 22 -0.113123 0.0621446 0.15991
81 23 -0.226672 -0.0830671 -0.237848
82 24 -0.27925 0.0501542 -0.129971
83 25 -0.322752 -0.119241 -0.0909845
84 !Charges
85 0 0
86 1 0
87 2 0
88 3 0
89 4 0
90 5 -0.1
91 6 0
92 7 0
93 8 0
94 9 0
95 10 0
96 11 0
97 12 0
98 13 0
99 14 0
100 15 0
101 16 0.1
102 17 0
103 18 0
104 19 0
105 20 0
106 21 0
107 22 0
108 23 0
109 24 0
110 25 0
111 !End
0 !Header gpr 100
1 !Info 1
2 !Atoms 12
3 0 6
4 1 6
5 2 6
6 3 6
7 4 6
8 5 6
9 6 35
10 7 1
11 8 1
12 9 1
13 10 1
14 11 1
15 !Bonds 12
16 0 1 C
17 1 2 C
18 2 3 C
19 3 4 C
20 4 5 C
21 0 5 C
22 2 6 S
23 0 7 S
24 1 8 S
25 3 9 S
26 4 10 S
27 5 11 S
28 !Coord
29 0 0.0495595 0.133991 0.00206212
30 1 0.133939 0.023603 -0.0112446
31 2 0.080549 -0.105344 -0.012701
32 3 -0.0572776 -0.123864 -0.000843498
33 4 -0.141693 -0.0135042 0.0124652
34 5 -0.0882687 0.115435 0.013918
35 6 0.192456 -0.251695 -0.0303464
36 7 0.0910884 0.234174 0.00318913
37 8 0.241017 0.037985 -0.0204571
38 9 -0.0987461 -0.224037 -0.00197561
39 10 -0.248778 -0.0279395 0.0216756
40 11 -0.153846 0.201196 0.0242581
41 !Charges
42 0 -0.1
43 1 -0.1
44 2 0
45 3 -0.1
46 4 -0.1
47 5 -0.1
48 6 0
49 7 0.1
50 8 0.1
51 9 0.1
52 10 0.1
53 11 0.1
54 !End
0 !Header gpr 100
1 !Info 1
2 !Atoms 27
3 0 6
4 1 6
5 2 6
6 3 6
7 4 6
8 5 6
9 6 6
10 7 6
11 8 6
12 9 6
13 10 8
14 11 1
15 12 1
16 13 1
17 14 1
18 15 1
19 16 1
20 17 1
21 18 1
22 19 1
23 20 1
24 21 1
25 22 1
26 23 1
27 24 1
28 25 1
29 26 1
30 !Bonds 28
31 0 1 S
32 1 2 S
33 2 3 S
34 3 4 S
35 4 5 S
36 0 5 S
37 2 6 S
38 5 6 S
39 6 7 S
40 6 8 S
41 2 9 S
42 3 10 D
43 0 11 S
44 0 12 S
45 1 13 S
46 1 14 S
47 4 15 S
48 4 16 S
49 5 17 S
50 7 18 S
51 7 19 S
52 7 20 S
53 8 21 S
54 8 22 S
55 8 23 S
56 9 24 S
57 9 25 S
58 9 26 S
59 !Coord
60 0 0.157828 -0.0521475 0.115378
61 1 0.143905 -0.103475 -0.0302999
62 2 0.000139076 -0.0605841 -0.0664393
63 3 -0.085225 -0.148595 0.0201739
64 4 -0.0799774 -0.103665 0.163345
65 5 0.0202469 0.0128181 0.144869
66 6 -0.018527 0.0732276 0.0079269
67 7 0.0756026 0.187034 -0.0389976
68 8 -0.16419 0.125606 0.00249696
69 9 -0.0324494 -0.0610514 -0.217212
70 10 -0.181667 -0.208285 -0.0248074
71 11 0.238049 0.0228163 0.1224
72 12 0.1794 -0.134073 0.185628
73 13 0.154952 -0.212818 -0.0366419
74 14 0.217447 -0.0552637 -0.0964245
75 15 -0.042431 -0.181718 0.23118
76 16 -0.177567 -0.0672557 0.198667
77 17 0.0216928 0.0831212 0.229534
78 18 0.181462 0.158171 -0.0415635
79 19 0.0644007 0.272433 0.0294452
80 20 0.0460737 0.218825 -0.140076
81 21 -0.18394 0.167502 -0.0972795
82 22 -0.176633 0.205227 0.0773907
83 23 -0.238056 0.0465923 0.0216786
84 24 -0.0174286 -0.162369 -0.257351
85 25 0.0339653 0.00897584 -0.269965
86 26 -0.137073 -0.0310495 -0.233055
87 !Charges
88 0 0
89 1 0
90 2 0
91 3 0.1
92 4 0
93 5 0
94 6 0
95 7 0
96 8 0
97 9 0
98 10 -0.1
99 11 0
100 12 0
101 13 0
102 14 0
103 15 0
104 16 0
105 17 0
106 18 0
107 19 0
108 20 0
109 21 0
110 22 0
111 23 0
112 24 0
113 25 0
114 26 0
115 !End
0 !Header gpr 100
1 !Info 1
2 !Atoms 18
3 0 6
4 1 6
5 2 6
6 3 6
7 4 6
8 5 6
9 6 6
10 7 6
11 8 6
12 9 8
13 10 1
14 11 1
15 12 1
16 13 1
17 14 1
18 15 1
19 16 1
20 17 1
21 !Bonds 18
22 0 1 C
23 1 2 C
24 2 3 C
25 3 4 C
26 4 5 C
27 0 5 C
28 5 6 S
29 6 7 D
30 7 8 S
31 8 9 D
32 0 10 S
33 1 11 S
34 2 12 S
35 3 13 S
36 4 14 S
37 6 15 S
38 7 16 S
39 8 17 S
40 !Coord
41 0 0.163641 -0.0350034 -0.00578106
42 1 0.209345 -0.161707 0.0307484
43 2 0.118576 -0.25922 0.0720975
44 3 -0.0176233 -0.22937 0.0766732
45 4 -0.0630553 -0.102548 0.0400774
46 5 0.0274259 -0.00439281 -0.00145082
47 6 -0.0152605 0.134949 -0.0424214
48 7 -0.142047 0.177591 -0.0429966
49 8 -0.175644 0.314811 -0.0842311
50 9 -0.291929 0.351745 -0.0840487
51 10 0.234883 0.0402154 -0.0378052
52 11 0.315351 -0.18434 0.0269913
53 12 0.153712 -0.357801 0.100563
54 13 -0.0884453 -0.304978 0.10878
55 14 -0.169235 -0.0822346 0.0446073
56 15 0.0625024 0.204674 -0.0733493
57 16 -0.224774 0.113559 -0.0134025
58 17 -0.0974218 0.384052 -0.115051
59 !Charges
60 0 -0.1
61 1 -0.1
62 2 -0.1
63 3 -0.1
64 4 -0.1
65 5 0
66 6 -0.1
67 7 -0.1
68 8 0
69 9 -0.1
70 10 0.1
71 11 0.1
72 12 0.1
73 13 0.1
74 14 0.1
75 15 0.1
76 16 0.1
77 17 0.1
78 !End
0 !Header gpr 100
1 !Info 1
2 !Atoms 15
3 0 6
4 1 6
5 2 6
6 3 6
7 4 6
8 5 1
9 6 1
10 7 1
11 8 1
12 9 1
13 10 1
14 11 1
15 12 1
16 13 1
17 14 1
18 !Bonds 14
19 0 1 S
20 1 2 D
21 2 3 S
22 3 4 S
23 0 5 S
24 0 6 S
25 0 7 S
26 1 8 S
27 2 9 S
28 3 10 S
29 3 11 S
30 4 12 S
31 4 13 S
32 4 14 S
33 !Coord
34 0 0.185596 -0.119541 0.0277989
35 1 0.154182 0.025042 -0.000113421
36 2 0.03328 0.0734257 -0.0312221
37 3 -0.0932436 -0.00789923 -0.0402728
38 4 -0.210515 0.0735011 0.0183582
39 5 0.199863 -0.133561 0.13597
40 6 0.278936 -0.146102 -0.0240278
41 7 0.106599 -0.187223 -0.00739537
42 8 0.237205 0.0954673 0.00481225
43 9 0.0256223 0.180192 -0.0517289
44 10 -0.114724 -0.0303404 -0.145845
45 11 -0.0863908 -0.101933 0.0161484
46 12 -0.190088 0.0971422 0.123871
47 13 -0.303299 0.0146933 0.011721
48 14 -0.223022 0.167136 -0.0380736
49 !Charges
50 0 0
51 1 -0.1
52 2 -0.1
53 3 0
54 4 0
55 5 0
56 6 0
57 7 0
58 8 0.1
59 9 0.1
60 10 0
61 11 0
62 12 0
63 13 0
64 14 0
65 !End
0 !Header gpr 100
1 !Info 1
2 !Atoms 18
3 0 6
4 1 6
5 2 6
6 3 6
7 4 6
8 5 6
9 6 1
10 7 1
11 8 1
12 9 1
13 10 1
14 11 1
15 12 1
16 13 1
17 14 1
18 15 1
19 16 1
20 17 1
21 !Bonds 18
22 0 1 S
23 1 2 S
24 2 3 S
25 3 4 S
26 4 5 S
27 0 5 S
28 0 6 S
29 0 7 S
30 1 8 S
31 1 9 S
32 2 10 S
33 2 11 S
34 3 12 S
35 3 13 S
36 4 14 S
37 4 15 S
38 5 16 S
39 5 17 S
40 !Coord
41 0 0.0314778 0.142366 -0.0254567
42 1 0.139187 0.0438716 0.0246817
43 2 0.107443 -0.0985687 -0.0255098
44 3 -0.0314805 -0.142365 0.0254637
45 4 -0.139186 -0.0438742 -0.0246887
46 5 -0.107447 0.0985646 0.0255098
47 6 0.0540206 0.243458 0.0118257
48 7 0.0314474 0.143893 -0.135519
49 8 0.237776 0.074964 -0.0131507
50 9 0.141167 0.0444722 0.134735
51 10 0.10828 -0.0997978 -0.135572
52 11 0.183891 -0.168469 0.0117404
53 12 -0.0540237 -0.243461 -0.0118051
54 13 -0.0314483 -0.143869 0.135525
55 14 -0.141144 -0.0444711 -0.134742
56 15 -0.237778 -0.0749674 0.0131302
57 16 -0.183894 0.168465 -0.0117403
58 17 -0.108288 0.0997889 0.135572
59 !Charges
60 0 0
61 1 0
62 2 0
63 3 0
64 4 0
65 5 0
66 6 0
67 7 0
68 8 0
69 9 0
70 10 0
71 11 0
72 12 0
73 13 0
74 14 0
75 15 0
76 16 0
77 17 0
78 !End
0 !Header gpr 110
1 !Info 1 allmm 1
2 !Atoms 131
3 0 15 0
4 1 8 0
5 2 6 0
6 3 6 0
7 4 8 0
8 5 6 0
9 6 6 0
10 7 6 0
11 8 8 0
12 9 8 0
13 10 8 0
14 11 8 0
15 12 7 0
16 13 6 0
17 14 7 0
18 15 6 0
19 16 7 0
20 17 6 0
21 18 7 0
22 19 6 0
23 20 6 0
24 21 7 0
25 22 15 0
26 23 8 0
27 24 6 0
28 25 6 0
29 26 8 0
30 27 6 0
31 28 6 0
32 29 6 0
33 30 8 0
34 31 8 0
35 32 8 0
36 33 7 0
37 34 6 0
38 35 7 0
39 36 6 0
40 37 7 0
41 38 6 0
42 39 7 0
43 40 6 0
44 41 6 0
45 42 7 0
46 43 8 0
47 44 15 0
48 45 8 0
49 46 6 0
50 47 6 0
51 48 8 0
52 49 6 0
53 50 6 0
54 51 6 0
55 52 8 0
56 53 8 0
57 54 8 0
58 55 7 0
59 56 6 0
60 57 7 0
61 58 6 0
62 59 6 0
63 60 6 0
64 61 8 0
65 62 8 0
66 63 6 0
67 64 15 0
68 65 8 0
69 66 6 0
70 67 6 0
71 68 8 0
72 69 6 0
73 70 6 0
74 71 6 0
75 72 8 0
76 73 8 0
77 74 8 0
78 75 7 0
79 76 6 0
80 77 7 0
81 78 6 0
82 79 6 0
83 80 6 0
84 81 8 0
85 82 7 0
86 83 1 0
87 84 1 0
88 85 1 0
89 86 1 0
90 87 1 0
91 88 1 0
92 89 1 0
93 90 1 0
94 91 1 0
95 92 1 0
96 93 1 0
97 94 1 0
98 95 1 0
99 96 1 0
100 97 1 0
101 98 1 0
102 99 1 0
103 100 1 0
104 101 1 0
105 102 1 0
106 103 1 0
107 104 1 0
108 105 1 0
109 106 1 0
110 107 1 0
111 108 1 0
112 109 1 0
113 110 1 0
114 111 1 0
115 112 1 0
116 113 1 0
117 114 1 0
118 115 1 0
119 116 1 0
120 117 1 0
121 118 1 0
122 119 1 0
123 120 1 0
124 121 1 0
125 122 1 0
126 123 1 0
127 124 1 0
128 125 1 0
129 126 1 0
130 127 1 0
131 128 1 0
132 129 1 0
133 130 1 0
134 !Bonds 140
135 0 1 S
136 1 2 S
137 2 3 S
138 3 4 S
139 4 5 S
140 5 6 S
141 6 7 S
142 7 8 S
143 0 9 C
144 0 10 C
145 0 11 C
146 3 7 S
147 5 12 S
148 12 13 S
149 13 14 D
150 12 15 S
151 15 16 S
152 16 17 D
153 17 18 S
154 18 19 D
155 19 20 S
156 19 21 S
157 14 20 S
158 15 20 D
159 8 22 S
160 22 23 S
161 23 24 S
162 24 25 S
163 25 26 S
164 26 27 S
165 27 28 S
166 28 29 S
167 29 30 S
168 22 31 C
169 22 32 C
170 25 29 S
171 27 33 S
172 33 34 S
173 34 35 D
174 33 36 S
175 36 37 S
176 37 38 D
177 38 39 S
178 39 40 S
179 40 41 S
180 38 42 S
181 40 43 D
182 35 41 S
183 36 41 D
184 30 44 S
185 44 45 S
186 45 46 S
187 46 47 S
188 47 48 S
189 48 49 S
190 49 50 S
191 50 51 S
192 51 52 S
193 44 53 C
194 44 54 C
195 47 51 S
196 49 55 S
197 55 56 S
198 56 57 S
199 57 58 S
200 58 59 S
201 59 60 D
202 56 61 D
203 58 62 D
204 59 63 S
205 55 60 S
206 52 64 S
207 64 65 S
208 65 66 S
209 66 67 S
210 67 68 S
211 68 69 S
212 69 70 S
213 70 71 S
214 71 72 S
215 64 73 C
216 64 74 C
217 67 71 S
218 69 75 S
219 75 76 S
220 76 77 S
221 77 78 D
222 78 79 S
223 79 80 D
224 76 81 D
225 78 82 S
226 75 80 S
227 2 83 S
228 2 84 S
229 3 85 S
230 5 86 S
231 6 87 S
232 6 88 S
233 7 89 S
234 10 90 S
235 11 91 S
236 13 92 S
237 17 93 S
238 21 94 S
239 21 95 S
240 24 96 S
241 24 97 S
242 25 98 S
243 27 99 S
244 28 100 S
245 28 101 S
246 29 102 S
247 34 103 S
248 42 104 S
249 42 105 S
250 46 106 S
251 46 107 S
252 47 108 S
253 49 109 S
254 50 110 S
255 50 111 S
256 51 112 S
257 60 113 S
258 63 114 S
259 63 115 S
260 63 116 S
261 66 117 S
262 66 118 S
263 67 119 S
264 69 120 S
265 70 121 S
266 70 122 S
267 71 123 S
268 72 124 S
269 79 125 S
270 80 126 S
271 82 127 S
272 82 128 S
273 39 129 S
274 57 130 S
275 !Coord
276 0 +0.990554928779602 -0.150277018547058 +0.189796984195709
277 1 +0.870468497276306 -0.113332390785217 +0.0907294377684593
278 2 +0.901102662086487 -0.0723694562911987 -0.0438796132802963
279 3 +0.792864441871643 +0.0208965539932251 -0.095744326710701
280 4 +0.68485289812088 -0.0590903759002686 -0.152767077088356
281 5 +0.573053777217865 -0.0591839551925659 -0.0652174055576324
282 6 +0.61265105009079 +0.0172169208526611 +0.0612893588840961
283 7 +0.72432404756546 +0.108129024505615 +0.0095871314406395
284 8 +0.663598775863647 +0.227835059165955 -0.0367474406957626
285 9 +1.13950967788696 -0.132192015647888 +0.109888389706612
286 10 +0.987817585468292 -0.0476459264755249 +0.325293779373169
287 11 +0.97525417804718 -0.311269700527191 +0.242211148142815
288 12 +0.53551971912384 -0.202351212501526 -0.030600294470787
289 13 +0.583735167980194 -0.28764671087265 +0.0651543736457825
290 14 +0.526646494865417 -0.404440879821777 +0.0652181357145309
291 15 +0.438797891139984 -0.273617148399353 -0.0964414030313492
292 16 +0.363001376390457 -0.230593919754028 -0.199537917971611
293 17 +0.279668301343918 -0.325027406215668 -0.239059001207352
294 18 +0.263952285051346 -0.448271334171295 -0.191593840718269
295 19 +0.340572655200958 -0.488270342350006 -0.0891955941915512
296 20 +0.433244049549103 -0.396464765071869 -0.0383649617433548
297 21 +0.325242072343826 -0.612320780754089 -0.0409000515937805
298 22 +0.55020135641098 +0.297110438346863 +0.0523702204227448
299 23 +0.417010366916656 +0.245474100112915 -0.0196981132030487
300 24 +0.414195597171783 +0.237007021903992 -0.163421407341957
301 25 +0.272070080041885 +0.256026864051819 -0.213845565915108
302 26 +0.203746825456619 +0.127007126808167 -0.212493732571602
303 27 +0.111637495458126 +0.121956586837769 -0.104538336396217
304 28 +0.126621335744858 +0.251290917396545 -0.0241820514202118
305 29 +0.183197289705276 +0.347231984138489 -0.129079475998878
306 30 +0.0730017498135567 +0.407792329788208 -0.195059671998024
307 31 +0.563283205032349 +0.247519612312317 +0.203927516937256
308 32 +0.567350804805756 +0.456096887588501 +0.046966265887022
309 33 +0.142422959208488 +0.00169241428375244 -0.0168297365307808
310 34 +0.231369853019714 -0.0145261287689209 +0.0860994234681129
311 35 +0.230004817247391 -0.133424997329712 +0.138646453619003
312 36 +0.0796778500080109 -0.119464516639709 -0.0292015075683594
313 37 -0.0166844502091408 -0.151713967323303 -0.11807943880558
314 38 -0.0549773499369621 -0.277046144008636 -0.102283857762814
315 39 -0.0118745639920235 -0.367540538311005 -0.0148658007383347
316 40 +0.0838684141635895 -0.332726299762726 +0.0721816197037697
317 41 +0.132757633924484 -0.201726198196411 +0.0651955306529999
318 42 -0.150104165077209 -0.329889237880707 -0.180479124188423
319 43 +0.125092148780823 -0.414964437484741 +0.153830230236053
320 44 -0.0500598475337029 +0.461275666952133 -0.107908234000206
321 45 -0.15457546710968 +0.341094732284546 -0.123173117637634
322 46 -0.167188286781311 +0.275311350822449 -0.250646531581879
323 47 -0.307887047529221 +0.220170259475708 -0.266996324062347
324 48 -0.313999861478806 +0.0874539613723755 -0.206456825137138
325 49 -0.384344458580017 +0.0934668779373169 -0.0832517892122269
326 50 -0.41852268576622 +0.240092396736145 -0.0560155995190144
327 51 -0.418696343898773 +0.299187541007996 -0.197142258286476
328 52 -0.549940824508667 +0.284273982048035 -0.249262005090714
329 53 -0.00264295190572739 +0.484938710927963 +0.0430609732866287
330 54 -0.103148780763149 +0.599282503128052 -0.169028475880623
331 55 -0.296303033828735 +0.0379313230514526 +0.0288798958063126
332 56 -0.317427009344101 -0.0942343473434448 +0.0581205561757088
333 57 -0.243893817067146 -0.155518651008606 +0.157524287700653
334 58 -0.142792224884033 -0.0763771533966064 +0.231138795614243
335 59 -0.128794223070145 +0.0615837574005127 +0.192320600152016
336 60 -0.205185532569885 +0.111684083938599 +0.0942883491516113
337 61 -0.402083963155746 -0.154425501823425 -0.00586559623479843
338 62 -0.078723318874836 -0.132192730903625 +0.318681955337524
339 63 -0.0270732045173645 +0.144303321838379 +0.26519250869751
340 64 -0.675123810768127 +0.320191264152527 -0.156314834952354
341 65 -0.719134271144867 +0.175287008285522 -0.104683056473732
342 66 -0.714494228363037 +0.0641899108886719 -0.196181192994118
343 67 -0.818947196006775 -0.0392928123474121 -0.157646805047989
344 68 -0.761914551258087 -0.129086375236511 -0.0576448440551758
345 69 -0.815971970558167 -0.0998287200927734 +0.0703621357679367
346 70 -0.906801521778107 +0.0224456787109375 +0.0559415519237518
347 71 -0.945685207843781 +0.0156054496765137 -0.091876819729805
348 72 -1.06225323677063 -0.0649205446243286 -0.101439610123634
349 73 -0.628225564956665 +0.417680829763412 -0.0384321212768555
350 74 -0.787690997123718 +0.392987370491028 -0.243660971522331
351 75 -0.702390313148499 -0.0701137781143188 +0.168470472097397
352 76 -0.662070870399475 -0.177376389503479 +0.243557542562485
353 77 -0.560285925865173 -0.162813305854797 +0.335599571466446
354 78 -0.496230781078339 -0.0303298234939575 +0.351380705833435
355 79 -0.546347200870514 +0.0754226446151733 +0.267471492290497
356 80 -0.645787835121155 +0.0509568452835083 +0.181048199534416
357 81 -0.7185298204422 -0.28412801027298 +0.226223319768906
358 82 -0.399130374193192 -0.0190706253051758 +0.440086603164673
359 83 +0.997847437858582 -0.0200302116572857 -0.044903539121151
360 84 +0.906110882759094 -0.161298483610153 -0.10842839628458
361 85 +0.845609307289124 +0.0864420458674431 -0.166608765721321
362 86 +0.486257165670395 -0.0111933555454016 -0.112790986895561
363 87 +0.528322577476501 +0.0758575946092606 +0.100659176707268
364 88 +0.643197178840637 -0.0476853474974632 +0.144683808088303
365 89 +0.799951791763306 +0.142391636967659 +0.0817433297634125
366 90 +0.893976032733917 -0.0286024175584316 +0.350435614585876
367 91 +0.879337012767792 -0.334578901529312 +0.249799892306328
368 92 +0.660722494125366 -0.260803997516632 +0.133126735687256
369 93 +0.216289848089218 -0.298937141895294 -0.320116341114044
370 94 +0.257674127817154 -0.673339605331421 -0.0810438618063927
371 95 +0.381426513195038 -0.643414080142975 +0.0351050011813641
372 96 +0.478679955005646 +0.315402388572693 -0.205799892544746
373 97 +0.450572818517685 +0.137949660420418 -0.194475099444389
374 98 +0.284696102142334 +0.301773011684418 -0.313082039356232
375 99 +0.008556735701859 +0.112217046320438 -0.141679927706718
376 100 +0.0294945426285267 +0.286280661821365 +0.0137929795309901
377 101 +0.189785689115524 +0.240972548723221 +0.0652818977832794
378 102 +0.243407160043716 +0.432165086269379 -0.0935669615864754
379 103 +0.29557591676712 +0.0629616305232048 +0.119878865778446
380 104 -0.19267101585865 -0.274532586336136 -0.251358985900879
381 105 -0.178172528743744 -0.424483865499496 -0.167662173509598
382 106 -0.146788835525513 +0.347522228956223 -0.331079423427582
383 107 -0.0950882360339165 +0.19239430129528 -0.255779325962067
384 108 -0.325562298297882 +0.223464652895927 -0.375516980886459
385 109 -0.476380527019501 +0.0334061905741692 -0.0879500657320023
386 110 -0.517172873020172 +0.249996617436409 -0.00837049819529057
387 111 -0.34880131483078 +0.289916276931763 +0.0129518806934357
388 112 -0.397508502006531 +0.406613439321518 -0.207665845751762
389 113 -0.193183362483978 +0.213643744587898 +0.0673069134354591
390 114 +0.0443115048110485 +0.078053817152977 +0.316331803798676
391 115 +0.0268380828201771 +0.207781121134758 +0.19333054125309
392 116 -0.0777858048677444 +0.207751035690308 +0.339372158050537
393 117 -0.734706521034241 +0.100121639668941 -0.298163414001465
394 118 -0.614713549613953 +0.0180811248719692 -0.191961795091629
395 119 -0.846591472625732 -0.0863717272877693 -0.253142207860947
396 120 -0.873467087745667 -0.185340017080307 +0.10886062681675
397 121 -0.995171248912811 +0.0145345656201243 +0.120966151356697
398 122 -0.858859717845917 +0.11710075289011 +0.0849588811397552
399 123 -0.973582744598389 +0.109541393816471 -0.141854450106621
400 124 -1.03663742542267 -0.160526067018509 -0.0993381887674332
401 125 -0.504517376422882 +0.17275932431221 +0.274079024791718
402 126 -0.681173980236053 +0.130391597747803 +0.120173260569572
403 127 -0.371274381875992 -0.0981518477201462 +0.493663221597672
404 128 -0.353793233633041 +0.0684976428747177 +0.453375428915024
405 129 -0.0511472001671791 -0.470443516969681 -0.00159934500698
406 130 -0.276984959840775 -0.264228522777557 +0.186582788825035
407 !Charges
408 0 +0
409 1 +0
410 2 +0
411 3 +0
412 4 +0
413 5 +0
414 6 +0
415 7 +0
416 8 +0
417 9 +0
418 10 +0
419 11 +0
420 12 +0
421 13 +0
422 14 +0
423 15 +0
424 16 +0
425 17 +0
426 18 +0
427 19 +0
428 20 +0
429 21 +0
430 22 +0
431 23 +0
432 24 +0
433 25 +0
434 26 +0
435 27 +0
436 28 +0
437 29 +0
438 30 +0
439 31 +0
440 32 +0
441 33 +0
442 34 +0
443 35 +0
444 36 +0
445 37 +0
446 38 +0
447 39 +0
448 40 +0
449 41 +0
450 42 +0
451 43 +0
452 44 +0
453 45 +0
454 46 +0
455 47 +0
456 48 +0
457 49 +0
458 50 +0
459 51 +0
460 52 +0
461 53 +0
462 54 +0
463 55 +0
464 56 +0
465 57 +0
466 58 +0
467 59 +0
468 60 +0
469 61 +0
470 62 +0
471 63 +0
472 64 +0
473 65 +0
474 66 +0
475 67 +0
476 68 +0
477 69 +0
478 70 +0
479 71 +0
480 72 +0
481 73 +0
482 74 +0
483 75 +0
484 76 +0
485 77 +0
486 78 +0
487 79 +0
488 80 +0
489 81 +0
490 82 +0
491 83 +0
492 84 +0
493 85 +0
494 86 +0
495 87 +0
496 88 +0
497 89 +0
498 90 +0
499 91 +0
500 92 +0
501 93 +0
502 94 +0
503 95 +0
504 96 +0
505 97 +0
506 98 +0
507 99 +0
508 100 +0
509 101 +0
510 102 +0
511 103 +0
512 104 +0
513 105 +0
514 106 +0
515 107 +0
516 108 +0
517 109 +0
518 110 +0
519 111 +0
520 112 +0
521 113 +0
522 114 +0
523 115 +0
524 116 +0
525 117 +0
526 118 +0
527 119 +0
528 120 +0
529 121 +0
530 122 +0
531 123 +0
532 124 +0
533 125 +0
534 126 +0
535 127 +0
536 128 +0
537 129 +0
538 130 +0
539 !End
0 !Header gpr 100
1 !Info 1
2 !Atoms 18
3 0 6
4 1 6
5 2 6
6 3 6
7 4 6
8 5 6
9 6 6
10 7 6
11 8 6
12 9 6
13 10 1
14 11 1
15 12 1
16 13 1
17 14 1
18 15 1
19 16 1
20 17 1
21 !Bonds 19
22 0 1 C
23 1 2 C
24 2 3 C
25 3 4 C
26 4 5 C
27 0 5 C
28 4 6 C
29 6 7 C
30 7 8 C
31 8 9 C
32 3 9 C
33 0 10 S
34 1 11 S
35 2 12 S
36 5 13 S
37 6 14 S
38 7 15 S
39 8 16 S
40 9 17 S
41 !Coord
42 0 0.244064 0.061793 0.00269817
43 1 0.239202 -0.0771314 0.0149432
44 2 0.116008 -0.142691 0.0166511
45 3 -0.00243559 -0.0694947 0.00612526
46 4 0.00242779 0.0695483 -0.00613034
47 5 0.125741 0.135053 -0.00782936
48 6 -0.116048 0.142701 -0.0166534
49 7 -0.239236 0.0771171 -0.0149431
50 8 -0.244072 -0.0618097 -0.00269696
51 9 -0.125725 -0.135026 0.00782747
52 10 0.339756 0.112809 0.00136336
53 11 0.331113 -0.134121 0.0231282
54 12 0.11259 -0.250651 0.0261791
55 13 0.12993 0.242993 -0.0173295
56 14 -0.112618 0.250651 -0.0261801
57 15 -0.331141 0.134093 -0.0231266
58 16 -0.33973 -0.112873 -0.00135674
59 17 -0.129825 -0.242961 0.0173302
60 !Charges
61 0 -0.1
62 1 -0.1
63 2 -0.1
64 3 0
65 4 0
66 5 -0.1
67 6 -0.1
68 7 -0.1
69 8 -0.1
70 9 -0.1
71 10 0.1
72 11 0.1
73 12 0.1
74 13 0.1
75 14 0.1
76 15 0.1
77 16 0.1
78 17 0.1
79 !End
0 !Header gpr 110
1 !Info 1 allmm 1
2 !Atoms 132
3 0 15 0
4 1 8 0
5 2 6 0
6 3 6 0
7 4 8 0
8 5 6 0
9 6 6 0
10 7 6 0
11 8 8 0
12 9 8 0
13 10 8 0
14 11 8 0
15 12 7 0
16 13 6 0
17 14 7 0
18 15 6 0
19 16 7 0
20 17 6 0
21 18 7 0
22 19 6 0
23 20 6 0
24 21 8 0
25 22 7 0
26 23 15 0
27 24 8 0
28 25 6 0
29 26 6 0
30 27 8 0
31 28 6 0
32 29 6 0
33 30 6 0
34 31 8 0
35 32 8 0
36 33 8 0
37 34 7 0
38 35 6 0
39 36 7 0
40 37 6 0
41 38 7 0
42 39 6 0
43 40 7 0
44 41 6 0
45 42 6 0
46 43 8 0
47 44 7 0
48 45 8 0
49 46 15 0
50 47 8 0
51 48 6 0
52 49 6 0
53 50 8 0
54 51 6 0
55 52 6 0
56 53 6 0
57 54 8 0
58 55 8 0
59 56 8 0
60 57 7 0
61 58 6 0
62 59 7 0
63 60 6 0
64 61 6 0
65 62 6 0
66 63 8 0
67 64 8 0
68 65 8 0
69 66 15 0
70 67 8 0
71 68 6 0
72 69 6 0
73 70 8 0
74 71 6 0
75 72 6 0
76 73 6 0
77 74 8 0
78 75 8 0
79 76 8 0
80 77 7 0
81 78 6 0
82 79 7 0
83 80 6 0
84 81 6 0
85 82 6 0
86 83 8 0
87 84 8 0
88 85 7 0
89 86 1 0
90 87 1 0
91 88 1 0
92 89 1 0
93 90 1 0
94 91 1 0
95 92 1 0
96 93 1 0
97 94 1 0
98 95 1 0
99 96 1 0
100 97 1 0
101 98 1 0
102 99 1 0
103 100 1 0
104 101 1 0
105 102 1 0
106 103 1 0
107 104 1 0
108 105 1 0
109 106 1 0
110 107 1 0
111 108 1 0
112 109 1 0
113 110 1 0
114 111 1 0
115 112 1 0
116 113 1 0
117 114 1 0
118 115 1 0
119 116 1 0
120 117 1 0
121 118 1 0
122 119 1 0
123 120 1 0
124 121 1 0
125 122 1 0
126 123 1 0
127 124 1 0
128 125 1 0
129 126 1 0
130 127 1 0
131 128 1 0
132 129 1 0
133 130 1 0
134 131 1 0
135 !Bonds 141
136 0 1 S
137 1 2 S
138 2 3 S
139 3 4 S
140 4 5 S
141 5 6 S
142 6 7 S
143 7 8 S
144 0 9 C
145 0 10 C
146 0 11 C
147 3 7 S
148 5 12 S
149 12 13 S
150 13 14 D
151 12 15 S
152 15 16 S
153 16 17 D
154 17 18 S
155 18 19 D
156 19 20 S
157 6 21 S
158 19 22 S
159 14 20 S
160 15 20 D
161 8 23 S
162 23 24 S
163 24 25 S
164 25 26 S
165 26 27 S
166 27 28 S
167 28 29 S
168 29 30 S
169 30 31 S
170 23 32 C
171 23 33 C
172 26 30 S
173 28 34 S
174 34 35 S
175 35 36 D
176 34 37 S
177 37 38 S
178 38 39 D
179 39 40 S
180 40 41 S
181 41 42 S
182 29 43 S
183 39 44 S
184 41 45 D
185 36 42 S
186 37 42 D
187 31 46 S
188 46 47 S
189 47 48 S
190 48 49 S
191 49 50 S
192 50 51 S
193 51 52 S
194 52 53 S
195 53 54 S
196 46 55 C
197 46 56 C
198 49 53 S
199 51 57 S
200 57 58 S
201 58 59 S
202 59 60 S
203 60 61 S
204 61 62 D
205 52 63 S
206 58 64 D
207 60 65 D
208 57 62 S
209 54 66 S
210 66 67 S
211 67 68 S
212 68 69 S
213 69 70 S
214 70 71 S
215 71 72 S
216 72 73 S
217 73 74 S
218 66 75 C
219 66 76 C
220 69 73 S
221 71 77 S
222 77 78 S
223 78 79 S
224 79 80 D
225 80 81 S
226 81 82 D
227 72 83 S
228 78 84 D
229 80 85 S
230 77 82 S
231 2 86 S
232 2 87 S
233 3 88 S
234 5 89 S
235 6 90 S
236 7 91 S
237 10 92 S
238 11 93 S
239 13 94 S
240 17 95 S
241 21 96 S
242 22 97 S
243 22 98 S
244 25 99 S
245 25 100 S
246 26 101 S
247 28 102 S
248 29 103 S
249 30 104 S
250 35 105 S
251 43 106 S
252 44 107 S
253 44 108 S
254 48 109 S
255 48 110 S
256 49 111 S
257 51 112 S
258 52 113 S
259 53 114 S
260 61 115 S
261 62 116 S
262 63 117 S
263 68 118 S
264 68 119 S
265 69 120 S
266 71 121 S
267 72 122 S
268 73 123 S
269 74 124 S
270 81 125 S
271 82 126 S
272 83 127 S
273 85 128 S
274 85 129 S
275 40 130 S
276 59 131 S
277 !Coord
278 0 +1.00263750553131 -0.156029105186462 +0.189523905515671
279 1 +0.882551193237305 -0.119084477424622 +0.0904563739895821
280 2 +0.913185238838196 -0.078121542930603 -0.0441526770591736
281 3 +0.804947078227997 +0.0151444673538208 -0.0960173904895782
282 4 +0.696935534477234 -0.0648424625396729 -0.153040140867233
283 5 +0.585136413574219 -0.0649360418319702 -0.0654904693365097
284 6 +0.624733686447144 +0.0114648342132568 +0.0610162913799286
285 7 +0.736406683921814 +0.102376937866211 +0.00931406766176224
286 8 +0.675681412220001 +0.22208297252655 -0.0370205044746399
287 9 +1.15159225463867 -0.137944102287292 +0.109615311026573
288 10 +0.999900162220001 -0.0533980131149292 +0.32502070069313
289 11 +0.987336754798889 -0.317021787166595 +0.241938084363937
290 12 +0.547602355480194 -0.20810329914093 -0.0308733582496643
291 13 +0.595817804336548 -0.293398797512054 +0.0648813098669052
292 14 +0.538729131221771 -0.410192966461182 +0.0649450719356537
293 15 +0.450880527496338 -0.279369235038757 -0.0967144668102264
294 16 +0.375084012746811 -0.236346006393433 -0.199810981750488
295 17 +0.291750937700272 -0.330779492855072 -0.239332050085068
296 18 +0.2760349214077 -0.454023420810699 -0.191866904497147
297 19 +0.352655291557312 -0.49402242898941 -0.0894686579704285
298 20 +0.445326656103134 -0.402216851711273 -0.0386380255222321
299 21 +0.511744022369385 +0.083898663520813 +0.11036890745163
300 22 +0.33732470870018 -0.618072867393494 -0.0411731153726578
301 23 +0.562283992767334 +0.291358351707458 +0.0520971529185772
302 24 +0.429092973470688 +0.239722013473511 -0.019971176981926
303 25 +0.426278203725815 +0.231254935264587 -0.163694471120834
304 26 +0.284152716398239 +0.250274777412415 -0.214118629693985
305 27 +0.215829461812973 +0.121255040168762 -0.212766796350479
306 28 +0.123720146715641 +0.116204500198364 -0.104811407625675
307 29 +0.138703972101212 +0.245538830757141 -0.0244551151990891
308 30 +0.19527992606163 +0.341479897499084 -0.129352539777756
309 31 +0.0850843861699104 +0.402040243148804 -0.195332735776901
310 32 +0.575365841388702 +0.241767525672913 +0.203654453158379
311 33 +0.579433441162109 +0.450344800949097 +0.0466932021081448
312 34 +0.154505595564842 -0.00405967235565186 -0.0171028003096581
313 35 +0.243452504277229 -0.0202782154083252 +0.0858263596892357
314 36 +0.242087453603745 -0.139177083969116 +0.138373374938965
315 37 +0.0917604863643646 -0.125216603279114 -0.0294745713472366
316 38 -0.00460181385278702 -0.157466053962708 -0.118352510035038
317 39 -0.0428947135806084 -0.282798230648041 -0.102556928992271
318 40 +0.000208072364330292 -0.373292624950409 -0.0151388645172119
319 41 +0.0959510505199432 -0.33847838640213 +0.0719085559248924
320 42 +0.144840270280838 -0.207478284835815 +0.0649224668741226
321 43 +0.0108667239546776 +0.285884141921997 +0.0253334194421768
322 44 -0.138021528720856 -0.335641324520111 -0.1807521879673
323 45 +0.137174785137177 -0.420716524124146 +0.153557151556015
324 46 -0.0379772111773491 +0.455523580312729 -0.108181297779083
325 47 -0.142492830753326 +0.335342645645142 -0.123446181416512
326 48 -0.155105650424957 +0.269559264183044 -0.250919580459595
327 49 -0.295804411172867 +0.214418172836304 -0.267269372940063
328 50 -0.301917225122452 +0.0817018747329712 -0.206729888916016
329 51 -0.372261822223663 +0.0877147912979126 -0.0835248529911041
330 52 -0.406440079212189 +0.234340310096741 -0.0562886595726013
331 53 -0.406613737344742 +0.293435454368591 -0.197415322065353
332 54 -0.537858188152313 +0.27852189540863 -0.24953505396843
333 55 +0.00943968445062637 +0.479186624288559 +0.0427879095077515
334 56 -0.0910661444067955 +0.593530416488647 -0.1693015396595
335 57 -0.284220397472382 +0.0321792364120483 +0.0286068320274353
336 58 -0.305344372987747 -0.0999864339828491 +0.0578474923968315
337 59 -0.231811165809631 -0.16127073764801 +0.157251209020615
338 60 -0.130709588527679 -0.0821292400360107 +0.230865746736526
339 61 -0.11671157926321 +0.0558316707611084 +0.192047536373138
340 62 -0.193102896213531 +0.105931997299194 +0.0940152853727341
341 63 -0.533859848976135 +0.242486834526062 +0.00810720771551132
342 64 -0.390001326799393 -0.16017758846283 -0.00613866001367569
343 65 -0.0666406825184822 -0.13794481754303 +0.318408906459808
344 66 -0.663041174411774 +0.314439177513123 -0.156587898731232
345 67 -0.707051634788513 +0.169534921646118 -0.10495612770319
346 68 -0.702411592006683 +0.0584378242492676 -0.196454256772995
347 69 -0.806864559650421 -0.0450448989868164 -0.157919868826866
348 70 -0.749831914901733 -0.134838461875916 -0.0579179041087627
349 71 -0.803889274597168 -0.105580806732178 +0.0700890719890594
350 72 -0.894718945026398 +0.0166935920715332 +0.0556684844195843
351 73 -0.933602511882782 +0.00985336303710938 -0.0921498835086823
352 74 -1.05017066001892 -0.0706726312637329 -0.101712681353092
353 75 -0.616142928600311 +0.411928743124008 -0.0387051850557327
354 76 -0.775608360767365 +0.387235283851624 -0.243934035301208
355 77 -0.690307676792145 -0.0758658647537231 +0.16819740831852
356 78 -0.649988234043121 -0.183128476142883 +0.243284493684769
357 79 -0.54820328950882 -0.168565392494202 +0.335326492786407
358 80 -0.484148174524307 -0.0360819101333618 +0.351107656955719
359 81 -0.53426456451416 +0.069670557975769 +0.267198443412781
360 82 -0.633705198764801 +0.045204758644104 +0.180775135755539
361 83 -1.00660109519958 +0.00370383262634277 +0.14377436041832
362 84 -0.706447184085846 -0.289880096912384 +0.22595027089119
363 85 -0.387047737836838 -0.0248227119445801 +0.439813554286957
364 86 +1.00993001461029 -0.0257823411375284 -0.0451766550540924
365 87 +0.918193340301514 -0.16705060005188 -0.108701422810555
366 88 +0.857691943645477 +0.0806899592280388 -0.166881799697876
367 89 +0.498339742422104 -0.0169454403221607 -0.113064050674438
368 90 +0.657672584056854 -0.0506206974387169 +0.145635530352592
369 91 +0.812034487724304 +0.136639505624771 +0.0814702361822128
370 92 +0.906058609485626 -0.0343545041978359 +0.350162535905838
371 93 +0.891419589519501 -0.340330988168716 +0.249526828527451
372 94 +0.67280513048172 -0.266556084156036 +0.132853701710701
373 95 +0.22837245464325 -0.304689228534698 -0.320389360189438
374 96 +0.442314237356186 +0.0201740209013224 +0.140695065259933
375 97 +0.269756734371185 -0.679091691970825 -0.0813169330358505
376 98 +0.393509149551392 -0.649166166782379 +0.0348319262266159
377 99 +0.490762561559677 +0.309650301933289 -0.206072971224785
378 100 +0.462655454874039 +0.132197573781013 -0.194748193025589
379 101 +0.296778738498688 +0.296020925045013 -0.313355088233948
380 102 +0.0206393953412771 +0.106464959681034 -0.141953021287918
381 103 +0.202931478619576 +0.23894402384758 +0.0646029263734818
382 104 +0.25548979640007 +0.426412999629974 -0.0938400402665138
383 105 +0.307658582925797 +0.0572095438838005 +0.119605801999569
384 106 -0.0432102791965008 +0.205677539110184 +0.0463946871459484
385 107 -0.180588394403458 -0.28028467297554 -0.251632034778595
386 108 -0.166089862585068 -0.430235952138901 -0.167935222387314
387 109 -0.134706199169159 +0.341770112514496 -0.33135250210762
388 110 -0.0830055996775627 +0.186642199754715 -0.25605234503746
389 111 -0.313479632139206 +0.217712566256523 -0.375790029764175
390 112 -0.464297860860825 +0.0276541002094746 -0.0882231444120407
391 113 -0.337394058704376 +0.287521511316299 +0.0108262179419398
392 114 -0.385425895452499 +0.400861352682114 -0.207938954234123
393 115 -0.0458784773945808 +0.117842197418213 +0.241090223193169
394 116 -0.181100711226463 +0.207891657948494 +0.0670338496565819
395 117 -0.568051040172577 +0.151199534535408 +0.0253868885338306
396 118 -0.722623944282532 +0.0943695530295372 -0.298436492681503
397 119 -0.602630972862244 +0.0123290661722422 -0.192234873771667
398 120 -0.834508717060089 -0.0921238213777542 -0.253415286540985
399 121 -0.861384272575378 -0.191092133522034 +0.108587600290775
400 122 -0.848996639251709 +0.113193847239017 +0.0820725709199905
401 123 -0.96150004863739 +0.103789307177067 -0.142127588391304
402 124 -1.02455496788025 -0.166278168559074 -0.0996112674474716
403 125 -0.492434740066528 +0.167007237672806 +0.273805975914001
404 126 -0.6690913438797 +0.12463952600956 +0.119900211691856
405 127 -1.0257967710495 -0.0922337546944618 +0.158890753984451
406 128 -0.359191745519638 -0.103903949260712 +0.493390172719955
407 129 -0.34171062707901 +0.0627455562353134 +0.45310240983963
408 130 -0.0702258348464966 -0.497295081615448 +0.0191020369529724
409 131 -0.268880277872086 -0.288851290941238 +0.189693003892899
410 !Charges
411 0 +0
412 1 +0
413 2 +0
414 3 +0
415 4 +0
416 5 +0
417 6 +0
418 7 +0
419 8 +0
420 9 +0
421 10 +0
422 11 +0
423 12 +0
424 13 +0
425 14 +0
426 15 +0
427 16 +0
428 17 +0
429 18 +0
430 19 +0
431 20 +0
432 21 +0
433 22 +0
434 23 +0
435 24 +0
436 25 +0
437 26 +0
438 27 +0
439 28 +0
440 29 +0
441 30 +0
442 31 +0
443 32 +0
444 33 +0
445 34 +0
446 35 +0
447 36 +0
448 37 +0
449 38 +0
450 39 +0
451 40 +0
452 41 +0
453 42 +0
454 43 +0
455 44 +0
456 45 +0
457 46 +0
458 47 +0
459 48 +0
460 49 +0
461 50 +0
462 51 +0
463 52 +0
464 53 +0
465 54 +0
466 55 +0
467 56 +0
468 57 +0
469 58 +0
470 59 +0
471 60 +0
472 61 +0
473 62 +0
474 63 +0
475 64 +0
476 65 +0
477 66 +0
478 67 +0
479 68 +0
480 69 +0
481 70 +0
482 71 +0
483 72 +0
484 73 +0
485 74 +0
486 75 +0
487 76 +0
488 77 +0
489 78 +0
490 79 +0
491 80 +0
492 81 +0
493 82 +0
494 83 +0
495 84 +0
496 85 +0
497 86 +0
498 87 +0
499 88 +0
500 89 +0
501 90 +0
502 91 +0
503 92 +0
504 93 +0
505 94 +0
506 95 +0
507 96 +0
508 97 +0
509 98 +0
510 99 +0
511 100 +0
512 101 +0
513 102 +0
514 103 +0
515 104 +0
516 105 +0
517 106 +0
518 107 +0
519 108 +0
520 109 +0
521 110 +0
522 111 +0
523 112 +0
524 113 +0
525 114 +0
526 115 +0
527 116 +0
528 117 +0
529 118 +0
530 119 +0
531 120 +0
532 121 +0
533 122 +0
534 123 +0
535 124 +0
536 125 +0
537 126 +0
538 127 +0
539 128 +0
540 129 +0
541 130 +0
542 131 +0
543 !End
0 Summary: The MM and QM calculations frontend.
1 Name: ghemical
2 Version: 2.60
3 Release: 1
4 License: GPL
5 Group: Science/Chemistry
6 Source: http://www.uku.fi/~thassine/projects/download/%{name}-%{version}.tar.gz
7 URL: http://www.uku.fi/~thassine/ghemical/
8 Icon: ghemical.xpm
9 Vendor: Tommi Hassinen et al.
10 Packager: Radek Liboska <liboska@uochb.cas.cz>
11
12 %description
13 Ghemical is a computational chemistry software package released under the
14 GNU GPL.
15 Ghemical is written in C++. It has a graphical user interface (in fact,
16 a couple of them), and it supports both quantum-mechanics (semi-empirical
17 and ab initio) models and molecular mechanics models (there is an experimental
18 Tripos 5.2-like force field for organic molecules). Also a tool for reduced
19 protein models is included. Geometry optimization, molecular dynamics
20 and a large set of visualization tools are currently available.
21
22 %prep
23 rm -rf $RPM_BUILD_ROOT
24
25 %setup
26 %build
27 %configure --enable-openbabel
28 make
29
30 %install
31 make install-strip prefix=$RPM_BUILD_ROOT/%{_prefix}
32
33 %files
34 %defattr(-,root,root)
35 %doc docs/user-docs
36 %{_bindir}/ghemical
37 %{_datadir}/%{name}/%{version}/examples
38
39 %clean
40 rm -rf $RPM_BUILD_ROOT
41
42 %changelog
43 * Thu Oct 12 2006 Radek Liboska <liboska@uochb.cas.cz> fc5
44 - ver 2.10, fedora core 5
0 #!/bin/sh
1 #
2 # install - install a program, script, or datafile
3 #
4 # This originates from X11R5 (mit/util/scripts/install.sh), which was
5 # later released in X11R6 (xc/config/util/install.sh) with the
6 # following copyright and license.
7 #
8 # Copyright (C) 1994 X Consortium
9 #
10 # Permission is hereby granted, free of charge, to any person obtaining a copy
11 # of this software and associated documentation files (the "Software"), to
12 # deal in the Software without restriction, including without limitation the
13 # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
14 # sell copies of the Software, and to permit persons to whom the Software is
15 # furnished to do so, subject to the following conditions:
16 #
17 # The above copyright notice and this permission notice shall be included in
18 # all copies or substantial portions of the Software.
19 #
20 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23 # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
24 # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
25 # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26 #
27 # Except as contained in this notice, the name of the X Consortium shall not
28 # be used in advertising or otherwise to promote the sale, use or other deal-
29 # ings in this Software without prior written authorization from the X Consor-
30 # tium.
31 #
32 #
33 # FSF changes to this file are in the public domain.
34 #
35 # Calling this script install-sh is preferred over install.sh, to prevent
36 # `make' implicit rules from creating a file called install from it
37 # when there is no Makefile.
38 #
39 # This script is compatible with the BSD install script, but was written
40 # from scratch. It can only install one file at a time, a restriction
41 # shared with many OS's install programs.
42
43
44 # set DOITPROG to echo to test this script
45
46 # Don't use :- since 4.3BSD and earlier shells don't like it.
47 doit="${DOITPROG-}"
48
49
50 # put in absolute paths if you don't have them in your path; or use env. vars.
51
52 mvprog="${MVPROG-mv}"
53 cpprog="${CPPROG-cp}"
54 chmodprog="${CHMODPROG-chmod}"
55 chownprog="${CHOWNPROG-chown}"
56 chgrpprog="${CHGRPPROG-chgrp}"
57 stripprog="${STRIPPROG-strip}"
58 rmprog="${RMPROG-rm}"
59 mkdirprog="${MKDIRPROG-mkdir}"
60
61 transformbasename=""
62 transform_arg=""
63 instcmd="$mvprog"
64 chmodcmd="$chmodprog 0755"
65 chowncmd=""
66 chgrpcmd=""
67 stripcmd=""
68 rmcmd="$rmprog -f"
69 mvcmd="$mvprog"
70 src=""
71 dst=""
72 dir_arg=""
73
74 while [ x"$1" != x ]; do
75 case $1 in
76 -c) instcmd=$cpprog
77 shift
78 continue;;
79
80 -d) dir_arg=true
81 shift
82 continue;;
83
84 -m) chmodcmd="$chmodprog $2"
85 shift
86 shift
87 continue;;
88
89 -o) chowncmd="$chownprog $2"
90 shift
91 shift
92 continue;;
93
94 -g) chgrpcmd="$chgrpprog $2"
95 shift
96 shift
97 continue;;
98
99 -s) stripcmd=$stripprog
100 shift
101 continue;;
102
103 -t=*) transformarg=`echo $1 | sed 's/-t=//'`
104 shift
105 continue;;
106
107 -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
108 shift
109 continue;;
110
111 *) if [ x"$src" = x ]
112 then
113 src=$1
114 else
115 # this colon is to work around a 386BSD /bin/sh bug
116 :
117 dst=$1
118 fi
119 shift
120 continue;;
121 esac
122 done
123
124 if [ x"$src" = x ]
125 then
126 echo "$0: no input file specified" >&2
127 exit 1
128 else
129 :
130 fi
131
132 if [ x"$dir_arg" != x ]; then
133 dst=$src
134 src=""
135
136 if [ -d "$dst" ]; then
137 instcmd=:
138 chmodcmd=""
139 else
140 instcmd=$mkdirprog
141 fi
142 else
143
144 # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
145 # might cause directories to be created, which would be especially bad
146 # if $src (and thus $dsttmp) contains '*'.
147
148 if [ -f "$src" ] || [ -d "$src" ]
149 then
150 :
151 else
152 echo "$0: $src does not exist" >&2
153 exit 1
154 fi
155
156 if [ x"$dst" = x ]
157 then
158 echo "$0: no destination specified" >&2
159 exit 1
160 else
161 :
162 fi
163
164 # If destination is a directory, append the input filename; if your system
165 # does not like double slashes in filenames, you may need to add some logic
166
167 if [ -d "$dst" ]
168 then
169 dst=$dst/`basename "$src"`
170 else
171 :
172 fi
173 fi
174
175 ## this sed command emulates the dirname command
176 dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
177
178 # Make sure that the destination directory exists.
179 # this part is taken from Noah Friedman's mkinstalldirs script
180
181 # Skip lots of stat calls in the usual case.
182 if [ ! -d "$dstdir" ]; then
183 defaultIFS='
184 '
185 IFS="${IFS-$defaultIFS}"
186
187 oIFS=$IFS
188 # Some sh's can't handle IFS=/ for some reason.
189 IFS='%'
190 set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
191 IFS=$oIFS
192
193 pathcomp=''
194
195 while [ $# -ne 0 ] ; do
196 pathcomp=$pathcomp$1
197 shift
198
199 if [ ! -d "$pathcomp" ] ;
200 then
201 $mkdirprog "$pathcomp"
202 else
203 :
204 fi
205
206 pathcomp=$pathcomp/
207 done
208 fi
209
210 if [ x"$dir_arg" != x ]
211 then
212 $doit $instcmd "$dst" &&
213
214 if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
215 if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
216 if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
217 if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
218 else
219
220 # If we're going to rename the final executable, determine the name now.
221
222 if [ x"$transformarg" = x ]
223 then
224 dstfile=`basename "$dst"`
225 else
226 dstfile=`basename "$dst" $transformbasename |
227 sed $transformarg`$transformbasename
228 fi
229
230 # don't allow the sed command to completely eliminate the filename
231
232 if [ x"$dstfile" = x ]
233 then
234 dstfile=`basename "$dst"`
235 else
236 :
237 fi
238
239 # Make a couple of temp file names in the proper directory.
240
241 dsttmp=$dstdir/_inst.$$_
242 rmtmp=$dstdir/_rm.$$_
243
244 # Trap to clean up temp files at exit.
245
246 trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
247 trap '(exit $?); exit' 1 2 13 15
248
249 # Move or copy the file name to the temp name
250
251 $doit $instcmd "$src" "$dsttmp" &&
252
253 # and set any options; do chmod last to preserve setuid bits
254
255 # If any of these fail, we abort the whole thing. If we want to
256 # ignore errors from any of these, just make sure not to ignore
257 # errors from the above "$doit $instcmd $src $dsttmp" command.
258
259 if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
260 if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
261 if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
262 if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
263
264 # Now remove or move aside any old file at destination location. We try this
265 # two ways since rm can't unlink itself on some systems and the destination
266 # file might be busy for other reasons. In this case, the final cleanup
267 # might fail but the new file should still install successfully.
268
269 {
270 if [ -f "$dstdir/$dstfile" ]
271 then
272 $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
273 $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
274 {
275 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
276 (exit 1); exit
277 }
278 else
279 :
280 fi
281 } &&
282
283 # Now rename the file to the real destination.
284
285 $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
286
287 fi &&
288
289 # The final little trick to "correctly" pass the exit status to the exit trap.
290
291 {
292 (exit 0); exit
293 }
0 # Generated from ltmain.m4sh.
1
2 # ltmain.sh (GNU libtool) 2.2.6b
3 # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
4
5 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
6 # This is free software; see the source for copying conditions. There is NO
7 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
8
9 # GNU Libtool is free software; you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by
11 # the Free Software Foundation; either version 2 of the License, or
12 # (at your option) any later version.
13 #
14 # As a special exception to the GNU General Public License,
15 # if you distribute this file as part of a program or library that
16 # is built using GNU Libtool, you may include this file under the
17 # same distribution terms that you use for the rest of that program.
18 #
19 # GNU Libtool is distributed in the hope that it will be useful, but
20 # WITHOUT ANY WARRANTY; without even the implied warranty of
21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22 # General Public License for more details.
23 #
24 # You should have received a copy of the GNU General Public License
25 # along with GNU Libtool; see the file COPYING. If not, a copy
26 # can be downloaded from http://www.gnu.org/licenses/gpl.html,
27 # or obtained by writing to the Free Software Foundation, Inc.,
28 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
29
30 # Usage: $progname [OPTION]... [MODE-ARG]...
31 #
32 # Provide generalized library-building support services.
33 #
34 # --config show all configuration variables
35 # --debug enable verbose shell tracing
36 # -n, --dry-run display commands without modifying any files
37 # --features display basic configuration information and exit
38 # --mode=MODE use operation mode MODE
39 # --preserve-dup-deps don't remove duplicate dependency libraries
40 # --quiet, --silent don't print informational messages
41 # --tag=TAG use configuration variables from tag TAG
42 # -v, --verbose print informational messages (default)
43 # --version print version information
44 # -h, --help print short or long help message
45 #
46 # MODE must be one of the following:
47 #
48 # clean remove files from the build directory
49 # compile compile a source file into a libtool object
50 # execute automatically set library path, then run a program
51 # finish complete the installation of libtool libraries
52 # install install libraries or executables
53 # link create a library or an executable
54 # uninstall remove libraries from an installed directory
55 #
56 # MODE-ARGS vary depending on the MODE.
57 # Try `$progname --help --mode=MODE' for a more detailed description of MODE.
58 #
59 # When reporting a bug, please describe a test case to reproduce it and
60 # include the following information:
61 #
62 # host-triplet: $host
63 # shell: $SHELL
64 # compiler: $LTCC
65 # compiler flags: $LTCFLAGS
66 # linker: $LD (gnu? $with_gnu_ld)
67 # $progname: (GNU libtool) 2.2.6b Debian-2.2.6b-2
68 # automake: $automake_version
69 # autoconf: $autoconf_version
70 #
71 # Report bugs to <bug-libtool@gnu.org>.
72
73 PROGRAM=ltmain.sh
74 PACKAGE=libtool
75 VERSION="2.2.6b Debian-2.2.6b-2"
76 TIMESTAMP=""
77 package_revision=1.3017
78
79 # Be Bourne compatible
80 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
81 emulate sh
82 NULLCMD=:
83 # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
84 # is contrary to our usage. Disable this feature.
85 alias -g '${1+"$@"}'='"$@"'
86 setopt NO_GLOB_SUBST
87 else
88 case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
89 fi
90 BIN_SH=xpg4; export BIN_SH # for Tru64
91 DUALCASE=1; export DUALCASE # for MKS sh
92
93 # NLS nuisances: We save the old values to restore during execute mode.
94 # Only set LANG and LC_ALL to C if already set.
95 # These must not be set unconditionally because not all systems understand
96 # e.g. LANG=C (notably SCO).
97 lt_user_locale=
98 lt_safe_locale=
99 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
100 do
101 eval "if test \"\${$lt_var+set}\" = set; then
102 save_$lt_var=\$$lt_var
103 $lt_var=C
104 export $lt_var
105 lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
106 lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
107 fi"
108 done
109
110 $lt_unset CDPATH
111
112
113
114
115
116 : ${CP="cp -f"}
117 : ${ECHO="echo"}
118 : ${EGREP="/bin/grep -E"}
119 : ${FGREP="/bin/grep -F"}
120 : ${GREP="/bin/grep"}
121 : ${LN_S="ln -s"}
122 : ${MAKE="make"}
123 : ${MKDIR="mkdir"}
124 : ${MV="mv -f"}
125 : ${RM="rm -f"}
126 : ${SED="/bin/sed"}
127 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
128 : ${Xsed="$SED -e 1s/^X//"}
129
130 # Global variables:
131 EXIT_SUCCESS=0
132 EXIT_FAILURE=1
133 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
134 EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
135
136 exit_status=$EXIT_SUCCESS
137
138 # Make sure IFS has a sensible default
139 lt_nl='
140 '
141 IFS=" $lt_nl"
142
143 dirname="s,/[^/]*$,,"
144 basename="s,^.*/,,"
145
146 # func_dirname_and_basename file append nondir_replacement
147 # perform func_basename and func_dirname in a single function
148 # call:
149 # dirname: Compute the dirname of FILE. If nonempty,
150 # add APPEND to the result, otherwise set result
151 # to NONDIR_REPLACEMENT.
152 # value returned in "$func_dirname_result"
153 # basename: Compute filename of FILE.
154 # value retuned in "$func_basename_result"
155 # Implementation must be kept synchronized with func_dirname
156 # and func_basename. For efficiency, we do not delegate to
157 # those functions but instead duplicate the functionality here.
158 func_dirname_and_basename ()
159 {
160 # Extract subdirectory from the argument.
161 func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
162 if test "X$func_dirname_result" = "X${1}"; then
163 func_dirname_result="${3}"
164 else
165 func_dirname_result="$func_dirname_result${2}"
166 fi
167 func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
168 }
169
170 # Generated shell functions inserted here.
171
172 # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
173 # is ksh but when the shell is invoked as "sh" and the current value of
174 # the _XPG environment variable is not equal to 1 (one), the special
175 # positional parameter $0, within a function call, is the name of the
176 # function.
177 progpath="$0"
178
179 # The name of this program:
180 # In the unlikely event $progname began with a '-', it would play havoc with
181 # func_echo (imagine progname=-n), so we prepend ./ in that case:
182 func_dirname_and_basename "$progpath"
183 progname=$func_basename_result
184 case $progname in
185 -*) progname=./$progname ;;
186 esac
187
188 # Make sure we have an absolute path for reexecution:
189 case $progpath in
190 [\\/]*|[A-Za-z]:\\*) ;;
191 *[\\/]*)
192 progdir=$func_dirname_result
193 progdir=`cd "$progdir" && pwd`
194 progpath="$progdir/$progname"
195 ;;
196 *)
197 save_IFS="$IFS"
198 IFS=:
199 for progdir in $PATH; do
200 IFS="$save_IFS"
201 test -x "$progdir/$progname" && break
202 done
203 IFS="$save_IFS"
204 test -n "$progdir" || progdir=`pwd`
205 progpath="$progdir/$progname"
206 ;;
207 esac
208
209 # Sed substitution that helps us do robust quoting. It backslashifies
210 # metacharacters that are still active within double-quoted strings.
211 Xsed="${SED}"' -e 1s/^X//'
212 sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
213
214 # Same as above, but do not quote variable references.
215 double_quote_subst='s/\(["`\\]\)/\\\1/g'
216
217 # Re-`\' parameter expansions in output of double_quote_subst that were
218 # `\'-ed in input to the same. If an odd number of `\' preceded a '$'
219 # in input to double_quote_subst, that '$' was protected from expansion.
220 # Since each input `\' is now two `\'s, look for any number of runs of
221 # four `\'s followed by two `\'s and then a '$'. `\' that '$'.
222 bs='\\'
223 bs2='\\\\'
224 bs4='\\\\\\\\'
225 dollar='\$'
226 sed_double_backslash="\
227 s/$bs4/&\\
228 /g
229 s/^$bs2$dollar/$bs&/
230 s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
231 s/\n//g"
232
233 # Standard options:
234 opt_dry_run=false
235 opt_help=false
236 opt_quiet=false
237 opt_verbose=false
238 opt_warning=:
239
240 # func_echo arg...
241 # Echo program name prefixed message, along with the current mode
242 # name if it has been set yet.
243 func_echo ()
244 {
245 $ECHO "$progname${mode+: }$mode: $*"
246 }
247
248 # func_verbose arg...
249 # Echo program name prefixed message in verbose mode only.
250 func_verbose ()
251 {
252 $opt_verbose && func_echo ${1+"$@"}
253
254 # A bug in bash halts the script if the last line of a function
255 # fails when set -e is in force, so we need another command to
256 # work around that:
257 :
258 }
259
260 # func_error arg...
261 # Echo program name prefixed message to standard error.
262 func_error ()
263 {
264 $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
265 }
266
267 # func_warning arg...
268 # Echo program name prefixed warning message to standard error.
269 func_warning ()
270 {
271 $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
272
273 # bash bug again:
274 :
275 }
276
277 # func_fatal_error arg...
278 # Echo program name prefixed message to standard error, and exit.
279 func_fatal_error ()
280 {
281 func_error ${1+"$@"}
282 exit $EXIT_FAILURE
283 }
284
285 # func_fatal_help arg...
286 # Echo program name prefixed message to standard error, followed by
287 # a help hint, and exit.
288 func_fatal_help ()
289 {
290 func_error ${1+"$@"}
291 func_fatal_error "$help"
292 }
293 help="Try \`$progname --help' for more information." ## default
294
295
296 # func_grep expression filename
297 # Check whether EXPRESSION matches any line of FILENAME, without output.
298 func_grep ()
299 {
300 $GREP "$1" "$2" >/dev/null 2>&1
301 }
302
303
304 # func_mkdir_p directory-path
305 # Make sure the entire path to DIRECTORY-PATH is available.
306 func_mkdir_p ()
307 {
308 my_directory_path="$1"
309 my_dir_list=
310
311 if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
312
313 # Protect directory names starting with `-'
314 case $my_directory_path in
315 -*) my_directory_path="./$my_directory_path" ;;
316 esac
317
318 # While some portion of DIR does not yet exist...
319 while test ! -d "$my_directory_path"; do
320 # ...make a list in topmost first order. Use a colon delimited
321 # list incase some portion of path contains whitespace.
322 my_dir_list="$my_directory_path:$my_dir_list"
323
324 # If the last portion added has no slash in it, the list is done
325 case $my_directory_path in */*) ;; *) break ;; esac
326
327 # ...otherwise throw away the child directory and loop
328 my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
329 done
330 my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
331
332 save_mkdir_p_IFS="$IFS"; IFS=':'
333 for my_dir in $my_dir_list; do
334 IFS="$save_mkdir_p_IFS"
335 # mkdir can fail with a `File exist' error if two processes
336 # try to create one of the directories concurrently. Don't
337 # stop in that case!
338 $MKDIR "$my_dir" 2>/dev/null || :
339 done
340 IFS="$save_mkdir_p_IFS"
341
342 # Bail out if we (or some other process) failed to create a directory.
343 test -d "$my_directory_path" || \
344 func_fatal_error "Failed to create \`$1'"
345 fi
346 }
347
348
349 # func_mktempdir [string]
350 # Make a temporary directory that won't clash with other running
351 # libtool processes, and avoids race conditions if possible. If
352 # given, STRING is the basename for that directory.
353 func_mktempdir ()
354 {
355 my_template="${TMPDIR-/tmp}/${1-$progname}"
356
357 if test "$opt_dry_run" = ":"; then
358 # Return a directory name, but don't create it in dry-run mode
359 my_tmpdir="${my_template}-$$"
360 else
361
362 # If mktemp works, use that first and foremost
363 my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
364
365 if test ! -d "$my_tmpdir"; then
366 # Failing that, at least try and use $RANDOM to avoid a race
367 my_tmpdir="${my_template}-${RANDOM-0}$$"
368
369 save_mktempdir_umask=`umask`
370 umask 0077
371 $MKDIR "$my_tmpdir"
372 umask $save_mktempdir_umask
373 fi
374
375 # If we're not in dry-run mode, bomb out on failure
376 test -d "$my_tmpdir" || \
377 func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
378 fi
379
380 $ECHO "X$my_tmpdir" | $Xsed
381 }
382
383
384 # func_quote_for_eval arg
385 # Aesthetically quote ARG to be evaled later.
386 # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
387 # is double-quoted, suitable for a subsequent eval, whereas
388 # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
389 # which are still active within double quotes backslashified.
390 func_quote_for_eval ()
391 {
392 case $1 in
393 *[\\\`\"\$]*)
394 func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
395 *)
396 func_quote_for_eval_unquoted_result="$1" ;;
397 esac
398
399 case $func_quote_for_eval_unquoted_result in
400 # Double-quote args containing shell metacharacters to delay
401 # word splitting, command substitution and and variable
402 # expansion for a subsequent eval.
403 # Many Bourne shells cannot handle close brackets correctly
404 # in scan sets, so we specify it separately.
405 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
406 func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
407 ;;
408 *)
409 func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
410 esac
411 }
412
413
414 # func_quote_for_expand arg
415 # Aesthetically quote ARG to be evaled later; same as above,
416 # but do not quote variable references.
417 func_quote_for_expand ()
418 {
419 case $1 in
420 *[\\\`\"]*)
421 my_arg=`$ECHO "X$1" | $Xsed \
422 -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
423 *)
424 my_arg="$1" ;;
425 esac
426
427 case $my_arg in
428 # Double-quote args containing shell metacharacters to delay
429 # word splitting and command substitution for a subsequent eval.
430 # Many Bourne shells cannot handle close brackets correctly
431 # in scan sets, so we specify it separately.
432 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
433 my_arg="\"$my_arg\""
434 ;;
435 esac
436
437 func_quote_for_expand_result="$my_arg"
438 }
439
440
441 # func_show_eval cmd [fail_exp]
442 # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
443 # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
444 # is given, then evaluate it.
445 func_show_eval ()
446 {
447 my_cmd="$1"
448 my_fail_exp="${2-:}"
449
450 ${opt_silent-false} || {
451 func_quote_for_expand "$my_cmd"
452 eval "func_echo $func_quote_for_expand_result"
453 }
454
455 if ${opt_dry_run-false}; then :; else
456 eval "$my_cmd"
457 my_status=$?
458 if test "$my_status" -eq 0; then :; else
459 eval "(exit $my_status); $my_fail_exp"
460 fi
461 fi
462 }
463
464
465 # func_show_eval_locale cmd [fail_exp]
466 # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
467 # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
468 # is given, then evaluate it. Use the saved locale for evaluation.
469 func_show_eval_locale ()
470 {
471 my_cmd="$1"
472 my_fail_exp="${2-:}"
473
474 ${opt_silent-false} || {
475 func_quote_for_expand "$my_cmd"
476 eval "func_echo $func_quote_for_expand_result"
477 }
478
479 if ${opt_dry_run-false}; then :; else
480 eval "$lt_user_locale
481 $my_cmd"
482 my_status=$?
483 eval "$lt_safe_locale"
484 if test "$my_status" -eq 0; then :; else
485 eval "(exit $my_status); $my_fail_exp"
486 fi
487 fi
488 }
489
490
491
492
493
494 # func_version
495 # Echo version message to standard output and exit.
496 func_version ()
497 {
498 $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
499 s/^# //
500 s/^# *$//
501 s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
502 p
503 }' < "$progpath"
504 exit $?
505 }
506
507 # func_usage
508 # Echo short help message to standard output and exit.
509 func_usage ()
510 {
511 $SED -n '/^# Usage:/,/# -h/ {
512 s/^# //
513 s/^# *$//
514 s/\$progname/'$progname'/
515 p
516 }' < "$progpath"
517 $ECHO
518 $ECHO "run \`$progname --help | more' for full usage"
519 exit $?
520 }
521
522 # func_help
523 # Echo long help message to standard output and exit.
524 func_help ()
525 {
526 $SED -n '/^# Usage:/,/# Report bugs to/ {
527 s/^# //
528 s/^# *$//
529 s*\$progname*'$progname'*
530 s*\$host*'"$host"'*
531 s*\$SHELL*'"$SHELL"'*
532 s*\$LTCC*'"$LTCC"'*
533 s*\$LTCFLAGS*'"$LTCFLAGS"'*
534 s*\$LD*'"$LD"'*
535 s/\$with_gnu_ld/'"$with_gnu_ld"'/
536 s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
537 s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
538 p
539 }' < "$progpath"
540 exit $?
541 }
542
543 # func_missing_arg argname
544 # Echo program name prefixed message to standard error and set global
545 # exit_cmd.
546 func_missing_arg ()
547 {
548 func_error "missing argument for $1"
549 exit_cmd=exit
550 }
551
552 exit_cmd=:
553
554
555
556
557
558 # Check that we have a working $ECHO.
559 if test "X$1" = X--no-reexec; then
560 # Discard the --no-reexec flag, and continue.
561 shift
562 elif test "X$1" = X--fallback-echo; then
563 # Avoid inline document here, it may be left over
564 :
565 elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
566 # Yippee, $ECHO works!
567 :
568 else
569 # Restart under the correct shell, and then maybe $ECHO will work.
570 exec $SHELL "$progpath" --no-reexec ${1+"$@"}
571 fi
572
573 if test "X$1" = X--fallback-echo; then
574 # used as fallback echo
575 shift
576 cat <<EOF
577 $*
578 EOF
579 exit $EXIT_SUCCESS
580 fi
581
582 magic="%%%MAGIC variable%%%"
583 magic_exe="%%%MAGIC EXE variable%%%"
584
585 # Global variables.
586 # $mode is unset
587 nonopt=
588 execute_dlfiles=
589 preserve_args=
590 lo2o="s/\\.lo\$/.${objext}/"
591 o2lo="s/\\.${objext}\$/.lo/"
592 extracted_archives=
593 extracted_serial=0
594
595 opt_dry_run=false
596 opt_duplicate_deps=false
597 opt_silent=false
598 opt_debug=:
599
600 # If this variable is set in any of the actions, the command in it
601 # will be execed at the end. This prevents here-documents from being
602 # left over by shells.
603 exec_cmd=
604
605 # func_fatal_configuration arg...
606 # Echo program name prefixed message to standard error, followed by
607 # a configuration failure hint, and exit.
608 func_fatal_configuration ()
609 {
610 func_error ${1+"$@"}
611 func_error "See the $PACKAGE documentation for more information."
612 func_fatal_error "Fatal configuration error."
613 }
614
615
616 # func_config
617 # Display the configuration for all the tags in this script.
618 func_config ()
619 {
620 re_begincf='^# ### BEGIN LIBTOOL'
621 re_endcf='^# ### END LIBTOOL'
622
623 # Default configuration.
624 $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
625
626 # Now print the configurations for the tags.
627 for tagname in $taglist; do
628 $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
629 done
630
631 exit $?
632 }
633
634 # func_features
635 # Display the features supported by this script.
636 func_features ()
637 {
638 $ECHO "host: $host"
639 if test "$build_libtool_libs" = yes; then
640 $ECHO "enable shared libraries"
641 else
642 $ECHO "disable shared libraries"
643 fi
644 if test "$build_old_libs" = yes; then
645 $ECHO "enable static libraries"
646 else
647 $ECHO "disable static libraries"
648 fi
649
650 exit $?
651 }
652
653 # func_enable_tag tagname
654 # Verify that TAGNAME is valid, and either flag an error and exit, or
655 # enable the TAGNAME tag. We also add TAGNAME to the global $taglist
656 # variable here.
657 func_enable_tag ()
658 {
659 # Global variable:
660 tagname="$1"
661
662 re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
663 re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
664 sed_extractcf="/$re_begincf/,/$re_endcf/p"
665
666 # Validate tagname.
667 case $tagname in
668 *[!-_A-Za-z0-9,/]*)
669 func_fatal_error "invalid tag name: $tagname"
670 ;;
671 esac
672
673 # Don't test for the "default" C tag, as we know it's
674 # there but not specially marked.
675 case $tagname in
676 CC) ;;
677 *)
678 if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
679 taglist="$taglist $tagname"
680
681 # Evaluate the configuration. Be careful to quote the path
682 # and the sed script, to avoid splitting on whitespace, but
683 # also don't use non-portable quotes within backquotes within
684 # quotes we have to do it in 2 steps:
685 extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
686 eval "$extractedcf"
687 else
688 func_error "ignoring unknown tag $tagname"
689 fi
690 ;;
691 esac
692 }
693
694 # Parse options once, thoroughly. This comes as soon as possible in
695 # the script to make things like `libtool --version' happen quickly.
696 {
697
698 # Shorthand for --mode=foo, only valid as the first argument
699 case $1 in
700 clean|clea|cle|cl)
701 shift; set dummy --mode clean ${1+"$@"}; shift
702 ;;
703 compile|compil|compi|comp|com|co|c)
704 shift; set dummy --mode compile ${1+"$@"}; shift
705 ;;
706 execute|execut|execu|exec|exe|ex|e)
707 shift; set dummy --mode execute ${1+"$@"}; shift
708 ;;
709 finish|finis|fini|fin|fi|f)
710 shift; set dummy --mode finish ${1+"$@"}; shift
711 ;;
712 install|instal|insta|inst|ins|in|i)
713 shift; set dummy --mode install ${1+"$@"}; shift
714 ;;
715 link|lin|li|l)
716 shift; set dummy --mode link ${1+"$@"}; shift
717 ;;
718 uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
719 shift; set dummy --mode uninstall ${1+"$@"}; shift
720 ;;
721 esac
722
723 # Parse non-mode specific arguments:
724 while test "$#" -gt 0; do
725 opt="$1"
726 shift
727
728 case $opt in
729 --config) func_config ;;
730
731 --debug) preserve_args="$preserve_args $opt"
732 func_echo "enabling shell trace mode"
733 opt_debug='set -x'
734 $opt_debug
735 ;;
736
737 -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break
738 execute_dlfiles="$execute_dlfiles $1"
739 shift
740 ;;
741
742 --dry-run | -n) opt_dry_run=: ;;
743 --features) func_features ;;
744 --finish) mode="finish" ;;
745
746 --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break
747 case $1 in
748 # Valid mode arguments:
749 clean) ;;
750 compile) ;;
751 execute) ;;
752 finish) ;;
753 install) ;;
754 link) ;;
755 relink) ;;
756 uninstall) ;;
757
758 # Catch anything else as an error
759 *) func_error "invalid argument for $opt"
760 exit_cmd=exit
761 break
762 ;;
763 esac
764
765 mode="$1"
766 shift
767 ;;
768
769 --preserve-dup-deps)
770 opt_duplicate_deps=: ;;
771
772 --quiet|--silent) preserve_args="$preserve_args $opt"
773 opt_silent=:
774 ;;
775
776 --verbose| -v) preserve_args="$preserve_args $opt"
777 opt_silent=false
778 ;;
779
780 --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break
781 preserve_args="$preserve_args $opt $1"
782 func_enable_tag "$1" # tagname is set here
783 shift
784 ;;
785
786 # Separate optargs to long options:
787 -dlopen=*|--mode=*|--tag=*)
788 func_opt_split "$opt"
789 set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
790 shift
791 ;;
792
793 -\?|-h) func_usage ;;
794 --help) opt_help=: ;;
795 --version) func_version ;;
796
797 -*) func_fatal_help "unrecognized option \`$opt'" ;;
798
799 *) nonopt="$opt"
800 break
801 ;;
802 esac
803 done
804
805
806 case $host in
807 *cygwin* | *mingw* | *pw32* | *cegcc*)
808 # don't eliminate duplications in $postdeps and $predeps
809 opt_duplicate_compiler_generated_deps=:
810 ;;
811 *)
812 opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
813 ;;
814 esac
815
816 # Having warned about all mis-specified options, bail out if
817 # anything was wrong.
818 $exit_cmd $EXIT_FAILURE
819 }
820
821 # func_check_version_match
822 # Ensure that we are using m4 macros, and libtool script from the same
823 # release of libtool.
824 func_check_version_match ()
825 {
826 if test "$package_revision" != "$macro_revision"; then
827 if test "$VERSION" != "$macro_version"; then
828 if test -z "$macro_version"; then
829 cat >&2 <<_LT_EOF
830 $progname: Version mismatch error. This is $PACKAGE $VERSION, but the
831 $progname: definition of this LT_INIT comes from an older release.
832 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
833 $progname: and run autoconf again.
834 _LT_EOF
835 else
836 cat >&2 <<_LT_EOF
837 $progname: Version mismatch error. This is $PACKAGE $VERSION, but the
838 $progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
839 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
840 $progname: and run autoconf again.
841 _LT_EOF
842 fi
843 else
844 cat >&2 <<_LT_EOF
845 $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
846 $progname: but the definition of this LT_INIT comes from revision $macro_revision.
847 $progname: You should recreate aclocal.m4 with macros from revision $package_revision
848 $progname: of $PACKAGE $VERSION and run autoconf again.
849 _LT_EOF
850 fi
851
852 exit $EXIT_MISMATCH
853 fi
854 }
855
856
857 ## ----------- ##
858 ## Main. ##
859 ## ----------- ##
860
861 $opt_help || {
862 # Sanity checks first:
863 func_check_version_match
864
865 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
866 func_fatal_configuration "not configured to build any kind of library"
867 fi
868
869 test -z "$mode" && func_fatal_error "error: you must specify a MODE."
870
871
872 # Darwin sucks
873 eval std_shrext=\"$shrext_cmds\"
874
875
876 # Only execute mode is allowed to have -dlopen flags.
877 if test -n "$execute_dlfiles" && test "$mode" != execute; then
878 func_error "unrecognized option \`-dlopen'"
879 $ECHO "$help" 1>&2
880 exit $EXIT_FAILURE
881 fi
882
883 # Change the help message to a mode-specific one.
884 generic_help="$help"
885 help="Try \`$progname --help --mode=$mode' for more information."
886 }
887
888
889 # func_lalib_p file
890 # True iff FILE is a libtool `.la' library or `.lo' object file.
891 # This function is only a basic sanity check; it will hardly flush out
892 # determined imposters.
893 func_lalib_p ()
894 {
895 test -f "$1" &&
896 $SED -e 4q "$1" 2>/dev/null \
897 | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
898 }
899
900 # func_lalib_unsafe_p file
901 # True iff FILE is a libtool `.la' library or `.lo' object file.
902 # This function implements the same check as func_lalib_p without
903 # resorting to external programs. To this end, it redirects stdin and
904 # closes it afterwards, without saving the original file descriptor.
905 # As a safety measure, use it only where a negative result would be
906 # fatal anyway. Works if `file' does not exist.
907 func_lalib_unsafe_p ()
908 {
909 lalib_p=no
910 if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
911 for lalib_p_l in 1 2 3 4
912 do
913 read lalib_p_line
914 case "$lalib_p_line" in
915 \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
916 esac
917 done
918 exec 0<&5 5<&-
919 fi
920 test "$lalib_p" = yes
921 }
922
923 # func_ltwrapper_script_p file
924 # True iff FILE is a libtool wrapper script
925 # This function is only a basic sanity check; it will hardly flush out
926 # determined imposters.
927 func_ltwrapper_script_p ()
928 {
929 func_lalib_p "$1"
930 }
931
932 # func_ltwrapper_executable_p file
933 # True iff FILE is a libtool wrapper executable
934 # This function is only a basic sanity check; it will hardly flush out
935 # determined imposters.
936 func_ltwrapper_executable_p ()
937 {
938 func_ltwrapper_exec_suffix=
939 case $1 in
940 *.exe) ;;
941 *) func_ltwrapper_exec_suffix=.exe ;;
942 esac
943 $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
944 }
945
946 # func_ltwrapper_scriptname file
947 # Assumes file is an ltwrapper_executable
948 # uses $file to determine the appropriate filename for a
949 # temporary ltwrapper_script.
950 func_ltwrapper_scriptname ()
951 {
952 func_ltwrapper_scriptname_result=""
953 if func_ltwrapper_executable_p "$1"; then
954 func_dirname_and_basename "$1" "" "."
955 func_stripname '' '.exe' "$func_basename_result"
956 func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
957 fi
958 }
959
960 # func_ltwrapper_p file
961 # True iff FILE is a libtool wrapper script or wrapper executable
962 # This function is only a basic sanity check; it will hardly flush out
963 # determined imposters.
964 func_ltwrapper_p ()
965 {
966 func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
967 }
968
969
970 # func_execute_cmds commands fail_cmd
971 # Execute tilde-delimited COMMANDS.
972 # If FAIL_CMD is given, eval that upon failure.
973 # FAIL_CMD may read-access the current command in variable CMD!
974 func_execute_cmds ()
975 {
976 $opt_debug
977 save_ifs=$IFS; IFS='~'
978 for cmd in $1; do
979 IFS=$save_ifs
980 eval cmd=\"$cmd\"
981 func_show_eval "$cmd" "${2-:}"
982 done
983 IFS=$save_ifs
984 }
985
986
987 # func_source file
988 # Source FILE, adding directory component if necessary.
989 # Note that it is not necessary on cygwin/mingw to append a dot to
990 # FILE even if both FILE and FILE.exe exist: automatic-append-.exe
991 # behavior happens only for exec(3), not for open(2)! Also, sourcing
992 # `FILE.' does not work on cygwin managed mounts.
993 func_source ()
994 {
995 $opt_debug
996 case $1 in
997 */* | *\\*) . "$1" ;;
998 *) . "./$1" ;;
999 esac
1000 }
1001
1002
1003 # func_infer_tag arg
1004 # Infer tagged configuration to use if any are available and
1005 # if one wasn't chosen via the "--tag" command line option.
1006 # Only attempt this if the compiler in the base compile
1007 # command doesn't match the default compiler.
1008 # arg is usually of the form 'gcc ...'
1009 func_infer_tag ()
1010 {
1011 $opt_debug
1012 if test -n "$available_tags" && test -z "$tagname"; then
1013 CC_quoted=
1014 for arg in $CC; do
1015 func_quote_for_eval "$arg"
1016 CC_quoted="$CC_quoted $func_quote_for_eval_result"
1017 done
1018 case $@ in
1019 # Blanks in the command may have been stripped by the calling shell,
1020 # but not from the CC environment variable when configure was run.
1021 " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
1022 # Blanks at the start of $base_compile will cause this to fail
1023 # if we don't check for them as well.
1024 *)
1025 for z in $available_tags; do
1026 if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
1027 # Evaluate the configuration.
1028 eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
1029 CC_quoted=
1030 for arg in $CC; do
1031 # Double-quote args containing other shell metacharacters.
1032 func_quote_for_eval "$arg"
1033 CC_quoted="$CC_quoted $func_quote_for_eval_result"
1034 done
1035 case "$@ " in
1036 " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
1037 # The compiler in the base compile command matches
1038 # the one in the tagged configuration.
1039 # Assume this is the tagged configuration we want.
1040 tagname=$z
1041 break
1042 ;;
1043 esac
1044 fi
1045 done
1046 # If $tagname still isn't set, then no tagged configuration
1047 # was found and let the user know that the "--tag" command
1048 # line option must be used.
1049 if test -z "$tagname"; then
1050 func_echo "unable to infer tagged configuration"
1051 func_fatal_error "specify a tag with \`--tag'"
1052 # else
1053 # func_verbose "using $tagname tagged configuration"
1054 fi
1055 ;;
1056 esac
1057 fi
1058 }
1059
1060
1061
1062 # func_write_libtool_object output_name pic_name nonpic_name
1063 # Create a libtool object file (analogous to a ".la" file),
1064 # but don't create it if we're doing a dry run.
1065 func_write_libtool_object ()
1066 {
1067 write_libobj=${1}
1068 if test "$build_libtool_libs" = yes; then
1069 write_lobj=\'${2}\'
1070 else
1071 write_lobj=none
1072 fi
1073
1074 if test "$build_old_libs" = yes; then
1075 write_oldobj=\'${3}\'
1076 else
1077 write_oldobj=none
1078 fi
1079
1080 $opt_dry_run || {
1081 cat >${write_libobj}T <<EOF
1082 # $write_libobj - a libtool object file
1083 # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
1084 #
1085 # Please DO NOT delete this file!
1086 # It is necessary for linking the library.
1087
1088 # Name of the PIC object.
1089 pic_object=$write_lobj
1090
1091 # Name of the non-PIC object
1092 non_pic_object=$write_oldobj
1093
1094 EOF
1095 $MV "${write_libobj}T" "${write_libobj}"
1096 }
1097 }
1098
1099 # func_mode_compile arg...
1100 func_mode_compile ()
1101 {
1102 $opt_debug
1103 # Get the compilation command and the source file.
1104 base_compile=
1105 srcfile="$nonopt" # always keep a non-empty value in "srcfile"
1106 suppress_opt=yes
1107 suppress_output=
1108 arg_mode=normal
1109 libobj=
1110 later=
1111 pie_flag=
1112
1113 for arg
1114 do
1115 case $arg_mode in
1116 arg )
1117 # do not "continue". Instead, add this to base_compile
1118 lastarg="$arg"
1119 arg_mode=normal
1120 ;;
1121
1122 target )
1123 libobj="$arg"
1124 arg_mode=normal
1125 continue
1126 ;;
1127
1128 normal )
1129 # Accept any command-line options.
1130 case $arg in
1131 -o)
1132 test -n "$libobj" && \
1133 func_fatal_error "you cannot specify \`-o' more than once"
1134 arg_mode=target
1135 continue
1136 ;;
1137
1138 -pie | -fpie | -fPIE)
1139 pie_flag="$pie_flag $arg"
1140 continue
1141 ;;
1142
1143 -shared | -static | -prefer-pic | -prefer-non-pic)
1144 later="$later $arg"
1145 continue
1146 ;;
1147
1148 -no-suppress)
1149 suppress_opt=no
1150 continue
1151 ;;
1152
1153 -Xcompiler)
1154 arg_mode=arg # the next one goes into the "base_compile" arg list
1155 continue # The current "srcfile" will either be retained or
1156 ;; # replaced later. I would guess that would be a bug.
1157
1158 -Wc,*)
1159 func_stripname '-Wc,' '' "$arg"
1160 args=$func_stripname_result
1161 lastarg=
1162 save_ifs="$IFS"; IFS=','
1163 for arg in $args; do
1164 IFS="$save_ifs"
1165 func_quote_for_eval "$arg"
1166 lastarg="$lastarg $func_quote_for_eval_result"
1167 done
1168 IFS="$save_ifs"
1169 func_stripname ' ' '' "$lastarg"
1170 lastarg=$func_stripname_result
1171
1172 # Add the arguments to base_compile.
1173 base_compile="$base_compile $lastarg"
1174 continue
1175 ;;
1176
1177 *)
1178 # Accept the current argument as the source file.
1179 # The previous "srcfile" becomes the current argument.
1180 #
1181 lastarg="$srcfile"
1182 srcfile="$arg"
1183 ;;
1184 esac # case $arg
1185 ;;
1186 esac # case $arg_mode
1187
1188 # Aesthetically quote the previous argument.
1189 func_quote_for_eval "$lastarg"
1190 base_compile="$base_compile $func_quote_for_eval_result"
1191 done # for arg
1192
1193 case $arg_mode in
1194 arg)
1195 func_fatal_error "you must specify an argument for -Xcompile"
1196 ;;
1197 target)
1198 func_fatal_error "you must specify a target with \`-o'"
1199 ;;
1200 *)
1201 # Get the name of the library object.
1202 test -z "$libobj" && {
1203 func_basename "$srcfile"
1204 libobj="$func_basename_result"
1205 }
1206 ;;
1207 esac
1208
1209 # Recognize several different file suffixes.
1210 # If the user specifies -o file.o, it is replaced with file.lo
1211 case $libobj in
1212 *.[cCFSifmso] | \
1213 *.ada | *.adb | *.ads | *.asm | \
1214 *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
1215 *.[fF][09]? | *.for | *.java | *.obj | *.sx)
1216 func_xform "$libobj"
1217 libobj=$func_xform_result
1218 ;;
1219 esac
1220
1221 case $libobj in
1222 *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
1223 *)
1224 func_fatal_error "cannot determine name of library object from \`$libobj'"
1225 ;;
1226 esac
1227
1228 func_infer_tag $base_compile
1229
1230 for arg in $later; do
1231 case $arg in
1232 -shared)
1233 test "$build_libtool_libs" != yes && \
1234 func_fatal_configuration "can not build a shared library"
1235 build_old_libs=no
1236 continue
1237 ;;
1238
1239 -static)
1240 build_libtool_libs=no
1241 build_old_libs=yes
1242 continue
1243 ;;
1244
1245 -prefer-pic)
1246 pic_mode=yes
1247 continue
1248 ;;
1249
1250 -prefer-non-pic)
1251 pic_mode=no
1252 continue
1253 ;;
1254 esac
1255 done
1256
1257 func_quote_for_eval "$libobj"
1258 test "X$libobj" != "X$func_quote_for_eval_result" \
1259 && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
1260 && func_warning "libobj name \`$libobj' may not contain shell special characters."
1261 func_dirname_and_basename "$obj" "/" ""
1262 objname="$func_basename_result"
1263 xdir="$func_dirname_result"
1264 lobj=${xdir}$objdir/$objname
1265
1266 test -z "$base_compile" && \
1267 func_fatal_help "you must specify a compilation command"
1268
1269 # Delete any leftover library objects.
1270 if test "$build_old_libs" = yes; then
1271 removelist="$obj $lobj $libobj ${libobj}T"
1272 else
1273 removelist="$lobj $libobj ${libobj}T"
1274 fi
1275
1276 # On Cygwin there's no "real" PIC flag so we must build both object types
1277 case $host_os in
1278 cygwin* | mingw* | pw32* | os2* | cegcc*)
1279 pic_mode=default
1280 ;;
1281 esac
1282 if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
1283 # non-PIC code in shared libraries is not supported
1284 pic_mode=default
1285 fi
1286
1287 # Calculate the filename of the output object if compiler does
1288 # not support -o with -c
1289 if test "$compiler_c_o" = no; then
1290 output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
1291 lockfile="$output_obj.lock"
1292 else
1293 output_obj=
1294 need_locks=no
1295 lockfile=
1296 fi
1297
1298 # Lock this critical section if it is needed
1299 # We use this script file to make the link, it avoids creating a new file
1300 if test "$need_locks" = yes; then
1301 until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
1302 func_echo "Waiting for $lockfile to be removed"
1303 sleep 2
1304 done
1305 elif test "$need_locks" = warn; then
1306 if test -f "$lockfile"; then
1307 $ECHO "\
1308 *** ERROR, $lockfile exists and contains:
1309 `cat $lockfile 2>/dev/null`
1310
1311 This indicates that another process is trying to use the same
1312 temporary object file, and libtool could not work around it because
1313 your compiler does not support \`-c' and \`-o' together. If you
1314 repeat this compilation, it may succeed, by chance, but you had better
1315 avoid parallel builds (make -j) in this platform, or get a better
1316 compiler."
1317
1318 $opt_dry_run || $RM $removelist
1319 exit $EXIT_FAILURE
1320 fi
1321 removelist="$removelist $output_obj"
1322 $ECHO "$srcfile" > "$lockfile"
1323 fi
1324
1325 $opt_dry_run || $RM $removelist
1326 removelist="$removelist $lockfile"
1327 trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
1328
1329 if test -n "$fix_srcfile_path"; then
1330 eval srcfile=\"$fix_srcfile_path\"
1331 fi
1332 func_quote_for_eval "$srcfile"
1333 qsrcfile=$func_quote_for_eval_result
1334
1335 # Only build a PIC object if we are building libtool libraries.
1336 if test "$build_libtool_libs" = yes; then
1337 # Without this assignment, base_compile gets emptied.
1338 fbsd_hideous_sh_bug=$base_compile
1339
1340 if test "$pic_mode" != no; then
1341 command="$base_compile $qsrcfile $pic_flag"
1342 else
1343 # Don't build PIC code
1344 command="$base_compile $qsrcfile"
1345 fi
1346
1347 func_mkdir_p "$xdir$objdir"
1348
1349 if test -z "$output_obj"; then
1350 # Place PIC objects in $objdir
1351 command="$command -o $lobj"
1352 fi
1353
1354 func_show_eval_locale "$command" \
1355 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
1356
1357 if test "$need_locks" = warn &&
1358 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
1359 $ECHO "\
1360 *** ERROR, $lockfile contains:
1361 `cat $lockfile 2>/dev/null`
1362
1363 but it should contain:
1364 $srcfile
1365
1366 This indicates that another process is trying to use the same
1367 temporary object file, and libtool could not work around it because
1368 your compiler does not support \`-c' and \`-o' together. If you
1369 repeat this compilation, it may succeed, by chance, but you had better
1370 avoid parallel builds (make -j) in this platform, or get a better
1371 compiler."
1372
1373 $opt_dry_run || $RM $removelist
1374 exit $EXIT_FAILURE
1375 fi
1376
1377 # Just move the object if needed, then go on to compile the next one
1378 if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
1379 func_show_eval '$MV "$output_obj" "$lobj"' \
1380 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
1381 fi
1382
1383 # Allow error messages only from the first compilation.
1384 if test "$suppress_opt" = yes; then
1385 suppress_output=' >/dev/null 2>&1'
1386 fi
1387 fi
1388
1389 # Only build a position-dependent object if we build old libraries.
1390 if test "$build_old_libs" = yes; then
1391 if test "$pic_mode" != yes; then
1392 # Don't build PIC code
1393 command="$base_compile $qsrcfile$pie_flag"
1394 else
1395 command="$base_compile $qsrcfile $pic_flag"
1396 fi
1397 if test "$compiler_c_o" = yes; then
1398 command="$command -o $obj"
1399 fi
1400
1401 # Suppress compiler output if we already did a PIC compilation.
1402 command="$command$suppress_output"
1403 func_show_eval_locale "$command" \
1404 '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
1405
1406 if test "$need_locks" = warn &&
1407 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
1408 $ECHO "\
1409 *** ERROR, $lockfile contains:
1410 `cat $lockfile 2>/dev/null`
1411
1412 but it should contain:
1413 $srcfile
1414
1415 This indicates that another process is trying to use the same
1416 temporary object file, and libtool could not work around it because
1417 your compiler does not support \`-c' and \`-o' together. If you
1418 repeat this compilation, it may succeed, by chance, but you had better
1419 avoid parallel builds (make -j) in this platform, or get a better
1420 compiler."
1421
1422 $opt_dry_run || $RM $removelist
1423 exit $EXIT_FAILURE
1424 fi
1425
1426 # Just move the object if needed
1427 if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
1428 func_show_eval '$MV "$output_obj" "$obj"' \
1429 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
1430 fi
1431 fi
1432
1433 $opt_dry_run || {
1434 func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
1435
1436 # Unlock the critical section if it was locked
1437 if test "$need_locks" != no; then
1438 removelist=$lockfile
1439 $RM "$lockfile"
1440 fi
1441 }
1442
1443 exit $EXIT_SUCCESS
1444 }
1445
1446 $opt_help || {
1447 test "$mode" = compile && func_mode_compile ${1+"$@"}
1448 }
1449
1450 func_mode_help ()
1451 {
1452 # We need to display help for each of the modes.
1453 case $mode in
1454 "")
1455 # Generic help is extracted from the usage comments
1456 # at the start of this file.
1457 func_help
1458 ;;
1459
1460 clean)
1461 $ECHO \
1462 "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
1463
1464 Remove files from the build directory.
1465
1466 RM is the name of the program to use to delete files associated with each FILE
1467 (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
1468 to RM.
1469
1470 If FILE is a libtool library, object or program, all the files associated
1471 with it are deleted. Otherwise, only FILE itself is deleted using RM."
1472 ;;
1473
1474 compile)
1475 $ECHO \
1476 "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
1477
1478 Compile a source file into a libtool library object.
1479
1480 This mode accepts the following additional options:
1481
1482 -o OUTPUT-FILE set the output file name to OUTPUT-FILE
1483 -no-suppress do not suppress compiler output for multiple passes
1484 -prefer-pic try to building PIC objects only
1485 -prefer-non-pic try to building non-PIC objects only
1486 -shared do not build a \`.o' file suitable for static linking
1487 -static only build a \`.o' file suitable for static linking
1488
1489 COMPILE-COMMAND is a command to be used in creating a \`standard' object file
1490 from the given SOURCEFILE.
1491
1492 The output file name is determined by removing the directory component from
1493 SOURCEFILE, then substituting the C source code suffix \`.c' with the
1494 library object suffix, \`.lo'."
1495 ;;
1496
1497 execute)
1498 $ECHO \
1499 "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
1500
1501 Automatically set library path, then run a program.
1502
1503 This mode accepts the following additional options:
1504
1505 -dlopen FILE add the directory containing FILE to the library path
1506
1507 This mode sets the library path environment variable according to \`-dlopen'
1508 flags.
1509
1510 If any of the ARGS are libtool executable wrappers, then they are translated
1511 into their corresponding uninstalled binary, and any of their required library
1512 directories are added to the library path.
1513
1514 Then, COMMAND is executed, with ARGS as arguments."
1515 ;;
1516
1517 finish)
1518 $ECHO \
1519 "Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
1520
1521 Complete the installation of libtool libraries.
1522
1523 Each LIBDIR is a directory that contains libtool libraries.
1524
1525 The commands that this mode executes may require superuser privileges. Use
1526 the \`--dry-run' option if you just want to see what would be executed."
1527 ;;
1528
1529 install)
1530 $ECHO \
1531 "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
1532
1533 Install executables or libraries.
1534
1535 INSTALL-COMMAND is the installation command. The first component should be
1536 either the \`install' or \`cp' program.
1537
1538 The following components of INSTALL-COMMAND are treated specially:
1539
1540 -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation
1541
1542 The rest of the components are interpreted as arguments to that command (only
1543 BSD-compatible install options are recognized)."
1544 ;;
1545
1546 link)
1547 $ECHO \
1548 "Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
1549
1550 Link object files or libraries together to form another library, or to
1551 create an executable program.
1552
1553 LINK-COMMAND is a command using the C compiler that you would use to create
1554 a program from several object files.
1555
1556 The following components of LINK-COMMAND are treated specially:
1557
1558 -all-static do not do any dynamic linking at all
1559 -avoid-version do not add a version suffix if possible
1560 -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
1561 -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
1562 -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
1563 -export-symbols SYMFILE
1564 try to export only the symbols listed in SYMFILE
1565 -export-symbols-regex REGEX
1566 try to export only the symbols matching REGEX
1567 -LLIBDIR search LIBDIR for required installed libraries
1568 -lNAME OUTPUT-FILE requires the installed library libNAME
1569 -module build a library that can dlopened
1570 -no-fast-install disable the fast-install mode
1571 -no-install link a not-installable executable
1572 -no-undefined declare that a library does not refer to external symbols
1573 -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
1574 -objectlist FILE Use a list of object files found in FILE to specify objects
1575 -precious-files-regex REGEX
1576 don't remove output files matching REGEX
1577 -release RELEASE specify package release information
1578 -rpath LIBDIR the created library will eventually be installed in LIBDIR
1579 -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
1580 -shared only do dynamic linking of libtool libraries
1581 -shrext SUFFIX override the standard shared library file extension
1582 -static do not do any dynamic linking of uninstalled libtool libraries
1583 -static-libtool-libs
1584 do not do any dynamic linking of libtool libraries
1585 -version-info CURRENT[:REVISION[:AGE]]
1586 specify library version info [each variable defaults to 0]
1587 -weak LIBNAME declare that the target provides the LIBNAME interface
1588
1589 All other options (arguments beginning with \`-') are ignored.
1590
1591 Every other argument is treated as a filename. Files ending in \`.la' are
1592 treated as uninstalled libtool libraries, other files are standard or library
1593 object files.
1594
1595 If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
1596 only library objects (\`.lo' files) may be specified, and \`-rpath' is
1597 required, except when creating a convenience library.
1598
1599 If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
1600 using \`ar' and \`ranlib', or on Windows using \`lib'.
1601
1602 If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
1603 is created, otherwise an executable program is created."
1604 ;;
1605
1606 uninstall)
1607 $ECHO \
1608 "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
1609
1610 Remove libraries from an installation directory.
1611
1612 RM is the name of the program to use to delete files associated with each FILE
1613 (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
1614 to RM.
1615
1616 If FILE is a libtool library, all the files associated with it are deleted.
1617 Otherwise, only FILE itself is deleted using RM."
1618 ;;
1619
1620 *)
1621 func_fatal_help "invalid operation mode \`$mode'"
1622 ;;
1623 esac
1624
1625 $ECHO
1626 $ECHO "Try \`$progname --help' for more information about other modes."
1627
1628 exit $?
1629 }
1630
1631 # Now that we've collected a possible --mode arg, show help if necessary
1632 $opt_help && func_mode_help
1633
1634
1635 # func_mode_execute arg...
1636 func_mode_execute ()
1637 {
1638 $opt_debug
1639 # The first argument is the command name.
1640 cmd="$nonopt"
1641 test -z "$cmd" && \
1642 func_fatal_help "you must specify a COMMAND"
1643
1644 # Handle -dlopen flags immediately.
1645 for file in $execute_dlfiles; do
1646 test -f "$file" \
1647 || func_fatal_help "\`$file' is not a file"
1648
1649 dir=
1650 case $file in
1651 *.la)
1652 # Check to see that this really is a libtool archive.
1653 func_lalib_unsafe_p "$file" \
1654 || func_fatal_help "\`$lib' is not a valid libtool archive"
1655
1656 # Read the libtool library.
1657 dlname=
1658 library_names=
1659 func_source "$file"
1660
1661 # Skip this library if it cannot be dlopened.
1662 if test -z "$dlname"; then
1663 # Warn if it was a shared library.
1664 test -n "$library_names" && \
1665 func_warning "\`$file' was not linked with \`-export-dynamic'"
1666 continue
1667 fi
1668
1669 func_dirname "$file" "" "."
1670 dir="$func_dirname_result"
1671
1672 if test -f "$dir/$objdir/$dlname"; then
1673 dir="$dir/$objdir"
1674 else
1675 if test ! -f "$dir/$dlname"; then
1676 func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
1677 fi
1678 fi
1679 ;;
1680
1681 *.lo)
1682 # Just add the directory containing the .lo file.
1683 func_dirname "$file" "" "."
1684 dir="$func_dirname_result"
1685 ;;
1686
1687 *)
1688 func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
1689 continue
1690 ;;
1691 esac
1692
1693 # Get the absolute pathname.
1694 absdir=`cd "$dir" && pwd`
1695 test -n "$absdir" && dir="$absdir"
1696
1697 # Now add the directory to shlibpath_var.
1698 if eval "test -z \"\$$shlibpath_var\""; then
1699 eval "$shlibpath_var=\"\$dir\""
1700 else
1701 eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
1702 fi
1703 done
1704
1705 # This variable tells wrapper scripts just to set shlibpath_var
1706 # rather than running their programs.
1707 libtool_execute_magic="$magic"
1708
1709 # Check if any of the arguments is a wrapper script.
1710 args=
1711 for file
1712 do
1713 case $file in
1714 -*) ;;
1715 *)
1716 # Do a test to see if this is really a libtool program.
1717 if func_ltwrapper_script_p "$file"; then
1718 func_source "$file"
1719 # Transform arg to wrapped name.
1720 file="$progdir/$program"
1721 elif func_ltwrapper_executable_p "$file"; then
1722 func_ltwrapper_scriptname "$file"
1723 func_source "$func_ltwrapper_scriptname_result"
1724 # Transform arg to wrapped name.
1725 file="$progdir/$program"
1726 fi
1727 ;;
1728 esac
1729 # Quote arguments (to preserve shell metacharacters).
1730 func_quote_for_eval "$file"
1731 args="$args $func_quote_for_eval_result"
1732 done
1733
1734 if test "X$opt_dry_run" = Xfalse; then
1735 if test -n "$shlibpath_var"; then
1736 # Export the shlibpath_var.
1737 eval "export $shlibpath_var"
1738 fi
1739
1740 # Restore saved environment variables
1741 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
1742 do
1743 eval "if test \"\${save_$lt_var+set}\" = set; then
1744 $lt_var=\$save_$lt_var; export $lt_var
1745 else
1746 $lt_unset $lt_var
1747 fi"
1748 done
1749
1750 # Now prepare to actually exec the command.
1751 exec_cmd="\$cmd$args"
1752 else
1753 # Display what would be done.
1754 if test -n "$shlibpath_var"; then
1755 eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
1756 $ECHO "export $shlibpath_var"
1757 fi
1758 $ECHO "$cmd$args"
1759 exit $EXIT_SUCCESS
1760 fi
1761 }
1762
1763 test "$mode" = execute && func_mode_execute ${1+"$@"}
1764
1765
1766 # func_mode_finish arg...
1767 func_mode_finish ()
1768 {
1769 $opt_debug
1770 libdirs="$nonopt"
1771 admincmds=
1772
1773 if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
1774 for dir
1775 do
1776 libdirs="$libdirs $dir"
1777 done
1778
1779 for libdir in $libdirs; do
1780 if test -n "$finish_cmds"; then
1781 # Do each command in the finish commands.
1782 func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
1783 '"$cmd"'"'
1784 fi
1785 if test -n "$finish_eval"; then
1786 # Do the single finish_eval.
1787 eval cmds=\"$finish_eval\"
1788 $opt_dry_run || eval "$cmds" || admincmds="$admincmds
1789 $cmds"
1790 fi
1791 done
1792 fi
1793
1794 # Exit here if they wanted silent mode.
1795 $opt_silent && exit $EXIT_SUCCESS
1796
1797 $ECHO "X----------------------------------------------------------------------" | $Xsed
1798 $ECHO "Libraries have been installed in:"
1799 for libdir in $libdirs; do
1800 $ECHO " $libdir"
1801 done
1802 $ECHO
1803 $ECHO "If you ever happen to want to link against installed libraries"
1804 $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
1805 $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
1806 $ECHO "flag during linking and do at least one of the following:"
1807 if test -n "$shlibpath_var"; then
1808 $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable"
1809 $ECHO " during execution"
1810 fi
1811 if test -n "$runpath_var"; then
1812 $ECHO " - add LIBDIR to the \`$runpath_var' environment variable"
1813 $ECHO " during linking"
1814 fi
1815 if test -n "$hardcode_libdir_flag_spec"; then
1816 libdir=LIBDIR
1817 eval flag=\"$hardcode_libdir_flag_spec\"
1818
1819 $ECHO " - use the \`$flag' linker flag"
1820 fi
1821 if test -n "$admincmds"; then
1822 $ECHO " - have your system administrator run these commands:$admincmds"
1823 fi
1824 if test -f /etc/ld.so.conf; then
1825 $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
1826 fi
1827 $ECHO
1828
1829 $ECHO "See any operating system documentation about shared libraries for"
1830 case $host in
1831 solaris2.[6789]|solaris2.1[0-9])
1832 $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
1833 $ECHO "pages."
1834 ;;
1835 *)
1836 $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
1837 ;;
1838 esac
1839 $ECHO "X----------------------------------------------------------------------" | $Xsed
1840 exit $EXIT_SUCCESS
1841 }
1842
1843 test "$mode" = finish && func_mode_finish ${1+"$@"}
1844
1845
1846 # func_mode_install arg...
1847 func_mode_install ()
1848 {
1849 $opt_debug
1850 # There may be an optional sh(1) argument at the beginning of
1851 # install_prog (especially on Windows NT).
1852 if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
1853 # Allow the use of GNU shtool's install command.
1854 $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
1855 # Aesthetically quote it.
1856 func_quote_for_eval "$nonopt"
1857 install_prog="$func_quote_for_eval_result "
1858 arg=$1
1859 shift
1860 else
1861 install_prog=
1862 arg=$nonopt
1863 fi
1864
1865 # The real first argument should be the name of the installation program.
1866 # Aesthetically quote it.
1867 func_quote_for_eval "$arg"
1868 install_prog="$install_prog$func_quote_for_eval_result"
1869
1870 # We need to accept at least all the BSD install flags.
1871 dest=
1872 files=
1873 opts=
1874 prev=
1875 install_type=
1876 isdir=no
1877 stripme=
1878 for arg
1879 do
1880 if test -n "$dest"; then
1881 files="$files $dest"
1882 dest=$arg
1883 continue
1884 fi
1885
1886 case $arg in
1887 -d) isdir=yes ;;
1888 -f)
1889 case " $install_prog " in
1890 *[\\\ /]cp\ *) ;;
1891 *) prev=$arg ;;
1892 esac
1893 ;;
1894 -g | -m | -o)
1895 prev=$arg
1896 ;;
1897 -s)
1898 stripme=" -s"
1899 continue
1900 ;;
1901 -*)
1902 ;;
1903 *)
1904 # If the previous option needed an argument, then skip it.
1905 if test -n "$prev"; then
1906 prev=
1907 else
1908 dest=$arg
1909 continue
1910 fi
1911 ;;
1912 esac
1913
1914 # Aesthetically quote the argument.
1915 func_quote_for_eval "$arg"
1916 install_prog="$install_prog $func_quote_for_eval_result"
1917 done
1918
1919 test -z "$install_prog" && \
1920 func_fatal_help "you must specify an install program"
1921
1922 test -n "$prev" && \
1923 func_fatal_help "the \`$prev' option requires an argument"
1924
1925 if test -z "$files"; then
1926 if test -z "$dest"; then
1927 func_fatal_help "no file or destination specified"
1928 else
1929 func_fatal_help "you must specify a destination"
1930 fi
1931 fi
1932
1933 # Strip any trailing slash from the destination.
1934 func_stripname '' '/' "$dest"
1935 dest=$func_stripname_result
1936
1937 # Check to see that the destination is a directory.
1938 test -d "$dest" && isdir=yes
1939 if test "$isdir" = yes; then
1940 destdir="$dest"
1941 destname=
1942 else
1943 func_dirname_and_basename "$dest" "" "."
1944 destdir="$func_dirname_result"
1945 destname="$func_basename_result"
1946
1947 # Not a directory, so check to see that there is only one file specified.
1948 set dummy $files; shift
1949 test "$#" -gt 1 && \
1950 func_fatal_help "\`$dest' is not a directory"
1951 fi
1952 case $destdir in
1953 [\\/]* | [A-Za-z]:[\\/]*) ;;
1954 *)
1955 for file in $files; do
1956 case $file in
1957 *.lo) ;;
1958 *)
1959 func_fatal_help "\`$destdir' must be an absolute directory name"
1960 ;;
1961 esac
1962 done
1963 ;;
1964 esac
1965
1966 # This variable tells wrapper scripts just to set variables rather
1967 # than running their programs.
1968 libtool_install_magic="$magic"
1969
1970 staticlibs=
1971 future_libdirs=
1972 current_libdirs=
1973 for file in $files; do
1974
1975 # Do each installation.
1976 case $file in
1977 *.$libext)
1978 # Do the static libraries later.
1979 staticlibs="$staticlibs $file"
1980 ;;
1981
1982 *.la)
1983 # Check to see that this really is a libtool archive.
1984 func_lalib_unsafe_p "$file" \
1985 || func_fatal_help "\`$file' is not a valid libtool archive"
1986
1987 library_names=
1988 old_library=
1989 relink_command=
1990 func_source "$file"
1991
1992 # Add the libdir to current_libdirs if it is the destination.
1993 if test "X$destdir" = "X$libdir"; then
1994 case "$current_libdirs " in
1995 *" $libdir "*) ;;
1996 *) current_libdirs="$current_libdirs $libdir" ;;
1997 esac
1998 else
1999 # Note the libdir as a future libdir.
2000 case "$future_libdirs " in
2001 *" $libdir "*) ;;
2002 *) future_libdirs="$future_libdirs $libdir" ;;
2003 esac
2004 fi
2005
2006 func_dirname "$file" "/" ""
2007 dir="$func_dirname_result"
2008 dir="$dir$objdir"
2009
2010 if test -n "$relink_command"; then
2011 # Determine the prefix the user has applied to our future dir.
2012 inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
2013
2014 # Don't allow the user to place us outside of our expected
2015 # location b/c this prevents finding dependent libraries that
2016 # are installed to the same prefix.
2017 # At present, this check doesn't affect windows .dll's that
2018 # are installed into $libdir/../bin (currently, that works fine)
2019 # but it's something to keep an eye on.
2020 test "$inst_prefix_dir" = "$destdir" && \
2021 func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
2022
2023 if test -n "$inst_prefix_dir"; then
2024 # Stick the inst_prefix_dir data into the link command.
2025 relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
2026 else
2027 relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
2028 fi
2029
2030 func_warning "relinking \`$file'"
2031 func_show_eval "$relink_command" \
2032 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
2033 fi
2034
2035 # See the names of the shared library.
2036 set dummy $library_names; shift
2037 if test -n "$1"; then
2038 realname="$1"
2039 shift
2040
2041 srcname="$realname"
2042 test -n "$relink_command" && srcname="$realname"T
2043
2044 # Install the shared library and build the symlinks.
2045 func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
2046 'exit $?'
2047 tstripme="$stripme"
2048 case $host_os in
2049 cygwin* | mingw* | pw32* | cegcc*)
2050 case $realname in
2051 *.dll.a)
2052 tstripme=""
2053 ;;
2054 esac
2055 ;;
2056 esac
2057 if test -n "$tstripme" && test -n "$striplib"; then
2058 func_show_eval "$striplib $destdir/$realname" 'exit $?'
2059 fi
2060
2061 if test "$#" -gt 0; then
2062 # Delete the old symlinks, and create new ones.
2063 # Try `ln -sf' first, because the `ln' binary might depend on
2064 # the symlink we replace! Solaris /bin/ln does not understand -f,
2065 # so we also need to try rm && ln -s.
2066 for linkname
2067 do
2068 test "$linkname" != "$realname" \
2069 && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
2070 done
2071 fi
2072
2073 # Do each command in the postinstall commands.
2074 lib="$destdir/$realname"
2075 func_execute_cmds "$postinstall_cmds" 'exit $?'
2076 fi
2077
2078 # Install the pseudo-library for information purposes.
2079 func_basename "$file"
2080 name="$func_basename_result"
2081 instname="$dir/$name"i
2082 func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
2083
2084 # Maybe install the static library, too.
2085 test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
2086 ;;
2087
2088 *.lo)
2089 # Install (i.e. copy) a libtool object.
2090
2091 # Figure out destination file name, if it wasn't already specified.
2092 if test -n "$destname"; then
2093 destfile="$destdir/$destname"
2094 else
2095 func_basename "$file"
2096 destfile="$func_basename_result"
2097 destfile="$destdir/$destfile"
2098 fi
2099
2100 # Deduce the name of the destination old-style object file.
2101 case $destfile in
2102 *.lo)
2103 func_lo2o "$destfile"
2104 staticdest=$func_lo2o_result
2105 ;;
2106 *.$objext)
2107 staticdest="$destfile"
2108 destfile=
2109 ;;
2110 *)
2111 func_fatal_help "cannot copy a libtool object to \`$destfile'"
2112 ;;
2113 esac
2114
2115 # Install the libtool object if requested.
2116 test -n "$destfile" && \
2117 func_show_eval "$install_prog $file $destfile" 'exit $?'
2118
2119 # Install the old object if enabled.
2120 if test "$build_old_libs" = yes; then
2121 # Deduce the name of the old-style object file.
2122 func_lo2o "$file"
2123 staticobj=$func_lo2o_result
2124 func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
2125 fi
2126 exit $EXIT_SUCCESS
2127 ;;
2128
2129 *)
2130 # Figure out destination file name, if it wasn't already specified.
2131 if test -n "$destname"; then
2132 destfile="$destdir/$destname"
2133 else
2134 func_basename "$file"
2135 destfile="$func_basename_result"
2136 destfile="$destdir/$destfile"
2137 fi
2138
2139 # If the file is missing, and there is a .exe on the end, strip it
2140 # because it is most likely a libtool script we actually want to
2141 # install
2142 stripped_ext=""
2143 case $file in
2144 *.exe)
2145 if test ! -f "$file"; then
2146 func_stripname '' '.exe' "$file"
2147 file=$func_stripname_result
2148 stripped_ext=".exe"
2149 fi
2150 ;;
2151 esac
2152
2153 # Do a test to see if this is really a libtool program.
2154 case $host in
2155 *cygwin* | *mingw*)
2156 if func_ltwrapper_executable_p "$file"; then
2157 func_ltwrapper_scriptname "$file"
2158 wrapper=$func_ltwrapper_scriptname_result
2159 else
2160 func_stripname '' '.exe' "$file"
2161 wrapper=$func_stripname_result
2162 fi
2163 ;;
2164 *)
2165 wrapper=$file
2166 ;;
2167 esac
2168 if func_ltwrapper_script_p "$wrapper"; then
2169 notinst_deplibs=
2170 relink_command=
2171
2172 func_source "$wrapper"
2173
2174 # Check the variables that should have been set.
2175 test -z "$generated_by_libtool_version" && \
2176 func_fatal_error "invalid libtool wrapper script \`$wrapper'"
2177
2178 finalize=yes
2179 for lib in $notinst_deplibs; do
2180 # Check to see that each library is installed.
2181 libdir=
2182 if test -f "$lib"; then
2183 func_source "$lib"
2184 fi
2185 libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
2186 if test -n "$libdir" && test ! -f "$libfile"; then
2187 func_warning "\`$lib' has not been installed in \`$libdir'"
2188 finalize=no
2189 fi
2190 done
2191
2192 relink_command=
2193 func_source "$wrapper"
2194
2195 outputname=
2196 if test "$fast_install" = no && test -n "$relink_command"; then
2197 $opt_dry_run || {
2198 if test "$finalize" = yes; then
2199 tmpdir=`func_mktempdir`
2200 func_basename "$file$stripped_ext"
2201 file="$func_basename_result"
2202 outputname="$tmpdir/$file"
2203 # Replace the output file specification.
2204 relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
2205
2206 $opt_silent || {
2207 func_quote_for_expand "$relink_command"
2208 eval "func_echo $func_quote_for_expand_result"
2209 }
2210 if eval "$relink_command"; then :
2211 else
2212 func_error "error: relink \`$file' with the above command before installing it"
2213 $opt_dry_run || ${RM}r "$tmpdir"
2214 continue
2215 fi
2216 file="$outputname"
2217 else
2218 func_warning "cannot relink \`$file'"
2219 fi
2220 }
2221 else
2222 # Install the binary that we compiled earlier.
2223 file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
2224 fi
2225 fi
2226
2227 # remove .exe since cygwin /usr/bin/install will append another
2228 # one anyway
2229 case $install_prog,$host in
2230 */usr/bin/install*,*cygwin*)
2231 case $file:$destfile in
2232 *.exe:*.exe)
2233 # this is ok
2234 ;;
2235 *.exe:*)
2236 destfile=$destfile.exe
2237 ;;
2238 *:*.exe)
2239 func_stripname '' '.exe' "$destfile"
2240 destfile=$func_stripname_result
2241 ;;
2242 esac
2243 ;;
2244 esac
2245 func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
2246 $opt_dry_run || if test -n "$outputname"; then
2247 ${RM}r "$tmpdir"
2248 fi
2249 ;;
2250 esac
2251 done
2252
2253 for file in $staticlibs; do
2254 func_basename "$file"
2255 name="$func_basename_result"
2256
2257 # Set up the ranlib parameters.
2258 oldlib="$destdir/$name"
2259
2260 func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
2261
2262 if test -n "$stripme" && test -n "$old_striplib"; then
2263 func_show_eval "$old_striplib $oldlib" 'exit $?'
2264 fi
2265
2266 # Do each command in the postinstall commands.
2267 func_execute_cmds "$old_postinstall_cmds" 'exit $?'
2268 done
2269
2270 test -n "$future_libdirs" && \
2271 func_warning "remember to run \`$progname --finish$future_libdirs'"
2272
2273 if test -n "$current_libdirs"; then
2274 # Maybe just do a dry run.
2275 $opt_dry_run && current_libdirs=" -n$current_libdirs"
2276 exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
2277 else
2278 exit $EXIT_SUCCESS
2279 fi
2280 }
2281
2282 test "$mode" = install && func_mode_install ${1+"$@"}
2283
2284
2285 # func_generate_dlsyms outputname originator pic_p
2286 # Extract symbols from dlprefiles and create ${outputname}S.o with
2287 # a dlpreopen symbol table.
2288 func_generate_dlsyms ()
2289 {
2290 $opt_debug
2291 my_outputname="$1"
2292 my_originator="$2"
2293 my_pic_p="${3-no}"
2294 my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
2295 my_dlsyms=
2296
2297 if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
2298 if test -n "$NM" && test -n "$global_symbol_pipe"; then
2299 my_dlsyms="${my_outputname}S.c"
2300 else
2301 func_error "not configured to extract global symbols from dlpreopened files"
2302 fi
2303 fi
2304
2305 if test -n "$my_dlsyms"; then
2306 case $my_dlsyms in
2307 "") ;;
2308 *.c)
2309 # Discover the nlist of each of the dlfiles.
2310 nlist="$output_objdir/${my_outputname}.nm"
2311
2312 func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
2313
2314 # Parse the name list into a source file.
2315 func_verbose "creating $output_objdir/$my_dlsyms"
2316
2317 $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
2318 /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
2319 /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
2320
2321 #ifdef __cplusplus
2322 extern \"C\" {
2323 #endif
2324
2325 /* External symbol declarations for the compiler. */\
2326 "
2327
2328 if test "$dlself" = yes; then
2329 func_verbose "generating symbol list for \`$output'"
2330
2331 $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
2332
2333 # Add our own program objects to the symbol list.
2334 progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
2335 for progfile in $progfiles; do
2336 func_verbose "extracting global C symbols from \`$progfile'"
2337 $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
2338 done
2339
2340 if test -n "$exclude_expsyms"; then
2341 $opt_dry_run || {
2342 eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
2343 eval '$MV "$nlist"T "$nlist"'
2344 }
2345 fi
2346
2347 if test -n "$export_symbols_regex"; then
2348 $opt_dry_run || {
2349 eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
2350 eval '$MV "$nlist"T "$nlist"'
2351 }
2352 fi
2353
2354 # Prepare the list of exported symbols
2355 if test -z "$export_symbols"; then
2356 export_symbols="$output_objdir/$outputname.exp"
2357 $opt_dry_run || {
2358 $RM $export_symbols
2359 eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
2360 case $host in
2361 *cygwin* | *mingw* | *cegcc* )
2362 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
2363 eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
2364 ;;
2365 esac
2366 }
2367 else
2368 $opt_dry_run || {
2369 eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
2370 eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
2371 eval '$MV "$nlist"T "$nlist"'
2372 case $host in
2373 *cygwin | *mingw* | *cegcc* )
2374 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
2375 eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
2376 ;;
2377 esac
2378 }
2379 fi
2380 fi
2381
2382 for dlprefile in $dlprefiles; do
2383 func_verbose "extracting global C symbols from \`$dlprefile'"
2384 func_basename "$dlprefile"
2385 name="$func_basename_result"
2386 $opt_dry_run || {
2387 eval '$ECHO ": $name " >> "$nlist"'
2388 eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
2389 }
2390 done
2391
2392 $opt_dry_run || {
2393 # Make sure we have at least an empty file.
2394 test -f "$nlist" || : > "$nlist"
2395
2396 if test -n "$exclude_expsyms"; then
2397 $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
2398 $MV "$nlist"T "$nlist"
2399 fi
2400
2401 # Try sorting and uniquifying the output.
2402 if $GREP -v "^: " < "$nlist" |
2403 if sort -k 3 </dev/null >/dev/null 2>&1; then
2404 sort -k 3
2405 else
2406 sort +2
2407 fi |
2408 uniq > "$nlist"S; then
2409 :
2410 else
2411 $GREP -v "^: " < "$nlist" > "$nlist"S
2412 fi
2413
2414 if test -f "$nlist"S; then
2415 eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
2416 else
2417 $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
2418 fi
2419
2420 $ECHO >> "$output_objdir/$my_dlsyms" "\
2421
2422 /* The mapping between symbol names and symbols. */
2423 typedef struct {
2424 const char *name;
2425 void *address;
2426 } lt_dlsymlist;
2427 "
2428 case $host in
2429 *cygwin* | *mingw* | *cegcc* )
2430 $ECHO >> "$output_objdir/$my_dlsyms" "\
2431 /* DATA imports from DLLs on WIN32 con't be const, because
2432 runtime relocations are performed -- see ld's documentation
2433 on pseudo-relocs. */"
2434 lt_dlsym_const= ;;
2435 *osf5*)
2436 echo >> "$output_objdir/$my_dlsyms" "\
2437 /* This system does not cope well with relocations in const data */"
2438 lt_dlsym_const= ;;
2439 *)
2440 lt_dlsym_const=const ;;
2441 esac
2442
2443 $ECHO >> "$output_objdir/$my_dlsyms" "\
2444 extern $lt_dlsym_const lt_dlsymlist
2445 lt_${my_prefix}_LTX_preloaded_symbols[];
2446 $lt_dlsym_const lt_dlsymlist
2447 lt_${my_prefix}_LTX_preloaded_symbols[] =
2448 {\
2449 { \"$my_originator\", (void *) 0 },"
2450
2451 case $need_lib_prefix in
2452 no)
2453 eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
2454 ;;
2455 *)
2456 eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
2457 ;;
2458 esac
2459 $ECHO >> "$output_objdir/$my_dlsyms" "\
2460 {0, (void *) 0}
2461 };
2462
2463 /* This works around a problem in FreeBSD linker */
2464 #ifdef FREEBSD_WORKAROUND
2465 static const void *lt_preloaded_setup() {
2466 return lt_${my_prefix}_LTX_preloaded_symbols;
2467 }
2468 #endif
2469
2470 #ifdef __cplusplus
2471 }
2472 #endif\
2473 "
2474 } # !$opt_dry_run
2475
2476 pic_flag_for_symtable=
2477 case "$compile_command " in
2478 *" -static "*) ;;
2479 *)
2480 case $host in
2481 # compiling the symbol table file with pic_flag works around
2482 # a FreeBSD bug that causes programs to crash when -lm is
2483 # linked before any other PIC object. But we must not use
2484 # pic_flag when linking with -static. The problem exists in
2485 # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
2486 *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
2487 pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
2488 *-*-hpux*)
2489 pic_flag_for_symtable=" $pic_flag" ;;
2490 *)
2491 if test "X$my_pic_p" != Xno; then
2492 pic_flag_for_symtable=" $pic_flag"
2493 fi
2494 ;;
2495 esac
2496 ;;
2497 esac
2498 symtab_cflags=
2499 for arg in $LTCFLAGS; do
2500 case $arg in
2501 -pie | -fpie | -fPIE) ;;
2502 *) symtab_cflags="$symtab_cflags $arg" ;;
2503 esac
2504 done
2505
2506 # Now compile the dynamic symbol file.
2507 func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
2508
2509 # Clean up the generated files.
2510 func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
2511
2512 # Transform the symbol file into the correct name.
2513 symfileobj="$output_objdir/${my_outputname}S.$objext"
2514 case $host in
2515 *cygwin* | *mingw* | *cegcc* )
2516 if test -f "$output_objdir/$my_outputname.def"; then
2517 compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
2518 finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
2519 else
2520 compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
2521 finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
2522 fi
2523 ;;
2524 *)
2525 compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
2526 finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
2527 ;;
2528 esac
2529 ;;
2530 *)
2531 func_fatal_error "unknown suffix for \`$my_dlsyms'"
2532 ;;
2533 esac
2534 else
2535 # We keep going just in case the user didn't refer to
2536 # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
2537 # really was required.
2538
2539 # Nullify the symbol file.
2540 compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
2541 finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
2542 fi
2543 }
2544
2545 # func_win32_libid arg
2546 # return the library type of file 'arg'
2547 #
2548 # Need a lot of goo to handle *both* DLLs and import libs
2549 # Has to be a shell function in order to 'eat' the argument
2550 # that is supplied when $file_magic_command is called.
2551 func_win32_libid ()
2552 {
2553 $opt_debug
2554 win32_libid_type="unknown"
2555 win32_fileres=`file -L $1 2>/dev/null`
2556 case $win32_fileres in
2557 *ar\ archive\ import\ library*) # definitely import
2558 win32_libid_type="x86 archive import"
2559 ;;
2560 *ar\ archive*) # could be an import, or static
2561 if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
2562 $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
2563 win32_nmres=`eval $NM -f posix -A $1 |
2564 $SED -n -e '
2565 1,100{
2566 / I /{
2567 s,.*,import,
2568 p
2569 q
2570 }
2571 }'`
2572 case $win32_nmres in
2573 import*) win32_libid_type="x86 archive import";;
2574 *) win32_libid_type="x86 archive static";;
2575 esac
2576 fi
2577 ;;
2578 *DLL*)
2579 win32_libid_type="x86 DLL"
2580 ;;
2581 *executable*) # but shell scripts are "executable" too...
2582 case $win32_fileres in
2583 *MS\ Windows\ PE\ Intel*)
2584 win32_libid_type="x86 DLL"
2585 ;;
2586 esac
2587 ;;
2588 esac
2589 $ECHO "$win32_libid_type"
2590 }
2591
2592
2593
2594 # func_extract_an_archive dir oldlib
2595 func_extract_an_archive ()
2596 {
2597 $opt_debug
2598 f_ex_an_ar_dir="$1"; shift
2599 f_ex_an_ar_oldlib="$1"
2600 func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
2601 if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
2602 :
2603 else
2604 func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
2605 fi
2606 }
2607
2608
2609 # func_extract_archives gentop oldlib ...
2610 func_extract_archives ()
2611 {
2612 $opt_debug
2613 my_gentop="$1"; shift
2614 my_oldlibs=${1+"$@"}
2615 my_oldobjs=""
2616 my_xlib=""
2617 my_xabs=""
2618 my_xdir=""
2619
2620 for my_xlib in $my_oldlibs; do
2621 # Extract the objects.
2622 case $my_xlib in
2623 [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
2624 *) my_xabs=`pwd`"/$my_xlib" ;;
2625 esac
2626 func_basename "$my_xlib"
2627 my_xlib="$func_basename_result"
2628 my_xlib_u=$my_xlib
2629 while :; do
2630 case " $extracted_archives " in
2631 *" $my_xlib_u "*)
2632 func_arith $extracted_serial + 1
2633 extracted_serial=$func_arith_result
2634 my_xlib_u=lt$extracted_serial-$my_xlib ;;
2635 *) break ;;
2636 esac
2637 done
2638 extracted_archives="$extracted_archives $my_xlib_u"
2639 my_xdir="$my_gentop/$my_xlib_u"
2640
2641 func_mkdir_p "$my_xdir"
2642
2643 case $host in
2644 *-darwin*)
2645 func_verbose "Extracting $my_xabs"
2646 # Do not bother doing anything if just a dry run
2647 $opt_dry_run || {
2648 darwin_orig_dir=`pwd`
2649 cd $my_xdir || exit $?
2650 darwin_archive=$my_xabs
2651 darwin_curdir=`pwd`
2652 darwin_base_archive=`basename "$darwin_archive"`
2653 darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
2654 if test -n "$darwin_arches"; then
2655 darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
2656 darwin_arch=
2657 func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
2658 for darwin_arch in $darwin_arches ; do
2659 func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
2660 $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
2661 cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
2662 func_extract_an_archive "`pwd`" "${darwin_base_archive}"
2663 cd "$darwin_curdir"
2664 $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
2665 done # $darwin_arches
2666 ## Okay now we've a bunch of thin objects, gotta fatten them up :)
2667 darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
2668 darwin_file=
2669 darwin_files=
2670 for darwin_file in $darwin_filelist; do
2671 darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
2672 $LIPO -create -output "$darwin_file" $darwin_files
2673 done # $darwin_filelist
2674 $RM -rf unfat-$$
2675 cd "$darwin_orig_dir"
2676 else
2677 cd $darwin_orig_dir
2678 func_extract_an_archive "$my_xdir" "$my_xabs"
2679 fi # $darwin_arches
2680 } # !$opt_dry_run
2681 ;;
2682 *)
2683 func_extract_an_archive "$my_xdir" "$my_xabs"
2684 ;;
2685 esac
2686 my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
2687 done
2688
2689 func_extract_archives_result="$my_oldobjs"
2690 }
2691
2692
2693
2694 # func_emit_wrapper_part1 [arg=no]
2695 #
2696 # Emit the first part of a libtool wrapper script on stdout.
2697 # For more information, see the description associated with
2698 # func_emit_wrapper(), below.
2699 func_emit_wrapper_part1 ()
2700 {
2701 func_emit_wrapper_part1_arg1=no
2702 if test -n "$1" ; then
2703 func_emit_wrapper_part1_arg1=$1
2704 fi
2705
2706 $ECHO "\
2707 #! $SHELL
2708
2709 # $output - temporary wrapper script for $objdir/$outputname
2710 # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
2711 #
2712 # The $output program cannot be directly executed until all the libtool
2713 # libraries that it depends on are installed.
2714 #
2715 # This wrapper script should never be moved out of the build directory.
2716 # If it is, it will not operate correctly.
2717
2718 # Sed substitution that helps us do robust quoting. It backslashifies
2719 # metacharacters that are still active within double-quoted strings.
2720 Xsed='${SED} -e 1s/^X//'
2721 sed_quote_subst='$sed_quote_subst'
2722
2723 # Be Bourne compatible
2724 if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
2725 emulate sh
2726 NULLCMD=:
2727 # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
2728 # is contrary to our usage. Disable this feature.
2729 alias -g '\${1+\"\$@\"}'='\"\$@\"'
2730 setopt NO_GLOB_SUBST
2731 else
2732 case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
2733 fi
2734 BIN_SH=xpg4; export BIN_SH # for Tru64
2735 DUALCASE=1; export DUALCASE # for MKS sh
2736
2737 # The HP-UX ksh and POSIX shell print the target directory to stdout
2738 # if CDPATH is set.
2739 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
2740
2741 relink_command=\"$relink_command\"
2742
2743 # This environment variable determines our operation mode.
2744 if test \"\$libtool_install_magic\" = \"$magic\"; then
2745 # install mode needs the following variables:
2746 generated_by_libtool_version='$macro_version'
2747 notinst_deplibs='$notinst_deplibs'
2748 else
2749 # When we are sourced in execute mode, \$file and \$ECHO are already set.
2750 if test \"\$libtool_execute_magic\" != \"$magic\"; then
2751 ECHO=\"$qecho\"
2752 file=\"\$0\"
2753 # Make sure echo works.
2754 if test \"X\$1\" = X--no-reexec; then
2755 # Discard the --no-reexec flag, and continue.
2756 shift
2757 elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
2758 # Yippee, \$ECHO works!
2759 :
2760 else
2761 # Restart under the correct shell, and then maybe \$ECHO will work.
2762 exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
2763 fi
2764 fi\
2765 "
2766 $ECHO "\
2767
2768 # Find the directory that this script lives in.
2769 thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
2770 test \"x\$thisdir\" = \"x\$file\" && thisdir=.
2771
2772 # Follow symbolic links until we get to the real thisdir.
2773 file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
2774 while test -n \"\$file\"; do
2775 destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
2776
2777 # If there was a directory component, then change thisdir.
2778 if test \"x\$destdir\" != \"x\$file\"; then
2779 case \"\$destdir\" in
2780 [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
2781 *) thisdir=\"\$thisdir/\$destdir\" ;;
2782 esac
2783 fi
2784
2785 file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
2786 file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
2787 done
2788 "
2789 }
2790 # end: func_emit_wrapper_part1
2791
2792 # func_emit_wrapper_part2 [arg=no]
2793 #
2794 # Emit the second part of a libtool wrapper script on stdout.
2795 # For more information, see the description associated with
2796 # func_emit_wrapper(), below.
2797 func_emit_wrapper_part2 ()
2798 {
2799 func_emit_wrapper_part2_arg1=no
2800 if test -n "$1" ; then
2801 func_emit_wrapper_part2_arg1=$1
2802 fi
2803
2804 $ECHO "\
2805
2806 # Usually 'no', except on cygwin/mingw when embedded into
2807 # the cwrapper.
2808 WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
2809 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
2810 # special case for '.'
2811 if test \"\$thisdir\" = \".\"; then
2812 thisdir=\`pwd\`
2813 fi
2814 # remove .libs from thisdir
2815 case \"\$thisdir\" in
2816 *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
2817 $objdir ) thisdir=. ;;
2818 esac
2819 fi
2820
2821 # Try to get the absolute directory name.
2822 absdir=\`cd \"\$thisdir\" && pwd\`
2823 test -n \"\$absdir\" && thisdir=\"\$absdir\"
2824 "
2825
2826 if test "$fast_install" = yes; then
2827 $ECHO "\
2828 program=lt-'$outputname'$exeext
2829 progdir=\"\$thisdir/$objdir\"
2830
2831 if test ! -f \"\$progdir/\$program\" ||
2832 { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
2833 test \"X\$file\" != \"X\$progdir/\$program\"; }; then
2834
2835 file=\"\$\$-\$program\"
2836
2837 if test ! -d \"\$progdir\"; then
2838 $MKDIR \"\$progdir\"
2839 else
2840 $RM \"\$progdir/\$file\"
2841 fi"
2842
2843 $ECHO "\
2844
2845 # relink executable if necessary
2846 if test -n \"\$relink_command\"; then
2847 if relink_command_output=\`eval \$relink_command 2>&1\`; then :
2848 else
2849 $ECHO \"\$relink_command_output\" >&2
2850 $RM \"\$progdir/\$file\"
2851 exit 1
2852 fi
2853 fi
2854
2855 $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
2856 { $RM \"\$progdir/\$program\";
2857 $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
2858 $RM \"\$progdir/\$file\"
2859 fi"
2860 else
2861 $ECHO "\
2862 program='$outputname'
2863 progdir=\"\$thisdir/$objdir\"
2864 "
2865 fi
2866
2867 $ECHO "\
2868
2869 if test -f \"\$progdir/\$program\"; then"
2870
2871 # Export our shlibpath_var if we have one.
2872 if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
2873 $ECHO "\
2874 # Add our own library path to $shlibpath_var
2875 $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
2876
2877 # Some systems cannot cope with colon-terminated $shlibpath_var
2878 # The second colon is a workaround for a bug in BeOS R4 sed
2879 $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
2880
2881 export $shlibpath_var
2882 "
2883 fi
2884
2885 # fixup the dll searchpath if we need to.
2886 if test -n "$dllsearchpath"; then
2887 $ECHO "\
2888 # Add the dll search path components to the executable PATH
2889 PATH=$dllsearchpath:\$PATH
2890 "
2891 fi
2892
2893 $ECHO "\
2894 if test \"\$libtool_execute_magic\" != \"$magic\"; then
2895 # Run the actual program with our arguments.
2896 "
2897 case $host in
2898 # Backslashes separate directories on plain windows
2899 *-*-mingw | *-*-os2* | *-cegcc*)
2900 $ECHO "\
2901 exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
2902 "
2903 ;;
2904
2905 *)
2906 $ECHO "\
2907 exec \"\$progdir/\$program\" \${1+\"\$@\"}
2908 "
2909 ;;
2910 esac
2911 $ECHO "\
2912 \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
2913 exit 1
2914 fi
2915 else
2916 # The program doesn't exist.
2917 \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
2918 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
2919 $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
2920 exit 1
2921 fi
2922 fi\
2923 "
2924 }
2925 # end: func_emit_wrapper_part2
2926
2927
2928 # func_emit_wrapper [arg=no]
2929 #
2930 # Emit a libtool wrapper script on stdout.
2931 # Don't directly open a file because we may want to
2932 # incorporate the script contents within a cygwin/mingw
2933 # wrapper executable. Must ONLY be called from within
2934 # func_mode_link because it depends on a number of variables
2935 # set therein.
2936 #
2937 # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
2938 # variable will take. If 'yes', then the emitted script
2939 # will assume that the directory in which it is stored is
2940 # the $objdir directory. This is a cygwin/mingw-specific
2941 # behavior.
2942 func_emit_wrapper ()
2943 {
2944 func_emit_wrapper_arg1=no
2945 if test -n "$1" ; then
2946 func_emit_wrapper_arg1=$1
2947 fi
2948
2949 # split this up so that func_emit_cwrapperexe_src
2950 # can call each part independently.
2951 func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
2952 func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
2953 }
2954
2955
2956 # func_to_host_path arg
2957 #
2958 # Convert paths to host format when used with build tools.
2959 # Intended for use with "native" mingw (where libtool itself
2960 # is running under the msys shell), or in the following cross-
2961 # build environments:
2962 # $build $host
2963 # mingw (msys) mingw [e.g. native]
2964 # cygwin mingw
2965 # *nix + wine mingw
2966 # where wine is equipped with the `winepath' executable.
2967 # In the native mingw case, the (msys) shell automatically
2968 # converts paths for any non-msys applications it launches,
2969 # but that facility isn't available from inside the cwrapper.
2970 # Similar accommodations are necessary for $host mingw and
2971 # $build cygwin. Calling this function does no harm for other
2972 # $host/$build combinations not listed above.
2973 #
2974 # ARG is the path (on $build) that should be converted to
2975 # the proper representation for $host. The result is stored
2976 # in $func_to_host_path_result.
2977 func_to_host_path ()
2978 {
2979 func_to_host_path_result="$1"
2980 if test -n "$1" ; then
2981 case $host in
2982 *mingw* )
2983 lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
2984 case $build in
2985 *mingw* ) # actually, msys
2986 # awkward: cmd appends spaces to result
2987 lt_sed_strip_trailing_spaces="s/[ ]*\$//"
2988 func_to_host_path_tmp1=`( cmd //c echo "$1" |\
2989 $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
2990 func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
2991 $SED -e "$lt_sed_naive_backslashify"`
2992 ;;
2993 *cygwin* )
2994 func_to_host_path_tmp1=`cygpath -w "$1"`
2995 func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
2996 $SED -e "$lt_sed_naive_backslashify"`
2997 ;;
2998 * )
2999 # Unfortunately, winepath does not exit with a non-zero
3000 # error code, so we are forced to check the contents of
3001 # stdout. On the other hand, if the command is not
3002 # found, the shell will set an exit code of 127 and print
3003 # *an error message* to stdout. So we must check for both
3004 # error code of zero AND non-empty stdout, which explains
3005 # the odd construction:
3006 func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
3007 if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
3008 func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
3009 $SED -e "$lt_sed_naive_backslashify"`
3010 else
3011 # Allow warning below.
3012 func_to_host_path_result=""
3013 fi
3014 ;;
3015 esac
3016 if test -z "$func_to_host_path_result" ; then
3017 func_error "Could not determine host path corresponding to"
3018 func_error " '$1'"
3019 func_error "Continuing, but uninstalled executables may not work."
3020 # Fallback:
3021 func_to_host_path_result="$1"
3022 fi
3023 ;;
3024 esac
3025 fi
3026 }
3027 # end: func_to_host_path
3028
3029 # func_to_host_pathlist arg
3030 #
3031 # Convert pathlists to host format when used with build tools.
3032 # See func_to_host_path(), above. This function supports the
3033 # following $build/$host combinations (but does no harm for
3034 # combinations not listed here):
3035 # $build $host
3036 # mingw (msys) mingw [e.g. native]
3037 # cygwin mingw
3038 # *nix + wine mingw
3039 #
3040 # Path separators are also converted from $build format to
3041 # $host format. If ARG begins or ends with a path separator
3042 # character, it is preserved (but converted to $host format)
3043 # on output.
3044 #
3045 # ARG is a pathlist (on $build) that should be converted to
3046 # the proper representation on $host. The result is stored
3047 # in $func_to_host_pathlist_result.
3048 func_to_host_pathlist ()
3049 {
3050 func_to_host_pathlist_result="$1"
3051 if test -n "$1" ; then
3052 case $host in
3053 *mingw* )
3054 lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
3055 # Remove leading and trailing path separator characters from
3056 # ARG. msys behavior is inconsistent here, cygpath turns them
3057 # into '.;' and ';.', and winepath ignores them completely.
3058 func_to_host_pathlist_tmp2="$1"
3059 # Once set for this call, this variable should not be
3060 # reassigned. It is used in tha fallback case.
3061 func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
3062 $SED -e 's|^:*||' -e 's|:*$||'`
3063 case $build in
3064 *mingw* ) # Actually, msys.
3065 # Awkward: cmd appends spaces to result.
3066 lt_sed_strip_trailing_spaces="s/[ ]*\$//"
3067 func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
3068 $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
3069 func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
3070 $SED -e "$lt_sed_naive_backslashify"`
3071 ;;
3072 *cygwin* )
3073 func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
3074 func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
3075 $SED -e "$lt_sed_naive_backslashify"`
3076 ;;
3077 * )
3078 # unfortunately, winepath doesn't convert pathlists
3079 func_to_host_pathlist_result=""
3080 func_to_host_pathlist_oldIFS=$IFS
3081 IFS=:
3082 for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
3083 IFS=$func_to_host_pathlist_oldIFS
3084 if test -n "$func_to_host_pathlist_f" ; then
3085 func_to_host_path "$func_to_host_pathlist_f"
3086 if test -n "$func_to_host_path_result" ; then
3087 if test -z "$func_to_host_pathlist_result" ; then
3088 func_to_host_pathlist_result="$func_to_host_path_result"
3089 else
3090 func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
3091 fi
3092 fi
3093 fi
3094 IFS=:
3095 done
3096 IFS=$func_to_host_pathlist_oldIFS
3097 ;;
3098 esac
3099 if test -z "$func_to_host_pathlist_result" ; then
3100 func_error "Could not determine the host path(s) corresponding to"
3101 func_error " '$1'"
3102 func_error "Continuing, but uninstalled executables may not work."
3103 # Fallback. This may break if $1 contains DOS-style drive
3104 # specifications. The fix is not to complicate the expression
3105 # below, but for the user to provide a working wine installation
3106 # with winepath so that path translation in the cross-to-mingw
3107 # case works properly.
3108 lt_replace_pathsep_nix_to_dos="s|:|;|g"
3109 func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
3110 $SED -e "$lt_replace_pathsep_nix_to_dos"`
3111 fi
3112 # Now, add the leading and trailing path separators back
3113 case "$1" in
3114 :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
3115 ;;
3116 esac
3117 case "$1" in
3118 *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
3119 ;;
3120 esac
3121 ;;
3122 esac
3123 fi
3124 }
3125 # end: func_to_host_pathlist
3126
3127 # func_emit_cwrapperexe_src
3128 # emit the source code for a wrapper executable on stdout
3129 # Must ONLY be called from within func_mode_link because
3130 # it depends on a number of variable set therein.
3131 func_emit_cwrapperexe_src ()
3132 {
3133 cat <<EOF
3134
3135 /* $cwrappersource - temporary wrapper executable for $objdir/$outputname
3136 Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
3137
3138 The $output program cannot be directly executed until all the libtool
3139 libraries that it depends on are installed.
3140
3141 This wrapper executable should never be moved out of the build directory.
3142 If it is, it will not operate correctly.
3143
3144 Currently, it simply execs the wrapper *script* "$SHELL $output",
3145 but could eventually absorb all of the scripts functionality and
3146 exec $objdir/$outputname directly.
3147 */
3148 EOF
3149 cat <<"EOF"
3150 #include <stdio.h>
3151 #include <stdlib.h>
3152 #ifdef _MSC_VER
3153 # include <direct.h>
3154 # include <process.h>
3155 # include <io.h>
3156 # define setmode _setmode
3157 #else
3158 # include <unistd.h>
3159 # include <stdint.h>
3160 # ifdef __CYGWIN__
3161 # include <io.h>
3162 # define HAVE_SETENV
3163 # ifdef __STRICT_ANSI__
3164 char *realpath (const char *, char *);
3165 int putenv (char *);
3166 int setenv (const char *, const char *, int);
3167 # endif
3168 # endif
3169 #endif
3170 #include <malloc.h>
3171 #include <stdarg.h>
3172 #include <assert.h>
3173 #include <string.h>
3174 #include <ctype.h>
3175 #include <errno.h>
3176 #include <fcntl.h>
3177 #include <sys/stat.h>
3178
3179 #if defined(PATH_MAX)
3180 # define LT_PATHMAX PATH_MAX
3181 #elif defined(MAXPATHLEN)
3182 # define LT_PATHMAX MAXPATHLEN
3183 #else
3184 # define LT_PATHMAX 1024
3185 #endif
3186
3187 #ifndef S_IXOTH
3188 # define S_IXOTH 0
3189 #endif
3190 #ifndef S_IXGRP
3191 # define S_IXGRP 0
3192 #endif
3193
3194 #ifdef _MSC_VER
3195 # define S_IXUSR _S_IEXEC
3196 # define stat _stat
3197 # ifndef _INTPTR_T_DEFINED
3198 # define intptr_t int
3199 # endif
3200 #endif
3201
3202 #ifndef DIR_SEPARATOR
3203 # define DIR_SEPARATOR '/'
3204 # define PATH_SEPARATOR ':'
3205 #endif
3206
3207 #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
3208 defined (__OS2__)
3209 # define HAVE_DOS_BASED_FILE_SYSTEM
3210 # define FOPEN_WB "wb"
3211 # ifndef DIR_SEPARATOR_2
3212 # define DIR_SEPARATOR_2 '\\'
3213 # endif
3214 # ifndef PATH_SEPARATOR_2
3215 # define PATH_SEPARATOR_2 ';'
3216 # endif
3217 #endif
3218
3219 #ifndef DIR_SEPARATOR_2
3220 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
3221 #else /* DIR_SEPARATOR_2 */
3222 # define IS_DIR_SEPARATOR(ch) \
3223 (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
3224 #endif /* DIR_SEPARATOR_2 */
3225
3226 #ifndef PATH_SEPARATOR_2
3227 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
3228 #else /* PATH_SEPARATOR_2 */
3229 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
3230 #endif /* PATH_SEPARATOR_2 */
3231
3232 #ifdef __CYGWIN__
3233 # define FOPEN_WB "wb"
3234 #endif
3235
3236 #ifndef FOPEN_WB
3237 # define FOPEN_WB "w"
3238 #endif
3239 #ifndef _O_BINARY
3240 # define _O_BINARY 0
3241 #endif
3242
3243 #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
3244 #define XFREE(stale) do { \
3245 if (stale) { free ((void *) stale); stale = 0; } \
3246 } while (0)
3247
3248 #undef LTWRAPPER_DEBUGPRINTF
3249 #if defined DEBUGWRAPPER
3250 # define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
3251 static void
3252 ltwrapper_debugprintf (const char *fmt, ...)
3253 {
3254 va_list args;
3255 va_start (args, fmt);
3256 (void) vfprintf (stderr, fmt, args);
3257 va_end (args);
3258 }
3259 #else
3260 # define LTWRAPPER_DEBUGPRINTF(args)
3261 #endif
3262
3263 const char *program_name = NULL;
3264
3265 void *xmalloc (size_t num);
3266 char *xstrdup (const char *string);
3267 const char *base_name (const char *name);
3268 char *find_executable (const char *wrapper);
3269 char *chase_symlinks (const char *pathspec);
3270 int make_executable (const char *path);
3271 int check_executable (const char *path);
3272 char *strendzap (char *str, const char *pat);
3273 void lt_fatal (const char *message, ...);
3274 void lt_setenv (const char *name, const char *value);
3275 char *lt_extend_str (const char *orig_value, const char *add, int to_end);
3276 void lt_opt_process_env_set (const char *arg);
3277 void lt_opt_process_env_prepend (const char *arg);
3278 void lt_opt_process_env_append (const char *arg);
3279 int lt_split_name_value (const char *arg, char** name, char** value);
3280 void lt_update_exe_path (const char *name, const char *value);
3281 void lt_update_lib_path (const char *name, const char *value);
3282
3283 static const char *script_text_part1 =
3284 EOF
3285
3286 func_emit_wrapper_part1 yes |
3287 $SED -e 's/\([\\"]\)/\\\1/g' \
3288 -e 's/^/ "/' -e 's/$/\\n"/'
3289 echo ";"
3290 cat <<EOF
3291
3292 static const char *script_text_part2 =
3293 EOF
3294 func_emit_wrapper_part2 yes |
3295 $SED -e 's/\([\\"]\)/\\\1/g' \
3296 -e 's/^/ "/' -e 's/$/\\n"/'
3297 echo ";"
3298
3299 cat <<EOF
3300 const char * MAGIC_EXE = "$magic_exe";
3301 const char * LIB_PATH_VARNAME = "$shlibpath_var";
3302 EOF
3303
3304 if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
3305 func_to_host_pathlist "$temp_rpath"
3306 cat <<EOF
3307 const char * LIB_PATH_VALUE = "$func_to_host_pathlist_result";
3308 EOF
3309 else
3310 cat <<"EOF"
3311 const char * LIB_PATH_VALUE = "";
3312 EOF
3313 fi
3314
3315 if test -n "$dllsearchpath"; then
3316 func_to_host_pathlist "$dllsearchpath:"
3317 cat <<EOF
3318 const char * EXE_PATH_VARNAME = "PATH";
3319 const char * EXE_PATH_VALUE = "$func_to_host_pathlist_result";
3320 EOF
3321 else
3322 cat <<"EOF"
3323 const char * EXE_PATH_VARNAME = "";
3324 const char * EXE_PATH_VALUE = "";
3325 EOF
3326 fi
3327
3328 if test "$fast_install" = yes; then
3329 cat <<EOF
3330 const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
3331 EOF
3332 else
3333 cat <<EOF
3334 const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
3335 EOF
3336 fi
3337
3338
3339 cat <<"EOF"
3340
3341 #define LTWRAPPER_OPTION_PREFIX "--lt-"
3342 #define LTWRAPPER_OPTION_PREFIX_LENGTH 5
3343
3344 static const size_t opt_prefix_len = LTWRAPPER_OPTION_PREFIX_LENGTH;
3345 static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
3346
3347 static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
3348
3349 static const size_t env_set_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
3350 static const char *env_set_opt = LTWRAPPER_OPTION_PREFIX "env-set";
3351 /* argument is putenv-style "foo=bar", value of foo is set to bar */
3352
3353 static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
3354 static const char *env_prepend_opt = LTWRAPPER_OPTION_PREFIX "env-prepend";
3355 /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
3356
3357 static const size_t env_append_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
3358 static const char *env_append_opt = LTWRAPPER_OPTION_PREFIX "env-append";
3359 /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
3360
3361 int
3362 main (int argc, char *argv[])
3363 {
3364 char **newargz;
3365 int newargc;
3366 char *tmp_pathspec;
3367 char *actual_cwrapper_path;
3368 char *actual_cwrapper_name;
3369 char *target_name;
3370 char *lt_argv_zero;
3371 intptr_t rval = 127;
3372
3373 int i;
3374
3375 program_name = (char *) xstrdup (base_name (argv[0]));
3376 LTWRAPPER_DEBUGPRINTF (("(main) argv[0] : %s\n", argv[0]));
3377 LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
3378
3379 /* very simple arg parsing; don't want to rely on getopt */
3380 for (i = 1; i < argc; i++)
3381 {
3382 if (strcmp (argv[i], dumpscript_opt) == 0)
3383 {
3384 EOF
3385 case "$host" in
3386 *mingw* | *cygwin* )
3387 # make stdout use "unix" line endings
3388 echo " setmode(1,_O_BINARY);"
3389 ;;
3390 esac
3391
3392 cat <<"EOF"
3393 printf ("%s", script_text_part1);
3394 printf ("%s", script_text_part2);
3395 return 0;
3396 }
3397 }
3398
3399 newargz = XMALLOC (char *, argc + 1);
3400 tmp_pathspec = find_executable (argv[0]);
3401 if (tmp_pathspec == NULL)
3402 lt_fatal ("Couldn't find %s", argv[0]);
3403 LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
3404 tmp_pathspec));
3405
3406 actual_cwrapper_path = chase_symlinks (tmp_pathspec);
3407 LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
3408 actual_cwrapper_path));
3409 XFREE (tmp_pathspec);
3410
3411 actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
3412 strendzap (actual_cwrapper_path, actual_cwrapper_name);
3413
3414 /* wrapper name transforms */
3415 strendzap (actual_cwrapper_name, ".exe");
3416 tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
3417 XFREE (actual_cwrapper_name);
3418 actual_cwrapper_name = tmp_pathspec;
3419 tmp_pathspec = 0;
3420
3421 /* target_name transforms -- use actual target program name; might have lt- prefix */
3422 target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
3423 strendzap (target_name, ".exe");
3424 tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
3425 XFREE (target_name);
3426 target_name = tmp_pathspec;
3427 tmp_pathspec = 0;
3428
3429 LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
3430 target_name));
3431 EOF
3432
3433 cat <<EOF
3434 newargz[0] =
3435 XMALLOC (char, (strlen (actual_cwrapper_path) +
3436 strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
3437 strcpy (newargz[0], actual_cwrapper_path);
3438 strcat (newargz[0], "$objdir");
3439 strcat (newargz[0], "/");
3440 EOF
3441
3442 cat <<"EOF"
3443 /* stop here, and copy so we don't have to do this twice */
3444 tmp_pathspec = xstrdup (newargz[0]);
3445
3446 /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
3447 strcat (newargz[0], actual_cwrapper_name);
3448
3449 /* DO want the lt- prefix here if it exists, so use target_name */
3450 lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
3451 XFREE (tmp_pathspec);
3452 tmp_pathspec = NULL;
3453 EOF
3454
3455 case $host_os in
3456 mingw*)
3457 cat <<"EOF"
3458 {
3459 char* p;
3460 while ((p = strchr (newargz[0], '\\')) != NULL)
3461 {
3462 *p = '/';
3463 }
3464 while ((p = strchr (lt_argv_zero, '\\')) != NULL)
3465 {
3466 *p = '/';
3467 }
3468 }
3469 EOF
3470 ;;
3471 esac
3472
3473 cat <<"EOF"
3474 XFREE (target_name);
3475 XFREE (actual_cwrapper_path);
3476 XFREE (actual_cwrapper_name);
3477
3478 lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
3479 lt_setenv ("DUALCASE", "1"); /* for MSK sh */
3480 lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
3481 lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
3482
3483 newargc=0;
3484 for (i = 1; i < argc; i++)
3485 {
3486 if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
3487 {
3488 if (argv[i][env_set_opt_len] == '=')
3489 {
3490 const char *p = argv[i] + env_set_opt_len + 1;
3491 lt_opt_process_env_set (p);
3492 }
3493 else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
3494 {
3495 lt_opt_process_env_set (argv[++i]); /* don't copy */
3496 }
3497 else
3498 lt_fatal ("%s missing required argument", env_set_opt);
3499 continue;
3500 }
3501 if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
3502 {
3503 if (argv[i][env_prepend_opt_len] == '=')
3504 {
3505 const char *p = argv[i] + env_prepend_opt_len + 1;
3506 lt_opt_process_env_prepend (p);
3507 }
3508 else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
3509 {
3510 lt_opt_process_env_prepend (argv[++i]); /* don't copy */
3511 }
3512 else
3513 lt_fatal ("%s missing required argument", env_prepend_opt);
3514 continue;
3515 }
3516 if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
3517 {
3518 if (argv[i][env_append_opt_len] == '=')
3519 {
3520 const char *p = argv[i] + env_append_opt_len + 1;
3521 lt_opt_process_env_append (p);
3522 }
3523 else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
3524 {
3525 lt_opt_process_env_append (argv[++i]); /* don't copy */
3526 }
3527 else
3528 lt_fatal ("%s missing required argument", env_append_opt);
3529 continue;
3530 }
3531 if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
3532 {
3533 /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
3534 namespace, but it is not one of the ones we know about and
3535 have already dealt with, above (inluding dump-script), then
3536 report an error. Otherwise, targets might begin to believe
3537 they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
3538 namespace. The first time any user complains about this, we'll
3539 need to make LTWRAPPER_OPTION_PREFIX a configure-time option
3540 or a configure.ac-settable value.
3541 */
3542 lt_fatal ("Unrecognized option in %s namespace: '%s'",
3543 ltwrapper_option_prefix, argv[i]);
3544 }
3545 /* otherwise ... */
3546 newargz[++newargc] = xstrdup (argv[i]);
3547 }
3548 newargz[++newargc] = NULL;
3549
3550 LTWRAPPER_DEBUGPRINTF (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
3551 for (i = 0; i < newargc; i++)
3552 {
3553 LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
3554 }
3555
3556 EOF
3557
3558 case $host_os in
3559 mingw*)
3560 cat <<"EOF"
3561 /* execv doesn't actually work on mingw as expected on unix */
3562 rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
3563 if (rval == -1)
3564 {
3565 /* failed to start process */
3566 LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
3567 return 127;
3568 }
3569 return rval;
3570 EOF
3571 ;;
3572 *)
3573 cat <<"EOF"
3574 execv (lt_argv_zero, newargz);
3575 return rval; /* =127, but avoids unused variable warning */
3576 EOF
3577 ;;
3578 esac
3579
3580 cat <<"EOF"
3581 }
3582
3583 void *
3584 xmalloc (size_t num)
3585 {
3586 void *p = (void *) malloc (num);
3587 if (!p)
3588 lt_fatal ("Memory exhausted");
3589
3590 return p;
3591 }
3592
3593 char *
3594 xstrdup (const char *string)
3595 {
3596 return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
3597 string) : NULL;
3598 }
3599
3600 const char *
3601 base_name (const char *name)
3602 {
3603 const char *base;
3604
3605 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
3606 /* Skip over the disk name in MSDOS pathnames. */
3607 if (isalpha ((unsigned char) name[0]) && name[1] == ':')
3608 name += 2;
3609 #endif
3610
3611 for (base = name; *name; name++)
3612 if (IS_DIR_SEPARATOR (*name))
3613 base = name + 1;
3614 return base;
3615 }
3616
3617 int
3618 check_executable (const char *path)
3619 {
3620 struct stat st;
3621
3622 LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n",
3623 path ? (*path ? path : "EMPTY!") : "NULL!"));
3624 if ((!path) || (!*path))
3625 return 0;
3626
3627 if ((stat (path, &st) >= 0)
3628 && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
3629 return 1;
3630 else
3631 return 0;
3632 }
3633
3634 int
3635 make_executable (const char *path)
3636 {
3637 int rval = 0;
3638 struct stat st;
3639
3640 LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n",
3641 path ? (*path ? path : "EMPTY!") : "NULL!"));
3642 if ((!path) || (!*path))
3643 return 0;
3644
3645 if (stat (path, &st) >= 0)
3646 {
3647 rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
3648 }
3649 return rval;
3650 }
3651
3652 /* Searches for the full path of the wrapper. Returns
3653 newly allocated full path name if found, NULL otherwise
3654 Does not chase symlinks, even on platforms that support them.
3655 */
3656 char *
3657 find_executable (const char *wrapper)
3658 {
3659 int has_slash = 0;
3660 const char *p;
3661 const char *p_next;
3662 /* static buffer for getcwd */
3663 char tmp[LT_PATHMAX + 1];
3664 int tmp_len;
3665 char *concat_name;
3666
3667 LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n",
3668 wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
3669
3670 if ((wrapper == NULL) || (*wrapper == '\0'))
3671 return NULL;
3672
3673 /* Absolute path? */
3674 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
3675 if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
3676 {
3677 concat_name = xstrdup (wrapper);
3678 if (check_executable (concat_name))
3679 return concat_name;
3680 XFREE (concat_name);
3681 }
3682 else
3683 {
3684 #endif
3685 if (IS_DIR_SEPARATOR (wrapper[0]))
3686 {
3687 concat_name = xstrdup (wrapper);
3688 if (check_executable (concat_name))
3689 return concat_name;
3690 XFREE (concat_name);
3691 }
3692 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
3693 }
3694 #endif
3695
3696 for (p = wrapper; *p; p++)
3697 if (*p == '/')
3698 {
3699 has_slash = 1;
3700 break;
3701 }
3702 if (!has_slash)
3703 {
3704 /* no slashes; search PATH */
3705 const char *path = getenv ("PATH");
3706 if (path != NULL)
3707 {
3708 for (p = path; *p; p = p_next)
3709 {
3710 const char *q;
3711 size_t p_len;
3712 for (q = p; *q; q++)
3713 if (IS_PATH_SEPARATOR (*q))
3714 break;
3715 p_len = q - p;
3716 p_next = (*q == '\0' ? q : q + 1);
3717 if (p_len == 0)
3718 {
3719 /* empty path: current directory */
3720 if (getcwd (tmp, LT_PATHMAX) == NULL)
3721 lt_fatal ("getcwd failed");
3722 tmp_len = strlen (tmp);
3723 concat_name =
3724 XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
3725 memcpy (concat_name, tmp, tmp_len);
3726 concat_name[tmp_len] = '/';
3727 strcpy (concat_name + tmp_len + 1, wrapper);
3728 }
3729 else
3730 {
3731 concat_name =
3732 XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
3733 memcpy (concat_name, p, p_len);
3734 concat_name[p_len] = '/';
3735 strcpy (concat_name + p_len + 1, wrapper);
3736 }
3737 if (check_executable (concat_name))
3738 return concat_name;
3739 XFREE (concat_name);
3740 }
3741 }
3742 /* not found in PATH; assume curdir */
3743 }
3744 /* Relative path | not found in path: prepend cwd */
3745 if (getcwd (tmp, LT_PATHMAX) == NULL)
3746 lt_fatal ("getcwd failed");
3747 tmp_len = strlen (tmp);
3748 concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
3749 memcpy (concat_name, tmp, tmp_len);
3750 concat_name[tmp_len] = '/';
3751 strcpy (concat_name + tmp_len + 1, wrapper);
3752
3753 if (check_executable (concat_name))
3754 return concat_name;
3755 XFREE (concat_name);
3756 return NULL;
3757 }
3758
3759 char *
3760 chase_symlinks (const char *pathspec)
3761 {
3762 #ifndef S_ISLNK
3763 return xstrdup (pathspec);
3764 #else
3765 char buf[LT_PATHMAX];
3766 struct stat s;
3767 char *tmp_pathspec = xstrdup (pathspec);
3768 char *p;
3769 int has_symlinks = 0;
3770 while (strlen (tmp_pathspec) && !has_symlinks)
3771 {
3772 LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
3773 tmp_pathspec));
3774 if (lstat (tmp_pathspec, &s) == 0)
3775 {
3776 if (S_ISLNK (s.st_mode) != 0)
3777 {
3778 has_symlinks = 1;
3779 break;
3780 }
3781
3782 /* search backwards for last DIR_SEPARATOR */
3783 p = tmp_pathspec + strlen (tmp_pathspec) - 1;
3784 while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
3785 p--;
3786 if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
3787 {
3788 /* no more DIR_SEPARATORS left */
3789 break;
3790 }
3791 *p = '\0';
3792 }
3793 else
3794 {
3795 char *errstr = strerror (errno);
3796 lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
3797 }
3798 }
3799 XFREE (tmp_pathspec);
3800
3801 if (!has_symlinks)
3802 {
3803 return xstrdup (pathspec);
3804 }
3805
3806 tmp_pathspec = realpath (pathspec, buf);
3807 if (tmp_pathspec == 0)
3808 {
3809 lt_fatal ("Could not follow symlinks for %s", pathspec);
3810 }
3811 return xstrdup (tmp_pathspec);
3812 #endif
3813 }
3814
3815 char *
3816 strendzap (char *str, const char *pat)
3817 {
3818 size_t len, patlen;
3819
3820 assert (str != NULL);
3821 assert (pat != NULL);
3822
3823 len = strlen (str);
3824 patlen = strlen (pat);
3825
3826 if (patlen <= len)
3827 {
3828 str += len - patlen;
3829 if (strcmp (str, pat) == 0)
3830 *str = '\0';
3831 }
3832 return str;
3833 }
3834
3835 static void
3836 lt_error_core (int exit_status, const char *mode,
3837 const char *message, va_list ap)
3838 {
3839 fprintf (stderr, "%s: %s: ", program_name, mode);
3840 vfprintf (stderr, message, ap);
3841 fprintf (stderr, ".\n");
3842
3843 if (exit_status >= 0)
3844 exit (exit_status);
3845 }
3846
3847 void
3848 lt_fatal (const char *message, ...)
3849 {
3850 va_list ap;
3851 va_start (ap, message);
3852 lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
3853 va_end (ap);
3854 }
3855
3856 void
3857 lt_setenv (const char *name, const char *value)
3858 {
3859 LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
3860 (name ? name : "<NULL>"),
3861 (value ? value : "<NULL>")));
3862 {
3863 #ifdef HAVE_SETENV
3864 /* always make a copy, for consistency with !HAVE_SETENV */
3865 char *str = xstrdup (value);
3866 setenv (name, str, 1);
3867 #else
3868 int len = strlen (name) + 1 + strlen (value) + 1;
3869 char *str = XMALLOC (char, len);
3870 sprintf (str, "%s=%s", name, value);
3871 if (putenv (str) != EXIT_SUCCESS)
3872 {
3873 XFREE (str);
3874 }
3875 #endif
3876 }
3877 }
3878
3879 char *
3880 lt_extend_str (const char *orig_value, const char *add, int to_end)
3881 {
3882 char *new_value;
3883 if (orig_value && *orig_value)
3884 {
3885 int orig_value_len = strlen (orig_value);
3886 int add_len = strlen (add);
3887 new_value = XMALLOC (char, add_len + orig_value_len + 1);
3888 if (to_end)
3889 {
3890 strcpy (new_value, orig_value);
3891 strcpy (new_value + orig_value_len, add);
3892 }
3893 else
3894 {
3895 strcpy (new_value, add);
3896 strcpy (new_value + add_len, orig_value);
3897 }
3898 }
3899 else
3900 {
3901 new_value = xstrdup (add);
3902 }
3903 return new_value;
3904 }
3905
3906 int
3907 lt_split_name_value (const char *arg, char** name, char** value)
3908 {
3909 const char *p;
3910 int len;
3911 if (!arg || !*arg)
3912 return 1;
3913
3914 p = strchr (arg, (int)'=');
3915
3916 if (!p)
3917 return 1;
3918
3919 *value = xstrdup (++p);
3920
3921 len = strlen (arg) - strlen (*value);
3922 *name = XMALLOC (char, len);
3923 strncpy (*name, arg, len-1);
3924 (*name)[len - 1] = '\0';
3925
3926 return 0;
3927 }
3928
3929 void
3930 lt_opt_process_env_set (const char *arg)
3931 {
3932 char *name = NULL;
3933 char *value = NULL;
3934
3935 if (lt_split_name_value (arg, &name, &value) != 0)
3936 {
3937 XFREE (name);
3938 XFREE (value);
3939 lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
3940 }
3941
3942 lt_setenv (name, value);
3943 XFREE (name);
3944 XFREE (value);
3945 }
3946
3947 void
3948 lt_opt_process_env_prepend (const char *arg)
3949 {
3950 char *name = NULL;
3951 char *value = NULL;
3952 char *new_value = NULL;
3953
3954 if (lt_split_name_value (arg, &name, &value) != 0)
3955 {
3956 XFREE (name);
3957 XFREE (value);
3958 lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
3959 }
3960
3961 new_value = lt_extend_str (getenv (name), value, 0);
3962 lt_setenv (name, new_value);
3963 XFREE (new_value);
3964 XFREE (name);
3965 XFREE (value);
3966 }
3967
3968 void
3969 lt_opt_process_env_append (const char *arg)
3970 {
3971 char *name = NULL;
3972 char *value = NULL;
3973 char *new_value = NULL;
3974
3975 if (lt_split_name_value (arg, &name, &value) != 0)
3976 {
3977 XFREE (name);
3978 XFREE (value);
3979 lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
3980 }
3981
3982 new_value = lt_extend_str (getenv (name), value, 1);
3983 lt_setenv (name, new_value);
3984 XFREE (new_value);
3985 XFREE (name);
3986 XFREE (value);
3987 }
3988
3989 void
3990 lt_update_exe_path (const char *name, const char *value)
3991 {
3992 LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
3993 (name ? name : "<NULL>"),
3994 (value ? value : "<NULL>")));
3995
3996 if (name && *name && value && *value)
3997 {
3998 char *new_value = lt_extend_str (getenv (name), value, 0);
3999 /* some systems can't cope with a ':'-terminated path #' */
4000 int len = strlen (new_value);
4001 while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
4002 {
4003 new_value[len-1] = '\0';
4004 }
4005 lt_setenv (name, new_value);
4006 XFREE (new_value);
4007 }
4008 }
4009
4010 void
4011 lt_update_lib_path (const char *name, const char *value)
4012 {
4013 LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
4014 (name ? name : "<NULL>"),
4015 (value ? value : "<NULL>")));
4016
4017 if (name && *name && value && *value)
4018 {
4019 char *new_value = lt_extend_str (getenv (name), value, 0);
4020 lt_setenv (name, new_value);
4021 XFREE (new_value);
4022 }
4023 }
4024
4025
4026 EOF
4027 }
4028 # end: func_emit_cwrapperexe_src
4029
4030 # func_mode_link arg...
4031 func_mode_link ()
4032 {
4033 $opt_debug
4034 case $host in
4035 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
4036 # It is impossible to link a dll without this setting, and
4037 # we shouldn't force the makefile maintainer to figure out
4038 # which system we are compiling for in order to pass an extra
4039 # flag for every libtool invocation.
4040 # allow_undefined=no
4041
4042 # FIXME: Unfortunately, there are problems with the above when trying
4043 # to make a dll which has undefined symbols, in which case not
4044 # even a static library is built. For now, we need to specify
4045 # -no-undefined on the libtool link line when we can be certain
4046 # that all symbols are satisfied, otherwise we get a static library.
4047 allow_undefined=yes
4048 ;;
4049 *)
4050 allow_undefined=yes
4051 ;;
4052 esac
4053 libtool_args=$nonopt
4054 base_compile="$nonopt $@"
4055 compile_command=$nonopt
4056 finalize_command=$nonopt
4057
4058 compile_rpath=
4059 finalize_rpath=
4060 compile_shlibpath=
4061 finalize_shlibpath=
4062 convenience=
4063 old_convenience=
4064 deplibs=
4065 old_deplibs=
4066 compiler_flags=
4067 linker_flags=
4068 dllsearchpath=
4069 lib_search_path=`pwd`
4070 inst_prefix_dir=
4071 new_inherited_linker_flags=
4072
4073 avoid_version=no
4074 dlfiles=
4075 dlprefiles=
4076 dlself=no
4077 export_dynamic=no
4078 export_symbols=
4079 export_symbols_regex=
4080 generated=
4081 libobjs=
4082 ltlibs=
4083 module=no
4084 no_install=no
4085 objs=
4086 non_pic_objects=
4087 precious_files_regex=
4088 prefer_static_libs=no
4089 preload=no
4090 prev=
4091 prevarg=
4092 release=
4093 rpath=
4094 xrpath=
4095 perm_rpath=
4096 temp_rpath=
4097 thread_safe=no
4098 vinfo=
4099 vinfo_number=no
4100 weak_libs=
4101 single_module="${wl}-single_module"
4102 func_infer_tag $base_compile
4103
4104 # We need to know -static, to get the right output filenames.
4105 for arg
4106 do
4107 case $arg in
4108 -shared)
4109 test "$build_libtool_libs" != yes && \
4110 func_fatal_configuration "can not build a shared library"
4111 build_old_libs=no
4112 break
4113 ;;
4114 -all-static | -static | -static-libtool-libs)
4115 case $arg in
4116 -all-static)
4117 if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
4118 func_warning "complete static linking is impossible in this configuration"
4119 fi
4120 if test -n "$link_static_flag"; then
4121 dlopen_self=$dlopen_self_static
4122 fi
4123 prefer_static_libs=yes
4124 ;;
4125 -static)
4126 if test -z "$pic_flag" && test -n "$link_static_flag"; then
4127 dlopen_self=$dlopen_self_static
4128 fi
4129 prefer_static_libs=built
4130 ;;
4131 -static-libtool-libs)
4132 if test -z "$pic_flag" && test -n "$link_static_flag"; then
4133 dlopen_self=$dlopen_self_static
4134 fi
4135 prefer_static_libs=yes
4136 ;;
4137 esac
4138 build_libtool_libs=no
4139 build_old_libs=yes
4140 break
4141 ;;
4142 esac
4143 done
4144
4145 # See if our shared archives depend on static archives.
4146 test -n "$old_archive_from_new_cmds" && build_old_libs=yes
4147
4148 # Go through the arguments, transforming them on the way.
4149 while test "$#" -gt 0; do
4150 arg="$1"
4151 shift
4152 func_quote_for_eval "$arg"
4153 qarg=$func_quote_for_eval_unquoted_result
4154 func_append libtool_args " $func_quote_for_eval_result"
4155
4156 # If the previous option needs an argument, assign it.
4157 if test -n "$prev"; then
4158 case $prev in
4159 output)
4160 func_append compile_command " @OUTPUT@"
4161 func_append finalize_command " @OUTPUT@"
4162 ;;
4163 esac
4164
4165 case $prev in
4166 dlfiles|dlprefiles)
4167 if test "$preload" = no; then
4168 # Add the symbol object into the linking commands.
4169 func_append compile_command " @SYMFILE@"
4170 func_append finalize_command " @SYMFILE@"
4171 preload=yes
4172 fi
4173 case $arg in
4174 *.la | *.lo) ;; # We handle these cases below.
4175 force)
4176 if test "$dlself" = no; then
4177 dlself=needless
4178 export_dynamic=yes
4179 fi
4180 prev=
4181 continue
4182 ;;
4183 self)
4184 if test "$prev" = dlprefiles; then
4185 dlself=yes
4186 elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
4187 dlself=yes
4188 else
4189 dlself=needless
4190 export_dynamic=yes
4191 fi
4192 prev=
4193 continue
4194 ;;
4195 *)
4196 if test "$prev" = dlfiles; then
4197 dlfiles="$dlfiles $arg"
4198 else
4199 dlprefiles="$dlprefiles $arg"
4200 fi
4201 prev=
4202 continue
4203 ;;
4204 esac
4205 ;;
4206 expsyms)
4207 export_symbols="$arg"
4208 test -f "$arg" \
4209 || func_fatal_error "symbol file \`$arg' does not exist"
4210 prev=
4211 continue
4212 ;;
4213 expsyms_regex)
4214 export_symbols_regex="$arg"
4215 prev=
4216 continue
4217 ;;
4218 framework)
4219 case $host in
4220 *-*-darwin*)
4221 case "$deplibs " in
4222 *" $qarg.ltframework "*) ;;
4223 *) deplibs="$deplibs $qarg.ltframework" # this is fixed later
4224 ;;
4225 esac
4226 ;;
4227 esac
4228 prev=
4229 continue
4230 ;;
4231 inst_prefix)
4232 inst_prefix_dir="$arg"
4233 prev=
4234 continue
4235 ;;
4236 objectlist)
4237 if test -f "$arg"; then
4238 save_arg=$arg
4239 moreargs=
4240 for fil in `cat "$save_arg"`
4241 do
4242 # moreargs="$moreargs $fil"
4243 arg=$fil
4244 # A libtool-controlled object.
4245
4246 # Check to see that this really is a libtool object.
4247 if func_lalib_unsafe_p "$arg"; then
4248 pic_object=
4249 non_pic_object=
4250
4251 # Read the .lo file
4252 func_source "$arg"
4253
4254 if test -z "$pic_object" ||
4255 test -z "$non_pic_object" ||
4256 test "$pic_object" = none &&
4257 test "$non_pic_object" = none; then
4258 func_fatal_error "cannot find name of object for \`$arg'"
4259 fi
4260
4261 # Extract subdirectory from the argument.
4262 func_dirname "$arg" "/" ""
4263 xdir="$func_dirname_result"
4264
4265 if test "$pic_object" != none; then
4266 # Prepend the subdirectory the object is found in.
4267 pic_object="$xdir$pic_object"
4268
4269 if test "$prev" = dlfiles; then
4270 if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
4271 dlfiles="$dlfiles $pic_object"
4272 prev=
4273 continue
4274 else
4275 # If libtool objects are unsupported, then we need to preload.
4276 prev=dlprefiles
4277 fi
4278 fi
4279
4280 # CHECK ME: I think I busted this. -Ossama
4281 if test "$prev" = dlprefiles; then
4282 # Preload the old-style object.
4283 dlprefiles="$dlprefiles $pic_object"
4284 prev=
4285 fi
4286
4287 # A PIC object.
4288 func_append libobjs " $pic_object"
4289 arg="$pic_object"
4290 fi
4291
4292 # Non-PIC object.
4293 if test "$non_pic_object" != none; then
4294 # Prepend the subdirectory the object is found in.
4295 non_pic_object="$xdir$non_pic_object"
4296
4297 # A standard non-PIC object
4298 func_append non_pic_objects " $non_pic_object"
4299 if test -z "$pic_object" || test "$pic_object" = none ; then
4300 arg="$non_pic_object"
4301 fi
4302 else
4303 # If the PIC object exists, use it instead.
4304 # $xdir was prepended to $pic_object above.
4305 non_pic_object="$pic_object"
4306 func_append non_pic_objects " $non_pic_object"
4307 fi
4308 else
4309 # Only an error if not doing a dry-run.
4310 if $opt_dry_run; then
4311 # Extract subdirectory from the argument.
4312 func_dirname "$arg" "/" ""
4313 xdir="$func_dirname_result"
4314
4315 func_lo2o "$arg"
4316 pic_object=$xdir$objdir/$func_lo2o_result
4317 non_pic_object=$xdir$func_lo2o_result
4318 func_append libobjs " $pic_object"
4319 func_append non_pic_objects " $non_pic_object"
4320 else
4321 func_fatal_error "\`$arg' is not a valid libtool object"
4322 fi
4323 fi
4324 done
4325 else
4326 func_fatal_error "link input file \`$arg' does not exist"
4327 fi
4328 arg=$save_arg
4329 prev=
4330 continue
4331 ;;
4332 precious_regex)
4333 precious_files_regex="$arg"
4334 prev=
4335 continue
4336 ;;
4337 release)
4338 release="-$arg"
4339 prev=
4340 continue
4341 ;;
4342 rpath | xrpath)
4343 # We need an absolute path.
4344 case $arg in
4345 [\\/]* | [A-Za-z]:[\\/]*) ;;
4346 *)
4347 func_fatal_error "only absolute run-paths are allowed"
4348 ;;
4349 esac
4350 if test "$prev" = rpath; then
4351 case "$rpath " in
4352 *" $arg "*) ;;
4353 *) rpath="$rpath $arg" ;;
4354 esac
4355 else
4356 case "$xrpath " in
4357 *" $arg "*) ;;
4358 *) xrpath="$xrpath $arg" ;;
4359 esac
4360 fi
4361 prev=
4362 continue
4363 ;;
4364 shrext)
4365 shrext_cmds="$arg"
4366 prev=
4367 continue
4368 ;;
4369 weak)
4370 weak_libs="$weak_libs $arg"
4371 prev=
4372 continue
4373 ;;
4374 xcclinker)
4375 linker_flags="$linker_flags $qarg"
4376 compiler_flags="$compiler_flags $qarg"
4377 prev=
4378 func_append compile_command " $qarg"
4379 func_append finalize_command " $qarg"
4380 continue
4381 ;;
4382 xcompiler)
4383 compiler_flags="$compiler_flags $qarg"
4384 prev=
4385 func_append compile_command " $qarg"
4386 func_append finalize_command " $qarg"
4387 continue
4388 ;;
4389 xlinker)
4390 linker_flags="$linker_flags $qarg"
4391 compiler_flags="$compiler_flags $wl$qarg"
4392 prev=
4393 func_append compile_command " $wl$qarg"
4394 func_append finalize_command " $wl$qarg"
4395 continue
4396 ;;
4397 *)
4398 eval "$prev=\"\$arg\""
4399 prev=
4400 continue
4401 ;;
4402 esac
4403 fi # test -n "$prev"
4404
4405 prevarg="$arg"
4406
4407 case $arg in
4408 -all-static)
4409 if test -n "$link_static_flag"; then
4410 # See comment for -static flag below, for more details.
4411 func_append compile_command " $link_static_flag"
4412 func_append finalize_command " $link_static_flag"
4413 fi
4414 continue
4415 ;;
4416
4417 -allow-undefined)
4418 # FIXME: remove this flag sometime in the future.
4419 func_fatal_error "\`-allow-undefined' must not be used because it is the default"
4420 ;;
4421
4422 -avoid-version)
4423 avoid_version=yes
4424 continue
4425 ;;
4426
4427 -dlopen)
4428 prev=dlfiles
4429 continue
4430 ;;
4431
4432 -dlpreopen)
4433 prev=dlprefiles
4434 continue
4435 ;;
4436
4437 -export-dynamic)
4438 export_dynamic=yes
4439 continue
4440 ;;
4441
4442 -export-symbols | -export-symbols-regex)
4443 if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
4444 func_fatal_error "more than one -exported-symbols argument is not allowed"
4445 fi
4446 if test "X$arg" = "X-export-symbols"; then
4447 prev=expsyms
4448 else
4449 prev=expsyms_regex
4450 fi
4451 continue
4452 ;;
4453
4454 -framework)
4455 prev=framework
4456 continue
4457 ;;
4458
4459 -inst-prefix-dir)
4460 prev=inst_prefix
4461 continue
4462 ;;
4463
4464 # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
4465 # so, if we see these flags be careful not to treat them like -L
4466 -L[A-Z][A-Z]*:*)
4467 case $with_gcc/$host in
4468 no/*-*-irix* | /*-*-irix*)
4469 func_append compile_command " $arg"
4470 func_append finalize_command " $arg"
4471 ;;
4472 esac
4473 continue
4474 ;;
4475
4476 -L*)
4477 func_stripname '-L' '' "$arg"
4478 dir=$func_stripname_result
4479 if test -z "$dir"; then
4480 if test "$#" -gt 0; then
4481 func_fatal_error "require no space between \`-L' and \`$1'"
4482 else
4483 func_fatal_error "need path for \`-L' option"
4484 fi
4485 fi
4486 # We need an absolute path.
4487 case $dir in
4488 [\\/]* | [A-Za-z]:[\\/]*) ;;
4489 *)
4490 absdir=`cd "$dir" && pwd`
4491 test -z "$absdir" && \
4492 func_fatal_error "cannot determine absolute directory name of \`$dir'"
4493 dir="$absdir"
4494 ;;
4495 esac
4496 case "$deplibs " in
4497 *" -L$dir "*) ;;
4498 *)
4499 deplibs="$deplibs -L$dir"
4500 lib_search_path="$lib_search_path $dir"
4501 ;;
4502 esac
4503 case $host in
4504 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
4505 testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
4506 case :$dllsearchpath: in
4507 *":$dir:"*) ;;
4508 ::) dllsearchpath=$dir;;
4509 *) dllsearchpath="$dllsearchpath:$dir";;
4510 esac
4511 case :$dllsearchpath: in
4512 *":$testbindir:"*) ;;
4513 ::) dllsearchpath=$testbindir;;
4514 *) dllsearchpath="$dllsearchpath:$testbindir";;
4515 esac
4516 ;;
4517 esac
4518 continue
4519 ;;
4520
4521 -l*)
4522 if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
4523 case $host in
4524 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
4525 # These systems don't actually have a C or math library (as such)
4526 continue
4527 ;;
4528 *-*-os2*)
4529 # These systems don't actually have a C library (as such)
4530 test "X$arg" = "X-lc" && continue
4531 ;;
4532 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
4533 # Do not include libc due to us having libc/libc_r.
4534 test "X$arg" = "X-lc" && continue
4535 ;;
4536 *-*-rhapsody* | *-*-darwin1.[012])
4537 # Rhapsody C and math libraries are in the System framework
4538 deplibs="$deplibs System.ltframework"
4539 continue
4540 ;;
4541 *-*-sco3.2v5* | *-*-sco5v6*)
4542 # Causes problems with __ctype
4543 test "X$arg" = "X-lc" && continue
4544 ;;
4545 *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
4546 # Compiler inserts libc in the correct place for threads to work
4547 test "X$arg" = "X-lc" && continue
4548 ;;
4549 esac
4550 elif test "X$arg" = "X-lc_r"; then
4551 case $host in
4552 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
4553 # Do not include libc_r directly, use -pthread flag.
4554 continue
4555 ;;
4556 esac
4557 fi
4558 deplibs="$deplibs $arg"
4559 continue
4560 ;;
4561
4562 -module)
4563 module=yes
4564 continue
4565 ;;
4566
4567 # Tru64 UNIX uses -model [arg] to determine the layout of C++
4568 # classes, name mangling, and exception handling.
4569 # Darwin uses the -arch flag to determine output architecture.
4570 -model|-arch|-isysroot)
4571 compiler_flags="$compiler_flags $arg"
4572 func_append compile_command " $arg"
4573 func_append finalize_command " $arg"
4574 prev=xcompiler
4575 continue
4576 ;;
4577
4578 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
4579 compiler_flags="$compiler_flags $arg"
4580 func_append compile_command " $arg"
4581 func_append finalize_command " $arg"
4582 case "$new_inherited_linker_flags " in
4583 *" $arg "*) ;;
4584 * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
4585 esac
4586 continue
4587 ;;
4588
4589 -multi_module)
4590 single_module="${wl}-multi_module"
4591 continue
4592 ;;
4593
4594 -no-fast-install)
4595 fast_install=no
4596 continue
4597 ;;
4598
4599 -no-install)
4600 case $host in
4601 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
4602 # The PATH hackery in wrapper scripts is required on Windows
4603 # and Darwin in order for the loader to find any dlls it needs.
4604 func_warning "\`-no-install' is ignored for $host"
4605 func_warning "assuming \`-no-fast-install' instead"
4606 fast_install=no
4607 ;;
4608 *) no_install=yes ;;
4609 esac
4610 continue
4611 ;;
4612
4613 -no-undefined)
4614 allow_undefined=no
4615 continue
4616 ;;
4617
4618 -objectlist)
4619 prev=objectlist
4620 continue
4621 ;;
4622
4623 -o) prev=output ;;
4624
4625 -precious-files-regex)
4626 prev=precious_regex
4627 continue
4628 ;;
4629
4630 -release)
4631 prev=release
4632 continue
4633 ;;
4634
4635 -rpath)
4636 prev=rpath
4637 continue
4638 ;;
4639
4640 -R)
4641 prev=xrpath
4642 continue
4643 ;;
4644
4645 -R*)
4646 func_stripname '-R' '' "$arg"
4647 dir=$func_stripname_result
4648 # We need an absolute path.
4649 case $dir in
4650 [\\/]* | [A-Za-z]:[\\/]*) ;;
4651 *)
4652 func_fatal_error "only absolute run-paths are allowed"
4653 ;;
4654 esac
4655 case "$xrpath " in
4656 *" $dir "*) ;;
4657 *) xrpath="$xrpath $dir" ;;
4658 esac
4659 continue
4660 ;;
4661
4662 -shared)
4663 # The effects of -shared are defined in a previous loop.
4664 continue
4665 ;;
4666
4667 -shrext)
4668 prev=shrext
4669 continue
4670 ;;
4671
4672 -static | -static-libtool-libs)
4673 # The effects of -static are defined in a previous loop.
4674 # We used to do the same as -all-static on platforms that
4675 # didn't have a PIC flag, but the assumption that the effects
4676 # would be equivalent was wrong. It would break on at least
4677 # Digital Unix and AIX.
4678 continue
4679 ;;
4680
4681 -thread-safe)
4682 thread_safe=yes
4683 continue
4684 ;;
4685
4686 -version-info)
4687 prev=vinfo
4688 continue
4689 ;;
4690
4691 -version-number)
4692 prev=vinfo
4693 vinfo_number=yes
4694 continue
4695 ;;
4696
4697 -weak)
4698 prev=weak
4699 continue
4700 ;;
4701
4702 -Wc,*)
4703 func_stripname '-Wc,' '' "$arg"
4704 args=$func_stripname_result
4705 arg=
4706 save_ifs="$IFS"; IFS=','
4707 for flag in $args; do
4708 IFS="$save_ifs"
4709 func_quote_for_eval "$flag"
4710 arg="$arg $wl$func_quote_for_eval_result"
4711 compiler_flags="$compiler_flags $func_quote_for_eval_result"
4712 done
4713 IFS="$save_ifs"
4714 func_stripname ' ' '' "$arg"
4715 arg=$func_stripname_result
4716 ;;
4717
4718 -Wl,*)
4719 func_stripname '-Wl,' '' "$arg"
4720 args=$func_stripname_result
4721 arg=
4722 save_ifs="$IFS"; IFS=','
4723 for flag in $args; do
4724 IFS="$save_ifs"
4725 func_quote_for_eval "$flag"
4726 arg="$arg $wl$func_quote_for_eval_result"
4727 compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
4728 linker_flags="$linker_flags $func_quote_for_eval_result"
4729 done
4730 IFS="$save_ifs"
4731 func_stripname ' ' '' "$arg"
4732 arg=$func_stripname_result
4733 ;;
4734
4735 -Xcompiler)
4736 prev=xcompiler
4737 continue
4738 ;;
4739
4740 -Xlinker)
4741 prev=xlinker
4742 continue
4743 ;;
4744
4745 -XCClinker)
4746 prev=xcclinker
4747 continue
4748 ;;
4749
4750 # -msg_* for osf cc
4751 -msg_*)
4752 func_quote_for_eval "$arg"
4753 arg="$func_quote_for_eval_result"
4754 ;;
4755
4756 # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
4757 # -r[0-9][0-9]* specifies the processor on the SGI compiler
4758 # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
4759 # +DA*, +DD* enable 64-bit mode on the HP compiler
4760 # -q* pass through compiler args for the IBM compiler
4761 # -m*, -t[45]*, -txscale* pass through architecture-specific
4762 # compiler args for GCC
4763 # -F/path gives path to uninstalled frameworks, gcc on darwin
4764 # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
4765 # @file GCC response files
4766 -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
4767 -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
4768 func_quote_for_eval "$arg"
4769 arg="$func_quote_for_eval_result"
4770 func_append compile_command " $arg"
4771 func_append finalize_command " $arg"
4772 compiler_flags="$compiler_flags $arg"
4773 continue
4774 ;;
4775
4776 # Some other compiler flag.
4777 -* | +*)
4778 func_quote_for_eval "$arg"
4779 arg="$func_quote_for_eval_result"
4780 ;;
4781
4782 *.$objext)
4783 # A standard object.
4784 objs="$objs $arg"
4785 ;;
4786
4787 *.lo)
4788 # A libtool-controlled object.
4789
4790 # Check to see that this really is a libtool object.
4791 if func_lalib_unsafe_p "$arg"; then
4792 pic_object=
4793 non_pic_object=
4794
4795 # Read the .lo file
4796 func_source "$arg"
4797
4798 if test -z "$pic_object" ||
4799 test -z "$non_pic_object" ||
4800 test "$pic_object" = none &&
4801 test "$non_pic_object" = none; then
4802 func_fatal_error "cannot find name of object for \`$arg'"
4803 fi
4804
4805 # Extract subdirectory from the argument.
4806 func_dirname "$arg" "/" ""
4807 xdir="$func_dirname_result"
4808
4809 if test "$pic_object" != none; then
4810 # Prepend the subdirectory the object is found in.
4811 pic_object="$xdir$pic_object"
4812
4813 if test "$prev" = dlfiles; then
4814 if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
4815 dlfiles="$dlfiles $pic_object"
4816 prev=
4817 continue
4818 else
4819 # If libtool objects are unsupported, then we need to preload.
4820 prev=dlprefiles
4821 fi
4822 fi
4823
4824 # CHECK ME: I think I busted this. -Ossama
4825 if test "$prev" = dlprefiles; then
4826 # Preload the old-style object.
4827 dlprefiles="$dlprefiles $pic_object"
4828 prev=
4829 fi
4830
4831 # A PIC object.
4832 func_append libobjs " $pic_object"
4833 arg="$pic_object"
4834 fi
4835
4836 # Non-PIC object.
4837 if test "$non_pic_object" != none; then
4838 # Prepend the subdirectory the object is found in.
4839 non_pic_object="$xdir$non_pic_object"
4840
4841 # A standard non-PIC object
4842 func_append non_pic_objects " $non_pic_object"
4843 if test -z "$pic_object" || test "$pic_object" = none ; then
4844 arg="$non_pic_object"
4845 fi
4846 else
4847 # If the PIC object exists, use it instead.
4848 # $xdir was prepended to $pic_object above.
4849 non_pic_object="$pic_object"
4850 func_append non_pic_objects " $non_pic_object"
4851 fi
4852 else
4853 # Only an error if not doing a dry-run.
4854 if $opt_dry_run; then
4855 # Extract subdirectory from the argument.
4856 func_dirname "$arg" "/" ""
4857 xdir="$func_dirname_result"
4858
4859 func_lo2o "$arg"
4860 pic_object=$xdir$objdir/$func_lo2o_result
4861 non_pic_object=$xdir$func_lo2o_result
4862 func_append libobjs " $pic_object"
4863 func_append non_pic_objects " $non_pic_object"
4864 else
4865 func_fatal_error "\`$arg' is not a valid libtool object"
4866 fi
4867 fi
4868 ;;
4869
4870 *.$libext)
4871 # An archive.
4872 deplibs="$deplibs $arg"
4873 old_deplibs="$old_deplibs $arg"
4874 continue
4875 ;;
4876
4877 *.la)
4878 # A libtool-controlled library.
4879
4880 if test "$prev" = dlfiles; then
4881 # This library was specified with -dlopen.
4882 dlfiles="$dlfiles $arg"
4883 prev=
4884 elif test "$prev" = dlprefiles; then
4885 # The library was specified with -dlpreopen.
4886 dlprefiles="$dlprefiles $arg"
4887 prev=
4888 else
4889 deplibs="$deplibs $arg"
4890 fi
4891 continue
4892 ;;
4893
4894 # Some other compiler argument.
4895 *)
4896 # Unknown arguments in both finalize_command and compile_command need
4897 # to be aesthetically quoted because they are evaled later.
4898 func_quote_for_eval "$arg"
4899 arg="$func_quote_for_eval_result"
4900 ;;
4901 esac # arg
4902
4903 # Now actually substitute the argument into the commands.
4904 if test -n "$arg"; then
4905 func_append compile_command " $arg"
4906 func_append finalize_command " $arg"
4907 fi
4908 done # argument parsing loop
4909
4910 test -n "$prev" && \
4911 func_fatal_help "the \`$prevarg' option requires an argument"
4912
4913 if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
4914 eval arg=\"$export_dynamic_flag_spec\"
4915 func_append compile_command " $arg"
4916 func_append finalize_command " $arg"
4917 fi
4918
4919 oldlibs=
4920 # calculate the name of the file, without its directory
4921 func_basename "$output"
4922 outputname="$func_basename_result"
4923 libobjs_save="$libobjs"
4924
4925 if test -n "$shlibpath_var"; then
4926 # get the directories listed in $shlibpath_var
4927 eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
4928 else
4929 shlib_search_path=
4930 fi
4931 eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
4932 eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
4933
4934 func_dirname "$output" "/" ""
4935 output_objdir="$func_dirname_result$objdir"
4936 # Create the object directory.
4937 func_mkdir_p "$output_objdir"
4938
4939 # Determine the type of output
4940 case $output in
4941 "")
4942 func_fatal_help "you must specify an output file"
4943 ;;
4944 *.$libext) linkmode=oldlib ;;
4945 *.lo | *.$objext) linkmode=obj ;;
4946 *.la) linkmode=lib ;;
4947 *) linkmode=prog ;; # Anything else should be a program.
4948 esac
4949
4950 specialdeplibs=
4951
4952 libs=
4953 # Find all interdependent deplibs by searching for libraries
4954 # that are linked more than once (e.g. -la -lb -la)
4955 for deplib in $deplibs; do
4956 if $opt_duplicate_deps ; then
4957 case "$libs " in
4958 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
4959 esac
4960 fi
4961 libs="$libs $deplib"
4962 done
4963
4964 if test "$linkmode" = lib; then
4965 libs="$predeps $libs $compiler_lib_search_path $postdeps"
4966
4967 # Compute libraries that are listed more than once in $predeps
4968 # $postdeps and mark them as special (i.e., whose duplicates are
4969 # not to be eliminated).
4970 pre_post_deps=
4971 if $opt_duplicate_compiler_generated_deps; then
4972 for pre_post_dep in $predeps $postdeps; do
4973 case "$pre_post_deps " in
4974 *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
4975 esac
4976 pre_post_deps="$pre_post_deps $pre_post_dep"
4977 done
4978 fi
4979 pre_post_deps=
4980 fi
4981
4982 deplibs=
4983 newdependency_libs=
4984 newlib_search_path=
4985 need_relink=no # whether we're linking any uninstalled libtool libraries
4986 notinst_deplibs= # not-installed libtool libraries
4987 notinst_path= # paths that contain not-installed libtool libraries
4988
4989 case $linkmode in
4990 lib)
4991 passes="conv dlpreopen link"
4992 for file in $dlfiles $dlprefiles; do
4993 case $file in
4994 *.la) ;;
4995 *)
4996 func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
4997 ;;
4998 esac
4999 done
5000 ;;
5001 prog)
5002 compile_deplibs=
5003 finalize_deplibs=
5004 alldeplibs=no
5005 newdlfiles=
5006 newdlprefiles=
5007 passes="conv scan dlopen dlpreopen link"
5008 ;;
5009 *) passes="conv"
5010 ;;
5011 esac
5012
5013 for pass in $passes; do
5014 # The preopen pass in lib mode reverses $deplibs; put it back here
5015 # so that -L comes before libs that need it for instance...
5016 if test "$linkmode,$pass" = "lib,link"; then
5017 ## FIXME: Find the place where the list is rebuilt in the wrong
5018 ## order, and fix it there properly
5019 tmp_deplibs=
5020 for deplib in $deplibs; do
5021 tmp_deplibs="$deplib $tmp_deplibs"
5022 done
5023 deplibs="$tmp_deplibs"
5024 fi
5025
5026 if test "$linkmode,$pass" = "lib,link" ||
5027 test "$linkmode,$pass" = "prog,scan"; then
5028 libs="$deplibs"
5029 deplibs=
5030 fi
5031 if test "$linkmode" = prog; then
5032 case $pass in
5033 dlopen) libs="$dlfiles" ;;
5034 dlpreopen) libs="$dlprefiles" ;;
5035 link)
5036 libs="$deplibs %DEPLIBS%"
5037 test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
5038 ;;
5039 esac
5040 fi
5041 if test "$linkmode,$pass" = "lib,dlpreopen"; then
5042 # Collect and forward deplibs of preopened libtool libs
5043 for lib in $dlprefiles; do
5044 # Ignore non-libtool-libs
5045 dependency_libs=
5046 case $lib in
5047 *.la) func_source "$lib" ;;
5048 esac
5049
5050 # Collect preopened libtool deplibs, except any this library
5051 # has declared as weak libs
5052 for deplib in $dependency_libs; do
5053 deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
5054 case " $weak_libs " in
5055 *" $deplib_base "*) ;;
5056 *) deplibs="$deplibs $deplib" ;;
5057 esac
5058 done
5059 done
5060 libs="$dlprefiles"
5061 fi
5062 if test "$pass" = dlopen; then
5063 # Collect dlpreopened libraries
5064 save_deplibs="$deplibs"
5065 deplibs=
5066 fi
5067
5068 for deplib in $libs; do
5069 lib=
5070 found=no
5071 case $deplib in
5072 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
5073 if test "$linkmode,$pass" = "prog,link"; then
5074 compile_deplibs="$deplib $compile_deplibs"
5075 finalize_deplibs="$deplib $finalize_deplibs"
5076 else
5077 compiler_flags="$compiler_flags $deplib"
5078 if test "$linkmode" = lib ; then
5079 case "$new_inherited_linker_flags " in
5080 *" $deplib "*) ;;
5081 * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
5082 esac
5083 fi
5084 fi
5085 continue
5086 ;;
5087 -l*)
5088 if test "$linkmode" != lib && test "$linkmode" != prog; then
5089 func_warning "\`-l' is ignored for archives/objects"
5090 continue
5091 fi
5092 func_stripname '-l' '' "$deplib"
5093 name=$func_stripname_result
5094 if test "$linkmode" = lib; then
5095 searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
5096 else
5097 searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
5098 fi
5099 for searchdir in $searchdirs; do
5100 for search_ext in .la $std_shrext .so .a; do
5101 # Search the libtool library
5102 lib="$searchdir/lib${name}${search_ext}"
5103 if test -f "$lib"; then
5104 if test "$search_ext" = ".la"; then
5105 found=yes
5106 else
5107 found=no
5108 fi
5109 break 2
5110 fi
5111 done
5112 done
5113 if test "$found" != yes; then
5114 # deplib doesn't seem to be a libtool library
5115 if test "$linkmode,$pass" = "prog,link"; then
5116 compile_deplibs="$deplib $compile_deplibs"
5117 finalize_deplibs="$deplib $finalize_deplibs"
5118 else
5119 deplibs="$deplib $deplibs"
5120 test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
5121 fi
5122 continue
5123 else # deplib is a libtool library
5124 # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
5125 # We need to do some special things here, and not later.
5126 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
5127 case " $predeps $postdeps " in
5128 *" $deplib "*)
5129 if func_lalib_p "$lib"; then
5130 library_names=
5131 old_library=
5132 func_source "$lib"
5133 for l in $old_library $library_names; do
5134 ll="$l"
5135 done
5136 if test "X$ll" = "X$old_library" ; then # only static version available
5137 found=no
5138 func_dirname "$lib" "" "."
5139 ladir="$func_dirname_result"
5140 lib=$ladir/$old_library
5141 if test "$linkmode,$pass" = "prog,link"; then
5142 compile_deplibs="$deplib $compile_deplibs"
5143 finalize_deplibs="$deplib $finalize_deplibs"
5144 else
5145 deplibs="$deplib $deplibs"
5146 test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
5147 fi
5148 continue
5149 fi
5150 fi
5151 ;;
5152 *) ;;
5153 esac
5154 fi
5155 fi
5156 ;; # -l
5157 *.ltframework)
5158 if test "$linkmode,$pass" = "prog,link"; then
5159 compile_deplibs="$deplib $compile_deplibs"
5160 finalize_deplibs="$deplib $finalize_deplibs"
5161 else
5162 deplibs="$deplib $deplibs"
5163 if test "$linkmode" = lib ; then
5164 case "$new_inherited_linker_flags " in
5165 *" $deplib "*) ;;
5166 * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
5167 esac
5168 fi
5169 fi
5170 continue
5171 ;;
5172 -L*)
5173 case $linkmode in
5174 lib)
5175 deplibs="$deplib $deplibs"
5176 test "$pass" = conv && continue
5177 newdependency_libs="$deplib $newdependency_libs"
5178 func_stripname '-L' '' "$deplib"
5179 newlib_search_path="$newlib_search_path $func_stripname_result"
5180 ;;
5181 prog)
5182 if test "$pass" = conv; then
5183 deplibs="$deplib $deplibs"
5184 continue
5185 fi
5186 if test "$pass" = scan; then
5187 deplibs="$deplib $deplibs"
5188 else
5189 compile_deplibs="$deplib $compile_deplibs"
5190 finalize_deplibs="$deplib $finalize_deplibs"
5191 fi
5192 func_stripname '-L' '' "$deplib"
5193 newlib_search_path="$newlib_search_path $func_stripname_result"
5194 ;;
5195 *)
5196 func_warning "\`-L' is ignored for archives/objects"
5197 ;;
5198 esac # linkmode
5199 continue
5200 ;; # -L
5201 -R*)
5202 if test "$pass" = link; then
5203 func_stripname '-R' '' "$deplib"
5204 dir=$func_stripname_result
5205 # Make sure the xrpath contains only unique directories.
5206 case "$xrpath " in
5207 *" $dir "*) ;;
5208 *) xrpath="$xrpath $dir" ;;
5209 esac
5210 fi
5211 deplibs="$deplib $deplibs"
5212 continue
5213 ;;
5214 *.la) lib="$deplib" ;;
5215 *.$libext)
5216 if test "$pass" = conv; then
5217 deplibs="$deplib $deplibs"
5218 continue
5219 fi
5220 case $linkmode in
5221 lib)
5222 # Linking convenience modules into shared libraries is allowed,
5223 # but linking other static libraries is non-portable.
5224 case " $dlpreconveniencelibs " in
5225 *" $deplib "*) ;;
5226 *)
5227 valid_a_lib=no
5228 case $deplibs_check_method in
5229 match_pattern*)
5230 set dummy $deplibs_check_method; shift
5231 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
5232 if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
5233 | $EGREP "$match_pattern_regex" > /dev/null; then
5234 valid_a_lib=yes
5235 fi
5236 ;;
5237 pass_all)
5238 valid_a_lib=yes
5239 ;;
5240 esac
5241 if test "$valid_a_lib" != yes; then
5242 $ECHO
5243 $ECHO "*** Warning: Trying to link with static lib archive $deplib."
5244 $ECHO "*** I have the capability to make that library automatically link in when"
5245 $ECHO "*** you link to this library. But I can only do this if you have a"
5246 $ECHO "*** shared version of the library, which you do not appear to have"
5247 $ECHO "*** because the file extensions .$libext of this argument makes me believe"
5248 $ECHO "*** that it is just a static archive that I should not use here."
5249 else
5250 $ECHO
5251 $ECHO "*** Warning: Linking the shared library $output against the"
5252 $ECHO "*** static library $deplib is not portable!"
5253 deplibs="$deplib $deplibs"
5254 fi
5255 ;;
5256 esac
5257 continue
5258 ;;
5259 prog)
5260 if test "$pass" != link; then
5261 deplibs="$deplib $deplibs"
5262 else
5263 compile_deplibs="$deplib $compile_deplibs"
5264 finalize_deplibs="$deplib $finalize_deplibs"
5265 fi
5266 continue
5267 ;;
5268 esac # linkmode
5269 ;; # *.$libext
5270 *.lo | *.$objext)
5271 if test "$pass" = conv; then
5272 deplibs="$deplib $deplibs"
5273 elif test "$linkmode" = prog; then
5274 if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
5275 # If there is no dlopen support or we're linking statically,
5276 # we need to preload.
5277 newdlprefiles="$newdlprefiles $deplib"
5278 compile_deplibs="$deplib $compile_deplibs"
5279 finalize_deplibs="$deplib $finalize_deplibs"
5280 else
5281 newdlfiles="$newdlfiles $deplib"
5282 fi
5283 fi
5284 continue
5285 ;;
5286 %DEPLIBS%)
5287 alldeplibs=yes
5288 continue
5289 ;;
5290 esac # case $deplib
5291
5292 if test "$found" = yes || test -f "$lib"; then :
5293 else
5294 func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
5295 fi
5296
5297 # Check to see that this really is a libtool archive.
5298 func_lalib_unsafe_p "$lib" \
5299 || func_fatal_error "\`$lib' is not a valid libtool archive"
5300
5301 func_dirname "$lib" "" "."
5302 ladir="$func_dirname_result"
5303
5304 dlname=
5305 dlopen=
5306 dlpreopen=
5307 libdir=
5308 library_names=
5309 old_library=
5310 inherited_linker_flags=
5311 # If the library was installed with an old release of libtool,
5312 # it will not redefine variables installed, or shouldnotlink
5313 installed=yes
5314 shouldnotlink=no
5315 avoidtemprpath=
5316
5317
5318 # Read the .la file
5319 func_source "$lib"
5320
5321 # Convert "-framework foo" to "foo.ltframework"
5322 if test -n "$inherited_linker_flags"; then
5323 tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
5324 for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
5325 case " $new_inherited_linker_flags " in
5326 *" $tmp_inherited_linker_flag "*) ;;
5327 *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
5328 esac
5329 done
5330 fi
5331 dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
5332 if test "$linkmode,$pass" = "lib,link" ||
5333 test "$linkmode,$pass" = "prog,scan" ||
5334 { test "$linkmode" != prog && test "$linkmode" != lib; }; then
5335 test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
5336 test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
5337 fi
5338
5339 if test "$pass" = conv; then
5340 # Only check for convenience libraries
5341 deplibs="$lib $deplibs"
5342 if test -z "$libdir"; then
5343 if test -z "$old_library"; then
5344 func_fatal_error "cannot find name of link library for \`$lib'"
5345 fi
5346 # It is a libtool convenience library, so add in its objects.
5347 convenience="$convenience $ladir/$objdir/$old_library"
5348 old_convenience="$old_convenience $ladir/$objdir/$old_library"
5349 tmp_libs=
5350 for deplib in $dependency_libs; do
5351 deplibs="$deplib $deplibs"
5352 if $opt_duplicate_deps ; then
5353 case "$tmp_libs " in
5354 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
5355 esac
5356 fi
5357 tmp_libs="$tmp_libs $deplib"
5358 done
5359 elif test "$linkmode" != prog && test "$linkmode" != lib; then
5360 func_fatal_error "\`$lib' is not a convenience library"
5361 fi
5362 continue
5363 fi # $pass = conv
5364
5365
5366 # Get the name of the library we link against.
5367 linklib=
5368 for l in $old_library $library_names; do
5369 linklib="$l"
5370 done
5371 if test -z "$linklib"; then
5372 func_fatal_error "cannot find name of link library for \`$lib'"
5373 fi
5374
5375 # This library was specified with -dlopen.
5376 if test "$pass" = dlopen; then
5377 if test -z "$libdir"; then
5378 func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
5379 fi
5380 if test -z "$dlname" ||
5381 test "$dlopen_support" != yes ||
5382 test "$build_libtool_libs" = no; then
5383 # If there is no dlname, no dlopen support or we're linking
5384 # statically, we need to preload. We also need to preload any
5385 # dependent libraries so libltdl's deplib preloader doesn't
5386 # bomb out in the load deplibs phase.
5387 dlprefiles="$dlprefiles $lib $dependency_libs"
5388 else
5389 newdlfiles="$newdlfiles $lib"
5390 fi
5391 continue
5392 fi # $pass = dlopen
5393
5394 # We need an absolute path.
5395 case $ladir in
5396 [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
5397 *)
5398 abs_ladir=`cd "$ladir" && pwd`
5399 if test -z "$abs_ladir"; then
5400 func_warning "cannot determine absolute directory name of \`$ladir'"
5401 func_warning "passing it literally to the linker, although it might fail"
5402 abs_ladir="$ladir"
5403 fi
5404 ;;
5405 esac
5406 func_basename "$lib"
5407 laname="$func_basename_result"
5408
5409 # Find the relevant object directory and library name.
5410 if test "X$installed" = Xyes; then
5411 if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
5412 func_warning "library \`$lib' was moved."
5413 dir="$ladir"
5414 absdir="$abs_ladir"
5415 libdir="$abs_ladir"
5416 else
5417 dir="$libdir"
5418 absdir="$libdir"
5419 fi
5420 test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
5421 else
5422 if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
5423 dir="$ladir"
5424 absdir="$abs_ladir"
5425 # Remove this search path later
5426 notinst_path="$notinst_path $abs_ladir"
5427 else
5428 dir="$ladir/$objdir"
5429 absdir="$abs_ladir/$objdir"
5430 # Remove this search path later
5431 notinst_path="$notinst_path $abs_ladir"
5432 fi
5433 fi # $installed = yes
5434 func_stripname 'lib' '.la' "$laname"
5435 name=$func_stripname_result
5436
5437 # This library was specified with -dlpreopen.
5438 if test "$pass" = dlpreopen; then
5439 if test -z "$libdir" && test "$linkmode" = prog; then
5440 func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
5441 fi
5442 # Prefer using a static library (so that no silly _DYNAMIC symbols
5443 # are required to link).
5444 if test -n "$old_library"; then
5445 newdlprefiles="$newdlprefiles $dir/$old_library"
5446 # Keep a list of preopened convenience libraries to check
5447 # that they are being used correctly in the link pass.
5448 test -z "$libdir" && \
5449 dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
5450 # Otherwise, use the dlname, so that lt_dlopen finds it.
5451 elif test -n "$dlname"; then
5452 newdlprefiles="$newdlprefiles $dir/$dlname"
5453 else
5454 newdlprefiles="$newdlprefiles $dir/$linklib"
5455 fi
5456 fi # $pass = dlpreopen
5457
5458 if test -z "$libdir"; then
5459 # Link the convenience library
5460 if test "$linkmode" = lib; then
5461 deplibs="$dir/$old_library $deplibs"
5462 elif test "$linkmode,$pass" = "prog,link"; then
5463 compile_deplibs="$dir/$old_library $compile_deplibs"
5464 finalize_deplibs="$dir/$old_library $finalize_deplibs"
5465 else
5466 deplibs="$lib $deplibs" # used for prog,scan pass
5467 fi
5468 continue
5469 fi
5470
5471
5472 if test "$linkmode" = prog && test "$pass" != link; then
5473 newlib_search_path="$newlib_search_path $ladir"
5474 deplibs="$lib $deplibs"
5475
5476 linkalldeplibs=no
5477 if test "$link_all_deplibs" != no || test -z "$library_names" ||
5478 test "$build_libtool_libs" = no; then
5479 linkalldeplibs=yes
5480 fi
5481
5482 tmp_libs=
5483 for deplib in $dependency_libs; do
5484 case $deplib in
5485 -L*) func_stripname '-L' '' "$deplib"
5486 newlib_search_path="$newlib_search_path $func_stripname_result"
5487 ;;
5488 esac
5489 # Need to link against all dependency_libs?
5490 if test "$linkalldeplibs" = yes; then
5491 deplibs="$deplib $deplibs"
5492 else
5493 # Need to hardcode shared library paths
5494 # or/and link against static libraries
5495 newdependency_libs="$deplib $newdependency_libs"
5496 fi
5497 if $opt_duplicate_deps ; then
5498 case "$tmp_libs " in
5499 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
5500 esac
5501 fi
5502 tmp_libs="$tmp_libs $deplib"
5503 done # for deplib
5504 continue
5505 fi # $linkmode = prog...
5506
5507 if test "$linkmode,$pass" = "prog,link"; then
5508 if test -n "$library_names" &&
5509 { { test "$prefer_static_libs" = no ||
5510 test "$prefer_static_libs,$installed" = "built,yes"; } ||
5511 test -z "$old_library"; }; then
5512 # We need to hardcode the library path
5513 if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
5514 # Make sure the rpath contains only unique directories.
5515 case "$temp_rpath:" in
5516 *"$absdir:"*) ;;
5517 *) temp_rpath="$temp_rpath$absdir:" ;;
5518 esac
5519 fi
5520
5521 # Hardcode the library path.
5522 # Skip directories that are in the system default run-time
5523 # search path.
5524 case " $sys_lib_dlsearch_path " in
5525 *" $absdir "*) ;;
5526 *)
5527 case "$compile_rpath " in
5528 *" $absdir "*) ;;
5529 *) compile_rpath="$compile_rpath $absdir"
5530 esac
5531 ;;
5532 esac
5533 case " $sys_lib_dlsearch_path " in
5534 *" $libdir "*) ;;
5535 *)
5536 case "$finalize_rpath " in
5537 *" $libdir "*) ;;
5538 *) finalize_rpath="$finalize_rpath $libdir"
5539 esac
5540 ;;
5541 esac
5542 fi # $linkmode,$pass = prog,link...
5543
5544 if test "$alldeplibs" = yes &&
5545 { test "$deplibs_check_method" = pass_all ||
5546 { test "$build_libtool_libs" = yes &&
5547 test -n "$library_names"; }; }; then
5548 # We only need to search for static libraries
5549 continue
5550 fi
5551 fi
5552
5553 link_static=no # Whether the deplib will be linked statically
5554 use_static_libs=$prefer_static_libs
5555 if test "$use_static_libs" = built && test "$installed" = yes; then
5556 use_static_libs=no
5557 fi
5558 if test -n "$library_names" &&
5559 { test "$use_static_libs" = no || test -z "$old_library"; }; then
5560 case $host in
5561 *cygwin* | *mingw* | *cegcc*)
5562 # No point in relinking DLLs because paths are not encoded
5563 notinst_deplibs="$notinst_deplibs $lib"
5564 need_relink=no
5565 ;;
5566 *)
5567 if test "$installed" = no; then
5568 notinst_deplibs="$notinst_deplibs $lib"
5569 need_relink=yes
5570 fi
5571 ;;
5572 esac
5573 # This is a shared library
5574
5575 # Warn about portability, can't link against -module's on some
5576 # systems (darwin). Don't bleat about dlopened modules though!
5577 dlopenmodule=""
5578 for dlpremoduletest in $dlprefiles; do
5579 if test "X$dlpremoduletest" = "X$lib"; then
5580 dlopenmodule="$dlpremoduletest"
5581 break
5582 fi
5583 done
5584 if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
5585 $ECHO
5586 if test "$linkmode" = prog; then
5587 $ECHO "*** Warning: Linking the executable $output against the loadable module"
5588 else
5589 $ECHO "*** Warning: Linking the shared library $output against the loadable module"
5590 fi
5591 $ECHO "*** $linklib is not portable!"
5592 fi
5593 if test "$linkmode" = lib &&
5594 test "$hardcode_into_libs" = yes; then
5595 # Hardcode the library path.
5596 # Skip directories that are in the system default run-time
5597 # search path.
5598 case " $sys_lib_dlsearch_path " in
5599 *" $absdir "*) ;;
5600 *)
5601 case "$compile_rpath " in
5602 *" $absdir "*) ;;
5603 *) compile_rpath="$compile_rpath $absdir"
5604 esac
5605 ;;
5606 esac
5607 case " $sys_lib_dlsearch_path " in
5608 *" $libdir "*) ;;
5609 *)
5610 case "$finalize_rpath " in
5611 *" $libdir "*) ;;
5612 *) finalize_rpath="$finalize_rpath $libdir"
5613 esac
5614 ;;
5615 esac
5616 fi
5617
5618 if test -n "$old_archive_from_expsyms_cmds"; then
5619 # figure out the soname
5620 set dummy $library_names
5621 shift
5622 realname="$1"
5623 shift
5624 libname=`eval "\\$ECHO \"$libname_spec\""`
5625 # use dlname if we got it. it's perfectly good, no?
5626 if test -n "$dlname"; then
5627 soname="$dlname"
5628 elif test -n "$soname_spec"; then
5629 # bleh windows
5630 case $host in
5631 *cygwin* | mingw* | *cegcc*)
5632 func_arith $current - $age
5633 major=$func_arith_result
5634 versuffix="-$major"
5635 ;;
5636 esac
5637 eval soname=\"$soname_spec\"
5638 else
5639 soname="$realname"
5640 fi
5641
5642 # Make a new name for the extract_expsyms_cmds to use
5643 soroot="$soname"
5644 func_basename "$soroot"
5645 soname="$func_basename_result"
5646 func_stripname 'lib' '.dll' "$soname"
5647 newlib=libimp-$func_stripname_result.a
5648
5649 # If the library has no export list, then create one now
5650 if test -f "$output_objdir/$soname-def"; then :
5651 else
5652 func_verbose "extracting exported symbol list from \`$soname'"
5653 func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
5654 fi
5655
5656 # Create $newlib
5657 if test -f "$output_objdir/$newlib"; then :; else
5658 func_verbose "generating import library for \`$soname'"
5659 func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
5660 fi
5661 # make sure the library variables are pointing to the new library
5662 dir=$output_objdir
5663 linklib=$newlib
5664 fi # test -n "$old_archive_from_expsyms_cmds"
5665
5666 if test "$linkmode" = prog || test "$mode" != relink; then
5667 add_shlibpath=
5668 add_dir=
5669 add=
5670 lib_linked=yes
5671 case $hardcode_action in
5672 immediate | unsupported)
5673 if test "$hardcode_direct" = no; then
5674 add="$dir/$linklib"
5675 case $host in
5676 *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
5677 *-*-sysv4*uw2*) add_dir="-L$dir" ;;
5678 *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
5679 *-*-unixware7*) add_dir="-L$dir" ;;
5680 *-*-darwin* )
5681 # if the lib is a (non-dlopened) module then we can not
5682 # link against it, someone is ignoring the earlier warnings
5683 if /usr/bin/file -L $add 2> /dev/null |
5684 $GREP ": [^:]* bundle" >/dev/null ; then
5685 if test "X$dlopenmodule" != "X$lib"; then
5686 $ECHO "*** Warning: lib $linklib is a module, not a shared library"
5687 if test -z "$old_library" ; then
5688 $ECHO
5689 $ECHO "*** And there doesn't seem to be a static archive available"
5690 $ECHO "*** The link will probably fail, sorry"
5691 else
5692 add="$dir/$old_library"
5693 fi
5694 elif test -n "$old_library"; then
5695 add="$dir/$old_library"
5696 fi
5697 fi
5698 esac
5699 elif test "$hardcode_minus_L" = no; then
5700 case $host in
5701 *-*-sunos*) add_shlibpath="$dir" ;;
5702 esac
5703 add_dir="-L$dir"
5704 add="-l$name"
5705 elif test "$hardcode_shlibpath_var" = no; then
5706 add_shlibpath="$dir"
5707 add="-l$name"
5708 else
5709 lib_linked=no
5710 fi
5711 ;;
5712 relink)
5713 if test "$hardcode_direct" = yes &&
5714 test "$hardcode_direct_absolute" = no; then
5715 add="$dir/$linklib"
5716 elif test "$hardcode_minus_L" = yes; then
5717 add_dir="-L$dir"
5718 # Try looking first in the location we're being installed to.
5719 if test -n "$inst_prefix_dir"; then
5720 case $libdir in
5721 [\\/]*)
5722 add_dir="$add_dir -L$inst_prefix_dir$libdir"
5723 ;;
5724 esac
5725 fi
5726 add="-l$name"
5727 elif test "$hardcode_shlibpath_var" = yes; then
5728 add_shlibpath="$dir"
5729 add="-l$name"
5730 else
5731 lib_linked=no
5732 fi
5733 ;;
5734 *) lib_linked=no ;;
5735 esac
5736
5737 if test "$lib_linked" != yes; then
5738 func_fatal_configuration "unsupported hardcode properties"
5739 fi
5740
5741 if test -n "$add_shlibpath"; then
5742 case :$compile_shlibpath: in
5743 *":$add_shlibpath:"*) ;;
5744 *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
5745 esac
5746 fi
5747 if test "$linkmode" = prog; then
5748 test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
5749 test -n "$add" && compile_deplibs="$add $compile_deplibs"
5750 else
5751 test -n "$add_dir" && deplibs="$add_dir $deplibs"
5752 test -n "$add" && deplibs="$add $deplibs"
5753 if test "$hardcode_direct" != yes &&
5754 test "$hardcode_minus_L" != yes &&
5755 test "$hardcode_shlibpath_var" = yes; then
5756 case :$finalize_shlibpath: in
5757 *":$libdir:"*) ;;
5758 *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
5759 esac
5760 fi
5761 fi
5762 fi
5763
5764 if test "$linkmode" = prog || test "$mode" = relink; then
5765 add_shlibpath=
5766 add_dir=
5767 add=
5768 # Finalize command for both is simple: just hardcode it.
5769 if test "$hardcode_direct" = yes &&
5770 test "$hardcode_direct_absolute" = no; then
5771 add="$libdir/$linklib"
5772 elif test "$hardcode_minus_L" = yes; then
5773 add_dir="-L$libdir"
5774 add="-l$name"
5775 elif test "$hardcode_shlibpath_var" = yes; then
5776 case :$finalize_shlibpath: in
5777 *":$libdir:"*) ;;
5778 *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
5779 esac
5780 add="-l$name"
5781 elif test "$hardcode_automatic" = yes; then
5782 if test -n "$inst_prefix_dir" &&
5783 test -f "$inst_prefix_dir$libdir/$linklib" ; then
5784 add="$inst_prefix_dir$libdir/$linklib"
5785 else
5786 add="$libdir/$linklib"
5787 fi
5788 else
5789 # We cannot seem to hardcode it, guess we'll fake it.
5790 add_dir="-L$libdir"
5791 # Try looking first in the location we're being installed to.
5792 if test -n "$inst_prefix_dir"; then
5793 case $libdir in
5794 [\\/]*)
5795 add_dir="$add_dir -L$inst_prefix_dir$libdir"
5796 ;;
5797 esac
5798 fi
5799 add="-l$name"
5800 fi
5801
5802 if test "$linkmode" = prog; then
5803 test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
5804 test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
5805 else
5806 test -n "$add_dir" && deplibs="$add_dir $deplibs"
5807 test -n "$add" && deplibs="$add $deplibs"
5808 fi
5809 fi
5810 elif test "$linkmode" = prog; then
5811 # Here we assume that one of hardcode_direct or hardcode_minus_L
5812 # is not unsupported. This is valid on all known static and
5813 # shared platforms.
5814 if test "$hardcode_direct" != unsupported; then
5815 test -n "$old_library" && linklib="$old_library"
5816 compile_deplibs="$dir/$linklib $compile_deplibs"
5817 finalize_deplibs="$dir/$linklib $finalize_deplibs"
5818 else
5819 compile_deplibs="-l$name -L$dir $compile_deplibs"
5820 finalize_deplibs="-l$name -L$dir $finalize_deplibs"
5821 fi
5822 elif test "$build_libtool_libs" = yes; then
5823 # Not a shared library
5824 if test "$deplibs_check_method" != pass_all; then
5825 # We're trying link a shared library against a static one
5826 # but the system doesn't support it.
5827
5828 # Just print a warning and add the library to dependency_libs so
5829 # that the program can be linked against the static library.
5830 $ECHO
5831 $ECHO "*** Warning: This system can not link to static lib archive $lib."
5832 $ECHO "*** I have the capability to make that library automatically link in when"
5833 $ECHO "*** you link to this library. But I can only do this if you have a"
5834 $ECHO "*** shared version of the library, which you do not appear to have."
5835 if test "$module" = yes; then
5836 $ECHO "*** But as you try to build a module library, libtool will still create "
5837 $ECHO "*** a static module, that should work as long as the dlopening application"
5838 $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
5839 if test -z "$global_symbol_pipe"; then
5840 $ECHO
5841 $ECHO "*** However, this would only work if libtool was able to extract symbol"
5842 $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
5843 $ECHO "*** not find such a program. So, this module is probably useless."
5844 $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
5845 fi
5846 if test "$build_old_libs" = no; then
5847 build_libtool_libs=module
5848 build_old_libs=yes
5849 else
5850 build_libtool_libs=no
5851 fi
5852 fi
5853 else
5854 deplibs="$dir/$old_library $deplibs"
5855 link_static=yes
5856 fi
5857 fi # link shared/static library?
5858
5859 if test "$linkmode" = lib; then
5860 if test -n "$dependency_libs" &&
5861 { test "$hardcode_into_libs" != yes ||
5862 test "$build_old_libs" = yes ||
5863 test "$link_static" = yes; }; then
5864 # Extract -R from dependency_libs
5865 temp_deplibs=
5866 for libdir in $dependency_libs; do
5867 case $libdir in
5868 -R*) func_stripname '-R' '' "$libdir"
5869 temp_xrpath=$func_stripname_result
5870 case " $xrpath " in
5871 *" $temp_xrpath "*) ;;
5872 *) xrpath="$xrpath $temp_xrpath";;
5873 esac;;
5874 *) temp_deplibs="$temp_deplibs $libdir";;
5875 esac
5876 done
5877 dependency_libs="$temp_deplibs"
5878 fi
5879
5880 newlib_search_path="$newlib_search_path $absdir"
5881 # Link against this library
5882 test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
5883 # ... and its dependency_libs
5884 tmp_libs=
5885 for deplib in $dependency_libs; do
5886 newdependency_libs="$deplib $newdependency_libs"
5887 if $opt_duplicate_deps ; then
5888 case "$tmp_libs " in
5889 *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
5890 esac
5891 fi
5892 tmp_libs="$tmp_libs $deplib"
5893 done
5894
5895 if test "$link_all_deplibs" != no; then
5896 # Add the search paths of all dependency libraries
5897 for deplib in $dependency_libs; do
5898 path=
5899 case $deplib in
5900 -L*) path="$deplib" ;;
5901 *.la)
5902 func_dirname "$deplib" "" "."
5903 dir="$func_dirname_result"
5904 # We need an absolute path.
5905 case $dir in
5906 [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
5907 *)
5908 absdir=`cd "$dir" && pwd`
5909 if test -z "$absdir"; then
5910 func_warning "cannot determine absolute directory name of \`$dir'"
5911 absdir="$dir"
5912 fi
5913 ;;
5914 esac
5915 if $GREP "^installed=no" $deplib > /dev/null; then
5916 case $host in
5917 *-*-darwin*)
5918 depdepl=
5919 eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
5920 if test -n "$deplibrary_names" ; then
5921 for tmp in $deplibrary_names ; do
5922 depdepl=$tmp
5923 done
5924 if test -f "$absdir/$objdir/$depdepl" ; then
5925 depdepl="$absdir/$objdir/$depdepl"
5926 darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
5927 if test -z "$darwin_install_name"; then
5928 darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
5929 fi
5930 compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
5931 linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
5932 path=
5933 fi
5934 fi
5935 ;;
5936 *)
5937 path="-L$absdir/$objdir"
5938 ;;
5939 esac
5940 else
5941 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
5942 test -z "$libdir" && \
5943 func_fatal_error "\`$deplib' is not a valid libtool archive"
5944 test "$absdir" != "$libdir" && \
5945 func_warning "\`$deplib' seems to be moved"
5946
5947 path="-L$absdir"
5948 fi
5949 ;;
5950 esac
5951 case " $deplibs " in
5952 *" $path "*) ;;
5953 *) deplibs="$path $deplibs" ;;
5954 esac
5955 done
5956 fi # link_all_deplibs != no
5957 fi # linkmode = lib
5958 done # for deplib in $libs
5959 if test "$pass" = link; then
5960 if test "$linkmode" = "prog"; then
5961 compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
5962 finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
5963 else
5964 compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
5965 fi
5966 fi
5967 dependency_libs="$newdependency_libs"
5968 if test "$pass" = dlpreopen; then
5969 # Link the dlpreopened libraries before other libraries
5970 for deplib in $save_deplibs; do
5971 deplibs="$deplib $deplibs"
5972 done
5973 fi
5974 if test "$pass" != dlopen; then
5975 if test "$pass" != conv; then
5976 # Make sure lib_search_path contains only unique directories.
5977 lib_search_path=
5978 for dir in $newlib_search_path; do
5979 case "$lib_search_path " in
5980 *" $dir "*) ;;
5981 *) lib_search_path="$lib_search_path $dir" ;;
5982 esac
5983 done
5984 newlib_search_path=
5985 fi
5986
5987 if test "$linkmode,$pass" != "prog,link"; then
5988 vars="deplibs"
5989 else
5990 vars="compile_deplibs finalize_deplibs"
5991 fi
5992 for var in $vars dependency_libs; do
5993 # Add libraries to $var in reverse order
5994 eval tmp_libs=\"\$$var\"
5995 new_libs=
5996 for deplib in $tmp_libs; do
5997 # FIXME: Pedantically, this is the right thing to do, so
5998 # that some nasty dependency loop isn't accidentally
5999 # broken:
6000 #new_libs="$deplib $new_libs"
6001 # Pragmatically, this seems to cause very few problems in
6002 # practice:
6003 case $deplib in
6004 -L*) new_libs="$deplib $new_libs" ;;
6005 -R*) ;;
6006 *)
6007 # And here is the reason: when a library appears more
6008 # than once as an explicit dependence of a library, or
6009 # is implicitly linked in more than once by the
6010 # compiler, it is considered special, and multiple
6011 # occurrences thereof are not removed. Compare this
6012 # with having the same library being listed as a
6013 # dependency of multiple other libraries: in this case,
6014 # we know (pedantically, we assume) the library does not
6015 # need to be listed more than once, so we keep only the
6016 # last copy. This is not always right, but it is rare
6017 # enough that we require users that really mean to play
6018 # such unportable linking tricks to link the library
6019 # using -Wl,-lname, so that libtool does not consider it
6020 # for duplicate removal.
6021 case " $specialdeplibs " in
6022 *" $deplib "*) new_libs="$deplib $new_libs" ;;
6023 *)
6024 case " $new_libs " in
6025 *" $deplib "*) ;;
6026 *) new_libs="$deplib $new_libs" ;;
6027 esac
6028 ;;
6029 esac
6030 ;;
6031 esac
6032 done
6033 tmp_libs=
6034 for deplib in $new_libs; do
6035 case $deplib in
6036 -L*)
6037 case " $tmp_libs " in
6038 *" $deplib "*) ;;
6039 *) tmp_libs="$tmp_libs $deplib" ;;
6040 esac
6041 ;;
6042 *) tmp_libs="$tmp_libs $deplib" ;;
6043 esac
6044 done
6045 eval $var=\"$tmp_libs\"
6046 done # for var
6047 fi
6048 # Last step: remove runtime libs from dependency_libs
6049 # (they stay in deplibs)
6050 tmp_libs=
6051 for i in $dependency_libs ; do
6052 case " $predeps $postdeps $compiler_lib_search_path " in
6053 *" $i "*)
6054 i=""
6055 ;;
6056 esac
6057 if test -n "$i" ; then
6058 tmp_libs="$tmp_libs $i"
6059 fi
6060 done
6061 dependency_libs=$tmp_libs
6062 done # for pass
6063 if test "$linkmode" = prog; then
6064 dlfiles="$newdlfiles"
6065 fi
6066 if test "$linkmode" = prog || test "$linkmode" = lib; then
6067 dlprefiles="$newdlprefiles"
6068 fi
6069
6070 case $linkmode in
6071 oldlib)
6072 if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
6073 func_warning "\`-dlopen' is ignored for archives"
6074 fi
6075
6076 case " $deplibs" in
6077 *\ -l* | *\ -L*)
6078 func_warning "\`-l' and \`-L' are ignored for archives" ;;
6079 esac
6080
6081 test -n "$rpath" && \
6082 func_warning "\`-rpath' is ignored for archives"
6083
6084 test -n "$xrpath" && \
6085 func_warning "\`-R' is ignored for archives"
6086
6087 test -n "$vinfo" && \
6088 func_warning "\`-version-info/-version-number' is ignored for archives"
6089
6090 test -n "$release" && \
6091 func_warning "\`-release' is ignored for archives"
6092
6093 test -n "$export_symbols$export_symbols_regex" && \
6094 func_warning "\`-export-symbols' is ignored for archives"
6095
6096 # Now set the variables for building old libraries.
6097 build_libtool_libs=no
6098 oldlibs="$output"
6099 objs="$objs$old_deplibs"
6100 ;;
6101
6102 lib)
6103 # Make sure we only generate libraries of the form `libNAME.la'.
6104 case $outputname in
6105 lib*)
6106 func_stripname 'lib' '.la' "$outputname"
6107 name=$func_stripname_result
6108 eval shared_ext=\"$shrext_cmds\"
6109 eval libname=\"$libname_spec\"
6110 ;;
6111 *)
6112 test "$module" = no && \
6113 func_fatal_help "libtool library \`$output' must begin with \`lib'"
6114
6115 if test "$need_lib_prefix" != no; then
6116 # Add the "lib" prefix for modules if required
6117 func_stripname '' '.la' "$outputname"
6118 name=$func_stripname_result
6119 eval shared_ext=\"$shrext_cmds\"
6120 eval libname=\"$libname_spec\"
6121 else
6122 func_stripname '' '.la' "$outputname"
6123 libname=$func_stripname_result
6124 fi
6125 ;;
6126 esac
6127
6128 if test -n "$objs"; then
6129 if test "$deplibs_check_method" != pass_all; then
6130 func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
6131 else
6132 $ECHO
6133 $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
6134 $ECHO "*** objects $objs is not portable!"
6135 libobjs="$libobjs $objs"
6136 fi
6137 fi
6138
6139 test "$dlself" != no && \
6140 func_warning "\`-dlopen self' is ignored for libtool libraries"
6141
6142 set dummy $rpath
6143 shift
6144 test "$#" -gt 1 && \
6145 func_warning "ignoring multiple \`-rpath's for a libtool library"
6146
6147 install_libdir="$1"
6148
6149 oldlibs=
6150 if test -z "$rpath"; then
6151 if test "$build_libtool_libs" = yes; then
6152 # Building a libtool convenience library.
6153 # Some compilers have problems with a `.al' extension so
6154 # convenience libraries should have the same extension an
6155 # archive normally would.
6156 oldlibs="$output_objdir/$libname.$libext $oldlibs"
6157 build_libtool_libs=convenience
6158 build_old_libs=yes
6159 fi
6160
6161 test -n "$vinfo" && \
6162 func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
6163
6164 test -n "$release" && \
6165 func_warning "\`-release' is ignored for convenience libraries"
6166 else
6167
6168 # Parse the version information argument.
6169 save_ifs="$IFS"; IFS=':'
6170 set dummy $vinfo 0 0 0
6171 shift
6172 IFS="$save_ifs"
6173
6174 test -n "$7" && \
6175 func_fatal_help "too many parameters to \`-version-info'"
6176
6177 # convert absolute version numbers to libtool ages
6178 # this retains compatibility with .la files and attempts
6179 # to make the code below a bit more comprehensible
6180
6181 case $vinfo_number in
6182 yes)
6183 number_major="$1"
6184 number_minor="$2"
6185 number_revision="$3"
6186 #
6187 # There are really only two kinds -- those that
6188 # use the current revision as the major version
6189 # and those that subtract age and use age as
6190 # a minor version. But, then there is irix
6191 # which has an extra 1 added just for fun
6192 #
6193 case $version_type in
6194 darwin|linux|osf|windows|none)
6195 func_arith $number_major + $number_minor
6196 current=$func_arith_result
6197 age="$number_minor"
6198 revision="$number_revision"
6199 ;;
6200 freebsd-aout|freebsd-elf|sunos)
6201 current="$number_major"
6202 revision="$number_minor"
6203 age="0"
6204 ;;
6205 irix|nonstopux)
6206 func_arith $number_major + $number_minor
6207 current=$func_arith_result
6208 age="$number_minor"
6209 revision="$number_minor"
6210 lt_irix_increment=no
6211 ;;
6212 *)
6213 func_fatal_configuration "$modename: unknown library version type \`$version_type'"
6214 ;;
6215 esac
6216 ;;
6217 no)
6218 current="$1"
6219 revision="$2"
6220 age="$3"
6221 ;;
6222 esac
6223
6224 # Check that each of the things are valid numbers.
6225 case $current in
6226 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
6227 *)
6228 func_error "CURRENT \`$current' must be a nonnegative integer"
6229 func_fatal_error "\`$vinfo' is not valid version information"
6230 ;;
6231 esac
6232
6233 case $revision in
6234 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
6235 *)
6236 func_error "REVISION \`$revision' must be a nonnegative integer"
6237 func_fatal_error "\`$vinfo' is not valid version information"
6238 ;;
6239 esac
6240
6241 case $age in
6242 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
6243 *)
6244 func_error "AGE \`$age' must be a nonnegative integer"
6245 func_fatal_error "\`$vinfo' is not valid version information"
6246 ;;
6247 esac
6248
6249 if test "$age" -gt "$current"; then
6250 func_error "AGE \`$age' is greater than the current interface number \`$current'"
6251 func_fatal_error "\`$vinfo' is not valid version information"
6252 fi
6253
6254 # Calculate the version variables.
6255 major=
6256 versuffix=
6257 verstring=
6258 case $version_type in
6259 none) ;;
6260
6261 darwin)
6262 # Like Linux, but with the current version available in
6263 # verstring for coding it into the library header
6264 func_arith $current - $age
6265 major=.$func_arith_result
6266 versuffix="$major.$age.$revision"
6267 # Darwin ld doesn't like 0 for these options...
6268 func_arith $current + 1
6269 minor_current=$func_arith_result
6270 xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
6271 verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
6272 ;;
6273
6274 freebsd-aout)
6275 major=".$current"
6276 versuffix=".$current.$revision";
6277 ;;
6278
6279 freebsd-elf)
6280 major=".$current"
6281 versuffix=".$current"
6282 ;;
6283
6284 irix | nonstopux)
6285 if test "X$lt_irix_increment" = "Xno"; then
6286 func_arith $current - $age
6287 else
6288 func_arith $current - $age + 1
6289 fi
6290 major=$func_arith_result
6291
6292 case $version_type in
6293 nonstopux) verstring_prefix=nonstopux ;;
6294 *) verstring_prefix=sgi ;;
6295 esac
6296 verstring="$verstring_prefix$major.$revision"
6297
6298 # Add in all the interfaces that we are compatible with.
6299 loop=$revision
6300 while test "$loop" -ne 0; do
6301 func_arith $revision - $loop
6302 iface=$func_arith_result
6303 func_arith $loop - 1
6304 loop=$func_arith_result
6305 verstring="$verstring_prefix$major.$iface:$verstring"
6306 done
6307
6308 # Before this point, $major must not contain `.'.
6309 major=.$major
6310 versuffix="$major.$revision"
6311 ;;
6312
6313 linux)
6314 func_arith $current - $age
6315 major=.$func_arith_result
6316 versuffix="$major.$age.$revision"
6317 ;;
6318
6319 osf)
6320 func_arith $current - $age
6321 major=.$func_arith_result
6322 versuffix=".$current.$age.$revision"
6323 verstring="$current.$age.$revision"
6324
6325 # Add in all the interfaces that we are compatible with.
6326 loop=$age
6327 while test "$loop" -ne 0; do
6328 func_arith $current - $loop
6329 iface=$func_arith_result
6330 func_arith $loop - 1
6331 loop=$func_arith_result
6332 verstring="$verstring:${iface}.0"
6333 done
6334
6335 # Make executables depend on our current version.
6336 verstring="$verstring:${current}.0"
6337 ;;
6338
6339 qnx)
6340 major=".$current"
6341 versuffix=".$current"
6342 ;;
6343
6344 sunos)
6345 major=".$current"
6346 versuffix=".$current.$revision"
6347 ;;
6348
6349 windows)
6350 # Use '-' rather than '.', since we only want one
6351 # extension on DOS 8.3 filesystems.
6352 func_arith $current - $age
6353 major=$func_arith_result
6354 versuffix="-$major"
6355 ;;
6356
6357 *)
6358 func_fatal_configuration "unknown library version type \`$version_type'"
6359 ;;
6360 esac
6361
6362 # Clear the version info if we defaulted, and they specified a release.
6363 if test -z "$vinfo" && test -n "$release"; then
6364 major=
6365 case $version_type in
6366 darwin)
6367 # we can't check for "0.0" in archive_cmds due to quoting
6368 # problems, so we reset it completely
6369 verstring=
6370 ;;
6371 *)
6372 verstring="0.0"
6373 ;;
6374 esac
6375 if test "$need_version" = no; then
6376 versuffix=
6377 else
6378 versuffix=".0.0"
6379 fi
6380 fi
6381
6382 # Remove version info from name if versioning should be avoided
6383 if test "$avoid_version" = yes && test "$need_version" = no; then
6384 major=
6385 versuffix=
6386 verstring=""
6387 fi
6388
6389 # Check to see if the archive will have undefined symbols.
6390 if test "$allow_undefined" = yes; then
6391 if test "$allow_undefined_flag" = unsupported; then
6392 func_warning "undefined symbols not allowed in $host shared libraries"
6393 build_libtool_libs=no
6394 build_old_libs=yes
6395 fi
6396 else
6397 # Don't allow undefined symbols.
6398 allow_undefined_flag="$no_undefined_flag"
6399 fi
6400
6401 fi
6402
6403 func_generate_dlsyms "$libname" "$libname" "yes"
6404 libobjs="$libobjs $symfileobj"
6405 test "X$libobjs" = "X " && libobjs=
6406
6407 if test "$mode" != relink; then
6408 # Remove our outputs, but don't remove object files since they
6409 # may have been created when compiling PIC objects.
6410 removelist=
6411 tempremovelist=`$ECHO "$output_objdir/*"`
6412 for p in $tempremovelist; do
6413 case $p in
6414 *.$objext | *.gcno)
6415 ;;
6416 $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
6417 if test "X$precious_files_regex" != "X"; then
6418 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
6419 then
6420 continue
6421 fi
6422 fi
6423 removelist="$removelist $p"
6424 ;;
6425 *) ;;
6426 esac
6427 done
6428 test -n "$removelist" && \
6429 func_show_eval "${RM}r \$removelist"
6430 fi
6431
6432 # Now set the variables for building old libraries.
6433 if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
6434 oldlibs="$oldlibs $output_objdir/$libname.$libext"
6435
6436 # Transform .lo files to .o files.
6437 oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
6438 fi
6439
6440 # Eliminate all temporary directories.
6441 #for path in $notinst_path; do
6442 # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
6443 # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
6444 # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
6445 #done
6446
6447 if test -n "$xrpath"; then
6448 # If the user specified any rpath flags, then add them.
6449 temp_xrpath=
6450 for libdir in $xrpath; do
6451 temp_xrpath="$temp_xrpath -R$libdir"
6452 case "$finalize_rpath " in
6453 *" $libdir "*) ;;
6454 *) finalize_rpath="$finalize_rpath $libdir" ;;
6455 esac
6456 done
6457 if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
6458 dependency_libs="$temp_xrpath $dependency_libs"
6459 fi
6460 fi
6461
6462 # Make sure dlfiles contains only unique files that won't be dlpreopened
6463 old_dlfiles="$dlfiles"
6464 dlfiles=
6465 for lib in $old_dlfiles; do
6466 case " $dlprefiles $dlfiles " in
6467 *" $lib "*) ;;
6468 *) dlfiles="$dlfiles $lib" ;;
6469 esac
6470 done
6471
6472 # Make sure dlprefiles contains only unique files
6473 old_dlprefiles="$dlprefiles"
6474 dlprefiles=
6475 for lib in $old_dlprefiles; do
6476 case "$dlprefiles " in
6477 *" $lib "*) ;;
6478 *) dlprefiles="$dlprefiles $lib" ;;
6479 esac
6480 done
6481
6482 if test "$build_libtool_libs" = yes; then
6483 if test -n "$rpath"; then
6484 case $host in
6485 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
6486 # these systems don't actually have a c library (as such)!
6487 ;;
6488 *-*-rhapsody* | *-*-darwin1.[012])
6489 # Rhapsody C library is in the System framework
6490 deplibs="$deplibs System.ltframework"
6491 ;;
6492 *-*-netbsd*)
6493 # Don't link with libc until the a.out ld.so is fixed.
6494 ;;
6495 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
6496 # Do not include libc due to us having libc/libc_r.
6497 ;;
6498 *-*-sco3.2v5* | *-*-sco5v6*)
6499 # Causes problems with __ctype
6500 ;;
6501 *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
6502 # Compiler inserts libc in the correct place for threads to work
6503 ;;
6504 *)
6505 # Add libc to deplibs on all other systems if necessary.
6506 if test "$build_libtool_need_lc" = "yes"; then
6507 deplibs="$deplibs -lc"
6508 fi
6509 ;;
6510 esac
6511 fi
6512
6513 # Transform deplibs into only deplibs that can be linked in shared.
6514 name_save=$name
6515 libname_save=$libname
6516 release_save=$release
6517 versuffix_save=$versuffix
6518 major_save=$major
6519 # I'm not sure if I'm treating the release correctly. I think
6520 # release should show up in the -l (ie -lgmp5) so we don't want to
6521 # add it in twice. Is that correct?
6522 release=""
6523 versuffix=""
6524 major=""
6525 newdeplibs=
6526 droppeddeps=no
6527 case $deplibs_check_method in
6528 pass_all)
6529 # Don't check for shared/static. Everything works.
6530 # This might be a little naive. We might want to check
6531 # whether the library exists or not. But this is on
6532 # osf3 & osf4 and I'm not really sure... Just
6533 # implementing what was already the behavior.
6534 newdeplibs=$deplibs
6535 ;;
6536 test_compile)
6537 # This code stresses the "libraries are programs" paradigm to its
6538 # limits. Maybe even breaks it. We compile a program, linking it
6539 # against the deplibs as a proxy for the library. Then we can check
6540 # whether they linked in statically or dynamically with ldd.
6541 $opt_dry_run || $RM conftest.c
6542 cat > conftest.c <<EOF
6543 int main() { return 0; }
6544 EOF
6545 $opt_dry_run || $RM conftest
6546 if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
6547 ldd_output=`ldd conftest`
6548 for i in $deplibs; do
6549 case $i in
6550 -l*)
6551 func_stripname -l '' "$i"
6552 name=$func_stripname_result
6553 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6554 case " $predeps $postdeps " in
6555 *" $i "*)
6556 newdeplibs="$newdeplibs $i"
6557 i=""
6558 ;;
6559 esac
6560 fi
6561 if test -n "$i" ; then
6562 libname=`eval "\\$ECHO \"$libname_spec\""`
6563 deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
6564 set dummy $deplib_matches; shift
6565 deplib_match=$1
6566 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
6567 newdeplibs="$newdeplibs $i"
6568 else
6569 droppeddeps=yes
6570 $ECHO
6571 $ECHO "*** Warning: dynamic linker does not accept needed library $i."
6572 $ECHO "*** I have the capability to make that library automatically link in when"
6573 $ECHO "*** you link to this library. But I can only do this if you have a"
6574 $ECHO "*** shared version of the library, which I believe you do not have"
6575 $ECHO "*** because a test_compile did reveal that the linker did not use it for"
6576 $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
6577 fi
6578 fi
6579 ;;
6580 *)
6581 newdeplibs="$newdeplibs $i"
6582 ;;
6583 esac
6584 done
6585 else
6586 # Error occurred in the first compile. Let's try to salvage
6587 # the situation: Compile a separate program for each library.
6588 for i in $deplibs; do
6589 case $i in
6590 -l*)
6591 func_stripname -l '' "$i"
6592 name=$func_stripname_result
6593 $opt_dry_run || $RM conftest
6594 if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
6595 ldd_output=`ldd conftest`
6596 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6597 case " $predeps $postdeps " in
6598 *" $i "*)
6599 newdeplibs="$newdeplibs $i"
6600 i=""
6601 ;;
6602 esac
6603 fi
6604 if test -n "$i" ; then
6605 libname=`eval "\\$ECHO \"$libname_spec\""`
6606 deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
6607 set dummy $deplib_matches; shift
6608 deplib_match=$1
6609 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
6610 newdeplibs="$newdeplibs $i"
6611 else
6612 droppeddeps=yes
6613 $ECHO
6614 $ECHO "*** Warning: dynamic linker does not accept needed library $i."
6615 $ECHO "*** I have the capability to make that library automatically link in when"
6616 $ECHO "*** you link to this library. But I can only do this if you have a"
6617 $ECHO "*** shared version of the library, which you do not appear to have"
6618 $ECHO "*** because a test_compile did reveal that the linker did not use this one"
6619 $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
6620 fi
6621 fi
6622 else
6623 droppeddeps=yes
6624 $ECHO
6625 $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
6626 $ECHO "*** make it link in! You will probably need to install it or some"
6627 $ECHO "*** library that it depends on before this library will be fully"
6628 $ECHO "*** functional. Installing it before continuing would be even better."
6629 fi
6630 ;;
6631 *)
6632 newdeplibs="$newdeplibs $i"
6633 ;;
6634 esac
6635 done
6636 fi
6637 ;;
6638 file_magic*)
6639 set dummy $deplibs_check_method; shift
6640 file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
6641 for a_deplib in $deplibs; do
6642 case $a_deplib in
6643 -l*)
6644 func_stripname -l '' "$a_deplib"
6645 name=$func_stripname_result
6646 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6647 case " $predeps $postdeps " in
6648 *" $a_deplib "*)
6649 newdeplibs="$newdeplibs $a_deplib"
6650 a_deplib=""
6651 ;;
6652 esac
6653 fi
6654 if test -n "$a_deplib" ; then
6655 libname=`eval "\\$ECHO \"$libname_spec\""`
6656 for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
6657 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
6658 for potent_lib in $potential_libs; do
6659 # Follow soft links.
6660 if ls -lLd "$potent_lib" 2>/dev/null |
6661 $GREP " -> " >/dev/null; then
6662 continue
6663 fi
6664 # The statement above tries to avoid entering an
6665 # endless loop below, in case of cyclic links.
6666 # We might still enter an endless loop, since a link
6667 # loop can be closed while we follow links,
6668 # but so what?
6669 potlib="$potent_lib"
6670 while test -h "$potlib" 2>/dev/null; do
6671 potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
6672 case $potliblink in
6673 [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
6674 *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
6675 esac
6676 done
6677 if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
6678 $SED -e 10q |
6679 $EGREP "$file_magic_regex" > /dev/null; then
6680 newdeplibs="$newdeplibs $a_deplib"
6681 a_deplib=""
6682 break 2
6683 fi
6684 done
6685 done
6686 fi
6687 if test -n "$a_deplib" ; then
6688 droppeddeps=yes
6689 $ECHO
6690 $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
6691 $ECHO "*** I have the capability to make that library automatically link in when"
6692 $ECHO "*** you link to this library. But I can only do this if you have a"
6693 $ECHO "*** shared version of the library, which you do not appear to have"
6694 $ECHO "*** because I did check the linker path looking for a file starting"
6695 if test -z "$potlib" ; then
6696 $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
6697 else
6698 $ECHO "*** with $libname and none of the candidates passed a file format test"
6699 $ECHO "*** using a file magic. Last file checked: $potlib"
6700 fi
6701 fi
6702 ;;
6703 *)
6704 # Add a -L argument.
6705 newdeplibs="$newdeplibs $a_deplib"
6706 ;;
6707 esac
6708 done # Gone through all deplibs.
6709 ;;
6710 match_pattern*)
6711 set dummy $deplibs_check_method; shift
6712 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
6713 for a_deplib in $deplibs; do
6714 case $a_deplib in
6715 -l*)
6716 func_stripname -l '' "$a_deplib"
6717 name=$func_stripname_result
6718 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6719 case " $predeps $postdeps " in
6720 *" $a_deplib "*)
6721 newdeplibs="$newdeplibs $a_deplib"
6722 a_deplib=""
6723 ;;
6724 esac
6725 fi
6726 if test -n "$a_deplib" ; then
6727 libname=`eval "\\$ECHO \"$libname_spec\""`
6728 for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
6729 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
6730 for potent_lib in $potential_libs; do
6731 potlib="$potent_lib" # see symlink-check above in file_magic test
6732 if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
6733 $EGREP "$match_pattern_regex" > /dev/null; then
6734 newdeplibs="$newdeplibs $a_deplib"
6735 a_deplib=""
6736 break 2
6737 fi
6738 done
6739 done
6740 fi
6741 if test -n "$a_deplib" ; then
6742 droppeddeps=yes
6743 $ECHO
6744 $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
6745 $ECHO "*** I have the capability to make that library automatically link in when"
6746 $ECHO "*** you link to this library. But I can only do this if you have a"
6747 $ECHO "*** shared version of the library, which you do not appear to have"
6748 $ECHO "*** because I did check the linker path looking for a file starting"
6749 if test -z "$potlib" ; then
6750 $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
6751 else
6752 $ECHO "*** with $libname and none of the candidates passed a file format test"
6753 $ECHO "*** using a regex pattern. Last file checked: $potlib"
6754 fi
6755 fi
6756 ;;
6757 *)
6758 # Add a -L argument.
6759 newdeplibs="$newdeplibs $a_deplib"
6760 ;;
6761 esac
6762 done # Gone through all deplibs.
6763 ;;
6764 none | unknown | *)
6765 newdeplibs=""
6766 tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
6767 -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
6768 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6769 for i in $predeps $postdeps ; do
6770 # can't use Xsed below, because $i might contain '/'
6771 tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
6772 done
6773 fi
6774 if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' |
6775 $GREP . >/dev/null; then
6776 $ECHO
6777 if test "X$deplibs_check_method" = "Xnone"; then
6778 $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
6779 else
6780 $ECHO "*** Warning: inter-library dependencies are not known to be supported."
6781 fi
6782 $ECHO "*** All declared inter-library dependencies are being dropped."
6783 droppeddeps=yes
6784 fi
6785 ;;
6786 esac
6787 versuffix=$versuffix_save
6788 major=$major_save
6789 release=$release_save
6790 libname=$libname_save
6791 name=$name_save
6792
6793 case $host in
6794 *-*-rhapsody* | *-*-darwin1.[012])
6795 # On Rhapsody replace the C library with the System framework
6796 newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
6797 ;;
6798 esac
6799
6800 if test "$droppeddeps" = yes; then
6801 if test "$module" = yes; then
6802 $ECHO
6803 $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
6804 $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
6805 $ECHO "*** a static module, that should work as long as the dlopening"
6806 $ECHO "*** application is linked with the -dlopen flag."
6807 if test -z "$global_symbol_pipe"; then
6808 $ECHO
6809 $ECHO "*** However, this would only work if libtool was able to extract symbol"
6810 $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
6811 $ECHO "*** not find such a program. So, this module is probably useless."
6812 $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
6813 fi
6814 if test "$build_old_libs" = no; then
6815 oldlibs="$output_objdir/$libname.$libext"
6816 build_libtool_libs=module
6817 build_old_libs=yes
6818 else
6819 build_libtool_libs=no
6820 fi
6821 else
6822 $ECHO "*** The inter-library dependencies that have been dropped here will be"
6823 $ECHO "*** automatically added whenever a program is linked with this library"
6824 $ECHO "*** or is declared to -dlopen it."
6825
6826 if test "$allow_undefined" = no; then
6827 $ECHO
6828 $ECHO "*** Since this library must not contain undefined symbols,"
6829 $ECHO "*** because either the platform does not support them or"
6830 $ECHO "*** it was explicitly requested with -no-undefined,"
6831 $ECHO "*** libtool will only create a static version of it."
6832 if test "$build_old_libs" = no; then
6833 oldlibs="$output_objdir/$libname.$libext"
6834 build_libtool_libs=module
6835 build_old_libs=yes
6836 else
6837 build_libtool_libs=no
6838 fi
6839 fi
6840 fi
6841 fi
6842 # Done checking deplibs!
6843 deplibs=$newdeplibs
6844 fi
6845 # Time to change all our "foo.ltframework" stuff back to "-framework foo"
6846 case $host in
6847 *-*-darwin*)
6848 newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
6849 new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
6850 deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
6851 ;;
6852 esac
6853
6854 # move library search paths that coincide with paths to not yet
6855 # installed libraries to the beginning of the library search list
6856 new_libs=
6857 for path in $notinst_path; do
6858 case " $new_libs " in
6859 *" -L$path/$objdir "*) ;;
6860 *)
6861 case " $deplibs " in
6862 *" -L$path/$objdir "*)
6863 new_libs="$new_libs -L$path/$objdir" ;;
6864 esac
6865 ;;
6866 esac
6867 done
6868 for deplib in $deplibs; do
6869 case $deplib in
6870 -L*)
6871 case " $new_libs " in
6872 *" $deplib "*) ;;
6873 *) new_libs="$new_libs $deplib" ;;
6874 esac
6875 ;;
6876 *) new_libs="$new_libs $deplib" ;;
6877 esac
6878 done
6879 deplibs="$new_libs"
6880
6881 # All the library-specific variables (install_libdir is set above).
6882 library_names=
6883 old_library=
6884 dlname=
6885
6886 # Test again, we may have decided not to build it any more
6887 if test "$build_libtool_libs" = yes; then
6888 if test "$hardcode_into_libs" = yes; then
6889 # Hardcode the library paths
6890 hardcode_libdirs=
6891 dep_rpath=
6892 rpath="$finalize_rpath"
6893 test "$mode" != relink && rpath="$compile_rpath$rpath"
6894 for libdir in $rpath; do
6895 if test -n "$hardcode_libdir_flag_spec"; then
6896 if test -n "$hardcode_libdir_separator"; then
6897 if test -z "$hardcode_libdirs"; then
6898 hardcode_libdirs="$libdir"
6899 else
6900 # Just accumulate the unique libdirs.
6901 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
6902 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
6903 ;;
6904 *)
6905 hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
6906 ;;
6907 esac
6908 fi
6909 else
6910 eval flag=\"$hardcode_libdir_flag_spec\"
6911 dep_rpath="$dep_rpath $flag"
6912 fi
6913 elif test -n "$runpath_var"; then
6914 case "$perm_rpath " in
6915 *" $libdir "*) ;;
6916 *) perm_rpath="$perm_rpath $libdir" ;;
6917 esac
6918 fi
6919 done
6920 # Substitute the hardcoded libdirs into the rpath.
6921 if test -n "$hardcode_libdir_separator" &&
6922 test -n "$hardcode_libdirs"; then
6923 libdir="$hardcode_libdirs"
6924 if test -n "$hardcode_libdir_flag_spec_ld"; then
6925 eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
6926 else
6927 eval dep_rpath=\"$hardcode_libdir_flag_spec\"
6928 fi
6929 fi
6930 if test -n "$runpath_var" && test -n "$perm_rpath"; then
6931 # We should set the runpath_var.
6932 rpath=
6933 for dir in $perm_rpath; do
6934 rpath="$rpath$dir:"
6935 done
6936 eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
6937 fi
6938 test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
6939 fi
6940
6941 shlibpath="$finalize_shlibpath"
6942 test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
6943 if test -n "$shlibpath"; then
6944 eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
6945 fi
6946
6947 # Get the real and link names of the library.
6948 eval shared_ext=\"$shrext_cmds\"
6949 eval library_names=\"$library_names_spec\"
6950 set dummy $library_names
6951 shift
6952 realname="$1"
6953 shift
6954
6955 if test -n "$soname_spec"; then
6956 eval soname=\"$soname_spec\"
6957 else
6958 soname="$realname"
6959 fi
6960 if test -z "$dlname"; then
6961 dlname=$soname
6962 fi
6963
6964 lib="$output_objdir/$realname"
6965 linknames=
6966 for link
6967 do
6968 linknames="$linknames $link"
6969 done
6970
6971 # Use standard objects if they are pic
6972 test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
6973 test "X$libobjs" = "X " && libobjs=
6974
6975 delfiles=
6976 if test -n "$export_symbols" && test -n "$include_expsyms"; then
6977 $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
6978 export_symbols="$output_objdir/$libname.uexp"
6979 delfiles="$delfiles $export_symbols"
6980 fi
6981
6982 orig_export_symbols=
6983 case $host_os in
6984 cygwin* | mingw* | cegcc*)
6985 if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
6986 # exporting using user supplied symfile
6987 if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
6988 # and it's NOT already a .def file. Must figure out
6989 # which of the given symbols are data symbols and tag
6990 # them as such. So, trigger use of export_symbols_cmds.
6991 # export_symbols gets reassigned inside the "prepare
6992 # the list of exported symbols" if statement, so the
6993 # include_expsyms logic still works.
6994 orig_export_symbols="$export_symbols"
6995 export_symbols=
6996 always_export_symbols=yes
6997 fi
6998 fi
6999 ;;
7000 esac
7001
7002 # Prepare the list of exported symbols
7003 if test -z "$export_symbols"; then
7004 if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
7005 func_verbose "generating symbol list for \`$libname.la'"
7006 export_symbols="$output_objdir/$libname.exp"
7007 $opt_dry_run || $RM $export_symbols
7008 cmds=$export_symbols_cmds
7009 save_ifs="$IFS"; IFS='~'
7010 for cmd in $cmds; do
7011 IFS="$save_ifs"
7012 eval cmd=\"$cmd\"
7013 func_len " $cmd"
7014 len=$func_len_result
7015 if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
7016 func_show_eval "$cmd" 'exit $?'
7017 skipped_export=false
7018 else
7019 # The command line is too long to execute in one step.
7020 func_verbose "using reloadable object file for export list..."
7021 skipped_export=:
7022 # Break out early, otherwise skipped_export may be
7023 # set to false by a later but shorter cmd.
7024 break
7025 fi
7026 done
7027 IFS="$save_ifs"
7028 if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
7029 func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
7030 func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
7031 fi
7032 fi
7033 fi
7034
7035 if test -n "$export_symbols" && test -n "$include_expsyms"; then
7036 tmp_export_symbols="$export_symbols"
7037 test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
7038 $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
7039 fi
7040
7041 if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
7042 # The given exports_symbols file has to be filtered, so filter it.
7043 func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
7044 # FIXME: $output_objdir/$libname.filter potentially contains lots of
7045 # 's' commands which not all seds can handle. GNU sed should be fine
7046 # though. Also, the filter scales superlinearly with the number of
7047 # global variables. join(1) would be nice here, but unfortunately
7048 # isn't a blessed tool.
7049 $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
7050 delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
7051 export_symbols=$output_objdir/$libname.def
7052 $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
7053 fi
7054
7055 tmp_deplibs=
7056 for test_deplib in $deplibs; do
7057 case " $convenience " in
7058 *" $test_deplib "*) ;;
7059 *)
7060 tmp_deplibs="$tmp_deplibs $test_deplib"
7061 ;;
7062 esac
7063 done
7064 deplibs="$tmp_deplibs"
7065
7066 if test -n "$convenience"; then
7067 if test -n "$whole_archive_flag_spec" &&
7068 test "$compiler_needs_object" = yes &&
7069 test -z "$libobjs"; then
7070 # extract the archives, so we have objects to list.
7071 # TODO: could optimize this to just extract one archive.
7072 whole_archive_flag_spec=
7073 fi
7074 if test -n "$whole_archive_flag_spec"; then
7075 save_libobjs=$libobjs
7076 eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
7077 test "X$libobjs" = "X " && libobjs=
7078 else
7079 gentop="$output_objdir/${outputname}x"
7080 generated="$generated $gentop"
7081
7082 func_extract_archives $gentop $convenience
7083 libobjs="$libobjs $func_extract_archives_result"
7084 test "X$libobjs" = "X " && libobjs=
7085 fi
7086 fi
7087
7088 if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
7089 eval flag=\"$thread_safe_flag_spec\"
7090 linker_flags="$linker_flags $flag"
7091 fi
7092
7093 # Make a backup of the uninstalled library when relinking
7094 if test "$mode" = relink; then
7095 $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
7096 fi
7097
7098 # Do each of the archive commands.
7099 if test "$module" = yes && test -n "$module_cmds" ; then
7100 if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
7101 eval test_cmds=\"$module_expsym_cmds\"
7102 cmds=$module_expsym_cmds
7103 else
7104 eval test_cmds=\"$module_cmds\"
7105 cmds=$module_cmds
7106 fi
7107 else
7108 if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
7109 eval test_cmds=\"$archive_expsym_cmds\"
7110 cmds=$archive_expsym_cmds
7111 else
7112 eval test_cmds=\"$archive_cmds\"
7113 cmds=$archive_cmds
7114 fi
7115 fi
7116
7117 if test "X$skipped_export" != "X:" &&
7118 func_len " $test_cmds" &&
7119 len=$func_len_result &&
7120 test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
7121 :
7122 else
7123 # The command line is too long to link in one step, link piecewise
7124 # or, if using GNU ld and skipped_export is not :, use a linker
7125 # script.
7126
7127 # Save the value of $output and $libobjs because we want to
7128 # use them later. If we have whole_archive_flag_spec, we
7129 # want to use save_libobjs as it was before
7130 # whole_archive_flag_spec was expanded, because we can't
7131 # assume the linker understands whole_archive_flag_spec.
7132 # This may have to be revisited, in case too many
7133 # convenience libraries get linked in and end up exceeding
7134 # the spec.
7135 if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
7136 save_libobjs=$libobjs
7137 fi
7138 save_output=$output
7139 output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
7140
7141 # Clear the reloadable object creation command queue and
7142 # initialize k to one.
7143 test_cmds=
7144 concat_cmds=
7145 objlist=
7146 last_robj=
7147 k=1
7148
7149 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
7150 output=${output_objdir}/${output_la}.lnkscript
7151 func_verbose "creating GNU ld script: $output"
7152 $ECHO 'INPUT (' > $output
7153 for obj in $save_libobjs
7154 do
7155 $ECHO "$obj" >> $output
7156 done
7157 $ECHO ')' >> $output
7158 delfiles="$delfiles $output"
7159 elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
7160 output=${output_objdir}/${output_la}.lnk
7161 func_verbose "creating linker input file list: $output"
7162 : > $output
7163 set x $save_libobjs
7164 shift
7165 firstobj=
7166 if test "$compiler_needs_object" = yes; then
7167 firstobj="$1 "
7168 shift
7169 fi
7170 for obj
7171 do
7172 $ECHO "$obj" >> $output
7173 done
7174 delfiles="$delfiles $output"
7175 output=$firstobj\"$file_list_spec$output\"
7176 else
7177 if test -n "$save_libobjs"; then
7178 func_verbose "creating reloadable object files..."
7179 output=$output_objdir/$output_la-${k}.$objext
7180 eval test_cmds=\"$reload_cmds\"
7181 func_len " $test_cmds"
7182 len0=$func_len_result
7183 len=$len0
7184
7185 # Loop over the list of objects to be linked.
7186 for obj in $save_libobjs
7187 do
7188 func_len " $obj"
7189 func_arith $len + $func_len_result
7190 len=$func_arith_result
7191 if test "X$objlist" = X ||
7192 test "$len" -lt "$max_cmd_len"; then
7193 func_append objlist " $obj"
7194 else
7195 # The command $test_cmds is almost too long, add a
7196 # command to the queue.
7197 if test "$k" -eq 1 ; then
7198 # The first file doesn't have a previous command to add.
7199 eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
7200 else
7201 # All subsequent reloadable object files will link in
7202 # the last one created.
7203 eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
7204 fi
7205 last_robj=$output_objdir/$output_la-${k}.$objext
7206 func_arith $k + 1
7207 k=$func_arith_result
7208 output=$output_objdir/$output_la-${k}.$objext
7209 objlist=$obj
7210 func_len " $last_robj"
7211 func_arith $len0 + $func_len_result
7212 len=$func_arith_result
7213 fi
7214 done
7215 # Handle the remaining objects by creating one last
7216 # reloadable object file. All subsequent reloadable object
7217 # files will link in the last one created.
7218 test -z "$concat_cmds" || concat_cmds=$concat_cmds~
7219 eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
7220 if test -n "$last_robj"; then
7221 eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
7222 fi
7223 delfiles="$delfiles $output"
7224
7225 else
7226 output=
7227 fi
7228
7229 if ${skipped_export-false}; then
7230 func_verbose "generating symbol list for \`$libname.la'"
7231 export_symbols="$output_objdir/$libname.exp"
7232 $opt_dry_run || $RM $export_symbols
7233 libobjs=$output
7234 # Append the command to create the export file.
7235 test -z "$concat_cmds" || concat_cmds=$concat_cmds~
7236 eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
7237 if test -n "$last_robj"; then
7238 eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
7239 fi
7240 fi
7241
7242 test -n "$save_libobjs" &&
7243 func_verbose "creating a temporary reloadable object file: $output"
7244
7245 # Loop through the commands generated above and execute them.
7246 save_ifs="$IFS"; IFS='~'
7247 for cmd in $concat_cmds; do
7248 IFS="$save_ifs"
7249 $opt_silent || {
7250 func_quote_for_expand "$cmd"
7251 eval "func_echo $func_quote_for_expand_result"
7252 }
7253 $opt_dry_run || eval "$cmd" || {
7254 lt_exit=$?
7255
7256 # Restore the uninstalled library and exit
7257 if test "$mode" = relink; then
7258 ( cd "$output_objdir" && \
7259 $RM "${realname}T" && \
7260 $MV "${realname}U" "$realname" )
7261 fi
7262
7263 exit $lt_exit
7264 }
7265 done
7266 IFS="$save_ifs"
7267
7268 if test -n "$export_symbols_regex" && ${skipped_export-false}; then
7269 func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
7270 func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
7271 fi
7272 fi
7273
7274 if ${skipped_export-false}; then
7275 if test -n "$export_symbols" && test -n "$include_expsyms"; then
7276 tmp_export_symbols="$export_symbols"
7277 test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
7278 $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
7279 fi
7280
7281 if test -n "$orig_export_symbols"; then
7282 # The given exports_symbols file has to be filtered, so filter it.
7283 func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
7284 # FIXME: $output_objdir/$libname.filter potentially contains lots of
7285 # 's' commands which not all seds can handle. GNU sed should be fine
7286 # though. Also, the filter scales superlinearly with the number of
7287 # global variables. join(1) would be nice here, but unfortunately
7288 # isn't a blessed tool.
7289 $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
7290 delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
7291 export_symbols=$output_objdir/$libname.def
7292 $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
7293 fi
7294 fi
7295
7296 libobjs=$output
7297 # Restore the value of output.
7298 output=$save_output
7299
7300 if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
7301 eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
7302 test "X$libobjs" = "X " && libobjs=
7303 fi
7304 # Expand the library linking commands again to reset the
7305 # value of $libobjs for piecewise linking.
7306
7307 # Do each of the archive commands.
7308 if test "$module" = yes && test -n "$module_cmds" ; then
7309 if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
7310 cmds=$module_expsym_cmds
7311 else
7312 cmds=$module_cmds
7313 fi
7314 else
7315 if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
7316 cmds=$archive_expsym_cmds
7317 else
7318 cmds=$archive_cmds
7319 fi
7320 fi
7321 fi
7322
7323 if test -n "$delfiles"; then
7324 # Append the command to remove temporary files to $cmds.
7325 eval cmds=\"\$cmds~\$RM $delfiles\"
7326 fi
7327
7328 # Add any objects from preloaded convenience libraries
7329 if test -n "$dlprefiles"; then
7330 gentop="$output_objdir/${outputname}x"
7331 generated="$generated $gentop"
7332
7333 func_extract_archives $gentop $dlprefiles
7334 libobjs="$libobjs $func_extract_archives_result"
7335 test "X$libobjs" = "X " && libobjs=
7336 fi
7337
7338 save_ifs="$IFS"; IFS='~'
7339 for cmd in $cmds; do
7340 IFS="$save_ifs"
7341 eval cmd=\"$cmd\"
7342 $opt_silent || {
7343 func_quote_for_expand "$cmd"
7344 eval "func_echo $func_quote_for_expand_result"
7345 }
7346 $opt_dry_run || eval "$cmd" || {
7347 lt_exit=$?
7348
7349 # Restore the uninstalled library and exit
7350 if test "$mode" = relink; then
7351 ( cd "$output_objdir" && \
7352 $RM "${realname}T" && \
7353 $MV "${realname}U" "$realname" )
7354 fi
7355
7356 exit $lt_exit
7357 }
7358 done
7359 IFS="$save_ifs"
7360
7361 # Restore the uninstalled library and exit
7362 if test "$mode" = relink; then
7363 $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
7364
7365 if test -n "$convenience"; then
7366 if test -z "$whole_archive_flag_spec"; then
7367 func_show_eval '${RM}r "$gentop"'
7368 fi
7369 fi
7370
7371 exit $EXIT_SUCCESS
7372 fi
7373
7374 # Create links to the real library.
7375 for linkname in $linknames; do
7376 if test "$realname" != "$linkname"; then
7377 func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
7378 fi
7379 done
7380
7381 # If -module or -export-dynamic was specified, set the dlname.
7382 if test "$module" = yes || test "$export_dynamic" = yes; then
7383 # On all known operating systems, these are identical.
7384 dlname="$soname"
7385 fi
7386 fi
7387 ;;
7388
7389 obj)
7390 if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
7391 func_warning "\`-dlopen' is ignored for objects"
7392 fi
7393
7394 case " $deplibs" in
7395 *\ -l* | *\ -L*)
7396 func_warning "\`-l' and \`-L' are ignored for objects" ;;
7397 esac
7398
7399 test -n "$rpath" && \
7400 func_warning "\`-rpath' is ignored for objects"
7401
7402 test -n "$xrpath" && \
7403 func_warning "\`-R' is ignored for objects"
7404
7405 test -n "$vinfo" && \
7406 func_warning "\`-version-info' is ignored for objects"
7407
7408 test -n "$release" && \
7409 func_warning "\`-release' is ignored for objects"
7410
7411 case $output in
7412 *.lo)
7413 test -n "$objs$old_deplibs" && \
7414 func_fatal_error "cannot build library object \`$output' from non-libtool objects"
7415
7416 libobj=$output
7417 func_lo2o "$libobj"
7418 obj=$func_lo2o_result
7419 ;;
7420 *)
7421 libobj=
7422 obj="$output"
7423 ;;
7424 esac
7425
7426 # Delete the old objects.
7427 $opt_dry_run || $RM $obj $libobj
7428
7429 # Objects from convenience libraries. This assumes
7430 # single-version convenience libraries. Whenever we create
7431 # different ones for PIC/non-PIC, this we'll have to duplicate
7432 # the extraction.
7433 reload_conv_objs=
7434 gentop=
7435 # reload_cmds runs $LD directly, so let us get rid of
7436 # -Wl from whole_archive_flag_spec and hope we can get by with
7437 # turning comma into space..
7438 wl=
7439
7440 if test -n "$convenience"; then
7441 if test -n "$whole_archive_flag_spec"; then
7442 eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
7443 reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
7444 else
7445 gentop="$output_objdir/${obj}x"
7446 generated="$generated $gentop"
7447
7448 func_extract_archives $gentop $convenience
7449 reload_conv_objs="$reload_objs $func_extract_archives_result"
7450 fi
7451 fi
7452
7453 # Create the old-style object.
7454 reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
7455
7456 output="$obj"
7457 func_execute_cmds "$reload_cmds" 'exit $?'
7458
7459 # Exit if we aren't doing a library object file.
7460 if test -z "$libobj"; then
7461 if test -n "$gentop"; then
7462 func_show_eval '${RM}r "$gentop"'
7463 fi
7464
7465 exit $EXIT_SUCCESS
7466 fi
7467
7468 if test "$build_libtool_libs" != yes; then
7469 if test -n "$gentop"; then
7470 func_show_eval '${RM}r "$gentop"'
7471 fi
7472
7473 # Create an invalid libtool object if no PIC, so that we don't
7474 # accidentally link it into a program.
7475 # $show "echo timestamp > $libobj"
7476 # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
7477 exit $EXIT_SUCCESS
7478 fi
7479
7480 if test -n "$pic_flag" || test "$pic_mode" != default; then
7481 # Only do commands if we really have different PIC objects.
7482 reload_objs="$libobjs $reload_conv_objs"
7483 output="$libobj"
7484 func_execute_cmds "$reload_cmds" 'exit $?'
7485 fi
7486
7487 if test -n "$gentop"; then
7488 func_show_eval '${RM}r "$gentop"'
7489 fi
7490
7491 exit $EXIT_SUCCESS
7492 ;;
7493
7494 prog)
7495 case $host in
7496 *cygwin*) func_stripname '' '.exe' "$output"
7497 output=$func_stripname_result.exe;;
7498 esac
7499 test -n "$vinfo" && \
7500 func_warning "\`-version-info' is ignored for programs"
7501
7502 test -n "$release" && \
7503 func_warning "\`-release' is ignored for programs"
7504
7505 test "$preload" = yes \
7506 && test "$dlopen_support" = unknown \
7507 && test "$dlopen_self" = unknown \
7508 && test "$dlopen_self_static" = unknown && \
7509 func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
7510
7511 case $host in
7512 *-*-rhapsody* | *-*-darwin1.[012])
7513 # On Rhapsody replace the C library is the System framework
7514 compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
7515 finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
7516 ;;
7517 esac
7518
7519 case $host in
7520 *-*-darwin*)
7521 # Don't allow lazy linking, it breaks C++ global constructors
7522 # But is supposedly fixed on 10.4 or later (yay!).
7523 if test "$tagname" = CXX ; then
7524 case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
7525 10.[0123])
7526 compile_command="$compile_command ${wl}-bind_at_load"
7527 finalize_command="$finalize_command ${wl}-bind_at_load"
7528 ;;
7529 esac
7530 fi
7531 # Time to change all our "foo.ltframework" stuff back to "-framework foo"
7532 compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
7533 finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
7534 ;;
7535 esac
7536
7537
7538 # move library search paths that coincide with paths to not yet
7539 # installed libraries to the beginning of the library search list
7540 new_libs=
7541 for path in $notinst_path; do
7542 case " $new_libs " in
7543 *" -L$path/$objdir "*) ;;
7544 *)
7545 case " $compile_deplibs " in
7546 *" -L$path/$objdir "*)
7547 new_libs="$new_libs -L$path/$objdir" ;;
7548 esac
7549 ;;
7550 esac
7551 done
7552 for deplib in $compile_deplibs; do
7553 case $deplib in
7554 -L*)
7555 case " $new_libs " in
7556 *" $deplib "*) ;;
7557 *) new_libs="$new_libs $deplib" ;;
7558 esac
7559 ;;
7560 *) new_libs="$new_libs $deplib" ;;
7561 esac
7562 done
7563 compile_deplibs="$new_libs"
7564
7565
7566 compile_command="$compile_command $compile_deplibs"
7567 finalize_command="$finalize_command $finalize_deplibs"
7568
7569 if test -n "$rpath$xrpath"; then
7570 # If the user specified any rpath flags, then add them.
7571 for libdir in $rpath $xrpath; do
7572 # This is the magic to use -rpath.
7573 case "$finalize_rpath " in
7574 *" $libdir "*) ;;
7575 *) finalize_rpath="$finalize_rpath $libdir" ;;
7576 esac
7577 done
7578 fi
7579
7580 # Now hardcode the library paths
7581 rpath=
7582 hardcode_libdirs=
7583 for libdir in $compile_rpath $finalize_rpath; do
7584 if test -n "$hardcode_libdir_flag_spec"; then
7585 if test -n "$hardcode_libdir_separator"; then
7586 if test -z "$hardcode_libdirs"; then
7587 hardcode_libdirs="$libdir"
7588 else
7589 # Just accumulate the unique libdirs.
7590 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
7591 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
7592 ;;
7593 *)
7594 hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
7595 ;;
7596 esac
7597 fi
7598 else
7599 eval flag=\"$hardcode_libdir_flag_spec\"
7600 rpath="$rpath $flag"
7601 fi
7602 elif test -n "$runpath_var"; then
7603 case "$perm_rpath " in
7604 *" $libdir "*) ;;
7605 *) perm_rpath="$perm_rpath $libdir" ;;
7606 esac
7607 fi
7608 case $host in
7609 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
7610 testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
7611 case :$dllsearchpath: in
7612 *":$libdir:"*) ;;
7613 ::) dllsearchpath=$libdir;;
7614 *) dllsearchpath="$dllsearchpath:$libdir";;
7615 esac
7616 case :$dllsearchpath: in
7617 *":$testbindir:"*) ;;
7618 ::) dllsearchpath=$testbindir;;
7619 *) dllsearchpath="$dllsearchpath:$testbindir";;
7620 esac
7621 ;;
7622 esac
7623 done
7624 # Substitute the hardcoded libdirs into the rpath.
7625 if test -n "$hardcode_libdir_separator" &&
7626 test -n "$hardcode_libdirs"; then
7627 libdir="$hardcode_libdirs"
7628 eval rpath=\" $hardcode_libdir_flag_spec\"
7629 fi
7630 compile_rpath="$rpath"
7631
7632 rpath=
7633 hardcode_libdirs=
7634 for libdir in $finalize_rpath; do
7635 if test -n "$hardcode_libdir_flag_spec"; then
7636 if test -n "$hardcode_libdir_separator"; then
7637 if test -z "$hardcode_libdirs"; then
7638 hardcode_libdirs="$libdir"
7639 else
7640 # Just accumulate the unique libdirs.
7641 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
7642 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
7643 ;;
7644 *)
7645 hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
7646 ;;
7647 esac
7648 fi
7649 else
7650 eval flag=\"$hardcode_libdir_flag_spec\"
7651 rpath="$rpath $flag"
7652 fi
7653 elif test -n "$runpath_var"; then
7654 case "$finalize_perm_rpath " in
7655 *" $libdir "*) ;;
7656 *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
7657 esac
7658 fi
7659 done
7660 # Substitute the hardcoded libdirs into the rpath.
7661 if test -n "$hardcode_libdir_separator" &&
7662 test -n "$hardcode_libdirs"; then
7663 libdir="$hardcode_libdirs"
7664 eval rpath=\" $hardcode_libdir_flag_spec\"
7665 fi
7666 finalize_rpath="$rpath"
7667
7668 if test -n "$libobjs" && test "$build_old_libs" = yes; then
7669 # Transform all the library objects into standard objects.
7670 compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
7671 finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
7672 fi
7673
7674 func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
7675
7676 # template prelinking step
7677 if test -n "$prelink_cmds"; then
7678 func_execute_cmds "$prelink_cmds" 'exit $?'
7679 fi
7680
7681 wrappers_required=yes
7682 case $host in
7683 *cygwin* | *mingw* )
7684 if test "$build_libtool_libs" != yes; then
7685 wrappers_required=no
7686 fi
7687 ;;
7688 *cegcc)
7689 # Disable wrappers for cegcc, we are cross compiling anyway.
7690 wrappers_required=no
7691 ;;
7692 *)
7693 if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
7694 wrappers_required=no
7695 fi
7696 ;;
7697 esac
7698 if test "$wrappers_required" = no; then
7699 # Replace the output file specification.
7700 compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
7701 link_command="$compile_command$compile_rpath"
7702
7703 # We have no uninstalled library dependencies, so finalize right now.
7704 exit_status=0
7705 func_show_eval "$link_command" 'exit_status=$?'
7706
7707 # Delete the generated files.
7708 if test -f "$output_objdir/${outputname}S.${objext}"; then
7709 func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
7710 fi
7711
7712 exit $exit_status
7713 fi
7714
7715 if test -n "$compile_shlibpath$finalize_shlibpath"; then
7716 compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
7717 fi
7718 if test -n "$finalize_shlibpath"; then
7719 finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
7720 fi
7721
7722 compile_var=
7723 finalize_var=
7724 if test -n "$runpath_var"; then
7725 if test -n "$perm_rpath"; then
7726 # We should set the runpath_var.
7727 rpath=
7728 for dir in $perm_rpath; do
7729 rpath="$rpath$dir:"
7730 done
7731 compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
7732 fi
7733 if test -n "$finalize_perm_rpath"; then
7734 # We should set the runpath_var.
7735 rpath=
7736 for dir in $finalize_perm_rpath; do
7737 rpath="$rpath$dir:"
7738 done
7739 finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
7740 fi
7741 fi
7742
7743 if test "$no_install" = yes; then
7744 # We don't need to create a wrapper script.
7745 link_command="$compile_var$compile_command$compile_rpath"
7746 # Replace the output file specification.
7747 link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
7748 # Delete the old output file.
7749 $opt_dry_run || $RM $output
7750 # Link the executable and exit
7751 func_show_eval "$link_command" 'exit $?'
7752 exit $EXIT_SUCCESS
7753 fi
7754
7755 if test "$hardcode_action" = relink; then
7756 # Fast installation is not supported
7757 link_command="$compile_var$compile_command$compile_rpath"
7758 relink_command="$finalize_var$finalize_command$finalize_rpath"
7759
7760 func_warning "this platform does not like uninstalled shared libraries"
7761 func_warning "\`$output' will be relinked during installation"
7762 else
7763 if test "$fast_install" != no; then
7764 link_command="$finalize_var$compile_command$finalize_rpath"
7765 if test "$fast_install" = yes; then
7766 relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
7767 else
7768 # fast_install is set to needless
7769 relink_command=
7770 fi
7771 else
7772 link_command="$compile_var$compile_command$compile_rpath"
7773 relink_command="$finalize_var$finalize_command$finalize_rpath"
7774 fi
7775 fi
7776
7777 # Replace the output file specification.
7778 link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
7779
7780 # Delete the old output files.
7781 $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
7782
7783 func_show_eval "$link_command" 'exit $?'
7784
7785 # Now create the wrapper script.
7786 func_verbose "creating $output"
7787
7788 # Quote the relink command for shipping.
7789 if test -n "$relink_command"; then
7790 # Preserve any variables that may affect compiler behavior
7791 for var in $variables_saved_for_relink; do
7792 if eval test -z \"\${$var+set}\"; then
7793 relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
7794 elif eval var_value=\$$var; test -z "$var_value"; then
7795 relink_command="$var=; export $var; $relink_command"
7796 else
7797 func_quote_for_eval "$var_value"
7798 relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
7799 fi
7800 done
7801 relink_command="(cd `pwd`; $relink_command)"
7802 relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
7803 fi
7804
7805 # Quote $ECHO for shipping.
7806 if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
7807 case $progpath in
7808 [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
7809 *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
7810 esac
7811 qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
7812 else
7813 qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
7814 fi
7815
7816 # Only actually do things if not in dry run mode.
7817 $opt_dry_run || {
7818 # win32 will think the script is a binary if it has
7819 # a .exe suffix, so we strip it off here.
7820 case $output in
7821 *.exe) func_stripname '' '.exe' "$output"
7822 output=$func_stripname_result ;;
7823 esac
7824 # test for cygwin because mv fails w/o .exe extensions
7825 case $host in
7826 *cygwin*)
7827 exeext=.exe
7828 func_stripname '' '.exe' "$outputname"
7829 outputname=$func_stripname_result ;;
7830 *) exeext= ;;
7831 esac
7832 case $host in
7833 *cygwin* | *mingw* )
7834 func_dirname_and_basename "$output" "" "."
7835 output_name=$func_basename_result
7836 output_path=$func_dirname_result
7837 cwrappersource="$output_path/$objdir/lt-$output_name.c"
7838 cwrapper="$output_path/$output_name.exe"
7839 $RM $cwrappersource $cwrapper
7840 trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
7841
7842 func_emit_cwrapperexe_src > $cwrappersource
7843
7844 # The wrapper executable is built using the $host compiler,
7845 # because it contains $host paths and files. If cross-
7846 # compiling, it, like the target executable, must be
7847 # executed on the $host or under an emulation environment.
7848 $opt_dry_run || {
7849 $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
7850 $STRIP $cwrapper
7851 }
7852
7853 # Now, create the wrapper script for func_source use:
7854 func_ltwrapper_scriptname $cwrapper
7855 $RM $func_ltwrapper_scriptname_result
7856 trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
7857 $opt_dry_run || {
7858 # note: this script will not be executed, so do not chmod.
7859 if test "x$build" = "x$host" ; then
7860 $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
7861 else
7862 func_emit_wrapper no > $func_ltwrapper_scriptname_result
7863 fi
7864 }
7865 ;;
7866 * )
7867 $RM $output
7868 trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
7869
7870 func_emit_wrapper no > $output
7871 chmod +x $output
7872 ;;
7873 esac
7874 }
7875 exit $EXIT_SUCCESS
7876 ;;
7877 esac
7878
7879 # See if we need to build an old-fashioned archive.
7880 for oldlib in $oldlibs; do
7881
7882 if test "$build_libtool_libs" = convenience; then
7883 oldobjs="$libobjs_save $symfileobj"
7884 addlibs="$convenience"
7885 build_libtool_libs=no
7886 else
7887 if test "$build_libtool_libs" = module; then
7888 oldobjs="$libobjs_save"
7889 build_libtool_libs=no
7890 else
7891 oldobjs="$old_deplibs $non_pic_objects"
7892 if test "$preload" = yes && test -f "$symfileobj"; then
7893 oldobjs="$oldobjs $symfileobj"
7894 fi
7895 fi
7896 addlibs="$old_convenience"
7897 fi
7898
7899 if test -n "$addlibs"; then
7900 gentop="$output_objdir/${outputname}x"
7901 generated="$generated $gentop"
7902
7903 func_extract_archives $gentop $addlibs
7904 oldobjs="$oldobjs $func_extract_archives_result"
7905 fi
7906
7907 # Do each command in the archive commands.
7908 if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
7909 cmds=$old_archive_from_new_cmds
7910 else
7911
7912 # Add any objects from preloaded convenience libraries
7913 if test -n "$dlprefiles"; then
7914 gentop="$output_objdir/${outputname}x"
7915 generated="$generated $gentop"
7916
7917 func_extract_archives $gentop $dlprefiles
7918 oldobjs="$oldobjs $func_extract_archives_result"
7919 fi
7920
7921 # POSIX demands no paths to be encoded in archives. We have
7922 # to avoid creating archives with duplicate basenames if we
7923 # might have to extract them afterwards, e.g., when creating a
7924 # static archive out of a convenience library, or when linking
7925 # the entirety of a libtool archive into another (currently
7926 # not supported by libtool).
7927 if (for obj in $oldobjs
7928 do
7929 func_basename "$obj"
7930 $ECHO "$func_basename_result"
7931 done | sort | sort -uc >/dev/null 2>&1); then
7932 :
7933 else
7934 $ECHO "copying selected object files to avoid basename conflicts..."
7935 gentop="$output_objdir/${outputname}x"
7936 generated="$generated $gentop"
7937 func_mkdir_p "$gentop"
7938 save_oldobjs=$oldobjs
7939 oldobjs=
7940 counter=1
7941 for obj in $save_oldobjs
7942 do
7943 func_basename "$obj"
7944 objbase="$func_basename_result"
7945 case " $oldobjs " in
7946 " ") oldobjs=$obj ;;
7947 *[\ /]"$objbase "*)
7948 while :; do
7949 # Make sure we don't pick an alternate name that also
7950 # overlaps.
7951 newobj=lt$counter-$objbase
7952 func_arith $counter + 1
7953 counter=$func_arith_result
7954 case " $oldobjs " in
7955 *[\ /]"$newobj "*) ;;
7956 *) if test ! -f "$gentop/$newobj"; then break; fi ;;
7957 esac
7958 done
7959 func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
7960 oldobjs="$oldobjs $gentop/$newobj"
7961 ;;
7962 *) oldobjs="$oldobjs $obj" ;;
7963 esac
7964 done
7965 fi
7966 eval cmds=\"$old_archive_cmds\"
7967
7968 func_len " $cmds"
7969 len=$func_len_result
7970 if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
7971 cmds=$old_archive_cmds
7972 else
7973 # the command line is too long to link in one step, link in parts
7974 func_verbose "using piecewise archive linking..."
7975 save_RANLIB=$RANLIB
7976 RANLIB=:
7977 objlist=
7978 concat_cmds=
7979 save_oldobjs=$oldobjs
7980 oldobjs=
7981 # Is there a better way of finding the last object in the list?
7982 for obj in $save_oldobjs
7983 do
7984 last_oldobj=$obj
7985 done
7986 eval test_cmds=\"$old_archive_cmds\"
7987 func_len " $test_cmds"
7988 len0=$func_len_result
7989 len=$len0
7990 for obj in $save_oldobjs
7991 do
7992 func_len " $obj"
7993 func_arith $len + $func_len_result
7994 len=$func_arith_result
7995 func_append objlist " $obj"
7996 if test "$len" -lt "$max_cmd_len"; then
7997 :
7998 else
7999 # the above command should be used before it gets too long
8000 oldobjs=$objlist
8001 if test "$obj" = "$last_oldobj" ; then
8002 RANLIB=$save_RANLIB
8003 fi
8004 test -z "$concat_cmds" || concat_cmds=$concat_cmds~
8005 eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
8006 objlist=
8007 len=$len0
8008 fi
8009 done
8010 RANLIB=$save_RANLIB
8011 oldobjs=$objlist
8012 if test "X$oldobjs" = "X" ; then
8013 eval cmds=\"\$concat_cmds\"
8014 else
8015 eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
8016 fi
8017 fi
8018 fi
8019 func_execute_cmds "$cmds" 'exit $?'
8020 done
8021
8022 test -n "$generated" && \
8023 func_show_eval "${RM}r$generated"
8024
8025 # Now create the libtool archive.
8026 case $output in
8027 *.la)
8028 old_library=
8029 test "$build_old_libs" = yes && old_library="$libname.$libext"
8030 func_verbose "creating $output"
8031
8032 # Preserve any variables that may affect compiler behavior
8033 for var in $variables_saved_for_relink; do
8034 if eval test -z \"\${$var+set}\"; then
8035 relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
8036 elif eval var_value=\$$var; test -z "$var_value"; then
8037 relink_command="$var=; export $var; $relink_command"
8038 else
8039 func_quote_for_eval "$var_value"
8040 relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
8041 fi
8042 done
8043 # Quote the link command for shipping.
8044 relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
8045 relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
8046 if test "$hardcode_automatic" = yes ; then
8047 relink_command=
8048 fi
8049
8050 # Only create the output if not a dry run.
8051 $opt_dry_run || {
8052 for installed in no yes; do
8053 if test "$installed" = yes; then
8054 if test -z "$install_libdir"; then
8055 break
8056 fi
8057 output="$output_objdir/$outputname"i
8058 # Replace all uninstalled libtool libraries with the installed ones
8059 newdependency_libs=
8060 for deplib in $dependency_libs; do
8061 case $deplib in
8062 *.la)
8063 func_basename "$deplib"
8064 name="$func_basename_result"
8065 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
8066 test -z "$libdir" && \
8067 func_fatal_error "\`$deplib' is not a valid libtool archive"
8068 newdependency_libs="$newdependency_libs $libdir/$name"
8069 ;;
8070 *) newdependency_libs="$newdependency_libs $deplib" ;;
8071 esac
8072 done
8073 dependency_libs="$newdependency_libs"
8074 newdlfiles=
8075
8076 for lib in $dlfiles; do
8077 case $lib in
8078 *.la)
8079 func_basename "$lib"
8080 name="$func_basename_result"
8081 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
8082 test -z "$libdir" && \
8083 func_fatal_error "\`$lib' is not a valid libtool archive"
8084 newdlfiles="$newdlfiles $libdir/$name"
8085 ;;
8086 *) newdlfiles="$newdlfiles $lib" ;;
8087 esac
8088 done
8089 dlfiles="$newdlfiles"
8090 newdlprefiles=
8091 for lib in $dlprefiles; do
8092 case $lib in
8093 *.la)
8094 # Only pass preopened files to the pseudo-archive (for
8095 # eventual linking with the app. that links it) if we
8096 # didn't already link the preopened objects directly into
8097 # the library:
8098 func_basename "$lib"
8099 name="$func_basename_result"
8100 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
8101 test -z "$libdir" && \
8102 func_fatal_error "\`$lib' is not a valid libtool archive"
8103 newdlprefiles="$newdlprefiles $libdir/$name"
8104 ;;
8105 esac
8106 done
8107 dlprefiles="$newdlprefiles"
8108 else
8109 newdlfiles=
8110 for lib in $dlfiles; do
8111 case $lib in
8112 [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
8113 *) abs=`pwd`"/$lib" ;;
8114 esac
8115 newdlfiles="$newdlfiles $abs"
8116 done
8117 dlfiles="$newdlfiles"
8118 newdlprefiles=
8119 for lib in $dlprefiles; do
8120 case $lib in
8121 [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
8122 *) abs=`pwd`"/$lib" ;;
8123 esac
8124 newdlprefiles="$newdlprefiles $abs"
8125 done
8126 dlprefiles="$newdlprefiles"
8127 fi
8128 $RM $output
8129 # place dlname in correct position for cygwin
8130 tdlname=$dlname
8131 case $host,$output,$installed,$module,$dlname in
8132 *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
8133 esac
8134 $ECHO > $output "\
8135 # $outputname - a libtool library file
8136 # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
8137 #
8138 # Please DO NOT delete this file!
8139 # It is necessary for linking the library.
8140
8141 # The name that we can dlopen(3).
8142 dlname='$tdlname'
8143
8144 # Names of this library.
8145 library_names='$library_names'
8146
8147 # The name of the static archive.
8148 old_library='$old_library'
8149
8150 # Linker flags that can not go in dependency_libs.
8151 inherited_linker_flags='$new_inherited_linker_flags'
8152
8153 # Libraries that this one depends upon.
8154 dependency_libs='$dependency_libs'
8155
8156 # Names of additional weak libraries provided by this library
8157 weak_library_names='$weak_libs'
8158
8159 # Version information for $libname.
8160 current=$current
8161 age=$age
8162 revision=$revision
8163
8164 # Is this an already installed library?
8165 installed=$installed
8166
8167 # Should we warn about portability when linking against -modules?
8168 shouldnotlink=$module
8169
8170 # Files to dlopen/dlpreopen
8171 dlopen='$dlfiles'
8172 dlpreopen='$dlprefiles'
8173
8174 # Directory that this library needs to be installed in:
8175 libdir='$install_libdir'"
8176 if test "$installed" = no && test "$need_relink" = yes; then
8177 $ECHO >> $output "\
8178 relink_command=\"$relink_command\""
8179 fi
8180 done
8181 }
8182
8183 # Do a symbolic link so that the libtool archive can be found in
8184 # LD_LIBRARY_PATH before the program is installed.
8185 func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
8186 ;;
8187 esac
8188 exit $EXIT_SUCCESS
8189 }
8190
8191 { test "$mode" = link || test "$mode" = relink; } &&
8192 func_mode_link ${1+"$@"}
8193
8194
8195 # func_mode_uninstall arg...
8196 func_mode_uninstall ()
8197 {
8198 $opt_debug
8199 RM="$nonopt"
8200 files=
8201 rmforce=
8202 exit_status=0
8203
8204 # This variable tells wrapper scripts just to set variables rather
8205 # than running their programs.
8206 libtool_install_magic="$magic"
8207
8208 for arg
8209 do
8210 case $arg in
8211 -f) RM="$RM $arg"; rmforce=yes ;;
8212 -*) RM="$RM $arg" ;;
8213 *) files="$files $arg" ;;
8214 esac
8215 done
8216
8217 test -z "$RM" && \
8218 func_fatal_help "you must specify an RM program"
8219
8220 rmdirs=
8221
8222 origobjdir="$objdir"
8223 for file in $files; do
8224 func_dirname "$file" "" "."
8225 dir="$func_dirname_result"
8226 if test "X$dir" = X.; then
8227 objdir="$origobjdir"
8228 else
8229 objdir="$dir/$origobjdir"
8230 fi
8231 func_basename "$file"
8232 name="$func_basename_result"
8233 test "$mode" = uninstall && objdir="$dir"
8234
8235 # Remember objdir for removal later, being careful to avoid duplicates
8236 if test "$mode" = clean; then
8237 case " $rmdirs " in
8238 *" $objdir "*) ;;
8239 *) rmdirs="$rmdirs $objdir" ;;
8240 esac
8241 fi
8242
8243 # Don't error if the file doesn't exist and rm -f was used.
8244 if { test -L "$file"; } >/dev/null 2>&1 ||
8245 { test -h "$file"; } >/dev/null 2>&1 ||
8246 test -f "$file"; then
8247 :
8248 elif test -d "$file"; then
8249 exit_status=1
8250 continue
8251 elif test "$rmforce" = yes; then
8252 continue
8253 fi
8254
8255 rmfiles="$file"
8256
8257 case $name in
8258 *.la)
8259 # Possibly a libtool archive, so verify it.
8260 if func_lalib_p "$file"; then
8261 func_source $dir/$name
8262
8263 # Delete the libtool libraries and symlinks.
8264 for n in $library_names; do
8265 rmfiles="$rmfiles $objdir/$n"
8266 done
8267 test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
8268
8269 case "$mode" in
8270 clean)
8271 case " $library_names " in
8272 # " " in the beginning catches empty $dlname
8273 *" $dlname "*) ;;
8274 *) rmfiles="$rmfiles $objdir/$dlname" ;;
8275 esac
8276 test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
8277 ;;
8278 uninstall)
8279 if test -n "$library_names"; then
8280 # Do each command in the postuninstall commands.
8281 func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
8282 fi
8283
8284 if test -n "$old_library"; then
8285 # Do each command in the old_postuninstall commands.
8286 func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
8287 fi
8288 # FIXME: should reinstall the best remaining shared library.
8289 ;;
8290 esac
8291 fi
8292 ;;
8293
8294 *.lo)
8295 # Possibly a libtool object, so verify it.
8296 if func_lalib_p "$file"; then
8297
8298 # Read the .lo file
8299 func_source $dir/$name
8300
8301 # Add PIC object to the list of files to remove.
8302 if test -n "$pic_object" &&
8303 test "$pic_object" != none; then
8304 rmfiles="$rmfiles $dir/$pic_object"
8305 fi
8306
8307 # Add non-PIC object to the list of files to remove.
8308 if test -n "$non_pic_object" &&
8309 test "$non_pic_object" != none; then
8310 rmfiles="$rmfiles $dir/$non_pic_object"
8311 fi
8312 fi
8313 ;;
8314
8315 *)
8316 if test "$mode" = clean ; then
8317 noexename=$name
8318 case $file in
8319 *.exe)
8320 func_stripname '' '.exe' "$file"
8321 file=$func_stripname_result
8322 func_stripname '' '.exe' "$name"
8323 noexename=$func_stripname_result
8324 # $file with .exe has already been added to rmfiles,
8325 # add $file without .exe
8326 rmfiles="$rmfiles $file"
8327 ;;
8328 esac
8329 # Do a test to see if this is a libtool program.
8330 if func_ltwrapper_p "$file"; then
8331 if func_ltwrapper_executable_p "$file"; then
8332 func_ltwrapper_scriptname "$file"
8333 relink_command=
8334 func_source $func_ltwrapper_scriptname_result
8335 rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
8336 else
8337 relink_command=
8338 func_source $dir/$noexename
8339 fi
8340
8341 # note $name still contains .exe if it was in $file originally
8342 # as does the version of $file that was added into $rmfiles
8343 rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
8344 if test "$fast_install" = yes && test -n "$relink_command"; then
8345 rmfiles="$rmfiles $objdir/lt-$name"
8346 fi
8347 if test "X$noexename" != "X$name" ; then
8348 rmfiles="$rmfiles $objdir/lt-${noexename}.c"
8349 fi
8350 fi
8351 fi
8352 ;;
8353 esac
8354 func_show_eval "$RM $rmfiles" 'exit_status=1'
8355 done
8356 objdir="$origobjdir"
8357
8358 # Try to remove the ${objdir}s in the directories where we deleted files
8359 for dir in $rmdirs; do
8360 if test -d "$dir"; then
8361 func_show_eval "rmdir $dir >/dev/null 2>&1"
8362 fi
8363 done
8364
8365 exit $exit_status
8366 }
8367
8368 { test "$mode" = uninstall || test "$mode" = clean; } &&
8369 func_mode_uninstall ${1+"$@"}
8370
8371 test -z "$mode" && {
8372 help="$generic_help"
8373 func_fatal_help "you must specify a MODE"
8374 }
8375
8376 test -z "$exec_cmd" && \
8377 func_fatal_help "invalid operation mode \`$mode'"
8378
8379 if test -n "$exec_cmd"; then
8380 eval exec "$exec_cmd"
8381 exit $EXIT_FAILURE
8382 fi
8383
8384 exit $exit_status
8385
8386
8387 # The TAGs below are defined such that we never get into a situation
8388 # in which we disable both kinds of libraries. Given conflicting
8389 # choices, we go for a static library, that is the most portable,
8390 # since we can't tell whether shared libraries were disabled because
8391 # the user asked for that or because the platform doesn't support
8392 # them. This is particularly important on AIX, because we don't
8393 # support having both static and shared libraries enabled at the same
8394 # time on that platform, so we default to a shared-only configuration.
8395 # If a disable-shared tag is given, we'll fallback to a static-only
8396 # configuration. But we'll never go from static-only to shared-only.
8397
8398 # ### BEGIN LIBTOOL TAG CONFIG: disable-shared
8399 build_libtool_libs=no
8400 build_old_libs=yes
8401 # ### END LIBTOOL TAG CONFIG: disable-shared
8402
8403 # ### BEGIN LIBTOOL TAG CONFIG: disable-static
8404 build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
8405 # ### END LIBTOOL TAG CONFIG: disable-static
8406
8407 # Local Variables:
8408 # mode:shell-script
8409 # sh-indentation:2
8410 # End:
8411 # vi:sw=2
8412
0 #! /bin/sh
1 # Common stub for a few missing GNU programs while installing.
2 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
3 # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
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, or (at your option)
8 # any later version.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU 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
18 # 02111-1307, USA.
19
20 # As a special exception to the GNU General Public License, if you
21 # distribute this file as part of a program that contains a
22 # configuration script generated by Autoconf, you may include it under
23 # the same distribution terms that you use for the rest of that program.
24
25 if test $# -eq 0; then
26 echo 1>&2 "Try \`$0 --help' for more information"
27 exit 1
28 fi
29
30 run=:
31
32 # In the cases where this matters, `missing' is being run in the
33 # srcdir already.
34 if test -f configure.ac; then
35 configure_ac=configure.ac
36 else
37 configure_ac=configure.in
38 fi
39
40 case "$1" in
41 --run)
42 # Try to run requested program, and just exit if it succeeds.
43 run=
44 shift
45 "$@" && exit 0
46 ;;
47 esac
48
49 # If it does not exist, or fails to run (possibly an outdated version),
50 # try to emulate it.
51 case "$1" in
52
53 -h|--h|--he|--hel|--help)
54 echo "\
55 $0 [OPTION]... PROGRAM [ARGUMENT]...
56
57 Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
58 error status if there is no known handling for PROGRAM.
59
60 Options:
61 -h, --help display this help and exit
62 -v, --version output version information and exit
63 --run try to run the given command, and emulate it if it fails
64
65 Supported PROGRAM values:
66 aclocal touch file \`aclocal.m4'
67 autoconf touch file \`configure'
68 autoheader touch file \`config.h.in'
69 automake touch all \`Makefile.in' files
70 bison create \`y.tab.[ch]', if possible, from existing .[ch]
71 flex create \`lex.yy.c', if possible, from existing .c
72 help2man touch the output file
73 lex create \`lex.yy.c', if possible, from existing .c
74 makeinfo touch the output file
75 tar try tar, gnutar, gtar, then tar without non-portable flags
76 yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
77 ;;
78
79 -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
80 echo "missing 0.4 - GNU automake"
81 ;;
82
83 -*)
84 echo 1>&2 "$0: Unknown \`$1' option"
85 echo 1>&2 "Try \`$0 --help' for more information"
86 exit 1
87 ;;
88
89 aclocal*)
90 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
91 # We have it, but it failed.
92 exit 1
93 fi
94
95 echo 1>&2 "\
96 WARNING: \`$1' is missing on your system. You should only need it if
97 you modified \`acinclude.m4' or \`${configure_ac}'. You might want
98 to install the \`Automake' and \`Perl' packages. Grab them from
99 any GNU archive site."
100 touch aclocal.m4
101 ;;
102
103 autoconf)
104 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
105 # We have it, but it failed.
106 exit 1
107 fi
108
109 echo 1>&2 "\
110 WARNING: \`$1' is missing on your system. You should only need it if
111 you modified \`${configure_ac}'. You might want to install the
112 \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
113 archive site."
114 touch configure
115 ;;
116
117 autoheader)
118 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
119 # We have it, but it failed.
120 exit 1
121 fi
122
123 echo 1>&2 "\
124 WARNING: \`$1' is missing on your system. You should only need it if
125 you modified \`acconfig.h' or \`${configure_ac}'. You might want
126 to install the \`Autoconf' and \`GNU m4' packages. Grab them
127 from any GNU archive site."
128 files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
129 test -z "$files" && files="config.h"
130 touch_files=
131 for f in $files; do
132 case "$f" in
133 *:*) touch_files="$touch_files "`echo "$f" |
134 sed -e 's/^[^:]*://' -e 's/:.*//'`;;
135 *) touch_files="$touch_files $f.in";;
136 esac
137 done
138 touch $touch_files
139 ;;
140
141 automake*)
142 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
143 # We have it, but it failed.
144 exit 1
145 fi
146
147 echo 1>&2 "\
148 WARNING: \`$1' is missing on your system. You should only need it if
149 you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
150 You might want to install the \`Automake' and \`Perl' packages.
151 Grab them from any GNU archive site."
152 find . -type f -name Makefile.am -print |
153 sed 's/\.am$/.in/' |
154 while read f; do touch "$f"; done
155 ;;
156
157 autom4te)
158 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
159 # We have it, but it failed.
160 exit 1
161 fi
162
163 echo 1>&2 "\
164 WARNING: \`$1' is needed, and you do not seem to have it handy on your
165 system. You might have modified some files without having the
166 proper tools for further handling them.
167 You can get \`$1' as part of \`Autoconf' from any GNU
168 archive site."
169
170 file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
171 test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
172 if test -f "$file"; then
173 touch $file
174 else
175 test -z "$file" || exec >$file
176 echo "#! /bin/sh"
177 echo "# Created by GNU Automake missing as a replacement of"
178 echo "# $ $@"
179 echo "exit 0"
180 chmod +x $file
181 exit 1
182 fi
183 ;;
184
185 bison|yacc)
186 echo 1>&2 "\
187 WARNING: \`$1' is missing on your system. You should only need it if
188 you modified a \`.y' file. You may need the \`Bison' package
189 in order for those modifications to take effect. You can get
190 \`Bison' from any GNU archive site."
191 rm -f y.tab.c y.tab.h
192 if [ $# -ne 1 ]; then
193 eval LASTARG="\${$#}"
194 case "$LASTARG" in
195 *.y)
196 SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
197 if [ -f "$SRCFILE" ]; then
198 cp "$SRCFILE" y.tab.c
199 fi
200 SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
201 if [ -f "$SRCFILE" ]; then
202 cp "$SRCFILE" y.tab.h
203 fi
204 ;;
205 esac
206 fi
207 if [ ! -f y.tab.h ]; then
208 echo >y.tab.h
209 fi
210 if [ ! -f y.tab.c ]; then
211 echo 'main() { return 0; }' >y.tab.c
212 fi
213 ;;
214
215 lex|flex)
216 echo 1>&2 "\
217 WARNING: \`$1' is missing on your system. You should only need it if
218 you modified a \`.l' file. You may need the \`Flex' package
219 in order for those modifications to take effect. You can get
220 \`Flex' from any GNU archive site."
221 rm -f lex.yy.c
222 if [ $# -ne 1 ]; then
223 eval LASTARG="\${$#}"
224 case "$LASTARG" in
225 *.l)
226 SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
227 if [ -f "$SRCFILE" ]; then
228 cp "$SRCFILE" lex.yy.c
229 fi
230 ;;
231 esac
232 fi
233 if [ ! -f lex.yy.c ]; then
234 echo 'main() { return 0; }' >lex.yy.c
235 fi
236 ;;
237
238 help2man)
239 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
240 # We have it, but it failed.
241 exit 1
242 fi
243
244 echo 1>&2 "\
245 WARNING: \`$1' is missing on your system. You should only need it if
246 you modified a dependency of a manual page. You may need the
247 \`Help2man' package in order for those modifications to take
248 effect. You can get \`Help2man' from any GNU archive site."
249
250 file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
251 if test -z "$file"; then
252 file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
253 fi
254 if [ -f "$file" ]; then
255 touch $file
256 else
257 test -z "$file" || exec >$file
258 echo ".ab help2man is required to generate this page"
259 exit 1
260 fi
261 ;;
262
263 makeinfo)
264 if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
265 # We have makeinfo, but it failed.
266 exit 1
267 fi
268
269 echo 1>&2 "\
270 WARNING: \`$1' is missing on your system. You should only need it if
271 you modified a \`.texi' or \`.texinfo' file, or any other file
272 indirectly affecting the aspect of the manual. The spurious
273 call might also be the consequence of using a buggy \`make' (AIX,
274 DU, IRIX). You might want to install the \`Texinfo' package or
275 the \`GNU make' package. Grab either from any GNU archive site."
276 file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
277 if test -z "$file"; then
278 file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
279 file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
280 fi
281 touch $file
282 ;;
283
284 tar)
285 shift
286 if test -n "$run"; then
287 echo 1>&2 "ERROR: \`tar' requires --run"
288 exit 1
289 fi
290
291 # We have already tried tar in the generic part.
292 # Look for gnutar/gtar before invocation to avoid ugly error
293 # messages.
294 if (gnutar --version > /dev/null 2>&1); then
295 gnutar "$@" && exit 0
296 fi
297 if (gtar --version > /dev/null 2>&1); then
298 gtar "$@" && exit 0
299 fi
300 firstarg="$1"
301 if shift; then
302 case "$firstarg" in
303 *o*)
304 firstarg=`echo "$firstarg" | sed s/o//`
305 tar "$firstarg" "$@" && exit 0
306 ;;
307 esac
308 case "$firstarg" in
309 *h*)
310 firstarg=`echo "$firstarg" | sed s/h//`
311 tar "$firstarg" "$@" && exit 0
312 ;;
313 esac
314 fi
315
316 echo 1>&2 "\
317 WARNING: I can't seem to be able to run \`tar' with the given arguments.
318 You may want to install GNU tar or Free paxutils, or check the
319 command line arguments."
320 exit 1
321 ;;
322
323 *)
324 echo 1>&2 "\
325 WARNING: \`$1' is needed, and you do not seem to have it handy on your
326 system. You might have modified some files without having the
327 proper tools for further handling them. Check the \`README' file,
328 it often tells you about the needed prerequisites for installing
329 this package. You may also peek at any GNU archive site, in case
330 some other package would contain this missing \`$1' program."
331 exit 1
332 ;;
333 esac
334
335 exit 0
0 #! /bin/sh
1 # mkinstalldirs --- make directory hierarchy
2 # Author: Noah Friedman <friedman@prep.ai.mit.edu>
3 # Created: 1993-05-16
4 # Public domain
5
6 errstatus=0
7 dirmode=""
8
9 usage="\
10 Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
11
12 # process command line arguments
13 while test $# -gt 0 ; do
14 case $1 in
15 -h | --help | --h*) # -h for help
16 echo "$usage" 1>&2
17 exit 0
18 ;;
19 -m) # -m PERM arg
20 shift
21 test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
22 dirmode=$1
23 shift
24 ;;
25 --) # stop option processing
26 shift
27 break
28 ;;
29 -*) # unknown option
30 echo "$usage" 1>&2
31 exit 1
32 ;;
33 *) # first non-opt arg
34 break
35 ;;
36 esac
37 done
38
39 for file
40 do
41 if test -d "$file"; then
42 shift
43 else
44 break
45 fi
46 done
47
48 case $# in
49 0) exit 0 ;;
50 esac
51
52 case $dirmode in
53 '')
54 if mkdir -p -- . 2>/dev/null; then
55 echo "mkdir -p -- $*"
56 exec mkdir -p -- "$@"
57 fi
58 ;;
59 *)
60 if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
61 echo "mkdir -m $dirmode -p -- $*"
62 exec mkdir -m "$dirmode" -p -- "$@"
63 fi
64 ;;
65 esac
66
67 for file
68 do
69 set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
70 shift
71
72 pathcomp=
73 for d
74 do
75 pathcomp="$pathcomp$d"
76 case $pathcomp in
77 -*) pathcomp=./$pathcomp ;;
78 esac
79
80 if test ! -d "$pathcomp"; then
81 echo "mkdir $pathcomp"
82
83 mkdir "$pathcomp" || lasterr=$?
84
85 if test ! -d "$pathcomp"; then
86 errstatus=$lasterr
87 else
88 if test ! -z "$dirmode"; then
89 echo "chmod $dirmode $pathcomp"
90 lasterr=""
91 chmod "$dirmode" "$pathcomp" || lasterr=$?
92
93 if test ! -z "$lasterr"; then
94 errstatus=$lasterr
95 fi
96 fi
97 fi
98 fi
99
100 pathcomp="$pathcomp/"
101 done
102 done
103
104 exit $errstatus
105
106 # Local Variables:
107 # mode: shell-script
108 # sh-indentation: 2
109 # End:
110 # mkinstalldirs ends here
(New empty file)
0 ## please keep this list sorted alphabetically
1 ## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 de
3 fi
4 mk
5 pt_BR
6 ru
7 sq
0 # Makefile for program source directory in GNU NLS utilities package.
1 # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
2 # Copyright (C) 2004-2008 Rodney Dawes <dobey.pwns@gmail.com>
3 #
4 # This file may be copied and used freely without restrictions. It may
5 # be used in projects which are not available under a GNU Public License,
6 # but which still want to provide support for the GNU gettext functionality.
7 #
8 # - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
9 # instead of PACKAGE and to look for po2tbl in ./ not in intl/
10 #
11 # - Modified by jacob berkman <jacob@ximian.com> to install
12 # Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
13 #
14 # - Modified by Rodney Dawes <dobey.pwns@gmail.com> for use with intltool
15 #
16 # We have the following line for use by intltoolize:
17 # INTLTOOL_MAKEFILE
18
19 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
20 PACKAGE = @PACKAGE@
21 VERSION = @VERSION@
22
23 SHELL = @SHELL@
24
25 srcdir = @srcdir@
26 top_srcdir = @top_srcdir@
27 top_builddir = @top_builddir@
28 VPATH = @srcdir@
29
30 prefix = @prefix@
31 exec_prefix = @exec_prefix@
32 datadir = @datadir@
33 datarootdir = @datarootdir@
34 libdir = @libdir@
35 DATADIRNAME = @DATADIRNAME@
36 itlocaledir = $(prefix)/$(DATADIRNAME)/locale
37 subdir = po
38 install_sh = @install_sh@
39 # Automake >= 1.8 provides @mkdir_p@.
40 # Until it can be supposed, use the safe fallback:
41 mkdir_p = $(install_sh) -d
42
43 INSTALL = @INSTALL@
44 INSTALL_DATA = @INSTALL_DATA@
45
46 GMSGFMT = @GMSGFMT@
47 MSGFMT = @MSGFMT@
48 XGETTEXT = @XGETTEXT@
49 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
50 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
51 MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
52 GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
53
54 ALL_LINGUAS = @ALL_LINGUAS@
55
56 PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi)
57
58 USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep \^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep \^$$lang$$`"; then printf "$$lang "; fi; done; fi)
59
60 USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
61
62 POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
63
64 DISTFILES = Makefile.in.in POTFILES.in $(POFILES)
65 EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS
66
67 POTFILES = \
68 # This comment gets stripped out
69
70 CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
71
72 .SUFFIXES:
73 .SUFFIXES: .po .pox .gmo .mo .msg .cat
74
75 .po.pox:
76 $(MAKE) $(GETTEXT_PACKAGE).pot
77 $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
78
79 .po.mo:
80 $(MSGFMT) -o $@ $<
81
82 .po.gmo:
83 file=`echo $* | sed 's,.*/,,'`.gmo \
84 && rm -f $$file && $(GMSGFMT) -o $$file $<
85
86 .po.cat:
87 sed -f ../intl/po2msg.sed < $< > $*.msg \
88 && rm -f $@ && gencat $@ $*.msg
89
90
91 all: all-@USE_NLS@
92
93 all-yes: $(CATALOGS)
94 all-no:
95
96 $(GETTEXT_PACKAGE).pot: $(POTFILES)
97 $(GENPOT)
98
99 install: install-data
100 install-data: install-data-@USE_NLS@
101 install-data-no: all
102 install-data-yes: all
103 linguas="$(USE_LINGUAS)"; \
104 for lang in $$linguas; do \
105 dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
106 $(mkdir_p) $$dir; \
107 if test -r $$lang.gmo; then \
108 $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
109 echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
110 else \
111 $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
112 echo "installing $(srcdir)/$$lang.gmo as" \
113 "$$dir/$(GETTEXT_PACKAGE).mo"; \
114 fi; \
115 if test -r $$lang.gmo.m; then \
116 $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
117 echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
118 else \
119 if test -r $(srcdir)/$$lang.gmo.m ; then \
120 $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
121 $$dir/$(GETTEXT_PACKAGE).mo.m; \
122 echo "installing $(srcdir)/$$lang.gmo.m as" \
123 "$$dir/$(GETTEXT_PACKAGE).mo.m"; \
124 else \
125 true; \
126 fi; \
127 fi; \
128 done
129
130 # Empty stubs to satisfy archaic automake needs
131 dvi info ctags tags CTAGS TAGS ID:
132
133 # Define this as empty until I found a useful application.
134 install-exec installcheck:
135
136 uninstall:
137 linguas="$(USE_LINGUAS)"; \
138 for lang in $$linguas; do \
139 rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
140 rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
141 done
142
143 check: all $(GETTEXT_PACKAGE).pot
144 rm -f missing notexist
145 srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
146 if [ -r missing -o -r notexist ]; then \
147 exit 1; \
148 fi
149
150 mostlyclean:
151 rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
152 rm -f .intltool-merge-cache
153
154 clean: mostlyclean
155
156 distclean: clean
157 rm -f Makefile Makefile.in POTFILES stamp-it
158 rm -f *.mo *.msg *.cat *.cat.m *.gmo
159
160 maintainer-clean: distclean
161 @echo "This command is intended for maintainers to use;"
162 @echo "it deletes files that may require special tools to rebuild."
163 rm -f Makefile.in.in
164
165 distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
166 dist distdir: $(DISTFILES)
167 dists="$(DISTFILES)"; \
168 extra_dists="$(EXTRA_DISTFILES)"; \
169 for file in $$extra_dists; do \
170 test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
171 done; \
172 for file in $$dists; do \
173 test -f $$file || file="$(srcdir)/$$file"; \
174 ln $$file $(distdir) 2> /dev/null \
175 || cp -p $$file $(distdir); \
176 done
177
178 update-po: Makefile
179 $(MAKE) $(GETTEXT_PACKAGE).pot
180 tmpdir=`pwd`; \
181 linguas="$(USE_LINGUAS)"; \
182 for lang in $$linguas; do \
183 echo "$$lang:"; \
184 result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
185 if $$result; then \
186 if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
187 rm -f $$tmpdir/$$lang.new.po; \
188 else \
189 if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
190 :; \
191 else \
192 echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
193 rm -f $$tmpdir/$$lang.new.po; \
194 exit 1; \
195 fi; \
196 fi; \
197 else \
198 echo "msgmerge for $$lang.gmo failed!"; \
199 rm -f $$tmpdir/$$lang.new.po; \
200 fi; \
201 done
202
203 Makefile POTFILES: stamp-it
204 @if test ! -f $@; then \
205 rm -f stamp-it; \
206 $(MAKE) stamp-it; \
207 fi
208
209 stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
210 cd $(top_builddir) \
211 && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
212 $(SHELL) ./config.status
213
214 # Tell versions [3.59,3.63) of GNU make not to export all variables.
215 # Otherwise a system limit (for SysV at least) may be exceeded.
216 .NOEXPORT:
0 src/ac_stor_wcl.cpp
1 src/custom_app.cpp
2 src/custom_camera.cpp
3 src/custom_lights.cpp
4 src/eldview_wcl.cpp
5 src/fileio.cpp
6 src/filetrans.cpp
7 src/gpcview_wcl.cpp
8 src/gtk_app.cpp
9 src/gtk_eldview_wnd.cpp
10 src/gtk_file_export_dialog.cpp
11 src/gtk_file_import_dialog.cpp
12 src/gtk_geomopt_dialog.cpp
13 src/gtk_glade_dialog.cpp
14 src/gtk_gpcview_wnd.cpp
15 src/gtk_main.cpp
16 src/gtk_moldyn_dialog.cpp
17 src/gtk_oglview_wnd.cpp
18 src/gtk_p1dview_wnd.cpp
19 src/gtk_p2dview_wnd.cpp
20 src/gtk_progress_dialog.cpp
21 src/gtk_project.cpp
22 src/gtk_rcpview_wnd.cpp
23 src/gtk_setup_dialog.cpp
24 src/gtk_simple_dialogs.cpp
25 src/gtk_stereo_dialog.cpp
26 src/gtk_trajview_dialog.cpp
27 src/gtk_wnd.cpp
28 src/ogl_plane.cpp
29 src/ogl_ribbon.cpp
30 src/ogl_surface.cpp
31 src/oglview_wcl.cpp
32 src/p1dview_wcl.cpp
33 src/p2dview_wcl.cpp
34 src/pangofont_wcl.cpp
35 src/project.cpp
36 src/rcpview_wcl.cpp
37 src/spline.cpp
38
39 src/res_gtk/gtk_file_export_dialog.glade
40 src/res_gtk/gtk_file_import_dialog.glade
41 src/res_gtk/gtk_geomopt_dialog.glade
42 src/res_gtk/gtk_moldyn_dialog.glade
43 src/res_gtk/gtk_progress_dialog.glade
44 src/res_gtk/gtk_setup_dialog.glade
45 src/res_gtk/gtk_stereo_dialog.glade
46 src/res_gtk/gtk_trajview_dialog.glade
47
0 # German translation of ghemical.
1 # Copyright (C) 1998 Jarno Huuskonen, 1998-2008 Tommi Hassinen, 2000 Mike Cruz,
2 # Geoffrey Hutchison, 2001-2008 Christopher Rowley,2008 Naosumi Yasufuku.
3 # This file is distributed under the same license as the libghemical package.
4 # Translation by Chris Leick <c.leick at vollbio.de>, 2011
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: ghemical 2.99.2\n"
9 "Report-Msgid-Bugs-To: Debichem Team <debichem-devel at lists.alioth.debian.org>\n"
10 "POT-Creation-Date: 2011-07-28 14:59+0200\n"
11 "PO-Revision-Date: 2011-08-30 21:51+0200\n"
12 "Last-Translator: Chris Leick <c.leick at vollbio.de>\n"
13 "Language-Team: German <debian-l10n-german at lists.debian.org>\n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #: ../src/custom_app.cpp:100
19 msgid "Added global light."
20 msgstr "Globale Lichtquelle hinzugef?gt"
21
22 #: ../src/custom_app.cpp:114
23 msgid "Added local light."
24 msgstr "Lokale Lichtquelle hinzugef?gt"
25
26 #: ../src/eldview_wcl.cpp:162
27 # hinter diesem String folgen Koordinaten
28 msgid "No data available,"
29 msgstr "Keine Daten verf?gbar,"
30
31 #: ../src/eldview_wcl.cpp:167
32 # quantum mechanics
33 msgid "must be a QM model!"
34 msgstr "muss ein QM-Modell sein!"
35
36 #: ../src/eldview_wcl.cpp:167
37 msgid "please calculate energy!"
38 msgstr "bitte Energie berechnen!"
39
40 #: ../src/gtk_app.cpp:92 ../src/gtk_oglview_wnd.cpp:38
41 msgid "File"
42 msgstr "Datei"
43
44 #: ../src/gtk_app.cpp:93 ../src/res_gtk/gtk_setup_dialog.glade.h:5
45 msgid "Help"
46 msgstr "Hilfe"
47
48 #: ../src/gtk_app.cpp:95
49 msgid "New"
50 msgstr "Neu"
51
52 #: ../src/gtk_app.cpp:95
53 msgid "Create a new file."
54 msgstr "Eine neue Datei erstellen"
55
56 #. <control>N
57 #. ^^^^^^^^
58 #: ../src/gtk_app.cpp:96 ../src/gtk_oglview_wnd.cpp:40
59 msgid "Open"
60 msgstr "?ffnen"
61
62 #: ../src/gtk_app.cpp:96
63 msgid "Open an existing file."
64 msgstr "Eine existierende Datei ?ffnen"
65
66 #. <control>O
67 #: ../src/gtk_app.cpp:97 ../src/gtk_oglview_wnd.cpp:44
68 msgid "Save as..."
69 msgstr "Speichern als ?"
70
71 #: ../src/gtk_app.cpp:97
72 msgid "Save a file."
73 msgstr "Eine Datei speichern"
74
75 #. <control>S
76 #. { "ExportGraphics", GTK_STOCK_SAVE, N_("Export Graphics"), NULL, N_("Export graphics"), (GCallback) gtk_project::popup_FileExportGraphics },
77 #: ../src/gtk_app.cpp:98 ../src/gtk_oglview_wnd.cpp:49
78 msgid "Close"
79 msgstr "Schlie?en"
80
81 #: ../src/gtk_app.cpp:98
82 msgid "Quit the program."
83 msgstr "Das Programm beenden"
84
85 #. <control>C
86 #: ../src/gtk_app.cpp:100
87 msgid "Contents"
88 msgstr "Inhalt"
89
90 #: ../src/gtk_app.cpp:100
91 msgid "View the User's Manual."
92 msgstr "Das Benutzerhandbuch ansehen"
93
94 #. <control>H
95 #: ../src/gtk_app.cpp:101
96 msgid "About"
97 msgstr "?ber"
98
99 #: ../src/gtk_app.cpp:101
100 msgid "Information about this program."
101 msgstr "Informationen ?ber dieses Programm"
102
103 #. <control>A
104 #. the rest are toolbar actions...
105 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
106 #: ../src/gtk_app.cpp:106
107 msgid "Set the current element."
108 msgstr "Das aktuelle Element setzen"
109
110 #: ../src/gtk_app.cpp:107
111 msgid "Set the current bondtype."
112 msgstr "Den aktuellen Bindungstyp setzen"
113
114 #: ../src/gtk_app.cpp:108
115 msgid "Setup or change the comp.chem. method in use."
116 msgstr "Die aktive Computerchemie-Methode einrichten oder ?ndern"
117
118 #: ../src/gtk_app.cpp:113
119 msgid "Draw ; add atoms and bonds to the model."
120 msgstr "Zeichnen ; dem Modell Atome und Bindungen hinzuf?gen"
121
122 #: ../src/gtk_app.cpp:114
123 msgid "Erase ; remove atoms and bonds from the model."
124 msgstr "L?schen ; Atome und Bindungen aus dem Modell entfernen"
125
126 #: ../src/gtk_app.cpp:115
127 msgid "Select ; make selections in the model, and also select objects."
128 msgstr "Auswahl ; Auswahlen im Modell treffen und au?erdem Objekte ausw?hlen"
129
130 #: ../src/gtk_app.cpp:116
131 msgid "Zoom ; zoom the view."
132 msgstr "Zoom ; die Ansicht vergr??ern oder verkleinern"
133
134 #: ../src/gtk_app.cpp:117
135 msgid "Clipping ; set the near and far clipping planes for graphics rendering."
136 msgstr ""
137 "Ausschnitt ; die nahen und fernen Ausschnittsebenen f?r das Rendern der "
138 "Grafik setzen"
139
140 #: ../src/gtk_app.cpp:118
141 msgid ""
142 "TranslateXY ; translate the camera or a selected object in XY-direction."
143 msgstr ""
144 "TranslateXY ; die Kamera oder ein ausgew?hltes Objekt in XY-Richtung umrechnen"
145
146 #: ../src/gtk_app.cpp:119
147 msgid "TranslateZ ; translate the camera or a selected object in Z-direction."
148 msgstr ""
149 "TranslateZ ; die Kamera oder ein ausgew?hltes Objekt in Z-Richtung verschieben"
150
151 #: ../src/gtk_app.cpp:120
152 msgid ""
153 "OrbitXY ; orbit the camera or a selected object around the focus point in XY-"
154 "direction."
155 msgstr ""
156 "OrbitXY ; die Kamera oder ein ausgew?hltes Objekt in XY-Richtung umkreisen "
157 "lassen"
158
159 #: ../src/gtk_app.cpp:121
160 msgid ""
161 "OrbitZ ; orbit the camera or a selected object around the focus point in Z-"
162 "direction."
163 msgstr ""
164 "OrbitZ ; die Kamera oder ein ausgew?hltes Objekt in Z-Richtung umkreisen "
165 "lassen"
166
167 #: ../src/gtk_app.cpp:122
168 msgid "RotateXY ; turn the camera or a selected object in XY-direction."
169 msgstr ""
170 "RotateXY ; die Kamera oder ein ausgew?hltes Objekt in XY-Richtung drehen"
171
172 #: ../src/gtk_app.cpp:123
173 msgid "RotateZ ; turn the camera or a selected object in Z-direction."
174 msgstr "RotateZ ; die Kamera oder ein ausgew?hltes Objekt in Z-Richtung drehen"
175
176 #: ../src/gtk_app.cpp:124
177 msgid "Measure ; measure distances, angles and torsions."
178 msgstr "Messen ; Entfernungen, Winkel und Torsionswinkel messen"
179
180 #: ../src/gtk_app.cpp:207
181 msgid "Set to Current Object"
182 msgstr "Als aktuelles Objekt setzen"
183
184 #: ../src/gtk_app.cpp:207
185 msgid "Set this object to Current Object"
186 msgstr "Dieses Objekt als aktuelles Objekt setzen"
187
188 #: ../src/gtk_app.cpp:208
189 msgid "Delete Object/View"
190 msgstr "Objekt/Ansicht l?schen"
191
192 #: ../src/gtk_app.cpp:208
193 msgid "Delete this object or view"
194 msgstr "Dieses Objekt oder diese Ansicht l?schen"
195
196 #: ../src/gtk_app.cpp:225
197 msgid "Update View"
198 msgstr "Ansicht aktualisieren"
199
200 #: ../src/gtk_app.cpp:225
201 msgid "Rebuild the chains info for this view"
202 msgstr "Die Ketteninformation f?r diese Ansicht neu erzeugen"
203
204 #: ../src/gtk_app.cpp:226
205 msgid "Select Item"
206 msgstr "Element ausw?hlen"
207
208 #: ../src/gtk_app.cpp:226
209 msgid "Select/unselect this chain/residue"
210 msgstr "Diese Kette/Diesen Rest ausw?hlen/abw?hlen"
211
212 #: ../src/gtk_app.cpp:243
213 msgid "Select Atom"
214 msgstr "Atom ausw?hlen"
215
216 #: ../src/gtk_app.cpp:243
217 msgid "Select/unselect this atom"
218 msgstr "Dieses Atom ausw?hlen/abw?hlen"
219
220 #: ../src/gtk_app.cpp:258
221 msgid "Select Bond"
222 msgstr "Bindung w?hlen"
223
224 #: ../src/gtk_app.cpp:258
225 msgid "Select/unselect this bond"
226 msgstr "Diese Bindung ausw?hlen/abw?hlen"
227
228 #: ../src/gtk_app.cpp:344
229 msgid "Ghemical"
230 msgstr "Ghemical"
231
232 #: ../src/gtk_app.cpp:351
233 #, c-format
234 msgid "ERROR : Icon loading failed : %s\n"
235 msgstr "FEHLER : Laden des Symbols fehlgeschlagen : %s\n"
236
237 #: ../src/gtk_app.cpp:381
238 #, c-format
239 msgid "ERROR : Building main menu failed : %s"
240 msgstr "FEHLER : Erstellen des Mauptmen?s fehlgeschlagen : %s"
241
242 #: ../src/gtk_app.cpp:566
243 msgid "project view"
244 msgstr "Projektansicht"
245
246 #. optional : draw the stripes to background.
247 #. ??? (string)
248 #: ../src/gtk_app.cpp:584
249 msgid "Object"
250 msgstr "Objekt"
251
252 #. ??? (string)
253 #: ../src/gtk_app.cpp:588
254 msgid "Sub-Objects"
255 msgstr "Unterobjekte"
256
257 #: ../src/gtk_app.cpp:591
258 msgid "Views/Objects"
259 msgstr "Ansichten/Objekte"
260
261 #: ../src/gtk_app.cpp:604
262 #, c-format
263 msgid "ERROR : Building Views/Objects menu in project view failed : %s"
264 msgstr ""
265 "FEHLER : Erstellen des Men?s ?Ansichten/Objekte? in der Projektansicht "
266 "fehlgeschlagen : %s"
267
268 #. optional : draw the stripes to background.
269 #. chain_info (string)
270 #: ../src/gtk_app.cpp:620
271 msgid "Chain Description"
272 msgstr "Beschreibung der Kette"
273
274 #. res_num (string)
275 #: ../src/gtk_app.cpp:624
276 msgid "Residue Number"
277 msgstr "Nummer des Rests"
278
279 #. res_id (string)
280 #: ../src/gtk_app.cpp:628
281 msgid "Residue ID"
282 msgstr "Rest-ID"
283
284 #. res_state1 (string)
285 #: ../src/gtk_app.cpp:632
286 # Sekund?rstuktur
287 msgid "Sec-Str State"
288 msgstr "Sek-Str-Status"
289
290 #. res_state2 (string)
291 #: ../src/gtk_app.cpp:636
292 # http://de.wikipedia.org/wiki/Protonierung
293 msgid "Protonation State"
294 msgstr "Protonierungsstatus"
295
296 #: ../src/gtk_app.cpp:639
297 msgid "Chains"
298 msgstr "Ketten"
299
300 #: ../src/gtk_app.cpp:652
301 #, c-format
302 msgid "ERROR : Building Chains menu in project view failed : %s"
303 msgstr ""
304 "FEHLER : Erstellen des Men?s ?Ketten? in der Projektansicht fehlgeschlagen : "
305 "%s"
306
307 #. optional : draw the stripes to background.
308 #. index1
309 #: ../src/gtk_app.cpp:668
310 msgid "Atom Index"
311 msgstr "Atomindex"
312
313 #. element
314 #. ^^^^^^^^^^^^^
315 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
316 #: ../src/gtk_app.cpp:672 ../src/gtk_oglview_wnd.cpp:112
317 #: ../src/gtk_oglview_wnd.cpp:120
318 msgid "Element"
319 msgstr "Element"
320
321 #: ../src/gtk_app.cpp:678
322 msgid "Locked"
323 msgstr "Gesperrt"
324
325 #: ../src/gtk_app.cpp:681
326 msgid "Atoms"
327 msgstr "Atome"
328
329 #: ../src/gtk_app.cpp:694
330 #, c-format
331 msgid "ERROR : Building Atoms menu in project view failed : %s"
332 msgstr ""
333 "FEHLER : Erstellen des Men?s ?Atome? in der Projektansicht fehlgeschlagen : %s"
334
335 #. optional : draw the stripes to background.
336 #. index1
337 #: ../src/gtk_app.cpp:710
338 msgid "Atom Index #1"
339 msgstr "Atomindex #1"
340
341 #. index2
342 #: ../src/gtk_app.cpp:714
343 msgid "Atom Index #2"
344 msgstr "Atomindex #2"
345
346 #. bondtype
347 #: ../src/gtk_app.cpp:718
348 msgid "BondType"
349 msgstr "Bindungstyp"
350
351 #: ../src/gtk_app.cpp:721
352 msgid "Bonds"
353 msgstr "Bindungen"
354
355 #: ../src/gtk_app.cpp:734
356 #, c-format
357 msgid "ERROR : Building Bonds menu in project view failed : %s"
358 msgstr ""
359 "FEHLER : Erstellen des Men?s ?Bindungen? in der Projektansicht fehlgeschlagen "
360 ": %s"
361
362 #. protect the model-data during background jobs...
363 #: ../src/gtk_app.cpp:772
364 msgid ""
365 "Are you sure that you\n"
366 "want to quit the program?"
367 msgstr ""
368 "Sind Sie sicher, dass Sie\n"
369 "das Programm beenden m?chten?"
370
371 #: ../src/gtk_app.cpp:839
372 msgid "gtk_app::sPrintToLog() : message is too long!"
373 msgstr "gtk_app::sPrintToLog() : Nachricht ist zu lang!"
374
375 #: ../src/gtk_app.cpp:898
376 msgid "window "
377 msgstr "Fenster"
378
379 #: ../src/gtk_app.cpp:899 ../src/gtk_app.cpp:903
380 msgid " (detached)"
381 msgstr " (losgel?st)"
382
383 #: ../src/gtk_app.cpp:899
384 msgid " (attached)"
385 msgstr " (angeh?ngt)"
386
387 #: ../src/gtk_app.cpp:901
388 msgid "cam "
389 msgstr "Kamera "
390
391 #: ../src/gtk_app.cpp:902
392 msgid "wnd "
393 msgstr "Fenster "
394
395 #: ../src/gtk_app.cpp:921 ../src/gtk_app.cpp:922
396 msgid "RC plot view"
397 msgstr "RC-Planansicht"
398
399 #: ../src/gtk_app.cpp:927 ../src/gtk_app.cpp:928
400 msgid "1D plot view"
401 msgstr "1D-Planansicht"
402
403 #: ../src/gtk_app.cpp:934 ../src/gtk_app.cpp:935
404 msgid "2D plot view"
405 msgstr "2D-Planansicht"
406
407 #: ../src/gtk_app.cpp:941 ../src/gtk_app.cpp:942
408 msgid "energy-level diagram view"
409 msgstr "Energiestufen-Diagrammansicht"
410
411 #: ../src/gtk_app.cpp:947 ../src/gtk_app.cpp:948
412 msgid "generic protein chain view"
413 msgstr "generische Proteinkettenansicht"
414
415 #: ../src/gtk_app.cpp:953 ../src/gtk_app.cpp:954
416 msgid "<unknown view>"
417 msgstr "<unbekannte Ansicht>"
418
419 #: ../src/gtk_app.cpp:980 ../src/project.cpp:617
420 msgid "camera "
421 msgstr "Kamera"
422
423 #: ../src/gtk_app.cpp:1247 ../src/gtk_app.cpp:1255 ../src/gtk_app.cpp:1291
424 #: ../src/gtk_app.cpp:1316
425 msgid "Object "
426 msgstr "Objekt"
427
428 #: ../src/gtk_app.cpp:1247 ../src/gtk_app.cpp:1255
429 msgid " is set to current object."
430 msgstr " ist auf aktuelles Objekt gesetzt."
431
432 #: ../src/gtk_app.cpp:1258 ../src/gtk_app.cpp:1324
433 msgid "Sorry, this operation is not yet implemented."
434 msgstr "Entschuldigung, diese Operation ist noch nicht implementiert."
435
436 #: ../src/gtk_app.cpp:1291 ../src/gtk_app.cpp:1316
437 msgid " is deleted."
438 msgstr " wurde gel?scht."
439
440 #. if (ci_vector[n1].description... // this is not implemented at the moment...
441 #. show chain index 1,2,3,... to user ; it is 0,1,2,... internally!
442 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
443 #: ../src/gtk_app.cpp:1353
444 msgid "chain #"
445 msgstr "Kette #"
446
447 #: ../src/gtk_app.cpp:1361
448 msgid " chain)."
449 msgstr " Kette)."
450
451 #. make the list show the updated information...
452 #: ../src/gtk_app.cpp:1618
453 #, c-format
454 msgid "Atom locking changed : %s\n"
455 msgstr "Atomsperre ge?ndert : %s\n"
456
457 #: ../src/gtk_app.cpp:1618
458 msgid "yes"
459 msgstr "ja"
460
461 #: ../src/gtk_app.cpp:1618
462 msgid "no"
463 msgstr "nein"
464
465 #: ../src/gtk_app.cpp:1644
466 msgid "Conjugated"
467 msgstr "Konjugiert"
468
469 #: ../src/gtk_app.cpp:1645
470 msgid "Single"
471 msgstr "Einfach"
472
473 #: ../src/gtk_app.cpp:1646
474 msgid "Double"
475 msgstr "Doppelt"
476
477 #: ../src/gtk_app.cpp:1647
478 msgid "Triple"
479 msgstr "Dreifach"
480
481 #: ../src/gtk_app.cpp:2083
482 msgid "Displaying the User's Manual using the following command:"
483 msgstr "Das Benutzerhandbuch mittels des folgenden Befehls anzeigen:"
484
485 #: ../src/gtk_app.cpp:2093
486 msgid "Ghemical-"
487 msgstr "Ghemical-"
488
489 #: ../src/gtk_app.cpp:2093
490 msgid " released on "
491 msgstr " ver?ffentlich auf "
492
493 #: ../src/gtk_app.cpp:2095
494 msgid "For more information please visit:"
495 msgstr "Besuchen Sie bitte, um weitere Informationen zu erhalten:"
496
497 #: ../src/gtk_app.cpp:2103
498 msgid "Authors:"
499 msgstr "Autoren:"
500
501 #: ../src/gtk_eldview_wnd.cpp:32 ../src/gtk_gpcview_wnd.cpp:32
502 #: ../src/gtk_oglview_wnd.cpp:36 ../src/gtk_p1dview_wnd.cpp:32
503 #: ../src/gtk_p2dview_wnd.cpp:32 ../src/gtk_rcpview_wnd.cpp:32
504 msgid "Attach/Detach This View"
505 msgstr "Diese Ansicht anh?ngen/losl?sen"
506
507 #: ../src/gtk_eldview_wnd.cpp:32 ../src/gtk_gpcview_wnd.cpp:32
508 #: ../src/gtk_oglview_wnd.cpp:36 ../src/gtk_p1dview_wnd.cpp:32
509 #: ../src/gtk_p2dview_wnd.cpp:32 ../src/gtk_rcpview_wnd.cpp:32
510 msgid "Select whether this view is attached or in an independent window"
511 msgstr ""
512 "W?hlen Sie aus, ob diese Ansicht angeh?ngt ist oder in einem unabh?ngigen "
513 "Fenster l?uft."
514
515 #: ../src/gtk_eldview_wnd.cpp:33 ../src/gtk_gpcview_wnd.cpp:33
516 #: ../src/gtk_p1dview_wnd.cpp:33 ../src/gtk_p2dview_wnd.cpp:33
517 #: ../src/gtk_rcpview_wnd.cpp:33
518 msgid "Delete View"
519 msgstr "Ansicht l?schen"
520
521 #: ../src/gtk_eldview_wnd.cpp:33 ../src/gtk_gpcview_wnd.cpp:33
522 #: ../src/gtk_p1dview_wnd.cpp:33 ../src/gtk_p2dview_wnd.cpp:33
523 #: ../src/gtk_rcpview_wnd.cpp:33
524 msgid "Delete this view"
525 msgstr "Diese Ansicht l?schen"
526
527 #: ../src/gtk_eldview_wnd.cpp:57
528 #, c-format
529 msgid "ERROR : Building popup-menu for gtk_eldview_wnd failed : %s"
530 msgstr ""
531 "FEHLER : Erstellen des Kontextmen?s f?r gtk_eldview_wnd fehlgeschlagen : %s"
532
533 #: ../src/gtk_file_export_dialog.cpp:41
534 msgid "file_export_dialog : glade_xml_get_widget() failed!!!"
535 msgstr "file_export_dialog : glade_xml_get_widget() fehlgeschlagen!"
536
537 #: ../src/gtk_file_export_dialog.cpp:52 ../src/gtk_file_import_dialog.cpp:52
538 msgid "Automatic"
539 msgstr "Automatisch"
540
541 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
542 #. handle the file selection...
543 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
544 #: ../src/gtk_file_export_dialog.cpp:131
545 msgid "Select a filename for export."
546 msgstr "W?hlen Sie f?r den Export einen Dateinamen aus."
547
548 #: ../src/gtk_file_import_dialog.cpp:41
549 msgid "file_import_dialog : glade_xml_get_widget() failed!!!"
550 msgstr "file_import_dialog : glade_xml_get_widget() fehlgeschlagen!"
551
552 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
553 #. handle the file selection...
554 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
555 #: ../src/gtk_file_import_dialog.cpp:133
556 msgid "Select a file to import."
557 msgstr "W?hlen Sie f?r den Import einen Dateinamen aus."
558
559 #: ../src/gtk_geomopt_dialog.cpp:41
560 msgid "WARNING : geomopt_dialog : glade_xml_get_widget() failed!!!"
561 msgstr "WARNUNG : geomopt_dialog : glade_xml_get_widget() fehlgeschlagen!"
562
563 #: ../src/gtk_gpcview_wnd.cpp:57
564 #, c-format
565 msgid "ERROR : Building popup-menu for gtk_gpcview_wnd failed : %s"
566 msgstr ""
567 "FEHLER : Erstellen des Kontextmen?s f?r gtk_gpcview_wnd fehlgeschlagen : %s"
568
569 #: ../src/gtk_main.cpp:45
570 msgid "open a file"
571 msgstr "eine Datei ?ffnen"
572
573 #: ../src/gtk_main.cpp:46
574 msgid "import a file"
575 msgstr "eine Datei importieren"
576
577 #: ../src/gtk_main.cpp:61
578 msgid "- a GTK2 molecular modelling program"
579 msgstr "- ein GTK2-Programm zum Molek?ldesign"
580
581 #: ../src/gtk_main.cpp:84
582 #, c-format
583 msgid "OpenGL extension version - %d.%d\n"
584 msgstr "OpenGL-Erweiterungsversion - %d.%d\n"
585
586 #: ../src/gtk_main.cpp:140
587 # Die n?chsten beiden Strings geh?ren zusammen
588 msgid "Sorry! The file import feature is disabled ; you need to recompile"
589 msgstr "Entschuldigung! Die Importfunktion ist deaktiviert; sie m?ssen "
590
591 #: ../src/gtk_main.cpp:141
592 msgid "libghemical with --enable-openbabel option in order to fix this."
593 msgstr ""
594 "Libghemical mit der Option --enable-openbabel neu kompilieren, um dies zu "
595 "beheben."
596
597 #: ../src/gtk_moldyn_dialog.cpp:42
598 msgid "WARNING : moldyn_dialog : glade_xml_get_widget() failed!!!"
599 msgstr "WARNUNG : moldyn_dialog : glade_xml_get_widget() fehlgeschlagen!"
600
601 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
602 #. handle the file selection...
603 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
604 #: ../src/gtk_moldyn_dialog.cpp:232
605 msgid "Select a Trajectory File."
606 msgstr "W?hlen Sie eine Trajektorien-Datei aus."
607
608 #: ../src/gtk_oglview_wnd.cpp:40
609 msgid "Open a file"
610 msgstr "Eine Datei ?ffnen"
611
612 #: ../src/gtk_oglview_wnd.cpp:42
613 msgid "Import..."
614 msgstr "Importieren ?"
615
616 #: ../src/gtk_oglview_wnd.cpp:42
617 # See Debian bug #639322
618 msgid "Import other file formats using libopenbabel"
619 msgstr "Andere Dateiformate unter Benutzung von Openbabel importieren"
620
621 #: ../src/gtk_oglview_wnd.cpp:44
622 msgid "Save a file"
623 msgstr "Eine Datei speichern"
624
625 #: ../src/gtk_oglview_wnd.cpp:46
626 msgid "Export"
627 msgstr "Exportieren"
628
629 #: ../src/gtk_oglview_wnd.cpp:46
630 msgid "Export other file formats using OpenBabel"
631 msgstr "Andere Dateiformate unter Benutzung von OpenBabel exportieren"
632
633 #: ../src/gtk_oglview_wnd.cpp:49
634 msgid "Close the file"
635 msgstr "Eine Datei schlie?en"
636
637 #: ../src/gtk_oglview_wnd.cpp:51
638 msgid "Extra Tools"
639 msgstr "Zus?tzliche Werkzeuge"
640
641 #. ^^^^^^^^^^^^^
642 #: ../src/gtk_oglview_wnd.cpp:53
643 msgid "Import PDB"
644 msgstr "PDB importieren"
645
646 #: ../src/gtk_oglview_wnd.cpp:53
647 msgid "Import a PDB file"
648 msgstr "Eine PDB-Datei importieren"
649
650 #. { "FileExtra2", NULL, N_("Import ???"), NULL, N_("Import a ??? file"), (GCallback) gtk_project::popup_FileExtra2 },
651 #: ../src/gtk_oglview_wnd.cpp:56
652 msgid "Select"
653 msgstr "Ausw?hlen"
654
655 #. ^^^^^^^^^^
656 #: ../src/gtk_oglview_wnd.cpp:58
657 msgid "Select All"
658 msgstr "Alles ausw?hlen"
659
660 #: ../src/gtk_oglview_wnd.cpp:58
661 msgid "Select all atoms"
662 msgstr "Alle Atome ausw?hlen"
663
664 #: ../src/gtk_oglview_wnd.cpp:59
665 msgid "Select None"
666 msgstr "Keins ausw?hlen"
667
668 #: ../src/gtk_oglview_wnd.cpp:59
669 msgid "Select nothing"
670 msgstr "Nichts ausw?hlen"
671
672 #: ../src/gtk_oglview_wnd.cpp:60
673 msgid "Invert Selection"
674 msgstr "Auswahl umkehren"
675
676 #: ../src/gtk_oglview_wnd.cpp:60
677 msgid "Invert the selection"
678 msgstr "Die Auswahl umkehren"
679
680 #: ../src/gtk_oglview_wnd.cpp:61
681 msgid "Hide Selected"
682 msgstr "Ausgew?hlte verstecken"
683
684 #: ../src/gtk_oglview_wnd.cpp:61
685 msgid "Hide all selected atoms"
686 msgstr "Alle ausgew?hlten Atome verstecken"
687
688 #: ../src/gtk_oglview_wnd.cpp:62
689 msgid "Show Selected"
690 msgstr "Ausgew?hlte anzeigen"
691
692 #: ../src/gtk_oglview_wnd.cpp:62
693 msgid "Show all selected atoms"
694 msgstr "Alle ausgew?hlten Atome anzeigen"
695
696 #: ../src/gtk_oglview_wnd.cpp:63
697 msgid "Lock Selected"
698 msgstr "Ausgew?hlte sperren"
699
700 #: ../src/gtk_oglview_wnd.cpp:63
701 msgid "Lock all selected atoms"
702 msgstr "Alle ausgew?hlten Atome sperren"
703
704 #: ../src/gtk_oglview_wnd.cpp:64
705 msgid "Unlock Selected"
706 msgstr "Ausgew?hlte entsperren"
707
708 #: ../src/gtk_oglview_wnd.cpp:64
709 msgid "Unlock all selected atoms"
710 msgstr "Alle ausgew?hlten Atome entsperren"
711
712 #: ../src/gtk_oglview_wnd.cpp:65
713 msgid "Delete Selected"
714 msgstr "Ausgew?hlte l?schen"
715
716 #: ../src/gtk_oglview_wnd.cpp:65
717 msgid "Delete all selected atoms"
718 msgstr "Alle ausgew?hlten Atome l?schen"
719
720 #: ../src/gtk_oglview_wnd.cpp:67
721 msgid "Selection Mode"
722 msgstr "Auswahlmodus"
723
724 #. ^^^^^^^^^^^^^^
725 #. todo : convert these into toggle items so that the setting from project is show in each of the graphics views...
726 #: ../src/gtk_oglview_wnd.cpp:70
727 msgid "Select Atoms"
728 msgstr "Atome ausw?hlen"
729
730 #: ../src/gtk_oglview_wnd.cpp:70
731 msgid "Select single atoms"
732 msgstr "Einzelne Atome ausw?hlen"
733
734 #: ../src/gtk_oglview_wnd.cpp:71
735 msgid "Select Residues"
736 msgstr "Reste ausw?hlen"
737
738 #: ../src/gtk_oglview_wnd.cpp:71
739 msgid "Select residues"
740 msgstr "Reste ausw?hlen"
741
742 #: ../src/gtk_oglview_wnd.cpp:72
743 msgid "Select Chains"
744 msgstr "Ketten ausw?hlen"
745
746 #: ../src/gtk_oglview_wnd.cpp:72
747 msgid "Select chains"
748 msgstr "Ketten ausw?hlen"
749
750 #: ../src/gtk_oglview_wnd.cpp:73
751 msgid "Select Molecules"
752 msgstr "Molek?le ausw?hlen"
753
754 #: ../src/gtk_oglview_wnd.cpp:73
755 msgid "Select molecules"
756 msgstr "Molek?le ausw?hlen"
757
758 #: ../src/gtk_oglview_wnd.cpp:75
759 msgid "Render"
760 msgstr "Rendern"
761
762 #. ^^^^^^^^^^
763 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
764 #: ../src/gtk_oglview_wnd.cpp:78
765 msgid "Quick Update Mode"
766 msgstr "Schneller Aktualisierungsmodus"
767
768 #: ../src/gtk_oglview_wnd.cpp:78
769 msgid ""
770 "Quick Update Mode switches into Wireframe rendering mode when doing "
771 "interactive work"
772 msgstr ""
773 "Der schnelle Aktualisierungsmodus schaltet bei interaktiver Arbeit in den "
774 "Darstellungsmodus Drahtgittermodell."
775
776 #: ../src/gtk_oglview_wnd.cpp:80
777 msgid "Views"
778 msgstr "Ansichten"
779
780 #. ^^^^^^^^^^^^^
781 #: ../src/gtk_oglview_wnd.cpp:82
782 msgid "Delete This View"
783 msgstr "Diese Ansicht l?schen"
784
785 #: ../src/gtk_oglview_wnd.cpp:82
786 msgid "Delete this graphics view"
787 msgstr "Diese Grafikansicht l?schen"
788
789 #: ../src/gtk_oglview_wnd.cpp:83
790 msgid "Save a CRD-set (experimental)"
791 msgstr "Einen CRD-Satz speichern (experimentell)"
792
793 #: ../src/gtk_oglview_wnd.cpp:83
794 msgid "Save a coordinate set"
795 msgstr "Einen Koordinatensatz speichern"
796
797 #: ../src/gtk_oglview_wnd.cpp:84
798 msgid "Superimpose CRD-sets (experimental)"
799 msgstr "CRD-S?tze ?bereinanderlegen (experimentell)"
800
801 #: ../src/gtk_oglview_wnd.cpp:84
802 msgid "Superimpose coordinate sets"
803 msgstr "Koordinatens?tze ?bereinanderlegen"
804
805 #: ../src/gtk_oglview_wnd.cpp:86
806 msgid "Create"
807 msgstr "Erstellen"
808
809 #. ^^^^^^^^^^^^^^^^^^^
810 #: ../src/gtk_oglview_wnd.cpp:88
811 msgid "New Window"
812 msgstr "Neues Fenster"
813
814 #: ../src/gtk_oglview_wnd.cpp:88
815 msgid "Create a new view using the current camera"
816 msgstr "Eine neue Ansicht unter Benutzung der aktuellen Kamera erstellen"
817
818 #: ../src/gtk_oglview_wnd.cpp:89
819 msgid "New Camera"
820 msgstr "Neue Kamera"
821
822 #: ../src/gtk_oglview_wnd.cpp:89
823 msgid "Create a new view using a new camera"
824 msgstr "Eine neue Ansicht unter Benutzung einer neuen Kamera erstellen"
825
826 #: ../src/gtk_oglview_wnd.cpp:90
827 msgid "Energy-level Diagram"
828 msgstr "Energiestufendiagramm"
829
830 #: ../src/gtk_oglview_wnd.cpp:90
831 msgid "Create a new energy-level diagram view"
832 msgstr "Eine neue Energiestufendiagrammansicht erstellen"
833
834 #: ../src/gtk_oglview_wnd.cpp:91
835 msgid "Secondary Structure Constraints"
836 msgstr "Sekund?rstrukturbeschr?nkungen"
837
838 #: ../src/gtk_oglview_wnd.cpp:91
839 msgid "Create a new secondary structure constraints view"
840 msgstr "Eine neue Sekund?rstrukturbeschr?nkungsansicht erstellen"
841
842 #: ../src/gtk_oglview_wnd.cpp:93
843 msgid "Lights"
844 msgstr "Lichquellen"
845
846 #. ^^^^^^^^^^^^^^
847 #: ../src/gtk_oglview_wnd.cpp:95
848 msgid "Create New Light"
849 msgstr "Eine neue Lichtquelle erstellen"
850
851 #: ../src/gtk_oglview_wnd.cpp:95
852 msgid "Create a new light object"
853 msgstr "Ein neues Lichtobjekt erstellen"
854
855 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
856 #: ../src/gtk_oglview_wnd.cpp:97
857 msgid "Enable Local Lights"
858 msgstr "Lokale Lichtquelle einschalten"
859
860 #: ../src/gtk_oglview_wnd.cpp:97
861 msgid "Switch on/off the local light objects"
862 msgstr "Die lokalen Lichtobjekte ein-/ausschalten"
863
864 #: ../src/gtk_oglview_wnd.cpp:98
865 msgid "Enable Global Lights"
866 msgstr "Globale Lichtquelle einschalten"
867
868 #: ../src/gtk_oglview_wnd.cpp:98
869 msgid "Switch on/off the global light objects"
870 msgstr "Die globalen Lichtobjekte ein-/ausschalten"
871
872 #: ../src/gtk_oglview_wnd.cpp:100
873 msgid "Render Mode"
874 msgstr "Render-Modus"
875
876 #. ^^^^^^^^^^^^^^
877 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
878 #: ../src/gtk_oglview_wnd.cpp:103
879 msgid "Ball & Stick"
880 msgstr "Kugelstabmodell"
881
882 #: ../src/gtk_oglview_wnd.cpp:103
883 msgid "Display atoms and bonds using Ball & Stick mode"
884 msgstr "Atome und Bindungen im Kugelstabmodell anzeigen"
885
886 #: ../src/gtk_oglview_wnd.cpp:104
887 msgid "van der Waals"
888 msgstr "Van der Waals"
889
890 #: ../src/gtk_oglview_wnd.cpp:104
891 msgid "Display atoms and bonds using van der Waals mode"
892 msgstr "Atome und Bindungen als Van-der-Waals-Kugeln anzeigen"
893
894 #: ../src/gtk_oglview_wnd.cpp:105
895 msgid "Cylinders"
896 msgstr "Zylinder"
897
898 #: ../src/gtk_oglview_wnd.cpp:105
899 msgid "Display atoms and bonds using Cylinders mode"
900 msgstr "Atome und Bindungen als Zylinder anzeigen"
901
902 #: ../src/gtk_oglview_wnd.cpp:106
903 msgid "Wireframe"
904 msgstr "Drahtgittermodell"
905
906 #: ../src/gtk_oglview_wnd.cpp:106
907 msgid "Display atoms and bonds using Wireframe mode"
908 msgstr "Atome und Bindungen im Drahtgittermodelle anzeigen"
909
910 #: ../src/gtk_oglview_wnd.cpp:107 ../src/gtk_oglview_wnd.cpp:128
911 msgid "Nothing"
912 msgstr "Nichts"
913
914 #: ../src/gtk_oglview_wnd.cpp:107
915 msgid "Do not display atoms and bonds"
916 msgstr "Atome und Bindungen nicht anzeigen"
917
918 #: ../src/gtk_oglview_wnd.cpp:109
919 msgid "Color Mode"
920 msgstr "Farbmodus"
921
922 #: ../src/gtk_oglview_wnd.cpp:112
923 msgid "Color atoms and bonds by element"
924 msgstr "Atome und Bindungen nach Elementen f?rben"
925
926 #: ../src/gtk_oglview_wnd.cpp:113 ../src/gtk_oglview_wnd.cpp:127
927 # http://de.wikipedia.org/wiki/Sekund%C3%A4rstruktur
928 msgid "Sec-Struct"
929 msgstr "Sek-Strukt"
930
931 #: ../src/gtk_oglview_wnd.cpp:113
932 msgid "Color atoms and bonds by secondary-structure state"
933 msgstr "Atome und Bindungen nach Sekund?rstrukturstatus f?rben"
934
935 #: ../src/gtk_oglview_wnd.cpp:114
936 msgid "Hydrophobicity"
937 msgstr "Hydrophobizit?t"
938
939 #: ../src/gtk_oglview_wnd.cpp:114
940 msgid "Color atoms and bonds by hydrophobicity (experimental)"
941 msgstr "Atome und Bindungen nach Hydrophobizit?t f?rben (experimentell)"
942
943 #: ../src/gtk_oglview_wnd.cpp:116
944 msgid "Label Mode"
945 msgstr "Beschriftungsmodus"
946
947 #. ^^^^^^^^^^^^^
948 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
949 #: ../src/gtk_oglview_wnd.cpp:119
950 msgid "Index"
951 msgstr "Index"
952
953 #: ../src/gtk_oglview_wnd.cpp:119
954 msgid "Label atoms by atom index"
955 msgstr "Atome mit Atomindex beschriften"
956
957 #: ../src/gtk_oglview_wnd.cpp:120
958 msgid "Label atoms by element"
959 msgstr "Atome mit Element beschriften"
960
961 #: ../src/gtk_oglview_wnd.cpp:121
962 # http://de.wikipedia.org/wiki/Formalladung
963 msgid "Formal Charge"
964 msgstr "Formalladung"
965
966 #: ../src/gtk_oglview_wnd.cpp:121
967 msgid "Label atoms by formal charge"
968 msgstr "Atome mit Formalladung beschriften"
969
970 #: ../src/gtk_oglview_wnd.cpp:122
971 # http://de.wikipedia.org/wiki/Partialladung
972 msgid "Partial Charge"
973 msgstr "Partialladung"
974
975 #: ../src/gtk_oglview_wnd.cpp:122
976 msgid "Label atoms by partial charge"
977 msgstr "Atome mit Partialladung beschriften"
978
979 #: ../src/gtk_oglview_wnd.cpp:123
980 msgid "Atom Type"
981 msgstr "Atomtyp"
982
983 #: ../src/gtk_oglview_wnd.cpp:123
984 msgid "Label atoms by atom type"
985 msgstr "Atome mit Atomtyp beschriften"
986
987 #: ../src/gtk_oglview_wnd.cpp:124
988 msgid "Builder ID"
989 msgstr "Ersteller-ID"
990
991 #: ../src/gtk_oglview_wnd.cpp:124
992 msgid "Label atoms by sequence builder ID"
993 msgstr "Atome mit Sequenz-Ersteller-ID beschriften"
994
995 #: ../src/gtk_oglview_wnd.cpp:125
996 msgid "Bond Type"
997 msgstr "Bindungstyp"
998
999 #: ../src/gtk_oglview_wnd.cpp:125
1000 msgid "Label bonds by bond type"
1001 msgstr "Bindungen mit Bindungstyp beschriften"
1002
1003 #: ../src/gtk_oglview_wnd.cpp:126
1004 msgid "Residue"
1005 msgstr "Rest"
1006
1007 #: ../src/gtk_oglview_wnd.cpp:126
1008 msgid "Label by residue"
1009 msgstr "Mit Rest beschriften"
1010
1011 #: ../src/gtk_oglview_wnd.cpp:127
1012 msgid "Label by secondary structure state"
1013 msgstr "Mit dem Sekund?rstrukturstatus beschriften"
1014
1015 #: ../src/gtk_oglview_wnd.cpp:128
1016 msgid "Do not show labels"
1017 msgstr "Keine Beschriftungen anzeigen"
1018
1019 #: ../src/gtk_oglview_wnd.cpp:130
1020 msgid "Projection"
1021 msgstr "Projektion"
1022
1023 #. ^^^^^^^^^^^^^^^^^^
1024 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
1025 #: ../src/gtk_oglview_wnd.cpp:133
1026 msgid "Orthographic"
1027 msgstr "Orthografisch"
1028
1029 #: ../src/gtk_oglview_wnd.cpp:133
1030 msgid "Use orthographic projection"
1031 msgstr "Orthografische Projektion benutzen"
1032
1033 #: ../src/gtk_oglview_wnd.cpp:134
1034 msgid "Perspective"
1035 msgstr "Perspektive"
1036
1037 #: ../src/gtk_oglview_wnd.cpp:134
1038 msgid "Use perspective projection"
1039 msgstr "Perspektivische Projektion benutzen"
1040
1041 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
1042 #. todo : add more color combinations ; red/green red/blue ; any others needed???
1043 #: ../src/gtk_oglview_wnd.cpp:137
1044 msgid "Red-Blue Stereo"
1045 msgstr "Rot-Blau-Stereo"
1046
1047 #: ../src/gtk_oglview_wnd.cpp:137
1048 msgid "Use red-blue stereo mode"
1049 msgstr "Rot-blauen Stereomodus benutzen"
1050
1051 #: ../src/gtk_oglview_wnd.cpp:138
1052 msgid "Relaxed-Eye Stereo"
1053 msgstr "Relaxed-Eye-Stereo"
1054
1055 #: ../src/gtk_oglview_wnd.cpp:138
1056 msgid "Use relaxed-eye stereo mode"
1057 msgstr "Relaxed-Eye-Stereomodus benutzen"
1058
1059 #: ../src/gtk_oglview_wnd.cpp:140
1060 msgid "Objects"
1061 msgstr "Objekte"
1062
1063 #. ^^^^^^^^^^^
1064 #: ../src/gtk_oglview_wnd.cpp:142
1065 msgid "Ribbon"
1066 msgstr "Band"
1067
1068 #: ../src/gtk_oglview_wnd.cpp:142
1069 msgid "Create a Ribbon object for displaying peptides/proteins"
1070 msgstr "Ein Bandobjekt f?r die Anzeige von Peptiden/Proteinen erstellen"
1071
1072 #: ../src/gtk_oglview_wnd.cpp:143
1073 # Extreme Short throw Projection
1074 msgid "ESP-plane"
1075 msgstr "ESP-Ebene"
1076
1077 #: ../src/gtk_oglview_wnd.cpp:143
1078 msgid "Create an ESP-plane object"
1079 msgstr "Ein ESP-Ebenenobjekt erstellen"
1080
1081 #: ../src/gtk_oglview_wnd.cpp:144
1082 msgid "volume-rendered ESP"
1083 msgstr "Volumen-gerendertes ESP"
1084
1085 #: ../src/gtk_oglview_wnd.cpp:144
1086 msgid "Create a volume-rendered ESP object"
1087 msgstr "Ein Volumen-gerendertes ESP-Objekt erstellen"
1088
1089 #: ../src/gtk_oglview_wnd.cpp:145
1090 msgid "ESP-surface"
1091 msgstr "ESP-Oberfl?che"
1092
1093 #: ../src/gtk_oglview_wnd.cpp:145
1094 msgid "Create an ESP-surface object"
1095 msgstr "ESP-Oberfl?chenobjekt erstellen"
1096
1097 #: ../src/gtk_oglview_wnd.cpp:146
1098 msgid "ESP-colored vdW-surface"
1099 msgstr "ESP-gef?rbte VdW-Oberfl?che"
1100
1101 #: ../src/gtk_oglview_wnd.cpp:146
1102 msgid "Create an ESP-colored vdW-surface object"
1103 msgstr "Ein ESP-gef?rbtes VdW-Oberfl?chenobjekt erstellen"
1104
1105 #: ../src/gtk_oglview_wnd.cpp:147
1106 msgid "Electron density plane"
1107 msgstr "Elektronendichte-Ebene"
1108
1109 #: ../src/gtk_oglview_wnd.cpp:147
1110 msgid "Create an Electron density plane object"
1111 msgstr "Ein Elektronendichte-Ebenenobjekt erstellen"
1112
1113 #: ../src/gtk_oglview_wnd.cpp:148
1114 msgid "Electron density surface"
1115 msgstr "Elektronendichte-Oberfl?che"
1116
1117 #: ../src/gtk_oglview_wnd.cpp:148
1118 msgid "Create an Electron density surface object"
1119 msgstr "Ein Elektronendichte-Oberfl?chenobjekt erstellen"
1120
1121 #: ../src/gtk_oglview_wnd.cpp:149
1122 msgid "Molecular orbital plane"
1123 msgstr "Molek?lorbitalebene"
1124
1125 #: ../src/gtk_oglview_wnd.cpp:149
1126 msgid "Create a Molecular orbital plane object"
1127 msgstr "Ein Molek?lorbitalebenenobjekt erstellen"
1128
1129 #: ../src/gtk_oglview_wnd.cpp:150
1130 msgid "Molecular orbital volume"
1131 msgstr "Molek?lorbitalvolumen"
1132
1133 #: ../src/gtk_oglview_wnd.cpp:150
1134 msgid "Create a Molecular orbital volume object"
1135 msgstr "Ein Molek?lorbitalvolumenobjekt erstellen"
1136
1137 #: ../src/gtk_oglview_wnd.cpp:151
1138 msgid "Molecular orbital surface"
1139 msgstr "Molek?lorbitaloberfl?che"
1140
1141 #: ../src/gtk_oglview_wnd.cpp:151
1142 msgid "Create a Molecular orbital surface object"
1143 msgstr "Ein Molek?lorbitaloberfl?chenobjekt erstellen"
1144
1145 #: ../src/gtk_oglview_wnd.cpp:152
1146 # http://en.wikipedia.org/wiki/Molecular_orbital
1147 # http://de.wikipedia.org/wiki/Molek?lorbital
1148 msgid "MO-density plane"
1149 msgstr "MO-Dichteebene"
1150
1151 #: ../src/gtk_oglview_wnd.cpp:152
1152 msgid "Create an MO-density plane object"
1153 msgstr "Ein MO-Dichteobjekt erstellen"
1154
1155 #: ../src/gtk_oglview_wnd.cpp:153
1156 msgid "MO-density volume"
1157 msgstr "MO-Dichtevolumen"
1158
1159 #: ../src/gtk_oglview_wnd.cpp:153
1160 msgid "Create an MO-density volume object"
1161 msgstr "Ein MO-Dichtevolumenobjekt erstellen"
1162
1163 #: ../src/gtk_oglview_wnd.cpp:154
1164 msgid "MO-density surface"
1165 msgstr "MO-Dichteoberfl?che"
1166
1167 #: ../src/gtk_oglview_wnd.cpp:154
1168 msgid "Create an MO-density surface object"
1169 msgstr "Ein MO-Dichteoberfl?chenobjekt erstellen"
1170
1171 #: ../src/gtk_oglview_wnd.cpp:155
1172 msgid "Delete Current Object"
1173 msgstr "Aktuelles Objekt l?schen"
1174
1175 #: ../src/gtk_oglview_wnd.cpp:155
1176 msgid "Delete the currently selected object"
1177 msgstr "Das derzeit ausgew?hlte Objekt l?schen"
1178
1179 #: ../src/gtk_oglview_wnd.cpp:157
1180 msgid "Compute"
1181 msgstr "Berechnen"
1182
1183 #. ^^^^^^^^^^^
1184 #: ../src/gtk_oglview_wnd.cpp:159
1185 msgid "Setup..."
1186 msgstr "Einrichtung ?"
1187
1188 #: ../src/gtk_oglview_wnd.cpp:160
1189 msgid "Energy"
1190 msgstr "Energie"
1191
1192 #: ../src/gtk_oglview_wnd.cpp:161
1193 msgid "Geometry Optimization..."
1194 msgstr "Geometrieoptimierung ?"
1195
1196 #: ../src/gtk_oglview_wnd.cpp:162
1197 msgid "Molecular Dynamics..."
1198 msgstr "Molekulardynamik ?"
1199
1200 #: ../src/gtk_oglview_wnd.cpp:163
1201 # http://de.wikipedia.org/wiki/Konformation
1202 msgid "Random Conformational Search..."
1203 msgstr "Zuf?llige Konformations-Suche ?"
1204
1205 #: ../src/gtk_oglview_wnd.cpp:164
1206 msgid "Systematic Conformational Search..."
1207 msgstr "Systematische Konformations-Suche ?"
1208
1209 #: ../src/gtk_oglview_wnd.cpp:165
1210 # http://de.wikipedia.org/wiki/Computersimulation#Monte-Carlo-Simulation
1211 msgid "Monte Carlo Search..."
1212 msgstr "Monte-Carlo-Suche ?"
1213
1214 #: ../src/gtk_oglview_wnd.cpp:166
1215 msgid "Plot Energy vs. 1 Torsion Angle..."
1216 msgstr "Energie gegen ersten Verdrehungswinkel darstellen ?"
1217
1218 #: ../src/gtk_oglview_wnd.cpp:167
1219 msgid "Plot Energy vs. 2 Torsion Angles..."
1220 msgstr "Energie gegen zweiten Torsionswinkel plotten ?"
1221
1222 #: ../src/gtk_oglview_wnd.cpp:168
1223 msgid "Population Analysis (ESP)"
1224 msgstr "Populationsanalyse (ESP)"
1225
1226 #: ../src/gtk_oglview_wnd.cpp:169
1227 msgid "Transition State Search..."
1228 msgstr "?bergangszustandssuche ?"
1229
1230 #: ../src/gtk_oglview_wnd.cpp:170
1231 msgid "Stationary State Search..."
1232 msgstr "Station?re Zustandssuche ?"
1233
1234 #: ../src/gtk_oglview_wnd.cpp:171
1235 msgid "Formula"
1236 msgstr "Formel"
1237
1238 #: ../src/gtk_oglview_wnd.cpp:176
1239 msgid "MD Trajectory Viewer..."
1240 msgstr "MD-Trajektorien-Betrachter ?"
1241
1242 #: ../src/gtk_oglview_wnd.cpp:177
1243 msgid "Set Current Orbital"
1244 msgstr "Aktuelles Orbital setzen"
1245
1246 #: ../src/gtk_oglview_wnd.cpp:179
1247 msgid "Build"
1248 msgstr "Erstellen"
1249
1250 #. ^^^^^^^^^
1251 #: ../src/gtk_oglview_wnd.cpp:181
1252 msgid "Solvate Box..."
1253 msgstr "Solvatisierungsbox ?"
1254
1255 #: ../src/gtk_oglview_wnd.cpp:182
1256 msgid "Solvate Sphere..."
1257 msgstr "Solvatisierungssph?re ?"
1258
1259 #: ../src/gtk_oglview_wnd.cpp:183
1260 msgid "Sequence Builder (amino)..."
1261 msgstr "Sequenzerstellung (Amino) ?"
1262
1263 #: ../src/gtk_oglview_wnd.cpp:184
1264 msgid "Sequence Builder (nucleic)..."
1265 msgstr "Sequenzerstellung (Nuklein) ?"
1266
1267 #: ../src/gtk_oglview_wnd.cpp:185
1268 msgid "Center"
1269 msgstr "Zentrieren"
1270
1271 #: ../src/gtk_oglview_wnd.cpp:186
1272 msgid "Zap All"
1273 msgstr "Alle l?schen"
1274
1275 #: ../src/gtk_oglview_wnd.cpp:188
1276 msgid "Hydrogens"
1277 msgstr "Wasserstoff"
1278
1279 #. ^^^^^^^^^^^^^^^^^^
1280 #: ../src/gtk_oglview_wnd.cpp:190
1281 msgid "Add"
1282 msgstr "Hinzuf?gen"
1283
1284 #: ../src/gtk_oglview_wnd.cpp:191
1285 msgid "Remove"
1286 msgstr "Entfernen"
1287
1288 #: ../src/gtk_oglview_wnd.cpp:193
1289 msgid "Enter a Command..."
1290 msgstr "Einen Befehl eingeben ?"
1291
1292 #: ../src/gtk_oglview_wnd.cpp:380
1293 #, c-format
1294 msgid "ERROR : Building popup-menu for gtk_oglview_wnd failed : %s"
1295 msgstr ""
1296 "FEHLER : Erstellen des Kontextmen?s f?r gtk_oglview_wnd fehlgeschlagen : %s "
1297
1298 #: ../src/gtk_oglview_wnd.cpp:630
1299 msgid "sets 0 <-> "
1300 msgstr "Setzt 0 <-> "
1301
1302 #: ../src/gtk_oglview_wnd.cpp:630
1303 # http://en.wikipedia.org/wiki/Root_mean_square
1304 msgid " RMS = "
1305 msgstr " RMS = "
1306
1307 #: ../src/gtk_oglview_wnd.cpp:636
1308 msgid "average RMS = "
1309 msgstr "durchschnittlicher RMS = "
1310
1311 #: ../src/gtk_p1dview_wnd.cpp:57
1312 #, c-format
1313 msgid "ERROR : Building popup-menu for gtk_p1dview_wnd failed : %s"
1314 msgstr ""
1315 "FEHLER : Erstellen des Kontextmen?s f?r gtk_p1dview_wnd fehlgeschlagen : %s"
1316
1317 #: ../src/gtk_p2dview_wnd.cpp:57
1318 #, c-format
1319 msgid "ERROR : Building popup-menu for gtk_p2dview_wnd failed : %s"
1320 msgstr ""
1321 "FEHLER : Erstellen des Kontextmen?s f?r gtk_p2dview_wnd fehlgeschlagen : %s"
1322
1323 #: ../src/gtk_progress_dialog.cpp:39
1324 msgid "WARNING : progress_dialog : glade_xml_get_widget() failed!!!"
1325 msgstr "WARNUNG : progress_dialog : glade_xml_get_widget() fehlgeschlagen!"
1326
1327 #: ../src/gtk_project.cpp:81
1328 msgid "A new project created.\n"
1329 msgstr "Ein neues Projekt wurde erstellt.\n"
1330
1331 #: ../src/gtk_project.cpp:184
1332 msgid "Thread creation failed : GeomOpt"
1333 msgstr "Erstellen des Threads fehlgeschlagen : GeomOpt"
1334
1335 #: ../src/gtk_project.cpp:199 ../src/res_gtk/gtk_geomopt_dialog.glade.h:2
1336 msgid "Geometry Optimization"
1337 msgstr "Geometrieoptimierung"
1338
1339 #: ../src/gtk_project.cpp:234
1340 msgid "Thread creation failed : MolDyn"
1341 msgstr "Erstellen des Threads fehlgeschlagen : MolDyn"
1342
1343 #: ../src/gtk_project.cpp:249 ../src/res_gtk/gtk_moldyn_dialog.glade.h:5
1344 msgid "Molecular Dynamics"
1345 msgstr "Molekulardynamik"
1346
1347 #: ../src/gtk_project.cpp:273
1348 msgid "Thread creation failed : RandomSearch"
1349 msgstr "Erstellen des Threads fehlgeschlagen : RandomSearch"
1350
1351 #: ../src/gtk_project.cpp:288
1352 msgid "Random Search"
1353 msgstr "Zuf?llige Suche"
1354
1355 #: ../src/gtk_project.cpp:776 ../src/gtk_project.cpp:794
1356 #: ../src/gtk_project.cpp:812 ../src/gtk_project.cpp:830
1357 #: ../src/gtk_project.cpp:848 ../src/gtk_project.cpp:866
1358 #: ../src/gtk_project.cpp:884 ../src/gtk_project.cpp:902
1359 #: ../src/gtk_project.cpp:920 ../src/gtk_project.cpp:938
1360 #: ../src/gtk_project.cpp:956 ../src/gtk_project.cpp:974
1361 msgid "Please calculate energy first!"
1362 msgstr "Bitte berechnen Sie zuerst die Energie!"
1363
1364 #: ../src/gtk_project.cpp:1075
1365 msgid ""
1366 "PLEASE NOTE!\n"
1367 "The command string, which is displayed in the next dialog, is incomplete.\n"
1368 "You should replace the letters A-D with atom indices that define the "
1369 "torsion.\n"
1370 "\n"
1371 "ALSO NOTE: structure refinement is always done using molecular mechanics "
1372 "(optsteps)."
1373 msgstr ""
1374 "BITTE BEACHTEN!\n"
1375 "Die Befehlszeichenkette, die im n?chsten Dialog angezeigt wird, ist\n"
1376 "unvollst?ndig. Sie sollten die Buchstaben A-D durch die Atomindizes "
1377 "ersetzen, die den Torsionswinkel definieren.\n"
1378 "\n"
1379 "BEACHTEN SIE AU?ERDEM: Bei jeder Strukturverfeinerung wird die "
1380 "Molekularmechanik verwandt (optsteps).."
1381
1382 #: ../src/gtk_project.cpp:1088
1383 msgid ""
1384 "PLEASE NOTE!\n"
1385 "The command string, which is displayed in the next dialog, is incomplete.\n"
1386 "You should replace the letters A-D and I-L with atom indices that define the "
1387 "torsions.\n"
1388 "\n"
1389 "ALSO NOTE: structure refinement is always done using molecular mechanics "
1390 "(optsteps)."
1391 msgstr ""
1392 "BITTE BEACHTEN!\n"
1393 "Die Befehlszeichenkette, die im n?chsten Dialog angezeigt wird, ist\n"
1394 "unvollst?ndig. Sie sollten die Buchstaben A-D und I-L durch die Atomindizes "
1395 "ersetzen, die den Torsionswinkel definieren.\n"
1396 "\n"
1397 "BEACHTEN SIE AU?ERDEM: Bei jeder Benutzung der Molekularmechanik wird die "
1398 "Strukturverfeinerung durchgef?hrt (optsteps)."
1399
1400 #: ../src/gtk_project.cpp:1162
1401 msgid "ERROR"
1402 msgstr "FEHLER"
1403
1404 #: ../src/gtk_project.cpp:1173
1405 msgid "Trajectory file already open?"
1406 msgstr "Trajektorien-Datei bereits ge?ffnet?"
1407
1408 #: ../src/gtk_project.cpp:1182
1409 msgid ""
1410 "PLEASE NOTE!\n"
1411 "The command string, which is displayed in the next dialog, is incomplete.\n"
1412 "You should replace the letter X with the orbital index that will become the "
1413 "current orbital."
1414 msgstr ""
1415 "BITTE BEACHTEN!\n"
1416 "Die Befehlszeichenkette, die im n?chsten Dialog angezeigt wird, ist\n"
1417 "unvollst?ndig. Sie sollten den Buchstaben X durch den Orbitalindex ersetzen,\n"
1418 "den das aktuelle Orbital bekommen wird."
1419
1420 #: ../src/gtk_project.cpp:1237
1421 msgid ""
1422 "PLEASE NOTE!\n"
1423 "The command string, which is displayed in the next dialog, is incomplete.\n"
1424 "You should replace the default sequence AAA with the sequence to be built."
1425 msgstr ""
1426 "BITTE BEACHTEN!\n"
1427 "Die Befehlszeichenkette, die im n?chsten Dialog angezeigt wird, ist\n"
1428 "unvollst?ndig. Sie sollten die vorgegebene Sequenz AAA durch die Sequenz\n"
1429 "ersetzen, die gebildet werden soll."
1430
1431 #: ../src/gtk_project.cpp:1250
1432 msgid ""
1433 "PLEASE NOTE!\n"
1434 "The command string, which is displayed in the next dialog, is incomplete.\n"
1435 "You should replace the default sequence AGTCaguc with the sequence to be "
1436 "built."
1437 msgstr ""
1438 "BITTE BEACHTEN!\n"
1439 "Die Befehlszeichenkette, die im n?chsten Dialog angezeigt wird, ist\n"
1440 "unvollst?ndig. Sie sollten die vorgegebene Sequenz AGTCaguc durch die\n"
1441 "Sequenz ersetzen, die gebildet werden soll."
1442
1443 #: ../src/gtk_project.cpp:1287
1444 msgid "Are you sure you want to clear everything?"
1445 msgstr "Sind sie sicher, dass Sie alles entfernen m?chten?"
1446
1447 #: ../src/gtk_rcpview_wnd.cpp:57
1448 #, c-format
1449 msgid "ERROR : Building popup-menu for gtk_rcpview_wnd failed : %s"
1450 msgstr ""
1451 "FEHLER : Erstellen des Kontextmen?s f?r gtk_rcpview_wnd fehlgeschlagen : %s"
1452
1453 #: ../src/gtk_setup_dialog.cpp:49
1454 msgid "WARNING : setup_dialog : glade_xml_get_widget() failed!!!"
1455 msgstr "WARNUNG : setup_dialog : glade_xml_get_widget() fehlgeschlagen!"
1456
1457 #: ../src/gtk_setup_dialog.cpp:358
1458 msgid "Changed the Setup for calculations "
1459 msgstr "Die Einstellung f?r Berechungen wurde ge?ndert "
1460
1461 #: ../src/gtk_setup_dialog.cpp:359 ../src/project.cpp:4050
1462 msgid "(setup = "
1463 msgstr "(Einstellung = "
1464
1465 #: ../src/gtk_setup_dialog.cpp:375 ../src/project.cpp:4051
1466 msgid ", engine = "
1467 msgstr ", Engine = "
1468
1469 #. request a modal window.
1470 #: ../src/gtk_simple_dialogs.cpp:49
1471 msgid "Set Current Element"
1472 msgstr "Aktuelles Element setzen"
1473
1474 #: ../src/gtk_simple_dialogs.cpp:113
1475 msgid "Current element is now "
1476 msgstr "Aktuelles Element ist nun "
1477
1478 #. request a modal window.
1479 #: ../src/gtk_simple_dialogs.cpp:133
1480 msgid "Set Current Bondtype"
1481 msgstr "Aktuellen Bindungstyp setzen"
1482
1483 #: ../src/gtk_simple_dialogs.cpp:184
1484 msgid "Current bondtype is now "
1485 msgstr "Aktuellen Bindungstyp setzen"
1486
1487 #: ../src/gtk_simple_dialogs.cpp:449
1488 msgid ""
1489 "This alternative PDB reader is designed to remove any gaps that might\n"
1490 "exist in the structure data. Therefore the sequence might be altered!"
1491 msgstr ""
1492 "Dieser alternative PDB-Leser wurde entwickelt, um jegliche L?cken zu\n"
1493 "entfernen, die in den Strukturdaten existieren k?nnten. Daher k?nnte die\n"
1494 "Sequenz ver?ndert sein!"
1495
1496 #. request a modal window.
1497 #: ../src/gtk_simple_dialogs.cpp:482
1498 msgid "Command Interpreter"
1499 msgstr "Befehlsinterpreter"
1500
1501 #: ../src/gtk_simple_dialogs.cpp:503
1502 msgid "Execute"
1503 msgstr "Ausf?hren"
1504
1505 #: ../src/gtk_simple_dialogs.cpp:506
1506 msgid "Cancel"
1507 msgstr "Abbrechen"
1508
1509 #: ../src/gtk_stereo_dialog.cpp:37
1510 msgid "WARNING : stereo_dialog : glade_xml_get_widget() failed!!!"
1511 msgstr "WARNUNG : stereo_dialog : glade_xml_get_widget() fehlgeschlagen!"
1512
1513 #: ../src/gtk_trajview_dialog.cpp:39
1514 msgid "WARNING : trajview_dialog : glade_xml_get_widget() failed!!!"
1515 msgstr "WARNUNG : trajview_dialog : glade_xml_get_widget() fehlgeschlagen!"
1516
1517 #: ../src/gtk_trajview_dialog.cpp:82 ../src/gtk_trajview_dialog.cpp:102
1518 #: ../src/gtk_trajview_dialog.cpp:136 ../src/gtk_trajview_dialog.cpp:151
1519 msgid "frame = "
1520 msgstr "Einzelbild = "
1521
1522 #: ../src/gtk_wnd.cpp:53
1523 #, c-format
1524 msgid "*** Cannot find the double-buffered visual.\n"
1525 msgstr "*** Doppelt gepuffertes Bildmaterial konnte nicht gefunden werden.\n"
1526
1527 #: ../src/gtk_wnd.cpp:54
1528 #, c-format
1529 msgid "*** Trying single-buffered visual.\n"
1530 msgstr "*** Doppelt gepuffertes Bildmaterial wird probiert.\n"
1531
1532 #: ../src/gtk_wnd.cpp:61
1533 #, c-format
1534 msgid "*** No appropriate OpenGL-capable visual found.\n"
1535 msgstr "*** Kein geeignetes OpenGL-f?higes Bildmaterial gefunden\n"
1536
1537 #: ../src/gtk_wnd.cpp:66
1538 #, c-format
1539 msgid ""
1540 "\n"
1541 "OpenGL visual configurations :\n"
1542 "\n"
1543 msgstr ""
1544 "\n"
1545 "OpenGL-Bildmaterialkonfigurationen :\n"
1546 "\n"
1547
1548 #: ../src/ogl_surface.cpp:91
1549 msgid "evaluating grid"
1550 msgstr "Gitter wird ermittelt"
1551
1552 #: ../src/ogl_surface.cpp:106
1553 msgid " done\n"
1554 msgstr " erledigt\n"
1555
1556 #: ../src/ogl_surface.cpp:112
1557 msgid "interpolating in "
1558 msgstr "interpolierend in "
1559
1560 #: ../src/ogl_surface.cpp:131
1561 msgid "-direction... "
1562 msgstr "-Richtung ?"
1563
1564 #: ../src/ogl_surface.cpp:138
1565 msgid " points, "
1566 msgstr " Punkte, "
1567
1568 #: ../src/ogl_surface.cpp:138
1569 msgid " cycles"
1570 msgstr " Zyklen"
1571
1572 #: ../src/ogl_surface.cpp:155
1573 msgid "generating image... "
1574 msgstr "Bild wird generiert ?"
1575
1576 #: ../src/ogl_surface.cpp:185
1577 msgid "color_surface problem #1"
1578 msgstr "Farboberfl?chenproblem #1"
1579
1580 #: ../src/ogl_surface.cpp:235
1581 msgid "color_surface problem #2"
1582 msgstr "Farboberfl?chenproblem #2"
1583
1584 #: ../src/ogl_surface.cpp:335
1585 msgid " lines, "
1586 msgstr " Zeilen, "
1587
1588 #: ../src/ogl_surface.cpp:335
1589 msgid " triangles."
1590 msgstr " Dreiecke."
1591
1592 #: ../src/p2dview_wcl.cpp:182
1593 msgid "now scaling the colours to range "
1594 msgstr "nun werden die Farben skaliert auf den Bereich "
1595
1596 #: ../src/p2dview_wcl.cpp:182
1597 msgid " kJ/mol"
1598 msgstr " kJ/Mol"
1599
1600 #: ../src/pangofont_wcl.cpp:75
1601 #, c-format
1602 msgid "*** ERROR : Can't load font '%s'\n"
1603 msgstr "*** FEHLER : Schrift ?%s? kann nicht geladen werden\n"
1604
1605 #: ../src/project.cpp:210
1606 msgid "untitled"
1607 msgstr "ohne Titel"
1608
1609 #: ../src/project.cpp:322
1610 msgid "Cannot import that file type."
1611 msgstr "Dieser Dateityp kann nicht importiert werden."
1612
1613 #: ../src/project.cpp:367
1614 msgid "Cannot export that file type."
1615 msgstr "Dieser Dateityp kann nicht exportiert werden."
1616
1617 #: ../src/project.cpp:409
1618 msgid "Hydrogens added."
1619 msgstr "Wasserstoff hinzugef?gt"
1620
1621 #: ../src/project.cpp:419
1622 msgid "Hydrogens removed."
1623 msgstr "Wasserstoff entfernt"
1624
1625 #: ../src/project.cpp:617
1626 msgid " window "
1627 msgstr " Fenster "
1628
1629 #: ../src/project.cpp:663
1630 msgid ""
1631 "This is the last graphics view for\n"
1632 "this project - can't close it."
1633 msgstr ""
1634 "Dies ist die letzte Grafikansicht dieses\n"
1635 "Projekts - sie kann nicht geschlossen werden."
1636
1637 #: ../src/project.cpp:877
1638 msgid "Processing Command : "
1639 msgstr "Befehl wird ausgef?hrt : "
1640
1641 #: ../src/project.cpp:887
1642 msgid "> AVAILABLE COMMANDS:"
1643 msgstr "> VERF?GBARE BEFEHLE:"
1644
1645 #. use alphabetical order???
1646 #: ../src/project.cpp:889
1647 msgid ""
1648 "> add light (local/global) (directional/spotlight) -- add a new light object."
1649 msgstr ""
1650 "> add light (local/global) (directional/spotlight) -- ein neues Lichtobjekt "
1651 "hinzuf?gen"
1652
1653 #: ../src/project.cpp:891
1654 msgid ""
1655 "> add plane <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <tp> <alpha> -- "
1656 "add a plane object."
1657 msgstr ""
1658 "> add plane <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <tp> <alpha> -- "
1659 "ein Ebenenobjekt hinzuf?gen"
1660
1661 #: ../src/project.cpp:892 ../src/project.cpp:902
1662 msgid "> where: <vf> = value function : esp vdws eldens mo mod unity"
1663 msgstr "> wobei: <vf> = Wertfunktion : esp vdws eldens mo mod unity"
1664
1665 #: ../src/project.cpp:893 ../src/project.cpp:903 ../src/project.cpp:913
1666 # Farben fest kodiert -> nicht ?bersetzen
1667 msgid "> <cf> = colour function : red green blue rb1 rb2"
1668 msgstr "> <cf> = Farbfunktion : red green blue rb1 rb2"
1669
1670 #: ../src/project.cpp:894 ../src/project.cpp:904 ../src/project.cpp:915
1671 #: ../src/project.cpp:930
1672 msgid "> <cscale1> = scaling value for calculating the colours"
1673 msgstr "> <cscale1> = Skalierungswert zum Berechnen der Farben"
1674
1675 #: ../src/project.cpp:895 ../src/project.cpp:905 ../src/project.cpp:916
1676 #: ../src/project.cpp:931
1677 msgid "> <cscale2> = scaling offset for calculating the colours"
1678 msgstr "> <cscale2> = Skalenversatz zum Berechnen der Farben"
1679
1680 #: ../src/project.cpp:896 ../src/project.cpp:906 ../src/project.cpp:917
1681 #: ../src/project.cpp:932
1682 msgid "> <dim> = dimension of the plane object (in nm units)"
1683 msgstr "> <dim> = Ausma? des Ebenenobjekts (in nm-Einheiten)"
1684
1685 #: ../src/project.cpp:897 ../src/project.cpp:907 ../src/project.cpp:918
1686 #: ../src/project.cpp:933
1687 msgid "> <res> = resolution of the plane object"
1688 msgstr "> <res> = Aufl?sung des Ebenenobjekts"
1689
1690 #: ../src/project.cpp:898 ../src/project.cpp:920 ../src/project.cpp:935
1691 msgid "> <tp> = 0 or 1 telling if the object is transparent"
1692 msgstr "> <tp> = 0 oder 1 ? sagt, ob das Objekt transparent ist"
1693
1694 #: ../src/project.cpp:899 ../src/project.cpp:908 ../src/project.cpp:921
1695 #: ../src/project.cpp:936
1696 # http://de.wikipedia.org/wiki/Alphakanal
1697 msgid "> <alpha> = transparency alpha value"
1698 msgstr "> <alpha> = Alpha-Wert der Transparenz"
1699
1700 #: ../src/project.cpp:901
1701 msgid ""
1702 "> add volrend <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <alpha> -- add "
1703 "a volume-rendering object."
1704 msgstr ""
1705 "> add volrend <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <alpha> -- ein "
1706 "Volumen-Renderungs-Objekt hinzuf?gen"
1707
1708 #: ../src/project.cpp:910
1709 msgid ""
1710 "> add surf1 <vf1> <vf2> <cf> <sscale> <cscale1> <AUTO/cscale2> <dim> <res> "
1711 "<solid> <tp> <alpha> -- add a single surface object."
1712 msgstr ""
1713 "> add surf1 <vf1> <vf2> <cf> <sscale> <cscale1> <AUTO/cscale2> <dim> <res> "
1714 "<solid> <tp> <alpha> -- ein einzelnes Oberfl?chenobjekt hinzuf?gen"
1715
1716 #: ../src/project.cpp:911 ../src/project.cpp:924
1717 msgid ""
1718 "> where: <vf1> = value function for calculating the surface : esp vdws "
1719 "eldens mo mod unity"
1720 msgstr ""
1721 "> wobei: <vf1> = Wertfunktion oder Berechnung der Oberfl?che : esp vdws "
1722 "eldens mo mod unity"
1723
1724 #: ../src/project.cpp:912 ../src/project.cpp:925
1725 msgid ""
1726 "> <vf2> = value function for calculating the colours : esp vdws "
1727 "eldens mo mod unity"
1728 msgstr ""
1729 "> <vf2> = Wertfunktion oder Berechnung der Farben : esp vdws eldens "
1730 "mo mod unity"
1731
1732 #: ../src/project.cpp:914
1733 msgid "> <sscale> = scaling value for calculating the surface"
1734 msgstr "> <sscale> = Skalierungswert f?r die Berechnung der Oberfl?che"
1735
1736 #: ../src/project.cpp:919 ../src/project.cpp:934
1737 msgid "> <solid> = 0 or 1 telling if the object is solid"
1738 msgstr "> <solid> = 0 oder 1 ? sagt, ob das Objekt stabil ist"
1739
1740 #: ../src/project.cpp:923
1741 msgid ""
1742 "> add surf2 <vf1> <vf2> <cf1> <cf2> <sscale1> <sscale2> <cscale1> <AUTO/"
1743 "cscale2> <dim> <res> <solid> <tp> <alpha> -- add a pair of surface objects."
1744 msgstr ""
1745 "> add surf2 <vf1> <vf2> <cf1> <cf2> <sscale1> <sscale2> <cscale1> <AUTO/"
1746 "cscale2> <dim> <res> <solid> <tp> <alpha> -- ein Paar von Oberfl?chenobjekten "
1747 "hinzuf?gen"
1748
1749 #: ../src/project.cpp:926
1750 msgid ""
1751 "> <cf1> = colour function for 1st surface : red green blue rb1 rb2"
1752 msgstr ""
1753 "> <cf1> = Farbfunktion f?r die erste Oberfl?che : red green blue rb1 "
1754 "rb2"
1755
1756 #: ../src/project.cpp:927
1757 msgid ""
1758 "> <cf2> = colour function for 2nd surface : red green blue rb1 rb2"
1759 msgstr ""
1760 "> <cf1> = Farbfunktion f?r die zweite Oberfl?che : red green blue "
1761 "rb1 rb2"
1762
1763 #: ../src/project.cpp:928
1764 msgid ""
1765 "> <sscale1> = scaling value for calculating the surface for 1st "
1766 "surface"
1767 msgstr ""
1768 "> <sscale1> = Skalierungswert f?r die Berechnung der Oberfl?che f?r "
1769 "die erste Oberfl?che"
1770
1771 #: ../src/project.cpp:929
1772 msgid ""
1773 "> <sscale2> = scaling value for calculating the surface for 2nd "
1774 "surface"
1775 msgstr ""
1776 "> <sscale1> = Skalierungswert f?r die Berechnung der Oberfl?che f?r "
1777 "die zweite Oberfl?che"
1778
1779 #: ../src/project.cpp:938
1780 msgid "> help -- print all available commands in command strings."
1781 msgstr "> help -- alle verf?gbaren Befehle in Befehlszeichenketten ausgeben"
1782
1783 #: ../src/project.cpp:940
1784 msgid "> energy -- calculate a single-point energy."
1785 msgstr "> energy -- Energie eines einzelnen Punktes berechnen"
1786
1787 #: ../src/project.cpp:941
1788 msgid "> geom_opt -- do a geometry optimization run using default options."
1789 msgstr ""
1790 "> geom_opt -- eine Geometrieoptimierung unter Benutzung der Vorgabeoptionen "
1791 "vornehmen"
1792
1793 #: ../src/project.cpp:942
1794 msgid "> mol_dyn -- do a molecular dynamics run using default options."
1795 msgstr ""
1796 "> mol_dyn -- Molekulardynamik unter Benutzung der Vorgabeoptionen simulieren"
1797
1798 #: ../src/project.cpp:944
1799 msgid ""
1800 "> random_search <cycles> <optsteps> -- perform a random conformational "
1801 "search."
1802 msgstr ""
1803 "> random_search <cycles> <optsteps> -- eine zuf?llige konformative Suche "
1804 "durchf?hren"
1805
1806 #: ../src/project.cpp:945
1807 msgid ""
1808 "> systematic_search <divisions> <optsteps> -- perform a systematic "
1809 "conformational search."
1810 msgstr ""
1811 "> systematic_search <divisions> <optsteps> -- eine systematische konformative "
1812 "Suche durchf?hren"
1813
1814 #: ../src/project.cpp:946
1815 msgid ""
1816 "> montecarlo_search <init_cycles> <simul_cycles> <optsteps> -- perform a "
1817 "MonteCarlo search."
1818 msgstr ""
1819 "> montecarlo_search <init_cycles> <simul_cycles> <optsteps> -- eine "
1820 "Monte-Carlo-Suche durchf?hren"
1821
1822 #: ../src/project.cpp:948
1823 msgid ""
1824 "> make_plot1 A B C D <div> <start_ang> <end_ang> <optsteps> -- create a 1D "
1825 "energy vs. torsion plot."
1826 msgstr ""
1827 "> make_plot2 A B C D <div> <start_ang> <end_ang> I J K L <div> <start_ang> "
1828 "<end_ang> <optsteps> -- eine 1D-Energie gegen?ber einer "
1829 "Verdrehungsdarstellung erstellen"
1830
1831 #: ../src/project.cpp:949
1832 msgid ""
1833 "> make_plot2 A B C D <div> <start_ang> <end_ang> I J K L <div> <start_ang> "
1834 "<end_ang> <optsteps> -- create a 2D energy vs. torsions plot."
1835 msgstr ""
1836 "> make_plot2 A B C D <div> <start_ang> <end_ang> I J K L <div> <start_ang> "
1837 "<end_ang> <optsteps> -- eine 2D-Energie gegen?ber einem Torsions-Plot "
1838 "erstellen"
1839
1840 #: ../src/project.cpp:951
1841 # http://en.wikipedia.org/wiki/Equally_spaced_polynomial
1842 msgid ""
1843 "> population_analysis_ESP -- determine atomic charges using an ESP fit (for "
1844 "QM methods only)."
1845 msgstr ""
1846 "> population_analysis_ESP -- Atomladungen festlegen unter Benutzung eines "
1847 "ESP-Fits (nur f?r QM-Methoden)"
1848
1849 #: ../src/project.cpp:953
1850 msgid ""
1851 "> transition_state_search <delta_e> <initial_fc> -- perform a transition "
1852 "state search (for QM methods only)."
1853 msgstr ""
1854 "> transition_state_search <delta_e> <initial_fc> -- f?hrt eine "
1855 "?bergangszustandssuche durch (nur f?r QM-Methoden)"
1856
1857 #: ../src/project.cpp:954
1858 msgid ""
1859 "> stationary_state_search <steps> -- perform a search for a structure with "
1860 "no forces."
1861 msgstr ""
1862 "> stationary_state_search <Schritte> -- f?hrt eine Suche nach einer Struktur "
1863 "ohne Kr?fte durch"
1864
1865 #: ../src/project.cpp:956
1866 # FIXME s/orbtal/orbital/
1867 msgid ""
1868 "> set_current_orbital <orbital_index> -- set the current orbtal index for "
1869 "plotting the orbitals."
1870 msgstr ""
1871 "> set_current_orbital <Bahn_Index> -- setzt den aktuellen Orbitalindex f?r "
1872 "die grafische Darstellung der Orbitale"
1873
1874 #: ../src/project.cpp:958
1875 msgid "> update_chains -- detect polymer chains using sequence builder."
1876 msgstr ""
1877 "> update_chains -- Polymerketten unter Benutzung der Sequenzerstellung "
1878 "aufsp?ren"
1879
1880 #: ../src/project.cpp:959
1881 msgid "> build_amino <sequence> (helix/strand) -- amino acid sequence builder."
1882 msgstr "> build_amino <Sequenz> (helix/strand) -- Aminos?uren-Sequenzerstellung"
1883
1884 #: ../src/project.cpp:960
1885 msgid "> build_nucleic <sequence> -- nucleic acid sequence builder."
1886 msgstr "> build_nucleic <Sequenz> -- Nukleins?uren-Sequenzerstellung"
1887
1888 #: ../src/project.cpp:962
1889 msgid "> orient <crdset> -- orient the system in the XYZ coordinate system."
1890 msgstr "orient <crdset> -- das System im XYZ-Koordinatensystem ausrichten"
1891
1892 #: ../src/project.cpp:964
1893 msgid ""
1894 "> solvate_box <x-hdim> <y-hdim> <z-hdim> (<density> <filename> (export)) -- "
1895 "setup a solvation box."
1896 msgstr ""
1897 "> solvate_box <x-hdim> <y-hdim> <z-hdim> (<density> <filename> (export)) -- "
1898 "eine Solvatisierungsbox einrichten"
1899
1900 #: ../src/project.cpp:965
1901 msgid ""
1902 "> solvate_sphere <rad_solute> <rad_solvent> (<density> <filename>) -- setup "
1903 "a solvation sphere."
1904 msgstr ""
1905 "> solvate_sphere <rad_solute> <rad_solvent> (<density> <filename>) -- eine "
1906 "Solvatisierungssph?re einrichten"
1907
1908 #: ../src/project.cpp:967
1909 msgid "> set_formal_charge <index> <charge> -- set formal charges to atoms."
1910 msgstr "> set_formal_charge <index> <charge> -- Formalladungen der Atome setzen"
1911
1912 #: ../src/project.cpp:969
1913 msgid ""
1914 "> evaluate_Bfact -- evaluate B-factors for selected atoms (a trajectory file "
1915 "must be open)."
1916 msgstr ""
1917 "> evaluate_Bfact -- B-Faktoren f?r ausgew?hlte Atome untersuchen (eine "
1918 "Trajektorien-Datei muss offen sein)"
1919
1920 #: ../src/project.cpp:970
1921 msgid ""
1922 "> evaluate_diffconst <dt> -- evaluate diffusion constants for selected atoms "
1923 "(a trajectory file must be open, dt = time difference between frames [fs])."
1924 msgstr ""
1925 "> evaluate_diffconst <dt> -- Diffusionskonstanten f?r ausgew?hlte Atome "
1926 "untersuchen (eine Trajektorien-Datei muss offen sein, dt = Zeit zwischen "
1927 "Einzelbildern [fs])."
1928
1929 #: ../src/project.cpp:1010
1930 msgid "Added a new object : light ("
1931 msgstr "Ein neues Objekt hinzugef?gt : Lichtquelle ("
1932
1933 #: ../src/project.cpp:1011
1934 msgid "local"
1935 msgstr "lokaler"
1936
1937 #: ../src/project.cpp:1011
1938 msgid "global"
1939 msgstr "globaler"
1940
1941 #: ../src/project.cpp:1012
1942 msgid "directional"
1943 msgstr "direktionaler"
1944
1945 #: ../src/project.cpp:1012
1946 msgid "spotlight"
1947 msgstr "Scheinwerfer"
1948
1949 #: ../src/project.cpp:1041
1950 msgid "ERROR : add plane : unknown value function "
1951 msgstr "FEHLER : add plane : unbekannte Wertfunktion "
1952
1953 #: ../src/project.cpp:1055
1954 msgid "ERROR : add plane : unknown colour function "
1955 msgstr "FEHLER : add plane : unbekannte Farbfunktion "
1956
1957 #: ../src/project.cpp:1091
1958 msgid "Added a new object : plane ("
1959 msgstr "Ein neues Objekt hinzuf?gen : Ebene ("
1960
1961 #: ../src/project.cpp:1119
1962 msgid "ERROR : add volrend : unknown value function "
1963 msgstr "FEHLER : add volrend : unbekannte Wertfunktion "
1964
1965 #: ../src/project.cpp:1133
1966 msgid "ERROR : add volrend : unknown colour function "
1967 msgstr "FEHLER : add volrend : unbekannte Farbfunktion "
1968
1969 #: ../src/project.cpp:1166
1970 msgid "Added a new object : volrend ("
1971 msgstr "Ein neues Objekt hinzugef?gt : volrend ("
1972
1973 #: ../src/project.cpp:1199
1974 msgid "ERROR : add surf1 : unknown value function 1 "
1975 msgstr "FEHLER : add surf1 : unbekannte Wertfunktion 1 "
1976
1977 #: ../src/project.cpp:1214
1978 msgid "ERROR : add surf1 : unknown value function 2 "
1979 msgstr "FEHLER : add surf1 : unbekannte Wertfunktion 2 "
1980
1981 #: ../src/project.cpp:1228
1982 msgid "ERROR : add surf1 : unknown colour function "
1983 msgstr "FEHLER : add surf1 : unbekannte Farbfunktion"
1984
1985 #: ../src/project.cpp:1277
1986 msgid "Added a new object : surf1 ("
1987 msgstr "Ein neues Objekt hinzugef?gt : surf1 ("
1988
1989 #: ../src/project.cpp:1314
1990 msgid "ERROR : add surf2 : unknown value function 1 "
1991 msgstr "FEHLER : add surf2 : unbekannte Wertfunktion 1 "
1992
1993 #: ../src/project.cpp:1329
1994 msgid "ERROR : add surf2 : unknown value function 2 "
1995 msgstr "FEHLER : add surf2 : unbekannte Wertfunktion 2 "
1996
1997 #: ../src/project.cpp:1343
1998 msgid "ERROR : add surf2 : unknown colour function 1 "
1999 msgstr "FEHLER : add surf2 : unbekannte Farbfunktion 1 "
2000
2001 #: ../src/project.cpp:1357
2002 msgid "ERROR : add surf2 : unknown colour function 2 "
2003 msgstr "FEHLER : add surf2 : unbekannte Farbfunktion 2 "
2004
2005 #: ../src/project.cpp:1417
2006 msgid "Added a new object : surf2 ("
2007 msgstr "Ein neues Objekt hinzugef?gt : surf2 ("
2008
2009 #: ../src/project.cpp:1423
2010 msgid "ERROR : could not process command \"add\" for parameter "
2011 msgstr "FEHLER : Befehl ?add? konnte nicht verarbeitet werden f?r Parameter "
2012
2013 #: ../src/project.cpp:1581
2014 msgid "Sorry, this is for QM models only!"
2015 msgstr "Entschuldigung, dies ist nur f?r QM-Modelle!"
2016
2017 #: ../src/project.cpp:1628
2018 msgid "The current orbital is now "
2019 msgstr "Das aktuelle Orbital ist nun "
2020
2021 #: ../src/project.cpp:1673 ../src/project.cpp:1708
2022 msgid "built a sequence : "
2023 msgstr "eine Sequenz bilden : "
2024
2025 #: ../src/project.cpp:1721
2026 msgid "maximum dimensions:"
2027 msgstr "maximale Abmessungen:"
2028
2029 #: ../src/project.cpp:1823
2030 msgid "Sorry, atom not found!"
2031 msgstr "Entschuldigung, Atom nicht gefunden!"
2032
2033 #: ../src/project.cpp:1849
2034 msgid "ERROR : Unknown command : "
2035 msgstr "FEHLER : unbekannter Befehl : "
2036
2037 #: ../src/project.cpp:1850
2038 msgid "The \"help\" command will give more information about command strings."
2039 msgstr ""
2040 "Der Befehl ?help? wird weitere Informationen ?ber Befehlszeichenketten "
2041 "liefern."
2042
2043 #: ../src/project.cpp:1877
2044 msgid "local lights = "
2045 msgstr "lokale Lichtquellen = "
2046
2047 #: ../src/project.cpp:1877 ../src/project.cpp:1884
2048 msgid "on"
2049 msgstr "ein"
2050
2051 #: ../src/project.cpp:1877 ../src/project.cpp:1884
2052 msgid "off"
2053 msgstr "aus"
2054
2055 #: ../src/project.cpp:1884
2056 msgid "global lights = "
2057 msgstr "globale Lichtquellen = "
2058
2059 #: ../src/project.cpp:3256
2060 msgid "Group information about chains/residues is needed for this operation."
2061 msgstr ""
2062 "F?r diese Operation werden Gruppeninformationen ?ber Ketten/Reste ben?tigt."
2063
2064 #: ../src/project.cpp:3257
2065 msgid "Is it OK to update group information?"
2066 msgstr "Ist eine Aktualisierung der Gruppeninformationen in Ordnung?"
2067
2068 #: ../src/project.cpp:3271
2069 msgid "Sorry, no chain/residue information available for this atom."
2070 msgstr ""
2071 "Entschuldigung, f?r dieses Atom ist keine Ketten-/Restinformation verf?gbar."
2072
2073 #: ../src/project.cpp:3290
2074 msgid "selected atom "
2075 msgstr "ausgew?hltes Atom "
2076
2077 #: ../src/project.cpp:3290
2078 msgid " (atomtype = "
2079 msgstr " (Atomtyp = "
2080
2081 #: ../src/project.cpp:3302
2082 msgid "selected residue "
2083 msgstr "ausgew?hlter Rest "
2084
2085 #: ../src/project.cpp:3302
2086 msgid " from chain "
2087 msgstr " aus Kette "
2088
2089 #: ../src/project.cpp:3313
2090 msgid "selected chain "
2091 msgstr "ausgew?hlte Kette "
2092
2093 #: ../src/project.cpp:3337
2094 msgid "selected molecule "
2095 msgstr "ausgew?hltes Molek?l "
2096
2097 #. this must be OK.
2098 #: ../src/project.cpp:3366
2099 msgid "charge: "
2100 msgstr "Ladung; "
2101
2102 #: ../src/project.cpp:3384
2103 msgid "distance: "
2104 msgstr "Entfernung: "
2105
2106 #: ../src/project.cpp:3406
2107 msgid "angle: "
2108 msgstr "Winkel"
2109
2110 #: ../src/project.cpp:3406
2111 msgid " deg"
2112 msgstr " Grad"
2113
2114 #: ../src/project.cpp:3425
2115 msgid "torsion: "
2116 msgstr "Torsionswinkel: "
2117
2118 #: ../src/project.cpp:3425
2119 msgid " deg "
2120 msgstr " Grad "
2121
2122 #: ../src/project.cpp:3494
2123 msgid "MW: "
2124 msgstr "Molek?gewicht: "
2125
2126 #: ../src/project.cpp:3571
2127 msgid "ERROR : atom "
2128 msgstr "FEHLER : Atom "
2129
2130 #: ../src/project.cpp:3571 ../src/project.cpp:3757 ../src/project.cpp:3769
2131 msgid " not found!"
2132 msgstr " nicht gefunden!"
2133
2134 #: ../src/project.cpp:3591
2135 msgid "ERROR : could not find ic.\n"
2136 msgstr "FEHLER : ic konnte nicht gefunden werden.\n"
2137
2138 #: ../src/project.cpp:3609
2139 msgid "ERROR : could not find tor-term.\n"
2140 msgstr "FEHLER : tor-term konnte nicht gefunden werden.\n"
2141
2142 #: ../src/project.cpp:3613
2143 msgid "tor(deg)"
2144 msgstr "Torsion(Grad)"
2145
2146 #: ../src/project.cpp:3613 ../src/project.cpp:3830 ../src/project.cpp:3922
2147 msgid "E(kJ/mol)"
2148 msgstr "E(kJ/Mol)"
2149
2150 #: ../src/project.cpp:3664
2151 msgid "tor = "
2152 msgstr "Torsion = "
2153
2154 #: ../src/project.cpp:3664 ../src/project.cpp:3887
2155 msgid " deg, energy = "
2156 msgstr " Grad, Energie = "
2157
2158 #: ../src/project.cpp:3664 ../src/project.cpp:3887
2159 msgid " kJ/mol."
2160 msgstr " kJ/Mol."
2161
2162 #: ../src/project.cpp:3757
2163 msgid "ERROR : tor1 atom "
2164 msgstr "FEHLER : Torsion1-Atom"
2165
2166 #: ../src/project.cpp:3769
2167 msgid "ERROR : tor2 atom "
2168 msgstr "FEHLER : Torsion2-Atom"
2169
2170 #: ../src/project.cpp:3789
2171 msgid "ERROR : could not find ic for tor1.\n"
2172 msgstr "FEHLER : ic f?r Torsion1 konnte nicht gefunden werden.\n"
2173
2174 #: ../src/project.cpp:3796
2175 msgid "ERROR : could not find ic for tor2.\n"
2176 msgstr "FEHLER : ic f?r Torsion2 konnte nicht gefunden werden.\n"
2177
2178 #: ../src/project.cpp:3819
2179 msgid "ERROR : could not find tor-term for tor1.\n"
2180 msgstr "FEHLER : tor-term f?r Torsion1 konnte nicht gefunden werden.\n"
2181
2182 #: ../src/project.cpp:3826
2183 msgid "ERROR : could not find tor-term for tor2.\n"
2184 msgstr "FEHLER : tor-term f?r Torsion2 konnte nicht gefunden werden.\n"
2185
2186 #: ../src/project.cpp:3830
2187 msgid "tor1(deg)"
2188 msgstr "Torsion1(Grad)"
2189
2190 #: ../src/project.cpp:3830
2191 msgid "tor2(deg)"
2192 msgstr "Torsion2(Grad)"
2193
2194 #: ../src/project.cpp:3887
2195 msgid "tor1 = "
2196 msgstr "Torsion1 = "
2197
2198 #: ../src/project.cpp:3887
2199 msgid " deg, tor2 = "
2200 msgstr " Grad, Torsion2 = "
2201
2202 #: ../src/project.cpp:3912 ../src/project.cpp:3947
2203 msgid "r-energy = "
2204 msgstr "r-Energie = "
2205
2206 #: ../src/project.cpp:3912 ../src/project.cpp:3947
2207 msgid "p-energy = "
2208 msgstr "p-Energie = "
2209
2210 #: ../src/project.cpp:3913 ../src/project.cpp:3948
2211 msgid " is lower "
2212 msgstr " ist niedriger "
2213
2214 #: ../src/project.cpp:3952
2215 msgid "READY!"
2216 msgstr "FERTIG!"
2217
2218 #: ../src/project.cpp:4049
2219 msgid "Starting Stationary State Search "
2220 msgstr "Station?r-Zustandssuche wird gestartet"
2221
2222 #: ../src/project.cpp:4062
2223 msgid "Cycle Gradient Step\n"
2224 msgstr "Zyklus Gradient Schritt\n"
2225
2226 #: ../src/project.cpp:4077
2227 msgid "the nsteps termination test was passed.\n"
2228 msgstr "der Nsteps-Terminierungstest wurde durchlaufen.\n"
2229
2230 #: ../src/rcpview_wcl.cpp:161
2231 # FIXME s/tresholds/thresholds/
2232 msgid "the tresholds were set to "
2233 msgstr "die Schwellenwerte wurden gesetzt auf "
2234
2235 #: ../src/rcpview_wcl.cpp:161
2236 msgid " and "
2237 msgstr " und "
2238
2239 #. ################################################################################################
2240 #. eof
2241 #: ../src/res_gtk/gtk_file_export_dialog.glade.h:1
2242 #: ../src/res_gtk/gtk_file_import_dialog.glade.h:1
2243 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:1
2244 msgid "Browse..."
2245 msgstr "Durchsuchen ?"
2246
2247 #: ../src/res_gtk/gtk_file_export_dialog.glade.h:2
2248 msgid "Export File"
2249 msgstr "Datei exportieren"
2250
2251 #: ../src/res_gtk/gtk_file_import_dialog.glade.h:2
2252 msgid "Import File"
2253 msgstr "Datei importieren"
2254
2255 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:1
2256 msgid "Delta-E Cutoff:"
2257 msgstr "Delta-E-Schwellenwert:"
2258
2259 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:3
2260 msgid "Gradient Cutoff:"
2261 msgstr "Gradientschwellenwert:"
2262
2263 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:4
2264 msgid "Maximum # of Steps:"
2265 msgstr "Maximale # an Schritten:"
2266
2267 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:2
2268 msgid "Constant-P simulation (allow P-control at simulation stage)"
2269 msgstr "Constant-P-Simulation (erm?glicht P-control auf der Simulationsstufe)"
2270
2271 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:3
2272 msgid "Constant-T simulation (allow T-control at simulation stage)"
2273 msgstr "Constant-T-Simulation (erm?glicht T-control auf der Simulationsstufe)"
2274
2275 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:4
2276 msgid "Isothermal compressibility [1/bar] :"
2277 msgstr "Isothermische Verdichtbarkeit [1/bar] :"
2278
2279 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:6
2280 msgid "Number of steps : (cooling)"
2281 msgstr "Anzahl an Schritten : (K?hlung)"
2282
2283 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:7
2284 msgid "Number of steps : (equilibration)"
2285 msgstr "Anzahl an Schritten : (?quilibration)"
2286
2287 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:8
2288 msgid "Number of steps : (heating)"
2289 msgstr "Anzahl an Schritten : (Erw?rmung)"
2290
2291 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:9
2292 msgid "Number of steps : (simulation)"
2293 msgstr "Anzahl an Schritten : (Simulation)"
2294
2295 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:10
2296 msgid "P relaxation time [fs] :"
2297 msgstr "P-Entspannungszeit [fs] :"
2298
2299 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:11
2300 msgid "Pressure [bar] :"
2301 msgstr "Druck [bar] :"
2302
2303 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:12
2304 msgid "T relaxation time [fs] : (equil/simul)"
2305 msgstr "T-Entspannungszeit [fs] : (?quil/Simul)"
2306
2307 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:13
2308 msgid "T relaxation time [fs] : (heat/cool)"
2309 msgstr "T-Entspannungszeit [fs] : (heiss/kalt)"
2310
2311 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:14
2312 msgid "Temperature [K] :"
2313 msgstr "Temperatur [K] :"
2314
2315 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:15
2316 # FIXME s/Timestep/Time step/
2317 msgid "Timestep [fs] :"
2318 msgstr "Zeitschritt [fs] :"
2319
2320 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:16
2321 msgid "Trajectory File : "
2322 msgstr "Trajektorien-Datei : "
2323
2324 #: ../src/res_gtk/gtk_progress_dialog.glade.h:1
2325 msgid "Background Job"
2326 msgstr "Hintergrund-Job"
2327
2328 #: ../src/res_gtk/gtk_progress_dialog.glade.h:2
2329 msgid "Job Title : "
2330 msgstr "Job-Titel : "
2331
2332 #: ../src/res_gtk/gtk_setup_dialog.glade.h:1
2333 msgid "<b>Select the Engine Class:</b>"
2334 msgstr "<b>W?hlen Sie die Engine-Klasse aus:</b>"
2335
2336 #: ../src/res_gtk/gtk_setup_dialog.glade.h:2
2337 msgid "<b>Set the spin multiplicity of the system:</b>"
2338 msgstr "<b>Die Spin-Multiziplit?t des Systems setzen:</b>"
2339
2340 #: ../src/res_gtk/gtk_setup_dialog.glade.h:3
2341 msgid "<b>Set the total charge of the system:</b>"
2342 msgstr "<b>Die Gesamtladung des Systems setzen:</b>"
2343
2344 #: ../src/res_gtk/gtk_setup_dialog.glade.h:4
2345 msgid "Enable atomtype/parameter exceptions (AMBER FF)."
2346 msgstr "Atomtyp-/Parameterausnahmen aktivieren (AMBER FF)"
2347
2348 #: ../src/res_gtk/gtk_setup_dialog.glade.h:6
2349 msgid "MM/SF"
2350 msgstr "MM/SF"
2351
2352 #: ../src/res_gtk/gtk_setup_dialog.glade.h:7
2353 msgid "QM/MM"
2354 msgstr "QM/MM"
2355
2356 #: ../src/res_gtk/gtk_setup_dialog.glade.h:8
2357 msgid "Setup"
2358 msgstr "Einrichtung"
2359
2360 #: ../src/res_gtk/gtk_setup_dialog.glade.h:9
2361 msgid "Spin Multiplicity:"
2362 msgstr "Spin-Multiziplit?t:"
2363
2364 #: ../src/res_gtk/gtk_setup_dialog.glade.h:10
2365 msgid "Total Charge:"
2366 msgstr "Gesamtladung:"
2367
2368 #: ../src/res_gtk/gtk_setup_dialog.glade.h:11
2369 msgid "all MM"
2370 msgstr "alle MM"
2371
2372 #: ../src/res_gtk/gtk_setup_dialog.glade.h:12
2373 msgid "all QM"
2374 msgstr "alle QM"
2375
2376 #: ../src/res_gtk/gtk_setup_dialog.glade.h:13
2377 msgid "all SF"
2378 msgstr "alle SF"
2379
2380 #: ../src/res_gtk/gtk_setup_dialog.glade.h:14
2381 msgid "this is under construction and DISABLED currently!"
2382 msgstr "dies ist in Entwicklung und derzeit DEAKTIVIERT!"
2383
2384 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:1
2385 msgid "Relaxed Separation :"
2386 msgstr "Relaxierte Separation :"
2387
2388 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:2
2389 msgid "Stereo Displacement :"
2390 msgstr "Stereo-Verschiebung :"
2391
2392 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:3
2393 msgid "Stereo View Settings"
2394 msgstr "Stereo-Ansichtseinstellungen"
2395
2396 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:1
2397 msgid "Begin"
2398 msgstr "Anfang"
2399
2400 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:2
2401 msgid "End"
2402 msgstr "Ende"
2403
2404 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:3
2405 msgid "Play"
2406 msgstr "Abspielen"
2407
2408 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:4
2409 msgid "Trajectory Viewer"
2410 msgstr "Trajektorien-Betrachter"
2411
0 # Copyright (C) 2006, 2007 Free Software Foundation, Inc.
1 # translation of ghemical.po to Finnish
2 # This file is distributed under the same license as the Ghemical package.
3 #
4 # Maintainer: Tommi Hassinen <tommi.hassinen@uku.fi>, 2009
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: ghemical\n"
9 "Report-Msgid-Bugs-To: \n"
10 "POT-Creation-Date: 2009-04-21 14:25+0300\n"
11 "PO-Revision-Date: 2009-10-01 14:00+0300\n"
12 "Last-Translator: Tommi Hassinen <tommi.hassinen@uku.fi>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #: ../src/custom_app.cpp:100
19 msgid "Added global light."
20 msgstr "Lisätty globaali valo."
21
22 #: ../src/custom_app.cpp:114
23 msgid "Added local light."
24 msgstr "Lisätty paikallinen valo."
25
26 #: ../src/eldview_wcl.cpp:162
27 msgid "No data available,"
28 msgstr "Ei tietoa saatavilla,"
29
30 #: ../src/eldview_wcl.cpp:167
31 msgid "must be a QM model!"
32 msgstr "täytyy olla QM-malli!"
33
34 #: ../src/eldview_wcl.cpp:167
35 msgid "please calculate energy!"
36 msgstr "ole hyvä ja laske energia!"
37
38 #: ../src/gtk_app.cpp:92 ../src/gtk_oglview_wnd.cpp:38
39 msgid "File"
40 msgstr "Tiedosto"
41
42 #: ../src/gtk_app.cpp:93 ../src/res_gtk/gtk_setup_dialog.glade.h:5
43 msgid "Help"
44 msgstr "Apua"
45
46 #: ../src/gtk_app.cpp:95
47 msgid "New"
48 msgstr "Uusi"
49
50 #: ../src/gtk_app.cpp:95
51 msgid "Create a new file."
52 msgstr "Luo uusi tiedosto."
53
54 #. <control>N
55 #. ^^^^^^^^
56 #: ../src/gtk_app.cpp:96 ../src/gtk_oglview_wnd.cpp:40
57 msgid "Open"
58 msgstr "Avaa"
59
60 #: ../src/gtk_app.cpp:96
61 msgid "Open an existing file."
62 msgstr "Avaa olemassaoleva tiedosto."
63
64 #. <control>O
65 #: ../src/gtk_app.cpp:97 ../src/gtk_oglview_wnd.cpp:44
66 msgid "Save as..."
67 msgstr "Tallenna..."
68
69 #: ../src/gtk_app.cpp:97
70 msgid "Save a file."
71 msgstr "Tallenna tiedosto."
72
73 #. <control>S
74 #. { "ExportGraphics", GTK_STOCK_SAVE, N_("Export Graphics"), NULL, N_("Export graphics"), (GCallback) gtk_project::popup_FileExportGraphics },
75 #: ../src/gtk_app.cpp:98 ../src/gtk_oglview_wnd.cpp:49
76 msgid "Close"
77 msgstr "Sulje"
78
79 #: ../src/gtk_app.cpp:98
80 msgid "Quit the program."
81 msgstr "Poistu ohjelmasta."
82
83 #. <control>C
84 #: ../src/gtk_app.cpp:100
85 msgid "Contents"
86 msgstr "Sisällysluettelo"
87
88 #: ../src/gtk_app.cpp:100
89 msgid "View the User's Manual."
90 msgstr "Avaa käyttöohje."
91
92 #. <control>H
93 #: ../src/gtk_app.cpp:101
94 msgid "About"
95 msgstr "Tietoja"
96
97 #: ../src/gtk_app.cpp:101
98 msgid "Information about this program."
99 msgstr "Tietoja tästä ohjelmasta."
100
101 #. <control>A
102 #. the rest are toolbar actions...
103 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
104 #: ../src/gtk_app.cpp:106
105 msgid "Set the current element."
106 msgstr "Aseta piirtoon valittu alkuaine."
107
108 #: ../src/gtk_app.cpp:107
109 msgid "Set the current bondtype."
110 msgstr "Aseta piirtoon valittu sidostyyppi."
111
112 #: ../src/gtk_app.cpp:108
113 msgid "Setup or change the comp.chem. method in use."
114 msgstr "Asetukset laskentaa varten."
115
116 #: ../src/gtk_app.cpp:113
117 msgid "Draw ; add atoms and bonds to the model."
118 msgstr "Draw ; lisää atomeita ja sidoksia malliin."
119
120 #: ../src/gtk_app.cpp:114
121 msgid "Erase ; remove atoms and bonds from the model."
122 msgstr "Erase ; poista atomeita ja sidoksia mallista."
123
124 #: ../src/gtk_app.cpp:115
125 msgid "Select ; make selections in the model, and also select objects."
126 msgstr "Select ; valitse atomeita mallissa, tai valitse objekteja."
127
128 #: ../src/gtk_app.cpp:116
129 msgid "Zoom ; zoom the view."
130 msgstr "Zoom ; zoomaa näkymää."
131
132 #: ../src/gtk_app.cpp:117
133 msgid "Clipping ; set the near and far clipping planes for graphics rendering."
134 msgstr "Clipping ; säädä grafiikan leikkaustasoja."
135
136 #: ../src/gtk_app.cpp:118
137 msgid ""
138 "TranslateXY ; translate the camera or a selected object in XY-direction."
139 msgstr "TranslateXY ; siirrä kameraa tai valittua objektia XY-suunnassa."
140
141 #: ../src/gtk_app.cpp:119
142 msgid "TranslateZ ; translate the camera or a selected object in Z-direction."
143 msgstr "TranslateZ ; siirrä kameraa tai valittua objektia Z-suunnassa."
144
145 #: ../src/gtk_app.cpp:120
146 msgid ""
147 "OrbitXY ; orbit the camera or a selected object around the focus point in XY-"
148 "direction."
149 msgstr ""
150 "OrbitXY ; pyöritä kameraa tai valittua objektia fokuspisteen ympäri XY-"
151 "suunnassa."
152
153 #: ../src/gtk_app.cpp:121
154 msgid ""
155 "OrbitZ ; orbit the camera or a selected object around the focus point in Z-"
156 "direction."
157 msgstr ""
158 "OrbitZ ; pyöritä kameraa tai valittua objektia fokuspisteen ympäri Z-"
159 "suunnassa."
160
161 #: ../src/gtk_app.cpp:122
162 msgid "RotateXY ; turn the camera or a selected object in XY-direction."
163 msgstr "RotateXY ; käännä kameraa tai valittua objektia XY-suunnassa."
164
165 #: ../src/gtk_app.cpp:123
166 msgid "RotateZ ; turn the camera or a selected object in Z-direction."
167 msgstr "RotateZ ; käännä kameraa tai valittua objektia Z-suunnassa."
168
169 #: ../src/gtk_app.cpp:124
170 msgid "Measure ; measure distances, angles and torsions."
171 msgstr "Measure ; mittaa etäisyyksiä, kulmia ja torsiokulmia."
172
173 #: ../src/gtk_app.cpp:207
174 msgid "Set to Current Object"
175 msgstr "Aseta valituksi objektiksi"
176
177 #: ../src/gtk_app.cpp:207
178 msgid "Set this object to Current Object"
179 msgstr "Aseta tämä objekti valituksi objektiksi"
180
181 #: ../src/gtk_app.cpp:208
182 msgid "Delete Object/View"
183 msgstr "Poista objekti/näkymä"
184
185 #: ../src/gtk_app.cpp:208
186 msgid "Delete this object or view"
187 msgstr "Poista tämä tämä objekti tai ikkuna"
188
189 #: ../src/gtk_app.cpp:225
190 msgid "Update View"
191 msgstr "Päivitä näkymä"
192
193 #: ../src/gtk_app.cpp:225
194 msgid "Rebuild the chains info for this view"
195 msgstr "Päivitä ketjujen tiedot tätä näkymää varten"
196
197 #: ../src/gtk_app.cpp:226
198 msgid "Select Item"
199 msgstr "Valitse ketju/tähde"
200
201 #: ../src/gtk_app.cpp:226
202 msgid "Select/unselect this chain/residue"
203 msgstr "Valitse tämä ketju/tähde tai poista valinta"
204
205 #: ../src/gtk_app.cpp:243
206 msgid "Select Atom"
207 msgstr "Valitse atomi"
208
209 #: ../src/gtk_app.cpp:243
210 msgid "Select/unselect this atom"
211 msgstr "Valitse tämä atomi tai poista valinta"
212
213 #: ../src/gtk_app.cpp:258
214 msgid "Select Bond"
215 msgstr "Valitse sidos"
216
217 #: ../src/gtk_app.cpp:258
218 msgid "Select/unselect this bond"
219 msgstr "Valitse tämä sidos tai poista valinta"
220
221 #: ../src/gtk_app.cpp:344
222 msgid "Ghemical"
223 msgstr ""
224
225 #: ../src/gtk_app.cpp:351
226 #, c-format
227 msgid "ERROR : Icon loading failed : %s\n"
228 msgstr "VIRHE : Ikonin lataaminen epäonnistui : %s\n"
229
230 #: ../src/gtk_app.cpp:381
231 #, c-format
232 msgid "ERROR : Building main menu failed : %s"
233 msgstr "VIRHE : Päämenun luominen epäonnistui : %s"
234
235 #: ../src/gtk_app.cpp:566
236 msgid "project view"
237 msgstr "projektinäkymä"
238
239 #. optional : draw the stripes to background.
240 #. ??? (string)
241 #: ../src/gtk_app.cpp:584
242 msgid "Object"
243 msgstr "Objekti"
244
245 #. ??? (string)
246 #: ../src/gtk_app.cpp:588
247 msgid "Sub-Objects"
248 msgstr "Aliobjektit"
249
250 #: ../src/gtk_app.cpp:591
251 msgid "Views/Objects"
252 msgstr "Näkymät/Objektit"
253
254 #: ../src/gtk_app.cpp:604
255 #, c-format
256 msgid "ERROR : Building Views/Objects menu in project view failed : %s"
257 msgstr ""
258 "VIRHE : Näkymät/Objektit-menun luominen projektinäkymässä epäonnistui : %s"
259
260 #. optional : draw the stripes to background.
261 #. chain_info (string)
262 #: ../src/gtk_app.cpp:620
263 msgid "Chain Description"
264 msgstr "Ketjun kuvaus"
265
266 #. res_num (string)
267 #: ../src/gtk_app.cpp:624
268 msgid "Residue Number"
269 msgstr "Tähteen numero"
270
271 #. res_id (string)
272 #: ../src/gtk_app.cpp:628
273 msgid "Residue ID"
274 msgstr "Tähteen ID"
275
276 #. res_state1 (string)
277 #: ../src/gtk_app.cpp:632
278 msgid "Sec-Str State"
279 msgstr "Sek-rakenteen tila"
280
281 #. res_state2 (string)
282 #: ../src/gtk_app.cpp:636
283 msgid "Protonation State"
284 msgstr "Protonaatiotila"
285
286 #: ../src/gtk_app.cpp:639
287 msgid "Chains"
288 msgstr "Ketjut"
289
290 #: ../src/gtk_app.cpp:652
291 #, c-format
292 msgid "ERROR : Building Chains menu in project view failed : %s"
293 msgstr "VIRHE : Ketjut-menun luominen projektinäkymässä epäonnistui : %s"
294
295 #. optional : draw the stripes to background.
296 #. index1
297 #: ../src/gtk_app.cpp:668
298 msgid "Atom Index"
299 msgstr "Atomin numero"
300
301 #. element
302 #. ^^^^^^^^^^^^^
303 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
304 #: ../src/gtk_app.cpp:672 ../src/gtk_oglview_wnd.cpp:112
305 #: ../src/gtk_oglview_wnd.cpp:120
306 msgid "Element"
307 msgstr "Alkuaine"
308
309 #: ../src/gtk_app.cpp:678
310 msgid "Locked"
311 msgstr "Lukittu"
312
313 #: ../src/gtk_app.cpp:681
314 msgid "Atoms"
315 msgstr "Atomit"
316
317 #: ../src/gtk_app.cpp:694
318 #, c-format
319 msgid "ERROR : Building Atoms menu in project view failed : %s"
320 msgstr "VIRHE : Atomit-menun luominen projektinäkymässä epäonnistui : %s"
321
322 #. optional : draw the stripes to background.
323 #. index1
324 #: ../src/gtk_app.cpp:710
325 msgid "Atom Index #1"
326 msgstr "Atomin 1 numero"
327
328 #. index2
329 #: ../src/gtk_app.cpp:714
330 msgid "Atom Index #2"
331 msgstr "Atomin 2 numero"
332
333 #. bondtype
334 #: ../src/gtk_app.cpp:718
335 msgid "BondType"
336 msgstr "Sidostyyppi"
337
338 #: ../src/gtk_app.cpp:721
339 msgid "Bonds"
340 msgstr "Sidokset"
341
342 #: ../src/gtk_app.cpp:734
343 #, c-format
344 msgid "ERROR : Building Bonds menu in project view failed : %s"
345 msgstr "VIRHE : Sidokset-menun luominen projektinäkymässä epäonnistui : %s"
346
347 #. protect the model-data during background jobs...
348 #: ../src/gtk_app.cpp:772
349 msgid ""
350 "Are you sure that you\n"
351 "want to quit the program?"
352 msgstr ""
353 "Oletko varma että\n"
354 "haluat sulkea ohjelman?"
355
356 #: ../src/gtk_app.cpp:839
357 msgid "gtk_app::sPrintToLog() : message is too long!"
358 msgstr "gtk_app::sPrintToLog() : viesti on liian pitkä!"
359
360 #: ../src/gtk_app.cpp:898
361 msgid "window "
362 msgstr "ikkuna "
363
364 #: ../src/gtk_app.cpp:899 ../src/gtk_app.cpp:903
365 msgid " (detached)"
366 msgstr " (irrotettu)"
367
368 #: ../src/gtk_app.cpp:899
369 msgid " (attached)"
370 msgstr " (kiinnitetty)"
371
372 #: ../src/gtk_app.cpp:901
373 msgid "cam "
374 msgstr "kam "
375
376 #: ../src/gtk_app.cpp:902
377 msgid "wnd "
378 msgstr "ikk "
379
380 #: ../src/gtk_app.cpp:921 ../src/gtk_app.cpp:922
381 msgid "RC plot view"
382 msgstr "RC-plot-näkymä"
383
384 #: ../src/gtk_app.cpp:927 ../src/gtk_app.cpp:928
385 msgid "1D plot view"
386 msgstr "1D-plot-näkymä"
387
388 #: ../src/gtk_app.cpp:934 ../src/gtk_app.cpp:935
389 msgid "2D plot view"
390 msgstr "2D-plot-näkymä"
391
392 #: ../src/gtk_app.cpp:941 ../src/gtk_app.cpp:942
393 msgid "energy-level diagram view"
394 msgstr "energiatasokaavio"
395
396 #: ../src/gtk_app.cpp:947 ../src/gtk_app.cpp:948
397 msgid "generic protein chain view"
398 msgstr "proteiiniketjunäkymä"
399
400 #: ../src/gtk_app.cpp:953 ../src/gtk_app.cpp:954
401 msgid "<unknown view>"
402 msgstr "<tuntematon näkymä>"
403
404 #: ../src/gtk_app.cpp:980 ../src/project.cpp:617
405 msgid "camera "
406 msgstr "kamera "
407
408 #: ../src/gtk_app.cpp:1247 ../src/gtk_app.cpp:1255 ../src/gtk_app.cpp:1291
409 #: ../src/gtk_app.cpp:1316
410 msgid "Object "
411 msgstr "Objekti "
412
413 #: ../src/gtk_app.cpp:1247 ../src/gtk_app.cpp:1255
414 msgid " is set to current object."
415 msgstr " on asetettu valituksi objektiksi."
416
417 #: ../src/gtk_app.cpp:1258 ../src/gtk_app.cpp:1324
418 msgid "Sorry, this operation is not yet implemented."
419 msgstr "Tätä toimintoa ei ole vielä toteutettu."
420
421 #: ../src/gtk_app.cpp:1291 ../src/gtk_app.cpp:1316
422 msgid " is deleted."
423 msgstr " on poistettu."
424
425 #. if (ci_vector[n1].description... // this is not implemented at the moment...
426 #: ../src/gtk_app.cpp:1348
427 msgid "chain #"
428 msgstr "ketju #"
429
430 #: ../src/gtk_app.cpp:1355
431 msgid " chain)."
432 msgstr " ketju)."
433
434 #. make the list show the updated information...
435 #: ../src/gtk_app.cpp:1606
436 #, c-format
437 msgid "Atom locking changed : %s\n"
438 msgstr "Atomin lukitus muuttunut : %s\n"
439
440 #: ../src/gtk_app.cpp:1606
441 msgid "yes"
442 msgstr "kyllä"
443
444 #: ../src/gtk_app.cpp:1606
445 msgid "no"
446 msgstr "ei"
447
448 #: ../src/gtk_app.cpp:1632
449 msgid "Conjugated"
450 msgstr "Konjugoitu"
451
452 #: ../src/gtk_app.cpp:1633
453 msgid "Single"
454 msgstr "Yksinkertainen"
455
456 #: ../src/gtk_app.cpp:1634
457 msgid "Double"
458 msgstr "Kaksinkertainen"
459
460 #: ../src/gtk_app.cpp:1635
461 msgid "Triple"
462 msgstr "Kolminkertainen"
463
464 #: ../src/gtk_app.cpp:2068
465 msgid "Displaying the User's Manual using the following command:"
466 msgstr "Avataan käyttöohje seuraavan komennon avulla:"
467
468 #: ../src/gtk_app.cpp:2078
469 msgid "Ghemical-"
470 msgstr ""
471
472 #: ../src/gtk_app.cpp:2078
473 msgid " released on "
474 msgstr " julkaistu "
475
476 #: ../src/gtk_app.cpp:2080
477 msgid "For more information please visit:"
478 msgstr "Lisätietoa web-sivulla:"
479
480 #: ../src/gtk_app.cpp:2088
481 msgid "Authors:"
482 msgstr "Tekijät:"
483
484 #: ../src/gtk_eldview_wnd.cpp:32 ../src/gtk_gpcview_wnd.cpp:32
485 #: ../src/gtk_oglview_wnd.cpp:36 ../src/gtk_p1dview_wnd.cpp:32
486 #: ../src/gtk_p2dview_wnd.cpp:32 ../src/gtk_rcpview_wnd.cpp:32
487 msgid "Attach/Detach This View"
488 msgstr "Kiinnitä/Irrota tämä näkymä"
489
490 #: ../src/gtk_eldview_wnd.cpp:32 ../src/gtk_gpcview_wnd.cpp:32
491 #: ../src/gtk_oglview_wnd.cpp:36 ../src/gtk_p1dview_wnd.cpp:32
492 #: ../src/gtk_p2dview_wnd.cpp:32 ../src/gtk_rcpview_wnd.cpp:32
493 msgid "Select whether this view is attached or in an independent window"
494 msgstr ""
495 "Valitse onko tämä näkymä kiinnitettynä vai näkyykö se omassa ikkunassaan"
496
497 #: ../src/gtk_eldview_wnd.cpp:33 ../src/gtk_gpcview_wnd.cpp:33
498 #: ../src/gtk_p1dview_wnd.cpp:33 ../src/gtk_p2dview_wnd.cpp:33
499 #: ../src/gtk_rcpview_wnd.cpp:33
500 msgid "Delete View"
501 msgstr "Poista näkymä"
502
503 #: ../src/gtk_eldview_wnd.cpp:33 ../src/gtk_gpcview_wnd.cpp:33
504 #: ../src/gtk_p1dview_wnd.cpp:33 ../src/gtk_p2dview_wnd.cpp:33
505 #: ../src/gtk_rcpview_wnd.cpp:33
506 msgid "Delete this view"
507 msgstr "Sulje tämä näkymä tai ikkuna"
508
509 #: ../src/gtk_eldview_wnd.cpp:57
510 #, c-format
511 msgid "ERROR : Building popup-menu for gtk_eldview_wnd failed : %s"
512 msgstr ""
513 "VIRHE : ponnahdusmenun luominen gtk_eldview_wnd-näkymään epäonnistui : %s"
514
515 #: ../src/gtk_file_export_dialog.cpp:41
516 msgid "file_export_dialog : glade_xml_get_widget() failed!!!"
517 msgstr ""
518
519 #: ../src/gtk_file_export_dialog.cpp:52 ../src/gtk_file_import_dialog.cpp:52
520 msgid "Automatic"
521 msgstr "Automaattinen"
522
523 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
524 #. handle the file selection...
525 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
526 #: ../src/gtk_file_export_dialog.cpp:131
527 msgid "Select a filename for export."
528 msgstr "Valitse vietävän (export) tiedoston nimi."
529
530 #: ../src/gtk_file_import_dialog.cpp:41
531 msgid "file_import_dialog : glade_xml_get_widget() failed!!!"
532 msgstr ""
533
534 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
535 #. handle the file selection...
536 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
537 #: ../src/gtk_file_import_dialog.cpp:133
538 msgid "Select a file to import."
539 msgstr "Valitse tuotava (import) tiedosto."
540
541 #: ../src/gtk_geomopt_dialog.cpp:41
542 msgid "WARNING : geomopt_dialog : glade_xml_get_widget() failed!!!"
543 msgstr ""
544
545 #: ../src/gtk_gpcview_wnd.cpp:57
546 #, c-format
547 msgid "ERROR : Building popup-menu for gtk_gpcview_wnd failed : %s"
548 msgstr ""
549 "VIRHE : ponnahdusmenun luominen gtk_gpcview_wnd-näkymään epäonnistui : %s"
550
551 #: ../src/gtk_main.cpp:45
552 msgid "open a file"
553 msgstr "avaa tiedosto"
554
555 #: ../src/gtk_main.cpp:46
556 msgid "import a file"
557 msgstr "tuo tiedosto (import)"
558
559 #: ../src/gtk_main.cpp:61
560 msgid "- a GTK2 molecular modelling program"
561 msgstr "- GTK2-molekyylimallitusohjelma"
562
563 #: ../src/gtk_main.cpp:84
564 #, c-format
565 msgid "OpenGL extension version - %d.%d\n"
566 msgstr ""
567
568 #: ../src/gtk_main.cpp:140
569 msgid "Sorry! The file import feature is disabled ; you need to recompile"
570 msgstr ""
571 "Tiedoston tuontiominaisuus (import) ei ole käytettävissä ; uudelleenkäännä"
572
573 #: ../src/gtk_main.cpp:141
574 msgid "libghemical with --enable-openbabel option in order to fix this."
575 msgstr "libghemical optiolla --enable-openbabel niin tilanne korjaantuu."
576
577 #: ../src/gtk_moldyn_dialog.cpp:42
578 msgid "WARNING : moldyn_dialog : glade_xml_get_widget() failed!!!"
579 msgstr ""
580
581 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
582 #. handle the file selection...
583 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
584 #: ../src/gtk_moldyn_dialog.cpp:232
585 msgid "Select a Trajectory File."
586 msgstr "Valitse liikeratatiedosto."
587
588 #: ../src/gtk_oglview_wnd.cpp:40
589 msgid "Open a file"
590 msgstr "Avaa tiedosto"
591
592 #: ../src/gtk_oglview_wnd.cpp:42
593 msgid "Import..."
594 msgstr "Tuo tiedosto..."
595
596 #: ../src/gtk_oglview_wnd.cpp:42
597 msgid "Import other file formats using libopenbabel"
598 msgstr "Lue muita tiedostoformaatteja libopenbabel:in avulla"
599
600 #: ../src/gtk_oglview_wnd.cpp:44
601 msgid "Save a file"
602 msgstr "Tallenna tiedosto"
603
604 #: ../src/gtk_oglview_wnd.cpp:46
605 msgid "Export"
606 msgstr "Vie tiedosto"
607
608 #: ../src/gtk_oglview_wnd.cpp:46
609 msgid "Export other file formats using OpenBabel"
610 msgstr "Kirjoita muita tiedostoformaatteja libopenbabel:in avulla"
611
612 #: ../src/gtk_oglview_wnd.cpp:49
613 msgid "Close the file"
614 msgstr "Sulje tiedosto"
615
616 #: ../src/gtk_oglview_wnd.cpp:51
617 msgid "Extra Tools"
618 msgstr "Lisätyökaluja"
619
620 #. ^^^^^^^^^^^^^
621 #: ../src/gtk_oglview_wnd.cpp:53
622 msgid "Import PDB"
623 msgstr "Tuo PDB-tiedosto"
624
625 #: ../src/gtk_oglview_wnd.cpp:53
626 msgid "Import a PDB file"
627 msgstr "Luo tiedosto PDB-formaatissa (import)"
628
629 #. { "FileExtra2", NULL, N_("Import ???"), NULL, N_("Import a ??? file"), (GCallback) gtk_project::popup_FileExtra2 },
630 #: ../src/gtk_oglview_wnd.cpp:56
631 msgid "Select"
632 msgstr "Valitse"
633
634 #. ^^^^^^^^^^
635 #: ../src/gtk_oglview_wnd.cpp:58
636 msgid "Select All"
637 msgstr "Valitse kaikki"
638
639 #: ../src/gtk_oglview_wnd.cpp:58
640 msgid "Select all atoms"
641 msgstr "Valitse kaikki atomit"
642
643 #: ../src/gtk_oglview_wnd.cpp:59
644 msgid "Select None"
645 msgstr "Poista valinnat"
646
647 #: ../src/gtk_oglview_wnd.cpp:59
648 msgid "Select nothing"
649 msgstr "Poista kaikki valinnat"
650
651 #: ../src/gtk_oglview_wnd.cpp:60
652 msgid "Invert Selection"
653 msgstr "Käännä valinnat päinvastoin"
654
655 #: ../src/gtk_oglview_wnd.cpp:60
656 msgid "Invert the selection"
657 msgstr ""
658 "Käännä valinnat päinvastoin ; valitut tulevat ei-valituiksi ja ei-valitut "
659 "valituiksi"
660
661 #: ../src/gtk_oglview_wnd.cpp:61
662 msgid "Hide Selected"
663 msgstr "Piilota valitut"
664
665 #: ../src/gtk_oglview_wnd.cpp:61
666 msgid "Hide all selected atoms"
667 msgstr "Piilota valitut atomit"
668
669 #: ../src/gtk_oglview_wnd.cpp:62
670 msgid "Show Selected"
671 msgstr "Näytä valitut"
672
673 #: ../src/gtk_oglview_wnd.cpp:62
674 msgid "Show all selected atoms"
675 msgstr "Näytää kaikki valitut atomit"
676
677 #: ../src/gtk_oglview_wnd.cpp:63
678 msgid "Lock Selected"
679 msgstr "Lukitse valitut"
680
681 #: ../src/gtk_oglview_wnd.cpp:63
682 msgid "Lock all selected atoms"
683 msgstr "Lukitse kaikki valitut atomit"
684
685 #: ../src/gtk_oglview_wnd.cpp:64
686 msgid "Unlock Selected"
687 msgstr "Vapauta valitut atomit"
688
689 #: ../src/gtk_oglview_wnd.cpp:64
690 msgid "Unlock all selected atoms"
691 msgstr "Vapauta kaikki valitut atomit"
692
693 #: ../src/gtk_oglview_wnd.cpp:65
694 msgid "Delete Selected"
695 msgstr "Poista valitut"
696
697 #: ../src/gtk_oglview_wnd.cpp:65
698 msgid "Delete all selected atoms"
699 msgstr "Poista kaikki valitut atomit"
700
701 #: ../src/gtk_oglview_wnd.cpp:67
702 msgid "Selection Mode"
703 msgstr "Valintatila"
704
705 #. ^^^^^^^^^^^^^^
706 #. todo : convert these into toggle items so that the setting from project is show in each of the graphics views...
707 #: ../src/gtk_oglview_wnd.cpp:70
708 msgid "Select Atoms"
709 msgstr "Valitse atomeita"
710
711 #: ../src/gtk_oglview_wnd.cpp:70
712 msgid "Select single atoms"
713 msgstr "Valitse yksittäisiä atomeita"
714
715 #: ../src/gtk_oglview_wnd.cpp:71
716 msgid "Select Residues"
717 msgstr "Valitse tähteitä"
718
719 #: ../src/gtk_oglview_wnd.cpp:71
720 msgid "Select residues"
721 msgstr "Valitse kokonaisia amino- tai nukleiinihappotähteitä"
722
723 #: ../src/gtk_oglview_wnd.cpp:72
724 msgid "Select Chains"
725 msgstr "Valitse ketjuja"
726
727 #: ../src/gtk_oglview_wnd.cpp:72
728 msgid "Select chains"
729 msgstr "Valitse kokonaisia amino- tai nukleiinihappoketjuja"
730
731 #: ../src/gtk_oglview_wnd.cpp:73
732 msgid "Select Molecules"
733 msgstr "Valitse molekyylejä"
734
735 #: ../src/gtk_oglview_wnd.cpp:73
736 msgid "Select molecules"
737 msgstr "Valitse kokonaisia molekyylejä"
738
739 #: ../src/gtk_oglview_wnd.cpp:75
740 msgid "Render"
741 msgstr "Piirto"
742
743 #. ^^^^^^^^^^
744 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
745 #: ../src/gtk_oglview_wnd.cpp:78
746 msgid "Quick Update Mode"
747 msgstr "Nopeapiirtotila"
748
749 #: ../src/gtk_oglview_wnd.cpp:78
750 msgid ""
751 "Quick Update Mode switches into Wireframe rendering mode when doing "
752 "interactive work"
753 msgstr ""
754 "Nopeapiirtotilassa grafiikka piirretään rautalankamallina silloin kun "
755 "tehdään interaktiivista työskentelyä"
756
757 #: ../src/gtk_oglview_wnd.cpp:80
758 msgid "Views"
759 msgstr "Näkymät"
760
761 #. ^^^^^^^^^^^^^
762 #: ../src/gtk_oglview_wnd.cpp:82
763 msgid "Delete This View"
764 msgstr "Sulje tämä näkymä"
765
766 #: ../src/gtk_oglview_wnd.cpp:82
767 msgid "Delete this graphics view"
768 msgstr "Sulje tämä grafiikkanäkymä"
769
770 #: ../src/gtk_oglview_wnd.cpp:83
771 msgid "Save a CRD-set (experimental)"
772 msgstr ""
773
774 #: ../src/gtk_oglview_wnd.cpp:83
775 msgid "Save a coordinate set"
776 msgstr ""
777
778 #: ../src/gtk_oglview_wnd.cpp:84
779 msgid "Superimpose CRD-sets (experimental)"
780 msgstr ""
781
782 #: ../src/gtk_oglview_wnd.cpp:84
783 msgid "Superimpose coordinate sets"
784 msgstr ""
785
786 #: ../src/gtk_oglview_wnd.cpp:86
787 msgid "Create"
788 msgstr "Lisää"
789
790 #. ^^^^^^^^^^^^^^^^^^^
791 #: ../src/gtk_oglview_wnd.cpp:88
792 msgid "New Window"
793 msgstr "Uusi ikkuna"
794
795 #: ../src/gtk_oglview_wnd.cpp:88
796 msgid "Create a new view using the current camera"
797 msgstr "Lisää uusi grafiikkanäkymä käyttäen nykyistä kameraa"
798
799 #: ../src/gtk_oglview_wnd.cpp:89
800 msgid "New Camera"
801 msgstr "Uusi kamera"
802
803 #: ../src/gtk_oglview_wnd.cpp:89
804 msgid "Create a new view using a new camera"
805 msgstr "Lisää uusi grafiikkanäkymä käyttäen uutta kameraa"
806
807 #: ../src/gtk_oglview_wnd.cpp:90
808 msgid "Energy-level Diagram"
809 msgstr "Energiatasokaavio"
810
811 #: ../src/gtk_oglview_wnd.cpp:90
812 msgid "Create a new energy-level diagram view"
813 msgstr "Lisää uusi näkymä jossa energiatasokaavio"
814
815 #: ../src/gtk_oglview_wnd.cpp:91
816 msgid "Secondary Structure Constraints"
817 msgstr "Sekundäärirakennepakotteet"
818
819 #: ../src/gtk_oglview_wnd.cpp:91
820 msgid "Create a new secondary structure constraints view"
821 msgstr "Lisää uusi näkymä jossa sekundäärirakennepakotteet"
822
823 #: ../src/gtk_oglview_wnd.cpp:93
824 msgid "Lights"
825 msgstr "Valot"
826
827 #. ^^^^^^^^^^^^^^
828 #: ../src/gtk_oglview_wnd.cpp:95
829 msgid "Create New Light"
830 msgstr "Luo uusi valo"
831
832 #: ../src/gtk_oglview_wnd.cpp:95
833 msgid "Create a new light object"
834 msgstr "Luo uusi valo-objekti"
835
836 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
837 #: ../src/gtk_oglview_wnd.cpp:97
838 msgid "Enable Local Lights"
839 msgstr "Salli paikalliset valot"
840
841 #: ../src/gtk_oglview_wnd.cpp:97
842 msgid "Switch on/off the local light objects"
843 msgstr "Kytke paikalliset valo-objektit päälle tai pois"
844
845 #: ../src/gtk_oglview_wnd.cpp:98
846 msgid "Enable Global Lights"
847 msgstr "Salli globaalit valot"
848
849 #: ../src/gtk_oglview_wnd.cpp:98
850 msgid "Switch on/off the global light objects"
851 msgstr "Kytke globaalit valo-objektit päälle tai pois"
852
853 #: ../src/gtk_oglview_wnd.cpp:100
854 msgid "Render Mode"
855 msgstr "Piirtotila"
856
857 #. ^^^^^^^^^^^^^^
858 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
859 #: ../src/gtk_oglview_wnd.cpp:103
860 msgid "Ball & Stick"
861 msgstr "Pallotikkumalli"
862
863 #: ../src/gtk_oglview_wnd.cpp:103
864 msgid "Display atoms and bonds using Ball & Stick mode"
865 msgstr "Piirrä atomit ja sidokset pallotikkumallia käyttäen"
866
867 #: ../src/gtk_oglview_wnd.cpp:104
868 msgid "van der Waals"
869 msgstr ""
870
871 #: ../src/gtk_oglview_wnd.cpp:104
872 msgid "Display atoms and bonds using van der Waals mode"
873 msgstr "Piirrä atomit van der Waals-pintoina"
874
875 #: ../src/gtk_oglview_wnd.cpp:105
876 msgid "Cylinders"
877 msgstr "Sylinterimalli"
878
879 #: ../src/gtk_oglview_wnd.cpp:105
880 msgid "Display atoms and bonds using Cylinders mode"
881 msgstr "Piirrä atomit ja sidokset sylinterimallia käyttäen"
882
883 #: ../src/gtk_oglview_wnd.cpp:106
884 msgid "Wireframe"
885 msgstr "Rautalankamalli"
886
887 #: ../src/gtk_oglview_wnd.cpp:106
888 msgid "Display atoms and bonds using Wireframe mode"
889 msgstr "Piirrä atomit ja sidokset rautalankamallia käyttäen"
890
891 #: ../src/gtk_oglview_wnd.cpp:107 ../src/gtk_oglview_wnd.cpp:128
892 msgid "Nothing"
893 msgstr "Ei mitään"
894
895 #: ../src/gtk_oglview_wnd.cpp:107
896 msgid "Do not display atoms and bonds"
897 msgstr "Älä piirrä lainkaan atomeita tai sidoksia"
898
899 #: ../src/gtk_oglview_wnd.cpp:109
900 msgid "Color Mode"
901 msgstr "Väritystila"
902
903 #: ../src/gtk_oglview_wnd.cpp:112
904 msgid "Color atoms and bonds by element"
905 msgstr "Väritä atomit ja sidokset alkuaineen mukaan"
906
907 #: ../src/gtk_oglview_wnd.cpp:113 ../src/gtk_oglview_wnd.cpp:127
908 msgid "Sec-Struct"
909 msgstr "Sek-rakenne"
910
911 #: ../src/gtk_oglview_wnd.cpp:113
912 msgid "Color atoms and bonds by secondary-structure state"
913 msgstr "Väritä atomit ja sidokset sekundäärirakenteen mukaan"
914
915 #: ../src/gtk_oglview_wnd.cpp:114
916 msgid "Hydrophobicity"
917 msgstr "Hydrofobisuus"
918
919 #: ../src/gtk_oglview_wnd.cpp:114
920 msgid "Color atoms and bonds by hydrophobicity (experimental)"
921 msgstr "Väritä atomit ja sidokset hydrofobisuuden mukaan (experimental)"
922
923 #: ../src/gtk_oglview_wnd.cpp:116
924 msgid "Label Mode"
925 msgstr "Nimilapputila"
926
927 #. ^^^^^^^^^^^^^
928 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
929 #: ../src/gtk_oglview_wnd.cpp:119
930 msgid "Index"
931 msgstr "Atomin numero"
932
933 #: ../src/gtk_oglview_wnd.cpp:119
934 msgid "Label atoms by atom index"
935 msgstr "Näytä nimilapussa atomin indeksi"
936
937 #: ../src/gtk_oglview_wnd.cpp:120
938 msgid "Label atoms by element"
939 msgstr "Näytä nimilapussa atomin alkuaine"
940
941 #: ../src/gtk_oglview_wnd.cpp:121
942 msgid "Formal Charge"
943 msgstr "Muodollinen varaus"
944
945 #: ../src/gtk_oglview_wnd.cpp:121
946 msgid "Label atoms by formal charge"
947 msgstr "Näytä nimilapussa atomin muodollinen varaus"
948
949 #: ../src/gtk_oglview_wnd.cpp:122
950 msgid "Partial Charge"
951 msgstr "Osittaisvaraus"
952
953 #: ../src/gtk_oglview_wnd.cpp:122
954 msgid "Label atoms by partial charge"
955 msgstr "Näytä nimilapussa atomin osittaisvaraus"
956
957 #: ../src/gtk_oglview_wnd.cpp:123
958 msgid "Atom Type"
959 msgstr "Atomityyppi"
960
961 #: ../src/gtk_oglview_wnd.cpp:123
962 msgid "Label atoms by atom type"
963 msgstr "Näytä nimilapussa atomin atomityyppi"
964
965 #: ../src/gtk_oglview_wnd.cpp:124
966 msgid "Builder ID"
967 msgstr "Tähteen ID"
968
969 #: ../src/gtk_oglview_wnd.cpp:124
970 msgid "Label atoms by sequence builder ID"
971 msgstr "Näytä nimilapussa tähteen ID-numero"
972
973 #: ../src/gtk_oglview_wnd.cpp:125
974 msgid "Bond Type"
975 msgstr "Sidostyyppi"
976
977 #: ../src/gtk_oglview_wnd.cpp:125
978 msgid "Label bonds by bond type"
979 msgstr "Näytä nimilapussa sidoksen sidostyyppi"
980
981 #: ../src/gtk_oglview_wnd.cpp:126
982 msgid "Residue"
983 msgstr "Tähteen nimi"
984
985 #: ../src/gtk_oglview_wnd.cpp:126
986 msgid "Label by residue"
987 msgstr "Näytä nimilapussa tähteen nimi"
988
989 #: ../src/gtk_oglview_wnd.cpp:127
990 msgid "Label by secondary structure state"
991 msgstr "Näytä nimilapussa sekundäärirakennetila"
992
993 #: ../src/gtk_oglview_wnd.cpp:128
994 msgid "Do not show labels"
995 msgstr "Älä näytä nimilappuja"
996
997 #: ../src/gtk_oglview_wnd.cpp:130
998 msgid "Projection"
999 msgstr "Projektio"
1000
1001 #. ^^^^^^^^^^^^^^^^^^
1002 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
1003 #: ../src/gtk_oglview_wnd.cpp:133
1004 msgid "Orthographic"
1005 msgstr "Ortografinen"
1006
1007 #: ../src/gtk_oglview_wnd.cpp:133
1008 msgid "Use orthographic projection"
1009 msgstr "Käytä ortografista projektiota"
1010
1011 #: ../src/gtk_oglview_wnd.cpp:134
1012 msgid "Perspective"
1013 msgstr "Perspektiivi"
1014
1015 #: ../src/gtk_oglview_wnd.cpp:134
1016 msgid "Use perspective projection"
1017 msgstr "Käytä perspektiiviprojektiota"
1018
1019 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
1020 #. todo : add more color combinations ; red/green red/blue ; any others needed???
1021 #: ../src/gtk_oglview_wnd.cpp:137
1022 msgid "Red-Blue Stereo"
1023 msgstr "Sinipuna-stereo"
1024
1025 #: ../src/gtk_oglview_wnd.cpp:137
1026 msgid "Use red-blue stereo mode"
1027 msgstr "Käytä sini-puna stereotilaa"
1028
1029 #: ../src/gtk_oglview_wnd.cpp:138
1030 msgid "Relaxed-Eye Stereo"
1031 msgstr ""
1032
1033 #: ../src/gtk_oglview_wnd.cpp:138
1034 msgid "Use relaxed-eye stereo mode"
1035 msgstr ""
1036
1037 #: ../src/gtk_oglview_wnd.cpp:140
1038 msgid "Objects"
1039 msgstr "Objektit"
1040
1041 #. ^^^^^^^^^^^
1042 #: ../src/gtk_oglview_wnd.cpp:142
1043 msgid "Ribbon"
1044 msgstr "Nauha-objekti"
1045
1046 #: ../src/gtk_oglview_wnd.cpp:142
1047 msgid "Create a Ribbon object for displaying peptides/proteins"
1048 msgstr "Lisää nauha-objektit havainnollistamaan peptidejä/proteiineja"
1049
1050 #: ../src/gtk_oglview_wnd.cpp:143
1051 msgid "ESP-plane"
1052 msgstr ""
1053
1054 #: ../src/gtk_oglview_wnd.cpp:143
1055 msgid "Create an ESP-plane object"
1056 msgstr ""
1057
1058 #: ../src/gtk_oglview_wnd.cpp:144
1059 msgid "volume-rendered ESP"
1060 msgstr ""
1061
1062 #: ../src/gtk_oglview_wnd.cpp:144
1063 msgid "Create a volume-rendered ESP object"
1064 msgstr ""
1065
1066 #: ../src/gtk_oglview_wnd.cpp:145
1067 msgid "ESP-surface"
1068 msgstr ""
1069
1070 #: ../src/gtk_oglview_wnd.cpp:145
1071 msgid "Create an ESP-surface object"
1072 msgstr ""
1073
1074 #: ../src/gtk_oglview_wnd.cpp:146
1075 msgid "ESP-colored vdW-surface"
1076 msgstr ""
1077
1078 #: ../src/gtk_oglview_wnd.cpp:146
1079 msgid "Create an ESP-colored vdW-surface object"
1080 msgstr ""
1081
1082 #: ../src/gtk_oglview_wnd.cpp:147
1083 msgid "Electron density plane"
1084 msgstr ""
1085
1086 #: ../src/gtk_oglview_wnd.cpp:147
1087 msgid "Create an Electron density plane object"
1088 msgstr ""
1089
1090 #: ../src/gtk_oglview_wnd.cpp:148
1091 msgid "Electron density surface"
1092 msgstr ""
1093
1094 #: ../src/gtk_oglview_wnd.cpp:148
1095 msgid "Create an Electron density surface object"
1096 msgstr ""
1097
1098 #: ../src/gtk_oglview_wnd.cpp:149
1099 msgid "Molecular orbital plane"
1100 msgstr ""
1101
1102 #: ../src/gtk_oglview_wnd.cpp:149
1103 msgid "Create a Molecular orbital plane object"
1104 msgstr ""
1105
1106 #: ../src/gtk_oglview_wnd.cpp:150
1107 msgid "Molecular orbital volume"
1108 msgstr ""
1109
1110 #: ../src/gtk_oglview_wnd.cpp:150
1111 msgid "Create a Molecular orbital volume object"
1112 msgstr ""
1113
1114 #: ../src/gtk_oglview_wnd.cpp:151
1115 msgid "Molecular orbital surface"
1116 msgstr ""
1117
1118 #: ../src/gtk_oglview_wnd.cpp:151
1119 msgid "Create a Molecular orbital surface object"
1120 msgstr ""
1121
1122 #: ../src/gtk_oglview_wnd.cpp:152
1123 msgid "MO-density plane"
1124 msgstr ""
1125
1126 #: ../src/gtk_oglview_wnd.cpp:152
1127 msgid "Create an MO-density plane object"
1128 msgstr ""
1129
1130 #: ../src/gtk_oglview_wnd.cpp:153
1131 msgid "MO-density volume"
1132 msgstr ""
1133
1134 #: ../src/gtk_oglview_wnd.cpp:153
1135 msgid "Create an MO-density volume object"
1136 msgstr ""
1137
1138 #: ../src/gtk_oglview_wnd.cpp:154
1139 msgid "MO-density surface"
1140 msgstr ""
1141
1142 #: ../src/gtk_oglview_wnd.cpp:154
1143 msgid "Create an MO-density surface object"
1144 msgstr ""
1145
1146 #: ../src/gtk_oglview_wnd.cpp:155
1147 msgid "Delete Current Object"
1148 msgstr "Poista valittu objekti"
1149
1150 #: ../src/gtk_oglview_wnd.cpp:155
1151 msgid "Delete the currently selected object"
1152 msgstr "Poista tällä hetkellä valittuna oleva objekti"
1153
1154 #: ../src/gtk_oglview_wnd.cpp:157
1155 msgid "Compute"
1156 msgstr "Laskenta"
1157
1158 #. ^^^^^^^^^^^
1159 #: ../src/gtk_oglview_wnd.cpp:159
1160 msgid "Setup..."
1161 msgstr "Asetukset..."
1162
1163 #: ../src/gtk_oglview_wnd.cpp:160
1164 msgid "Energy"
1165 msgstr "Energia"
1166
1167 #: ../src/gtk_oglview_wnd.cpp:161
1168 msgid "Geometry Optimization..."
1169 msgstr "Geometriaoptimointi..."
1170
1171 #: ../src/gtk_oglview_wnd.cpp:162
1172 msgid "Molecular Dynamics..."
1173 msgstr "Molekyylidynamiikka..."
1174
1175 #: ../src/gtk_oglview_wnd.cpp:163
1176 msgid "Random Conformational Search..."
1177 msgstr "Satunnainen konformaatiohaku..."
1178
1179 #: ../src/gtk_oglview_wnd.cpp:164
1180 msgid "Systematic Conformational Search..."
1181 msgstr "Systemaattinen konformaatiohaku..."
1182
1183 #: ../src/gtk_oglview_wnd.cpp:165
1184 msgid "Monte Carlo Search..."
1185 msgstr "Monte Carlo-haku..."
1186
1187 #: ../src/gtk_oglview_wnd.cpp:166
1188 msgid "Plot Energy vs. 1 Torsion Angle..."
1189 msgstr ""
1190
1191 #: ../src/gtk_oglview_wnd.cpp:167
1192 msgid "Plot Energy vs. 2 Torsion Angles..."
1193 msgstr ""
1194
1195 #: ../src/gtk_oglview_wnd.cpp:168
1196 msgid "Population Analysis (ESP)"
1197 msgstr "Populaatioanalyysi (ESP)"
1198
1199 #: ../src/gtk_oglview_wnd.cpp:169
1200 msgid "Transition State Search..."
1201 msgstr "Siirtymätilan haku..."
1202
1203 #: ../src/gtk_oglview_wnd.cpp:170
1204 msgid "Stationary State Search..."
1205 msgstr "Stationäärisen tilan haku..."
1206
1207 #: ../src/gtk_oglview_wnd.cpp:171
1208 msgid "Formula"
1209 msgstr "Molekyylikaava"
1210
1211 #: ../src/gtk_oglview_wnd.cpp:176
1212 msgid "MD Trajectory Viewer..."
1213 msgstr "MD-liikeradan näyttö..."
1214
1215 #: ../src/gtk_oglview_wnd.cpp:177
1216 msgid "Set Current Orbital"
1217 msgstr "Aseta valittu orbitaali"
1218
1219 #: ../src/gtk_oglview_wnd.cpp:179
1220 msgid "Build"
1221 msgstr "Rakenna"
1222
1223 #. ^^^^^^^^^
1224 #: ../src/gtk_oglview_wnd.cpp:181
1225 msgid "Solvate Box..."
1226 msgstr "Liuotinlaatikko..."
1227
1228 #: ../src/gtk_oglview_wnd.cpp:182
1229 msgid "Solvate Sphere..."
1230 msgstr "Liuotinpallo..."
1231
1232 #: ../src/gtk_oglview_wnd.cpp:183
1233 msgid "Sequence Builder (amino)..."
1234 msgstr "Rakenna sekvenssi (aminohapoista)..."
1235
1236 #: ../src/gtk_oglview_wnd.cpp:184
1237 msgid "Sequence Builder (nucleic)..."
1238 msgstr "Rakenna sekvenssi (nukleiinihapoista)..."
1239
1240 #: ../src/gtk_oglview_wnd.cpp:185
1241 msgid "Center"
1242 msgstr "Keskitä"
1243
1244 #: ../src/gtk_oglview_wnd.cpp:186
1245 msgid "Zap All"
1246 msgstr "Poista kaikki"
1247
1248 #: ../src/gtk_oglview_wnd.cpp:188
1249 msgid "Hydrogens"
1250 msgstr "Vedyt"
1251
1252 #. ^^^^^^^^^^^^^^^^^^
1253 #: ../src/gtk_oglview_wnd.cpp:190
1254 msgid "Add"
1255 msgstr "Lisää"
1256
1257 #: ../src/gtk_oglview_wnd.cpp:191
1258 msgid "Remove"
1259 msgstr "Poista"
1260
1261 #: ../src/gtk_oglview_wnd.cpp:193
1262 msgid "Enter a Command..."
1263 msgstr "Kirjoita komento..."
1264
1265 #: ../src/gtk_oglview_wnd.cpp:380
1266 #, c-format
1267 msgid "ERROR : Building popup-menu for gtk_oglview_wnd failed : %s"
1268 msgstr ""
1269 "VIRHE : ponnahdusmenun luominen gtk_oglview_wnd-näkymään epäonnistui : %s"
1270
1271 #: ../src/gtk_oglview_wnd.cpp:630
1272 msgid "sets 0 <-> "
1273 msgstr ""
1274
1275 #: ../src/gtk_oglview_wnd.cpp:630
1276 msgid " RMS = "
1277 msgstr ""
1278
1279 #: ../src/gtk_oglview_wnd.cpp:636
1280 msgid "average RMS = "
1281 msgstr ""
1282
1283 #: ../src/gtk_p1dview_wnd.cpp:57
1284 #, c-format
1285 msgid "ERROR : Building popup-menu for gtk_p1dview_wnd failed : %s"
1286 msgstr ""
1287 "VIRHE : ponnahdusmenun luominen gtk_p1dview_wnd-näkymään epäonnistui : %s"
1288
1289 #: ../src/gtk_p2dview_wnd.cpp:57
1290 #, c-format
1291 msgid "ERROR : Building popup-menu for gtk_p2dview_wnd failed : %s"
1292 msgstr ""
1293 "VIRHE : ponnahdusmenun luominen gtk_p2dview_wnd-näkymään epäonnistui : %s"
1294
1295 #: ../src/gtk_progress_dialog.cpp:39
1296 msgid "WARNING : progress_dialog : glade_xml_get_widget() failed!!!"
1297 msgstr ""
1298
1299 #: ../src/gtk_project.cpp:81
1300 msgid "A new project created.\n"
1301 msgstr "Uusi projekti luotu.\n"
1302
1303 #: ../src/gtk_project.cpp:184
1304 msgid "Thread creation failed : GeomOpt"
1305 msgstr "Säikeen luominen epäonnistui : GeomOpt"
1306
1307 #: ../src/gtk_project.cpp:199 ../src/res_gtk/gtk_geomopt_dialog.glade.h:2
1308 msgid "Geometry Optimization"
1309 msgstr "Geometriaoptimointi"
1310
1311 #: ../src/gtk_project.cpp:234
1312 msgid "Thread creation failed : MolDyn"
1313 msgstr "Säikeen luominen epäonnistui : MolDyn"
1314
1315 #: ../src/gtk_project.cpp:249 ../src/res_gtk/gtk_moldyn_dialog.glade.h:5
1316 msgid "Molecular Dynamics"
1317 msgstr "Molekyylidynamiikka"
1318
1319 #: ../src/gtk_project.cpp:273
1320 msgid "Thread creation failed : RandomSearch"
1321 msgstr "Säikeen luominen epäonnistui : RandomSearch"
1322
1323 #: ../src/gtk_project.cpp:288
1324 msgid "Random Search"
1325 msgstr "Satunnainen haku"
1326
1327 #: ../src/gtk_project.cpp:776 ../src/gtk_project.cpp:794
1328 #: ../src/gtk_project.cpp:812 ../src/gtk_project.cpp:830
1329 #: ../src/gtk_project.cpp:848 ../src/gtk_project.cpp:866
1330 #: ../src/gtk_project.cpp:884 ../src/gtk_project.cpp:902
1331 #: ../src/gtk_project.cpp:920 ../src/gtk_project.cpp:938
1332 #: ../src/gtk_project.cpp:956 ../src/gtk_project.cpp:974
1333 msgid "Please calculate energy first!"
1334 msgstr "Laske ensin energia!"
1335
1336 #: ../src/gtk_project.cpp:1075
1337 msgid ""
1338 "PLEASE NOTE!\n"
1339 "The command string, which is displayed in the next dialog, is incomplete.\n"
1340 "You should replace the letters A-D with atom indices that define the "
1341 "torsion.\n"
1342 "\n"
1343 "ALSO NOTE: structure refinement is always done using molecular mechanics "
1344 "(optsteps)."
1345 msgstr ""
1346 "HUOMAA!\n"
1347 "Komentomerkkijono, joka näytetään seuraavassa dialogissa, on "
1348 "epätäydellinen.\n"
1349 "Sinun tulee korvata kirjaimet A-D niiden atomien indekseillä jotka "
1350 "määrittävät torsiokulman.\n"
1351 "\n"
1352 "HUOMAA MYÖS: rakenteen korjaus tehdään aina molekyylimekaniikalla (optsteps)."
1353
1354 #: ../src/gtk_project.cpp:1088
1355 msgid ""
1356 "PLEASE NOTE!\n"
1357 "The command string, which is displayed in the next dialog, is incomplete.\n"
1358 "You should replace the letters A-D and I-L with atom indices that define the "
1359 "torsions.\n"
1360 "\n"
1361 "ALSO NOTE: structure refinement is always done using molecular mechanics "
1362 "(optsteps)."
1363 msgstr ""
1364 "HUOMAA!\n"
1365 "Komentomerkkijono, joka näytetään seuraavassa dialogissa, on "
1366 "epätäydellinen.\n"
1367 "Sinun tulee korvata kirjaimet A-D ja I-L niiden atomien indekseillä jotka "
1368 "määrittävät torsiokulmat.\n"
1369 "\n"
1370 "HUOMAA MYÖS: rakenteen korjaus tehdään aina molekyylimekaniikalla (optsteps)."
1371
1372 #: ../src/gtk_project.cpp:1162
1373 msgid "ERROR"
1374 msgstr "VIRHE"
1375
1376 #: ../src/gtk_project.cpp:1173
1377 msgid "Trajectory file already open?"
1378 msgstr "Liikeratatiedosto on jo avattu?"
1379
1380 #: ../src/gtk_project.cpp:1182
1381 msgid ""
1382 "PLEASE NOTE!\n"
1383 "The command string, which is displayed in the next dialog, is incomplete.\n"
1384 "You should replace the letter X with the orbital index that will become the "
1385 "current orbital."
1386 msgstr ""
1387 "HUOMAA!\n"
1388 "Komentomerkkijono, joka näytetään seuraavassa dialogissa, on "
1389 "epätäydellinen.\n"
1390 "Sinun tulee korvata kirjain X sen orbitaalin indeksillä joka asetetaan "
1391 "valituksi orbitaaliksi."
1392
1393 #: ../src/gtk_project.cpp:1237
1394 msgid ""
1395 "PLEASE NOTE!\n"
1396 "The command string, which is displayed in the next dialog, is incomplete.\n"
1397 "You should replace the default sequence AAA with the sequence to be built."
1398 msgstr ""
1399 "HUOMAA!\n"
1400 "Komentomerkkijono, joka näytetään seuraavassa dialogissa, on "
1401 "epätäydellinen.\n"
1402 "Sinun tulee korvata oletussekvenssi AAA sillä sekvenssillä jonka haluat "
1403 "luoda."
1404
1405 #: ../src/gtk_project.cpp:1250
1406 msgid ""
1407 "PLEASE NOTE!\n"
1408 "The command string, which is displayed in the next dialog, is incomplete.\n"
1409 "You should replace the default sequence AGTCaguc with the sequence to be "
1410 "built."
1411 msgstr ""
1412 "HUOMAA!\n"
1413 "Komentomerkkijono, joka näytetään seuraavassa dialogissa, on "
1414 "epätäydellinen.\n"
1415 "Sinun tulee korvata oletussekvenssi AGTCaguc sillä sekvenssillä jonka haluat "
1416 "luoda."
1417
1418 #: ../src/gtk_project.cpp:1287
1419 msgid "Are you sure you want to clear everything?"
1420 msgstr "Oletko varma että haluat poistaa kaiken?"
1421
1422 #: ../src/gtk_rcpview_wnd.cpp:57
1423 #, c-format
1424 msgid "ERROR : Building popup-menu for gtk_rcpview_wnd failed : %s"
1425 msgstr ""
1426 "VIRHE : ponnahdusmenun luominen gtk_rcpview_wnd-näkymään epäonnistui : %s"
1427
1428 #: ../src/gtk_setup_dialog.cpp:49
1429 msgid "WARNING : setup_dialog : glade_xml_get_widget() failed!!!"
1430 msgstr ""
1431
1432 #: ../src/gtk_setup_dialog.cpp:358
1433 msgid "Changed the Setup for calculations "
1434 msgstr "Muutettiin asetuksia laskentaa varten "
1435
1436 #: ../src/gtk_setup_dialog.cpp:359 ../src/project.cpp:4038
1437 msgid "(setup = "
1438 msgstr ""
1439
1440 #: ../src/gtk_setup_dialog.cpp:375 ../src/project.cpp:4039
1441 msgid ", engine = "
1442 msgstr ""
1443
1444 #. request a modal window.
1445 #: ../src/gtk_simple_dialogs.cpp:49
1446 msgid "Set Current Element"
1447 msgstr "Aseta valittu alkuaine"
1448
1449 #: ../src/gtk_simple_dialogs.cpp:113
1450 msgid "Current element is now "
1451 msgstr "Valittu alkuaine on nyt "
1452
1453 #. request a modal window.
1454 #: ../src/gtk_simple_dialogs.cpp:133
1455 msgid "Set Current Bondtype"
1456 msgstr "Aseta valittu sidostyyppi"
1457
1458 #: ../src/gtk_simple_dialogs.cpp:184
1459 msgid "Current bondtype is now "
1460 msgstr "Valittu sidostyyppi on nyt "
1461
1462 #: ../src/gtk_simple_dialogs.cpp:449
1463 msgid ""
1464 "This alternative PDB reader is designed to remove any gaps that might\n"
1465 "exist in the structure data. Therefore the sequence might be altered!"
1466 msgstr ""
1467
1468 #. request a modal window.
1469 #: ../src/gtk_simple_dialogs.cpp:482
1470 msgid "Command Interpreter"
1471 msgstr "Komentotulkki"
1472
1473 #: ../src/gtk_simple_dialogs.cpp:503
1474 msgid "Execute"
1475 msgstr "Suorita"
1476
1477 #: ../src/gtk_simple_dialogs.cpp:506
1478 msgid "Cancel"
1479 msgstr "Peru"
1480
1481 #: ../src/gtk_stereo_dialog.cpp:37
1482 msgid "WARNING : stereo_dialog : glade_xml_get_widget() failed!!!"
1483 msgstr ""
1484
1485 #: ../src/gtk_trajview_dialog.cpp:39
1486 msgid "WARNING : trajview_dialog : glade_xml_get_widget() failed!!!"
1487 msgstr ""
1488
1489 #: ../src/gtk_trajview_dialog.cpp:82 ../src/gtk_trajview_dialog.cpp:102
1490 #: ../src/gtk_trajview_dialog.cpp:136 ../src/gtk_trajview_dialog.cpp:151
1491 msgid "frame = "
1492 msgstr ""
1493
1494 #: ../src/gtk_wnd.cpp:53
1495 #, c-format
1496 msgid "*** Cannot find the double-buffered visual.\n"
1497 msgstr ""
1498
1499 #: ../src/gtk_wnd.cpp:54
1500 #, c-format
1501 msgid "*** Trying single-buffered visual.\n"
1502 msgstr ""
1503
1504 #: ../src/gtk_wnd.cpp:61
1505 #, c-format
1506 msgid "*** No appropriate OpenGL-capable visual found.\n"
1507 msgstr ""
1508
1509 #: ../src/gtk_wnd.cpp:66
1510 #, c-format
1511 msgid ""
1512 "\n"
1513 "OpenGL visual configurations :\n"
1514 "\n"
1515 msgstr ""
1516
1517 #: ../src/ogl_surface.cpp:91
1518 msgid "evaluating grid"
1519 msgstr "lasketaan verkkoa"
1520
1521 #: ../src/ogl_surface.cpp:106
1522 msgid " done\n"
1523 msgstr " valmis\n"
1524
1525 #: ../src/ogl_surface.cpp:112
1526 msgid "interpolating in "
1527 msgstr "interpoloidaan "
1528
1529 #: ../src/ogl_surface.cpp:131
1530 msgid "-direction... "
1531 msgstr "-suunnassa... "
1532
1533 #: ../src/ogl_surface.cpp:138
1534 msgid " points, "
1535 msgstr " pistettä, "
1536
1537 #: ../src/ogl_surface.cpp:138
1538 msgid " cycles"
1539 msgstr " kierrosta"
1540
1541 #: ../src/ogl_surface.cpp:155
1542 msgid "generating image... "
1543 msgstr "luodaan kuvaa... "
1544
1545 #: ../src/ogl_surface.cpp:185
1546 msgid "color_surface problem #1"
1547 msgstr ""
1548
1549 #: ../src/ogl_surface.cpp:235
1550 msgid "color_surface problem #2"
1551 msgstr ""
1552
1553 #: ../src/ogl_surface.cpp:335
1554 msgid " lines, "
1555 msgstr " viivaa, "
1556
1557 #: ../src/ogl_surface.cpp:335
1558 msgid " triangles."
1559 msgstr " kolmiota."
1560
1561 #: ../src/p2dview_wcl.cpp:182
1562 msgid "now scaling the colours to range "
1563 msgstr ""
1564
1565 #: ../src/p2dview_wcl.cpp:182
1566 msgid " kJ/mol"
1567 msgstr ""
1568
1569 #: ../src/pangofont_wcl.cpp:75
1570 #, c-format
1571 msgid "*** ERROR : Can't load font '%s'\n"
1572 msgstr "*** VIRHE : Fontin lataaminen epäonnistui : %s\n"
1573
1574 #: ../src/project.cpp:210
1575 msgid "untitled"
1576 msgstr "nimetön"
1577
1578 #: ../src/project.cpp:322
1579 msgid "Cannot import that file type."
1580 msgstr "Tiedostotyyppiä ei voida tuoda."
1581
1582 #: ../src/project.cpp:367
1583 msgid "Cannot export that file type."
1584 msgstr "Tiedostotyyppiä ei voida viedä."
1585
1586 #: ../src/project.cpp:409
1587 msgid "Hydrogens added."
1588 msgstr "Vedyt lisätty."
1589
1590 #: ../src/project.cpp:419
1591 msgid "Hydrogens removed."
1592 msgstr "Vedyt poistettu."
1593
1594 #: ../src/project.cpp:617
1595 msgid " window "
1596 msgstr " ikkuna "
1597
1598 #: ../src/project.cpp:663
1599 msgid ""
1600 "This is the last graphics view for\n"
1601 "this project - can't close it."
1602 msgstr ""
1603 "Tämä on viimeinen grafiikkanäkymä\n"
1604 "tässä projektissa - sitä ei voi poistaa."
1605
1606 #: ../src/project.cpp:877
1607 msgid "Processing Command : "
1608 msgstr "Käsitellään komento : "
1609
1610 #: ../src/project.cpp:887
1611 msgid "> AVAILABLE COMMANDS:"
1612 msgstr "> MAHDOLLISET KOMENNOT:"
1613
1614 #. use alphabetical order???
1615 #: ../src/project.cpp:889
1616 msgid ""
1617 "> add light (local/global) (directional/spotlight) -- add a new light object."
1618 msgstr ""
1619 "> add light (local/global) (directional/spotlight) -- lisää uusi valo-"
1620 "objekti."
1621
1622 #: ../src/project.cpp:891
1623 msgid ""
1624 "> add plane <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <tp> <alpha> -- "
1625 "add a plane object."
1626 msgstr ""
1627 "> add plane <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <tp> <alpha> -- "
1628 "lisää taso-objekti."
1629
1630 #: ../src/project.cpp:892 ../src/project.cpp:902
1631 msgid "> where: <vf> = value function : esp vdws eldens mo mod unity"
1632 msgstr "> jossa: <vf> = arvofunktio : esp vdws eldens mo mod unity"
1633
1634 #: ../src/project.cpp:893 ../src/project.cpp:903 ../src/project.cpp:913
1635 msgid "> <cf> = colour function : red green blue rb1 rb2"
1636 msgstr "> <cf> = värifunktio : red green blue rb1 rb2"
1637
1638 #: ../src/project.cpp:894 ../src/project.cpp:904 ../src/project.cpp:915
1639 #: ../src/project.cpp:930
1640 msgid "> <cscale1> = scaling value for calculating the colours"
1641 msgstr "> <cscale1> = skaalausarvo värien laskentaa varten"
1642
1643 #: ../src/project.cpp:895 ../src/project.cpp:905 ../src/project.cpp:916
1644 #: ../src/project.cpp:931
1645 msgid "> <cscale2> = scaling offset for calculating the colours"
1646 msgstr "> <cscale2> = skaalausvakio värien laskentaa varten"
1647
1648 #: ../src/project.cpp:896 ../src/project.cpp:906 ../src/project.cpp:917
1649 #: ../src/project.cpp:932
1650 msgid "> <dim> = dimension of the plane object (in nm units)"
1651 msgstr "> <dim> = taso-objektin dimensio (nm-yksiköissä)"
1652
1653 #: ../src/project.cpp:897 ../src/project.cpp:907 ../src/project.cpp:918
1654 #: ../src/project.cpp:933
1655 msgid "> <res> = resolution of the plane object"
1656 msgstr "> <res> = taso-objektin resoluutio"
1657
1658 #: ../src/project.cpp:898 ../src/project.cpp:920 ../src/project.cpp:935
1659 msgid "> <tp> = 0 or 1 telling if the object is transparent"
1660 msgstr "> <tp> = 0 tai 1 joka määrää onko taso läpinäkyvä"
1661
1662 #: ../src/project.cpp:899 ../src/project.cpp:908 ../src/project.cpp:921
1663 #: ../src/project.cpp:936
1664 msgid "> <alpha> = transparency alpha value"
1665 msgstr "> <alpha> = läpinäkyvyyden alfa-arvo"
1666
1667 #: ../src/project.cpp:901
1668 msgid ""
1669 "> add volrend <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <alpha> -- add "
1670 "a volume-rendering object."
1671 msgstr ""
1672 "> add volrend <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <alpha> -- "
1673 "lisää tilavuuspiirto-objekti."
1674
1675 #: ../src/project.cpp:910
1676 msgid ""
1677 "> add surf1 <vf1> <vf2> <cf> <sscale> <cscale1> <AUTO/cscale2> <dim> <res> "
1678 "<solid> <tp> <alpha> -- add a single surface object."
1679 msgstr ""
1680 "> add surf1 <vf1> <vf2> <cf> <sscale> <cscale1> <AUTO/cscale2> <dim> <res> "
1681 "<solid> <tp> <alpha> -- lisää yksi pinta-objekti."
1682
1683 #: ../src/project.cpp:911 ../src/project.cpp:924
1684 msgid ""
1685 "> where: <vf1> = value function for calculating the surface : esp vdws "
1686 "eldens mo mod unity"
1687 msgstr ""
1688 "> jossa: <vf1> = arvofunktio pinnan laskemista varten : esp vdws eldens mo "
1689 "mod unity"
1690
1691 #: ../src/project.cpp:912 ../src/project.cpp:925
1692 msgid ""
1693 "> <vf2> = value function for calculating the colours : esp vdws "
1694 "eldens mo mod unity"
1695 msgstr ""
1696 "> <vf2> = arvofunktio värien laskemista varten : esp vdws eldens mo "
1697 "mod unity"
1698
1699 #: ../src/project.cpp:914
1700 msgid "> <sscale> = scaling value for calculating the surface"
1701 msgstr "> <sscale> = skaalausarvo pinnan laskemista varten"
1702
1703 #: ../src/project.cpp:919 ../src/project.cpp:934
1704 msgid "> <solid> = 0 or 1 telling if the object is solid"
1705 msgstr "> <solid> = 0 tai 1 joka määrää onko objekti kiinteä"
1706
1707 #: ../src/project.cpp:923
1708 msgid ""
1709 "> add surf2 <vf1> <vf2> <cf1> <cf2> <sscale1> <sscale2> <cscale1> <AUTO/"
1710 "cscale2> <dim> <res> <solid> <tp> <alpha> -- add a pair of surface objects."
1711 msgstr ""
1712 "> add surf2 <vf1> <vf2> <cf1> <cf2> <sscale1> <sscale2> <cscale1> <AUTO/"
1713 "cscale2> <dim> <res> <solid> <tp> <alpha> -- lisää pintaobjektipari."
1714
1715 #: ../src/project.cpp:926
1716 msgid ""
1717 "> <cf1> = colour function for 1st surface : red green blue rb1 rb2"
1718 msgstr ""
1719 "> <cf1> = värifunktio ensimmäiselle pinnalle : red green blue rb1 "
1720 "rb2"
1721
1722 #: ../src/project.cpp:927
1723 msgid ""
1724 "> <cf2> = colour function for 2nd surface : red green blue rb1 rb2"
1725 msgstr ""
1726 "> <cf2> = värifunktio toiselle pinnalle : red green blue rb1 rb2"
1727
1728 #: ../src/project.cpp:928
1729 msgid ""
1730 "> <sscale1> = scaling value for calculating the surface for 1st "
1731 "surface"
1732 msgstr ""
1733 "> <sscale1> = skaalausarvo ensimmäisen pinnan laskemista varten"
1734
1735 #: ../src/project.cpp:929
1736 msgid ""
1737 "> <sscale2> = scaling value for calculating the surface for 2nd "
1738 "surface"
1739 msgstr "> <sscale2> = skaalausarvo toisen pinnan laskemista varten"
1740
1741 #: ../src/project.cpp:938
1742 msgid "> help -- print all available commands in command strings."
1743 msgstr "> help -- tulosta kaikki mahdolliset komennot."
1744
1745 #: ../src/project.cpp:940
1746 msgid "> energy -- calculate a single-point energy."
1747 msgstr "> energy -- laske yhden rakenteen energia."
1748
1749 #: ../src/project.cpp:941
1750 msgid "> geom_opt -- do a geometry optimization run using default options."
1751 msgstr "> geom_opt -- suorita geometriaoptimointiajo oletusasetuksilla."
1752
1753 #: ../src/project.cpp:942
1754 msgid "> mol_dyn -- do a molecular dynamics run using default options."
1755 msgstr "> mol_dyn -- suorita molekyylidynamiikka-ajo oletusasetuksilla."
1756
1757 #: ../src/project.cpp:944
1758 msgid ""
1759 "> random_search <cycles> <optsteps> -- perform a random conformational "
1760 "search."
1761 msgstr ""
1762 "> random_search <cycles> <optsteps> -- suorita satunnainen konformaatiohaku."
1763
1764 #: ../src/project.cpp:945
1765 msgid ""
1766 "> systematic_search <divisions> <optsteps> -- perform a systematic "
1767 "conformational search."
1768 msgstr ""
1769 "> systematic_search <divisions> <optsteps> -- suorita systemaattinen "
1770 "konformaatiohaku."
1771
1772 #: ../src/project.cpp:946
1773 msgid ""
1774 "> montecarlo_search <init_cycles> <simul_cycles> <optsteps> -- perform a "
1775 "MonteCarlo search."
1776 msgstr ""
1777 "> montecarlo_search <init_cycles> <simul_cycles> <optsteps> -- suorita "
1778 "MonteCarlo-haku."
1779
1780 #: ../src/project.cpp:948
1781 msgid ""
1782 "> make_plot1 A B C D <div> <start_ang> <end_ang> <optsteps> -- create a 1D "
1783 "energy vs. torsion plot."
1784 msgstr ""
1785 "> make_plot1 A B C D <div> <start_ang> <end_ang> <optsteps> -- tee 1-"
1786 "ulotteinen torsioenergiakuvaaja."
1787
1788 #: ../src/project.cpp:949
1789 msgid ""
1790 "> make_plot2 A B C D <div> <start_ang> <end_ang> I J K L <div> <start_ang> "
1791 "<end_ang> <optsteps> -- create a 2D energy vs. torsions plot."
1792 msgstr ""
1793 "> make_plot2 A B C D <div> <start_ang> <end_ang> I J K L <div> <start_ang> "
1794 "<end_ang> <optsteps> -- tee 2-ulotteinen torsioenergiakuvaaja."
1795
1796 #: ../src/project.cpp:951
1797 msgid ""
1798 "> population_analysis_ESP -- determine atomic charges using an ESP fit (for "
1799 "QM methods only)."
1800 msgstr ""
1801 "> population_analysis_ESP -- laske atomeille pistevaraukset ESP-sovituksella "
1802 "(vain QM-menetelmille)."
1803
1804 #: ../src/project.cpp:953
1805 msgid ""
1806 "> transition_state_search <delta_e> <initial_fc> -- perform a transition "
1807 "state search (for QM methods only)."
1808 msgstr ""
1809 "> transition_state_search <delta_e> <initial_fc> -- tee siirtymätilan haku "
1810 "(vain QM-menetelmille)."
1811
1812 #: ../src/project.cpp:954
1813 msgid ""
1814 "> stationary_state_search <steps> -- perform a search for a structure with "
1815 "no forces."
1816 msgstr ""
1817 "> stationary_state_search <steps> -- etsi rakennetta jossa ei ole mihinkään "
1818 "suuntaan vaikuttavia voimia."
1819
1820 #: ../src/project.cpp:956
1821 msgid ""
1822 "> set_current_orbital <orbital_index> -- set the current orbtal index for "
1823 "plotting the orbitals."
1824 msgstr ""
1825 "> set_current_orbital <orbital_index> -- aseta valitun orbitaalin indeksi "
1826 "orbitaalikuvaajia varten."
1827
1828 #: ../src/project.cpp:958
1829 msgid "> update_chains -- detect polymer chains using sequence builder."
1830 msgstr "> update_chains -- etsi polymeeriketjut sekvenssirakentajan avulla."
1831
1832 #: ../src/project.cpp:959
1833 msgid "> build_amino <sequence> (helix/strand) -- amino acid sequence builder."
1834 msgstr ""
1835 "> build_amino <sequence> (helix/strand) -- tee aminohapposekvenssi "
1836 "sekvenssirakentajalla."
1837
1838 #: ../src/project.cpp:960
1839 msgid "> build_nucleic <sequence> -- nucleic acid sequence builder."
1840 msgstr ""
1841 "> build_nucleic <sequence> -- tee nukleiinihapposekvenssi "
1842 "sekvenssirakentajalla."
1843
1844 #: ../src/project.cpp:962
1845 msgid "> orient <crdset> -- orient the system in the XYZ coordinate system."
1846 msgstr "> orient <crdset> -- suuntaa systeemi XYZ-koordinaattijärjestelmässä."
1847
1848 #: ../src/project.cpp:964
1849 msgid ""
1850 "> solvate_box <x-hdim> <y-hdim> <z-hdim> (<density> <filename> (export)) -- "
1851 "setup a solvation box."
1852 msgstr ""
1853 "> solvate_box <x-hdim> <y-hdim> <z-hdim> (<density> <filename> (export)) -- "
1854 "aseta liuotinlaatikko."
1855
1856 #: ../src/project.cpp:965
1857 msgid ""
1858 "> solvate_sphere <rad_solute> <rad_solvent> (<density> <filename>) -- setup "
1859 "a solvation sphere."
1860 msgstr ""
1861 "> solvate_sphere <rad_solute> <rad_solvent> (<density> <filename>) -- aseta "
1862 "liuotinpallo."
1863
1864 #: ../src/project.cpp:967
1865 msgid "> set_formal_charge <index> <charge> -- set formal charges to atoms."
1866 msgstr ""
1867 "> set_formal_charge <index> <charge> -- aseta atomille muodollinen varaus."
1868
1869 #: ../src/project.cpp:969
1870 msgid ""
1871 "> evaluate_Bfact -- evaluate B-factors for selected atoms (a trajectory file "
1872 "must be open)."
1873 msgstr ""
1874
1875 #: ../src/project.cpp:970
1876 msgid ""
1877 "> evaluate_diffconst <dt> -- evaluate diffusion constants for selected atoms "
1878 "(a trajectory file must be open, dt = time difference between frames [fs])."
1879 msgstr ""
1880
1881 #: ../src/project.cpp:1010
1882 msgid "Added a new object : light ("
1883 msgstr "Uusi objekti lisätty : valo ("
1884
1885 #: ../src/project.cpp:1011
1886 msgid "local"
1887 msgstr "paikallinen"
1888
1889 #: ../src/project.cpp:1011
1890 msgid "global"
1891 msgstr "globaali"
1892
1893 #: ../src/project.cpp:1012
1894 msgid "directional"
1895 msgstr "suuntavalo"
1896
1897 #: ../src/project.cpp:1012
1898 msgid "spotlight"
1899 msgstr "spottivalo"
1900
1901 #: ../src/project.cpp:1041
1902 msgid "ERROR : add plane : unknown value function "
1903 msgstr ""
1904
1905 #: ../src/project.cpp:1055
1906 msgid "ERROR : add plane : unknown colour function "
1907 msgstr ""
1908
1909 #: ../src/project.cpp:1091
1910 msgid "Added a new object : plane ("
1911 msgstr "Uusi objekti lisätty : taso ("
1912
1913 #: ../src/project.cpp:1119
1914 msgid "ERROR : add volrend : unknown value function "
1915 msgstr ""
1916
1917 #: ../src/project.cpp:1133
1918 msgid "ERROR : add volrend : unknown colour function "
1919 msgstr ""
1920
1921 #: ../src/project.cpp:1166
1922 msgid "Added a new object : volrend ("
1923 msgstr "Uusi objekti lisätty : volrend ("
1924
1925 #: ../src/project.cpp:1199
1926 msgid "ERROR : add surf1 : unknown value function 1 "
1927 msgstr ""
1928
1929 #: ../src/project.cpp:1214
1930 msgid "ERROR : add surf1 : unknown value function 2 "
1931 msgstr ""
1932
1933 #: ../src/project.cpp:1228
1934 msgid "ERROR : add surf1 : unknown colour function "
1935 msgstr ""
1936
1937 #: ../src/project.cpp:1277
1938 msgid "Added a new object : surf1 ("
1939 msgstr "Uusi objekti lisätty : surf1 ("
1940
1941 #: ../src/project.cpp:1314
1942 msgid "ERROR : add surf2 : unknown value function 1 "
1943 msgstr ""
1944
1945 #: ../src/project.cpp:1329
1946 msgid "ERROR : add surf2 : unknown value function 2 "
1947 msgstr ""
1948
1949 #: ../src/project.cpp:1343
1950 msgid "ERROR : add surf2 : unknown colour function 1 "
1951 msgstr ""
1952
1953 #: ../src/project.cpp:1357
1954 msgid "ERROR : add surf2 : unknown colour function 2 "
1955 msgstr ""
1956
1957 #: ../src/project.cpp:1417
1958 msgid "Added a new object : surf2 ("
1959 msgstr "Uusi objekti lisätty : surf2 ("
1960
1961 #: ../src/project.cpp:1423
1962 msgid "ERROR : could not process command \"add\" for parameter "
1963 msgstr "VIRHE : ei voida suorittaa komentoa \"add\" parametrille "
1964
1965 #: ../src/project.cpp:1575
1966 msgid "Sorry, this is for QM models only!"
1967 msgstr "Tämä toiminto on vain QM-malleille!"
1968
1969 #: ../src/project.cpp:1622
1970 msgid "The current orbital is now "
1971 msgstr "Valittu orbitaali on nyt "
1972
1973 #: ../src/project.cpp:1667 ../src/project.cpp:1702
1974 msgid "built a sequence : "
1975 msgstr "rakennettiin sekvenssi : "
1976
1977 #: ../src/project.cpp:1715
1978 msgid "maximum dimensions:"
1979 msgstr "maksimidimensiot:"
1980
1981 #: ../src/project.cpp:1817
1982 msgid "Sorry, atom not found!"
1983 msgstr "Atomia ei löydy!"
1984
1985 #: ../src/project.cpp:1843
1986 msgid "ERROR : Unknown command : "
1987 msgstr "VIRHE : Tuntematon komento : "
1988
1989 #: ../src/project.cpp:1844
1990 msgid "The \"help\" command will give more information about command strings."
1991 msgstr "Komento \"help\" antaa lisätietoa mahdollisista komentomerkkijonoista."
1992
1993 #: ../src/project.cpp:1871
1994 msgid "local lights = "
1995 msgstr ""
1996
1997 #: ../src/project.cpp:1871 ../src/project.cpp:1878
1998 msgid "on"
1999 msgstr ""
2000
2001 #: ../src/project.cpp:1871 ../src/project.cpp:1878
2002 msgid "off"
2003 msgstr ""
2004
2005 #: ../src/project.cpp:1878
2006 msgid "global lights = "
2007 msgstr ""
2008
2009 #: ../src/project.cpp:3244
2010 msgid "Group information about chains/residues is needed for this operation."
2011 msgstr ""
2012
2013 #: ../src/project.cpp:3245
2014 msgid "Is it OK to update group information?"
2015 msgstr ""
2016
2017 #: ../src/project.cpp:3259
2018 msgid "Sorry, no chain/residue information available for this atom."
2019 msgstr ""
2020
2021 #: ../src/project.cpp:3278
2022 msgid "selected atom "
2023 msgstr ""
2024
2025 #: ../src/project.cpp:3278
2026 msgid " (atomtype = "
2027 msgstr ""
2028
2029 #: ../src/project.cpp:3290
2030 msgid "selected residue "
2031 msgstr ""
2032
2033 #: ../src/project.cpp:3290
2034 msgid " from chain "
2035 msgstr " ketjusta "
2036
2037 #: ../src/project.cpp:3301
2038 msgid "selected chain "
2039 msgstr ""
2040
2041 #: ../src/project.cpp:3325
2042 msgid "selected molecule "
2043 msgstr ""
2044
2045 #. this must be OK.
2046 #: ../src/project.cpp:3354
2047 msgid "charge: "
2048 msgstr "varaus: "
2049
2050 #: ../src/project.cpp:3372
2051 msgid "distance: "
2052 msgstr "etäisyys: "
2053
2054 #: ../src/project.cpp:3394
2055 msgid "angle: "
2056 msgstr "kulma: "
2057
2058 #: ../src/project.cpp:3394
2059 msgid " deg"
2060 msgstr ""
2061
2062 #: ../src/project.cpp:3413
2063 msgid "torsion: "
2064 msgstr "torsio: "
2065
2066 #: ../src/project.cpp:3413
2067 msgid " deg "
2068 msgstr ""
2069
2070 #: ../src/project.cpp:3482
2071 msgid "MW: "
2072 msgstr "MP: "
2073
2074 #: ../src/project.cpp:3559
2075 msgid "ERROR : atom "
2076 msgstr "VIRHE : atomia "
2077
2078 #: ../src/project.cpp:3559 ../src/project.cpp:3745 ../src/project.cpp:3757
2079 msgid " not found!"
2080 msgstr " ei löydy!"
2081
2082 #: ../src/project.cpp:3579
2083 msgid "ERROR : could not find ic.\n"
2084 msgstr "VIRHE : sisäistä koordinaattia ei löytynyt.\n"
2085
2086 #: ../src/project.cpp:3597
2087 msgid "ERROR : could not find tor-term.\n"
2088 msgstr ""
2089
2090 #: ../src/project.cpp:3601
2091 msgid "tor(deg)"
2092 msgstr ""
2093
2094 #: ../src/project.cpp:3601 ../src/project.cpp:3818 ../src/project.cpp:3910
2095 msgid "E(kJ/mol)"
2096 msgstr ""
2097
2098 #: ../src/project.cpp:3652
2099 msgid "tor = "
2100 msgstr ""
2101
2102 #: ../src/project.cpp:3652 ../src/project.cpp:3875
2103 msgid " deg, energy = "
2104 msgstr ""
2105
2106 #: ../src/project.cpp:3652 ../src/project.cpp:3875
2107 msgid " kJ/mol."
2108 msgstr ""
2109
2110 #: ../src/project.cpp:3745
2111 msgid "ERROR : tor1 atom "
2112 msgstr ""
2113
2114 #: ../src/project.cpp:3757
2115 msgid "ERROR : tor2 atom "
2116 msgstr ""
2117
2118 #: ../src/project.cpp:3777
2119 msgid "ERROR : could not find ic for tor1.\n"
2120 msgstr ""
2121
2122 #: ../src/project.cpp:3784
2123 msgid "ERROR : could not find ic for tor2.\n"
2124 msgstr ""
2125
2126 #: ../src/project.cpp:3807
2127 msgid "ERROR : could not find tor-term for tor1.\n"
2128 msgstr ""
2129
2130 #: ../src/project.cpp:3814
2131 msgid "ERROR : could not find tor-term for tor2.\n"
2132 msgstr ""
2133
2134 #: ../src/project.cpp:3818
2135 msgid "tor1(deg)"
2136 msgstr ""
2137
2138 #: ../src/project.cpp:3818
2139 msgid "tor2(deg)"
2140 msgstr ""
2141
2142 #: ../src/project.cpp:3875
2143 msgid "tor1 = "
2144 msgstr ""
2145
2146 #: ../src/project.cpp:3875
2147 msgid " deg, tor2 = "
2148 msgstr ""
2149
2150 #: ../src/project.cpp:3900 ../src/project.cpp:3935
2151 msgid "r-energy = "
2152 msgstr ""
2153
2154 #: ../src/project.cpp:3900 ../src/project.cpp:3935
2155 msgid "p-energy = "
2156 msgstr ""
2157
2158 #: ../src/project.cpp:3901 ../src/project.cpp:3936
2159 msgid " is lower "
2160 msgstr ""
2161
2162 #: ../src/project.cpp:3940
2163 msgid "READY!"
2164 msgstr ""
2165
2166 #: ../src/project.cpp:4037
2167 msgid "Starting Stationary State Search "
2168 msgstr ""
2169
2170 #: ../src/project.cpp:4050
2171 msgid "Cycle Gradient Step\n"
2172 msgstr ""
2173
2174 #: ../src/project.cpp:4065
2175 msgid "the nsteps termination test was passed.\n"
2176 msgstr "lopetusehto nsteps täyttyi.\n"
2177
2178 #: ../src/rcpview_wcl.cpp:161
2179 msgid "the tresholds were set to "
2180 msgstr ""
2181
2182 #: ../src/rcpview_wcl.cpp:161
2183 msgid " and "
2184 msgstr " ja "
2185
2186 #. ################################################################################################
2187 #. eof
2188 #: ../src/res_gtk/gtk_file_export_dialog.glade.h:1
2189 #: ../src/res_gtk/gtk_file_import_dialog.glade.h:1
2190 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:1
2191 msgid "Browse..."
2192 msgstr "Selaa..."
2193
2194 #: ../src/res_gtk/gtk_file_export_dialog.glade.h:2
2195 msgid "Export File"
2196 msgstr "Vie tiedosto"
2197
2198 #: ../src/res_gtk/gtk_file_import_dialog.glade.h:2
2199 msgid "Import File"
2200 msgstr "Tuo tiedosto"
2201
2202 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:1
2203 msgid "Delta-E Cutoff:"
2204 msgstr "Delta-E katkaisuraja:"
2205
2206 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:3
2207 msgid "Gradient Cutoff:"
2208 msgstr "Gradientti-katkaisuraja:"
2209
2210 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:4
2211 msgid "Maximum # of Steps:"
2212 msgstr "Askelten maksimimäärä:"
2213
2214 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:2
2215 msgid "Constant-P simulation (allow P-control at simulation stage)"
2216 msgstr "Simulaatio vakiopaineessa (salli P-säätö simulaatiovaiheessa)"
2217
2218 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:3
2219 msgid "Constant-T simulation (allow T-control at simulation stage)"
2220 msgstr "Simulaatio vakiolämpötilassa (salli T-säätö simulaatiovaiheessa)"
2221
2222 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:4
2223 msgid "Isothermal compressibility [1/bar] :"
2224 msgstr "Isoterminen kokoonpuristuvuus [1/bar] :"
2225
2226 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:6
2227 msgid "Number of steps : (cooling)"
2228 msgstr "Askelmäärä : (jäähdytys)"
2229
2230 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:7
2231 msgid "Number of steps : (equilibration)"
2232 msgstr "Askelmäärä : (tasapainotus)"
2233
2234 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:8
2235 msgid "Number of steps : (heating)"
2236 msgstr "Askelmäärä : (lämmitys)"
2237
2238 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:9
2239 msgid "Number of steps : (simulation)"
2240 msgstr "Askelmäärä : (simulaatio)"
2241
2242 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:10
2243 msgid "P relaxation time [fs] :"
2244 msgstr "P-relaksaatioaika [fs] :"
2245
2246 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:11
2247 msgid "Pressure [bar] :"
2248 msgstr "Paine [bar] :"
2249
2250 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:12
2251 msgid "T relaxation time [fs] : (equil/simul)"
2252 msgstr "T-relaksaatioaika [fs] : (tasap/simul)"
2253
2254 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:13
2255 msgid "T relaxation time [fs] : (heat/cool)"
2256 msgstr "T-relaksaatioaika [fs] : (lämm/jäähd)"
2257
2258 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:14
2259 msgid "Temperature [K] :"
2260 msgstr "Lämpötila [K] :"
2261
2262 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:15
2263 msgid "Timestep [fs] :"
2264 msgstr "Aika-askel [fs] :"
2265
2266 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:16
2267 msgid "Trajectory File : "
2268 msgstr "Liikeratatiedosto : "
2269
2270 #: ../src/res_gtk/gtk_progress_dialog.glade.h:1
2271 msgid "Background Job"
2272 msgstr "Tausta-ajo"
2273
2274 #: ../src/res_gtk/gtk_progress_dialog.glade.h:2
2275 msgid "Job Title : "
2276 msgstr "Työn nimi : "
2277
2278 #: ../src/res_gtk/gtk_setup_dialog.glade.h:1
2279 msgid "<b>Select the Engine Class:</b>"
2280 msgstr "<b>Valitse Engine-luokka:</b>"
2281
2282 #: ../src/res_gtk/gtk_setup_dialog.glade.h:2
2283 msgid "<b>Set the spin multiplicity of the system:</b>"
2284 msgstr "<b>Aseta systeemin spin-multiplisiteetti:</b>"
2285
2286 #: ../src/res_gtk/gtk_setup_dialog.glade.h:3
2287 msgid "<b>Set the total charge of the system:</b>"
2288 msgstr "<b>Aseta systemin kokonaisvaraus:</b>"
2289
2290 #: ../src/res_gtk/gtk_setup_dialog.glade.h:4
2291 msgid "Enable atomtype/parameter exceptions (AMBER FF)."
2292 msgstr "Salli poikkeukset atomityypeissä/parametreissa (AMBER FF)."
2293
2294 #: ../src/res_gtk/gtk_setup_dialog.glade.h:6
2295 msgid "MM/SF"
2296 msgstr ""
2297
2298 #: ../src/res_gtk/gtk_setup_dialog.glade.h:7
2299 msgid "QM/MM"
2300 msgstr ""
2301
2302 #: ../src/res_gtk/gtk_setup_dialog.glade.h:8
2303 msgid "Setup"
2304 msgstr "Asetukset"
2305
2306 #: ../src/res_gtk/gtk_setup_dialog.glade.h:9
2307 msgid "Spin Multiplicity:"
2308 msgstr "Spin-multiplisiteetti:"
2309
2310 #: ../src/res_gtk/gtk_setup_dialog.glade.h:10
2311 msgid "Total Charge:"
2312 msgstr "Kokonaisvaraus:"
2313
2314 #: ../src/res_gtk/gtk_setup_dialog.glade.h:11
2315 msgid "all MM"
2316 msgstr "kaikki-MM"
2317
2318 #: ../src/res_gtk/gtk_setup_dialog.glade.h:12
2319 msgid "all QM"
2320 msgstr "kaikki-QM"
2321
2322 #: ../src/res_gtk/gtk_setup_dialog.glade.h:13
2323 msgid "all SF"
2324 msgstr "kaikki-SF"
2325
2326 #: ../src/res_gtk/gtk_setup_dialog.glade.h:14
2327 msgid "this is under construction and DISABLED currently!"
2328 msgstr ""
2329
2330 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:1
2331 msgid "Relaxed Separation :"
2332 msgstr ""
2333
2334 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:2
2335 msgid "Stereo Displacement :"
2336 msgstr ""
2337
2338 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:3
2339 msgid "Stereo View Settings"
2340 msgstr ""
2341
2342 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:1
2343 msgid "Begin"
2344 msgstr ""
2345
2346 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:2
2347 msgid "End"
2348 msgstr ""
2349
2350 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:3
2351 msgid "Play"
2352 msgstr ""
2353
2354 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:4
2355 msgid "Trajectory Viewer"
2356 msgstr ""
2357
2358 #~ msgid "View the Copyright notices."
2359 #~ msgstr "Tietoja ohjelmasta."
0 # Copyright (C) 2006, 2007 Free Software Foundation, Inc.
1 # translation of ghemical.po on Macedonian
2 # This file is distributed under the same license as the Ghemical package.
3 #
4 # Maintainer: Vlado Pesov <vpesov@genrepsoft.com>, 2008
5 # Maintainer: Bojan Seirovski <druid0101@gmail.com>, 2008
6 # Translator: Biljana Bogdanovska <bbogdanovska11@gmail.com>, 2008
7 # Proof-reading: Dejan Vasilevski <getorudi@yahoo.com>, 2008
8 #
9 msgid ""
10 msgstr ""
11 "Project-Id-Version: ghemical\n"
12 "Report-Msgid-Bugs-To: \n"
13 "POT-Creation-Date: 2009-04-22 10:42+0300\n"
14 "PO-Revision-Date: 2009-01-09 13:04+0100\n"
15 "Last-Translator: Aleksandar Silovski <aleksandar.silovski@gmail.com>\n"
16 "Language-Team: Macedonian <FOSS-in-EDU@googlegroups.com>\n"
17 "MIME-Version: 1.0\n"
18 "Content-Type: text/plain; charset=UTF-8\n"
19 "Content-Transfer-Encoding: 8bit\n"
20 "X-Generator: Pootle 1.1.0\n"
21
22 #: ../src/custom_app.cpp:100
23 #, fuzzy
24 msgid "Added global light."
25 msgstr "додадено општо осветлување."
26
27 #: ../src/custom_app.cpp:114
28 #, fuzzy
29 msgid "Added local light."
30 msgstr "додадено локално осветлување."
31
32 #: ../src/eldview_wcl.cpp:162
33 msgid "No data available,"
34 msgstr "Нема достапни податоци,"
35
36 #: ../src/eldview_wcl.cpp:167
37 msgid "must be a QM model!"
38 msgstr "мора да биде КМ-модел!"
39
40 #: ../src/eldview_wcl.cpp:167
41 msgid "please calculate energy!"
42 msgstr "ве молиме, пресметајте ја енергијата!"
43
44 #: ../src/gtk_app.cpp:92 ../src/gtk_oglview_wnd.cpp:38
45 #, fuzzy
46 msgid "File"
47 msgstr "_Датотека"
48
49 #: ../src/gtk_app.cpp:93 ../src/res_gtk/gtk_setup_dialog.glade.h:5
50 msgid "Help"
51 msgstr "Помош"
52
53 #: ../src/gtk_app.cpp:95
54 #, fuzzy
55 msgid "New"
56 msgstr "_Нов"
57
58 #: ../src/gtk_app.cpp:95
59 #, fuzzy
60 msgid "Create a new file."
61 msgstr "Креира нов објект со светилка"
62
63 #. <control>N
64 #. ^^^^^^^^
65 #: ../src/gtk_app.cpp:96 ../src/gtk_oglview_wnd.cpp:40
66 #, fuzzy
67 msgid "Open"
68 msgstr "_Отвори"
69
70 #: ../src/gtk_app.cpp:96
71 #, fuzzy
72 msgid "Open an existing file."
73 msgstr "Отвори датотека"
74
75 #. <control>O
76 #: ../src/gtk_app.cpp:97 ../src/gtk_oglview_wnd.cpp:44
77 #, fuzzy
78 msgid "Save as..."
79 msgstr "_Зачувај како..."
80
81 #: ../src/gtk_app.cpp:97
82 #, fuzzy
83 msgid "Save a file."
84 msgstr "Зачувува датотека"
85
86 #. <control>S
87 #. { "ExportGraphics", GTK_STOCK_SAVE, N_("Export Graphics"), NULL, N_("Export graphics"), (GCallback) gtk_project::popup_FileExportGraphics },
88 #: ../src/gtk_app.cpp:98 ../src/gtk_oglview_wnd.cpp:49
89 #, fuzzy
90 msgid "Close"
91 msgstr "_Затвори"
92
93 #: ../src/gtk_app.cpp:98
94 #, fuzzy
95 msgid "Quit the program."
96 msgstr "Ја прекинува програмата"
97
98 #. <control>C
99 #: ../src/gtk_app.cpp:100
100 msgid "Contents"
101 msgstr ""
102
103 #: ../src/gtk_app.cpp:100
104 #, fuzzy
105 msgid "View the User's Manual."
106 msgstr "Во Корисничкиот прирачник"
107
108 #. <control>H
109 #: ../src/gtk_app.cpp:101
110 #, fuzzy
111 msgid "About"
112 msgstr "_За"
113
114 #: ../src/gtk_app.cpp:101
115 msgid "Information about this program."
116 msgstr ""
117
118 #. <control>A
119 #. the rest are toolbar actions...
120 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
121 #: ../src/gtk_app.cpp:106
122 #, fuzzy
123 msgid "Set the current element."
124 msgstr "Постави го тековниот елемент"
125
126 #: ../src/gtk_app.cpp:107
127 #, fuzzy
128 msgid "Set the current bondtype."
129 msgstr "Постави го тековниот вид на врска"
130
131 #: ../src/gtk_app.cpp:108
132 #, fuzzy
133 msgid "Setup or change the comp.chem. method in use."
134 msgstr "Постави или смени го пресм. хем. метод во употреба"
135
136 #: ../src/gtk_app.cpp:113
137 msgid "Draw ; add atoms and bonds to the model."
138 msgstr "Цртај; додава атоми и врски на моделот."
139
140 #: ../src/gtk_app.cpp:114
141 msgid "Erase ; remove atoms and bonds from the model."
142 msgstr "Избриши; ги отстранува атомите и врските од моделот."
143
144 #: ../src/gtk_app.cpp:115
145 msgid "Select ; make selections in the model, and also select objects."
146 msgstr "Одбери; прави одбирања во моделот, а исто и ги одбира објектите."
147
148 #: ../src/gtk_app.cpp:116
149 msgid "Zoom ; zoom the view."
150 msgstr "Приближи; го приближува погледот."
151
152 #: ../src/gtk_app.cpp:117
153 msgid "Clipping ; set the near and far clipping planes for graphics rendering."
154 msgstr ""
155 "Спојување; ги поставува блиските и далечните рамнини на спојување за "
156 "графичко изведување."
157
158 #: ../src/gtk_app.cpp:118
159 msgid ""
160 "TranslateXY ; translate the camera or a selected object in XY-direction."
161 msgstr ""
162 "ТранслатирајXY; ја транслатира камерата или одбраниот објект во XY-насока."
163
164 #: ../src/gtk_app.cpp:119
165 msgid "TranslateZ ; translate the camera or a selected object in Z-direction."
166 msgstr ""
167 "ТранслатирајZ; ја транслатира камерата или одбраниот објект во Z-насока."
168
169 #: ../src/gtk_app.cpp:120
170 msgid ""
171 "OrbitXY ; orbit the camera or a selected object around the focus point in XY-"
172 "direction."
173 msgstr ""
174 "ОрбитирајXY; ја орбитира камерата или одбраниот објект околу фокусот во XY-"
175 "насока."
176
177 #: ../src/gtk_app.cpp:121
178 msgid ""
179 "OrbitZ ; orbit the camera or a selected object around the focus point in Z-"
180 "direction."
181 msgstr ""
182 "ОрбитирајZ; ја орбитира камерата или одбраниот објект околу фокусот во Z-"
183 "насока."
184
185 #: ../src/gtk_app.cpp:122
186 msgid "RotateXY ; turn the camera or a selected object in XY-direction."
187 msgstr "РотирајXY; ја врти камерата или одбраниот објект во XY-насока."
188
189 #: ../src/gtk_app.cpp:123
190 msgid "RotateZ ; turn the camera or a selected object in Z-direction."
191 msgstr "РотирајZ; ја врти камерата или одбраниот објект во Z-насока."
192
193 #: ../src/gtk_app.cpp:124
194 msgid "Measure ; measure distances, angles and torsions."
195 msgstr "Измери; мери растојанија, агли и свиткувања."
196
197 #: ../src/gtk_app.cpp:207
198 #, fuzzy
199 msgid "Set to Current Object"
200 msgstr "_Постави во Тековниот објект"
201
202 #: ../src/gtk_app.cpp:207
203 msgid "Set this object to Current Object"
204 msgstr "Го поставува овој објект во Тековен објект"
205
206 #: ../src/gtk_app.cpp:208
207 #, fuzzy
208 msgid "Delete Object/View"
209 msgstr "_Избриши Објект/Поглед"
210
211 #: ../src/gtk_app.cpp:208
212 msgid "Delete this object or view"
213 msgstr "Го брише овој објект или поглед"
214
215 #: ../src/gtk_app.cpp:225
216 #, fuzzy
217 msgid "Update View"
218 msgstr "_Ажурирај поглед"
219
220 #: ../src/gtk_app.cpp:225
221 msgid "Rebuild the chains info for this view"
222 msgstr "Ги преизградува информациите за синџирите за овој поглед"
223
224 #: ../src/gtk_app.cpp:226
225 #, fuzzy
226 msgid "Select Item"
227 msgstr "_Одбери ставка"
228
229 #: ../src/gtk_app.cpp:226
230 msgid "Select/unselect this chain/residue"
231 msgstr "Го одбира/ододбира овој синџир/остаток"
232
233 #: ../src/gtk_app.cpp:243
234 #, fuzzy
235 msgid "Select Atom"
236 msgstr "_Обери атом"
237
238 #: ../src/gtk_app.cpp:243
239 msgid "Select/unselect this atom"
240 msgstr "Го одбира/ододбира овој атом"
241
242 #: ../src/gtk_app.cpp:258
243 #, fuzzy
244 msgid "Select Bond"
245 msgstr "_Одбери врска"
246
247 #: ../src/gtk_app.cpp:258
248 msgid "Select/unselect this bond"
249 msgstr "Ја одбира/ододбира оваа врска"
250
251 #: ../src/gtk_app.cpp:344
252 msgid "Ghemical"
253 msgstr "Ghemical"
254
255 #: ../src/gtk_app.cpp:351
256 #, fuzzy, c-format
257 msgid "ERROR : Icon loading failed : %s\n"
258 msgstr "ГРЕШКА: не може да пронајде ic.\n"
259
260 #: ../src/gtk_app.cpp:381
261 #, fuzzy, c-format
262 msgid "ERROR : Building main menu failed : %s"
263 msgstr "Градењето на главното мени е неуспешно: %s"
264
265 #: ../src/gtk_app.cpp:566
266 msgid "project view"
267 msgstr "поглед на проектот"
268
269 #. optional : draw the stripes to background.
270 #. ??? (string)
271 #: ../src/gtk_app.cpp:584
272 msgid "Object"
273 msgstr "Објект"
274
275 #. ??? (string)
276 #: ../src/gtk_app.cpp:588
277 msgid "Sub-Objects"
278 msgstr "Подобјекти"
279
280 #: ../src/gtk_app.cpp:591
281 msgid "Views/Objects"
282 msgstr "Погледи/Објекти"
283
284 #: ../src/gtk_app.cpp:604
285 #, fuzzy, c-format
286 msgid "ERROR : Building Views/Objects menu in project view failed : %s"
287 msgstr "Градењето на gpv менито Погледи/Објекти е неуспешно: %s"
288
289 #. optional : draw the stripes to background.
290 #. chain_info (string)
291 #: ../src/gtk_app.cpp:620
292 msgid "Chain Description"
293 msgstr "Опис на синџир"
294
295 #. res_num (string)
296 #: ../src/gtk_app.cpp:624
297 msgid "Residue Number"
298 msgstr "Број на остаток"
299
300 #. res_id (string)
301 #: ../src/gtk_app.cpp:628
302 msgid "Residue ID"
303 msgstr "ИД на остаток"
304
305 #. res_state1 (string)
306 #: ../src/gtk_app.cpp:632
307 msgid "Sec-Str State"
308 msgstr "Sec-Str Состојба"
309
310 #. res_state2 (string)
311 #: ../src/gtk_app.cpp:636
312 msgid "Protonation State"
313 msgstr "Состојба на протонација"
314
315 #: ../src/gtk_app.cpp:639
316 msgid "Chains"
317 msgstr "Синџири"
318
319 #: ../src/gtk_app.cpp:652
320 #, fuzzy, c-format
321 msgid "ERROR : Building Chains menu in project view failed : %s"
322 msgstr "Градењето на gpv менито Синџири е неуспешно: %s"
323
324 #. optional : draw the stripes to background.
325 #. index1
326 #: ../src/gtk_app.cpp:668
327 msgid "Atom Index"
328 msgstr "Индекс на атом"
329
330 #. element
331 #. ^^^^^^^^^^^^^
332 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
333 #: ../src/gtk_app.cpp:672 ../src/gtk_oglview_wnd.cpp:112
334 #: ../src/gtk_oglview_wnd.cpp:120
335 msgid "Element"
336 msgstr "Елемент"
337
338 #: ../src/gtk_app.cpp:678
339 msgid "Locked"
340 msgstr "Заклучено"
341
342 #: ../src/gtk_app.cpp:681
343 msgid "Atoms"
344 msgstr "Атоми"
345
346 #: ../src/gtk_app.cpp:694
347 #, fuzzy, c-format
348 msgid "ERROR : Building Atoms menu in project view failed : %s"
349 msgstr "Градењето на gpv менито Атоми е неуспешно: %s"
350
351 #. optional : draw the stripes to background.
352 #. index1
353 #: ../src/gtk_app.cpp:710
354 msgid "Atom Index #1"
355 msgstr "Индекс на атом #1"
356
357 #. index2
358 #: ../src/gtk_app.cpp:714
359 msgid "Atom Index #2"
360 msgstr "Индекс на атом #2"
361
362 #. bondtype
363 #: ../src/gtk_app.cpp:718
364 msgid "BondType"
365 msgstr "Вид на врска"
366
367 #: ../src/gtk_app.cpp:721
368 msgid "Bonds"
369 msgstr "Врски"
370
371 #: ../src/gtk_app.cpp:734
372 #, fuzzy, c-format
373 msgid "ERROR : Building Bonds menu in project view failed : %s"
374 msgstr "Градењето на gpv менито Врски е неуспешно: %s"
375
376 #. protect the model-data during background jobs...
377 #: ../src/gtk_app.cpp:772
378 msgid ""
379 "Are you sure that you\n"
380 "want to quit the program?"
381 msgstr ""
382 "Дали сте сигурни дека\n"
383 "сакате да ја прекинете програмата?"
384
385 #: ../src/gtk_app.cpp:839
386 msgid "gtk_app::sPrintToLog() : message is too long!"
387 msgstr "gtk_app::sPrintToLog(): пораката е предолга!"
388
389 #: ../src/gtk_app.cpp:898
390 msgid "window "
391 msgstr "прозорец"
392
393 #: ../src/gtk_app.cpp:899 ../src/gtk_app.cpp:903
394 msgid " (detached)"
395 msgstr " (одвоено)"
396
397 #: ../src/gtk_app.cpp:899
398 msgid " (attached)"
399 msgstr " (споено)"
400
401 #: ../src/gtk_app.cpp:901
402 msgid "cam "
403 msgstr "камера"
404
405 #: ../src/gtk_app.cpp:902
406 msgid "wnd "
407 msgstr "прозорец"
408
409 #: ../src/gtk_app.cpp:921 ../src/gtk_app.cpp:922
410 msgid "RC plot view"
411 msgstr "RC поглед на мрежа"
412
413 #: ../src/gtk_app.cpp:927 ../src/gtk_app.cpp:928
414 msgid "1D plot view"
415 msgstr "1Д поглед на мрежа"
416
417 #: ../src/gtk_app.cpp:934 ../src/gtk_app.cpp:935
418 msgid "2D plot view"
419 msgstr "2Д поглед на мрежа"
420
421 #: ../src/gtk_app.cpp:941 ../src/gtk_app.cpp:942
422 msgid "energy-level diagram view"
423 msgstr "поглед со дијаграм за степен на енергија"
424
425 #: ../src/gtk_app.cpp:947 ../src/gtk_app.cpp:948
426 msgid "generic protein chain view"
427 msgstr "поглед со генерички проетеински синџир"
428
429 #: ../src/gtk_app.cpp:953 ../src/gtk_app.cpp:954
430 msgid "<unknown view>"
431 msgstr "<unknown view>"
432
433 #: ../src/gtk_app.cpp:980 ../src/project.cpp:617
434 msgid "camera "
435 msgstr "камера"
436
437 #: ../src/gtk_app.cpp:1247 ../src/gtk_app.cpp:1255 ../src/gtk_app.cpp:1291
438 #: ../src/gtk_app.cpp:1316
439 msgid "Object "
440 msgstr "Објектот"
441
442 #: ../src/gtk_app.cpp:1247 ../src/gtk_app.cpp:1255
443 msgid " is set to current object."
444 msgstr "е поставен на тековниот објект."
445
446 #: ../src/gtk_app.cpp:1258 ../src/gtk_app.cpp:1324
447 #, fuzzy
448 msgid "Sorry, this operation is not yet implemented."
449 msgstr "Се извинувам, оваа операција не е применета."
450
451 #: ../src/gtk_app.cpp:1291 ../src/gtk_app.cpp:1316
452 msgid " is deleted."
453 msgstr "е избришано."
454
455 #. if (ci_vector[n1].description... // this is not implemented at the moment...
456 #: ../src/gtk_app.cpp:1348
457 msgid "chain #"
458 msgstr "синџир #"
459
460 #: ../src/gtk_app.cpp:1355
461 msgid " chain)."
462 msgstr " синџир)."
463
464 #. make the list show the updated information...
465 #: ../src/gtk_app.cpp:1606
466 #, fuzzy, c-format
467 msgid "Atom locking changed : %s\n"
468 msgstr "Заклучено променето: %s\n"
469
470 #: ../src/gtk_app.cpp:1606
471 #, fuzzy
472 msgid "yes"
473 msgstr "кругови"
474
475 #: ../src/gtk_app.cpp:1606
476 #, fuzzy
477 msgid "no"
478 msgstr "орбитирај"
479
480 #: ../src/gtk_app.cpp:1632
481 #, fuzzy
482 msgid "Conjugated"
483 msgstr "соединет"
484
485 #: ../src/gtk_app.cpp:1633
486 #, fuzzy
487 msgid "Single"
488 msgstr "единечна"
489
490 #: ../src/gtk_app.cpp:1634
491 #, fuzzy
492 msgid "Double"
493 msgstr "двојна"
494
495 #: ../src/gtk_app.cpp:1635
496 #, fuzzy
497 msgid "Triple"
498 msgstr "тројна"
499
500 #: ../src/gtk_app.cpp:2068
501 #, fuzzy
502 msgid "Displaying the User's Manual using the following command:"
503 msgstr ""
504 "Обид за покажување на Корисничкиот прирачник со користење на следната "
505 "наредба:"
506
507 #: ../src/gtk_app.cpp:2078
508 #, fuzzy
509 msgid "Ghemical-"
510 msgstr "Ghemical"
511
512 #: ../src/gtk_app.cpp:2078
513 msgid " released on "
514 msgstr "објавено на"
515
516 #: ../src/gtk_app.cpp:2080
517 msgid "For more information please visit:"
518 msgstr "За повеќе информации, ве молиме посетете:"
519
520 #: ../src/gtk_app.cpp:2088
521 msgid "Authors:"
522 msgstr "Автори:"
523
524 #: ../src/gtk_eldview_wnd.cpp:32 ../src/gtk_gpcview_wnd.cpp:32
525 #: ../src/gtk_oglview_wnd.cpp:36 ../src/gtk_p1dview_wnd.cpp:32
526 #: ../src/gtk_p2dview_wnd.cpp:32 ../src/gtk_rcpview_wnd.cpp:32
527 msgid "Attach/Detach This View"
528 msgstr "Спој/Одвој го овој поглед"
529
530 #: ../src/gtk_eldview_wnd.cpp:32 ../src/gtk_gpcview_wnd.cpp:32
531 #: ../src/gtk_oglview_wnd.cpp:36 ../src/gtk_p1dview_wnd.cpp:32
532 #: ../src/gtk_p2dview_wnd.cpp:32 ../src/gtk_rcpview_wnd.cpp:32
533 msgid "Select whether this view is attached or in an independent window"
534 msgstr "Одберете дали овој поглед е споен или самостоен прозорец"
535
536 #: ../src/gtk_eldview_wnd.cpp:33 ../src/gtk_gpcview_wnd.cpp:33
537 #: ../src/gtk_p1dview_wnd.cpp:33 ../src/gtk_p2dview_wnd.cpp:33
538 #: ../src/gtk_rcpview_wnd.cpp:33
539 msgid "Delete View"
540 msgstr "Избриши поглед"
541
542 #: ../src/gtk_eldview_wnd.cpp:33 ../src/gtk_gpcview_wnd.cpp:33
543 #: ../src/gtk_p1dview_wnd.cpp:33 ../src/gtk_p2dview_wnd.cpp:33
544 #: ../src/gtk_rcpview_wnd.cpp:33
545 msgid "Delete this view"
546 msgstr "Избриши го овој поглед"
547
548 #: ../src/gtk_eldview_wnd.cpp:57
549 #, fuzzy, c-format
550 msgid "ERROR : Building popup-menu for gtk_eldview_wnd failed : %s"
551 msgstr "Градењето на geldv менито е неуспешно: %s"
552
553 #: ../src/gtk_file_export_dialog.cpp:41
554 msgid "file_export_dialog : glade_xml_get_widget() failed!!!"
555 msgstr "file_export_dialog: glade_xml_get_widget() неуспешно!!!"
556
557 #: ../src/gtk_file_export_dialog.cpp:52 ../src/gtk_file_import_dialog.cpp:52
558 msgid "Automatic"
559 msgstr "Автоматско"
560
561 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
562 #. handle the file selection...
563 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
564 #: ../src/gtk_file_export_dialog.cpp:131
565 msgid "Select a filename for export."
566 msgstr ""
567
568 #: ../src/gtk_file_import_dialog.cpp:41
569 msgid "file_import_dialog : glade_xml_get_widget() failed!!!"
570 msgstr "file_import_dialog: glade_xml_get_widget() неуспешно!!!"
571
572 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
573 #. handle the file selection...
574 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
575 #: ../src/gtk_file_import_dialog.cpp:133
576 #, fuzzy
577 msgid "Select a file to import."
578 msgstr "Одбира поединечни атоми"
579
580 #: ../src/gtk_geomopt_dialog.cpp:41
581 #, fuzzy
582 msgid "WARNING : geomopt_dialog : glade_xml_get_widget() failed!!!"
583 msgstr "geomopt_dialog: glade_xml_get_widget() неуспешно!!!"
584
585 #: ../src/gtk_gpcview_wnd.cpp:57
586 #, fuzzy, c-format
587 msgid "ERROR : Building popup-menu for gtk_gpcview_wnd failed : %s"
588 msgstr "Градењето на ggpcv менито е неуспешно: %s"
589
590 #: ../src/gtk_main.cpp:45
591 msgid "open a file"
592 msgstr "отвори датотека"
593
594 #: ../src/gtk_main.cpp:46
595 msgid "import a file"
596 msgstr "увези датотека"
597
598 #: ../src/gtk_main.cpp:61
599 msgid "- a GTK2 molecular modelling program"
600 msgstr "- GTK2 програма за молекулско моделирање"
601
602 #: ../src/gtk_main.cpp:84
603 #, fuzzy, c-format
604 msgid "OpenGL extension version - %d.%d\n"
605 msgstr ""
606 "\n"
607 "OpenGL верзија на проширување - %d.%d\n"
608
609 #: ../src/gtk_main.cpp:140
610 #, fuzzy
611 msgid "Sorry! The file import feature is disabled ; you need to recompile"
612 msgstr ""
613 "жалам! карактеристиката за увоз на датотека е исклучено; треба да "
614 "рекомпајлирате"
615
616 #: ../src/gtk_main.cpp:141
617 msgid "libghemical with --enable-openbabel option in order to fix this."
618 msgstr "libghemical со --вклучи-openbabel опција за да го поправите ова."
619
620 #: ../src/gtk_moldyn_dialog.cpp:42
621 #, fuzzy
622 msgid "WARNING : moldyn_dialog : glade_xml_get_widget() failed!!!"
623 msgstr "moldyn_dialog: glade_xml_get_widget() е неуспешно!!!"
624
625 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
626 #. handle the file selection...
627 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
628 #: ../src/gtk_moldyn_dialog.cpp:232
629 msgid "Select a Trajectory File."
630 msgstr "Одберете датотека на траекторија."
631
632 #: ../src/gtk_oglview_wnd.cpp:40
633 msgid "Open a file"
634 msgstr "Отвори датотека"
635
636 #: ../src/gtk_oglview_wnd.cpp:42
637 #, fuzzy
638 msgid "Import..."
639 msgstr "_Увези..."
640
641 #: ../src/gtk_oglview_wnd.cpp:42
642 #, fuzzy
643 msgid "Import other file formats using libopenbabel"
644 msgstr "Увезува други формати на датотеки преку OpenBabel"
645
646 #: ../src/gtk_oglview_wnd.cpp:44
647 msgid "Save a file"
648 msgstr "Зачувува датотека"
649
650 #: ../src/gtk_oglview_wnd.cpp:46
651 #, fuzzy
652 msgid "Export"
653 msgstr "_Извези"
654
655 #: ../src/gtk_oglview_wnd.cpp:46
656 msgid "Export other file formats using OpenBabel"
657 msgstr "Извезува други формати на датотеки преку OpenBabel"
658
659 #: ../src/gtk_oglview_wnd.cpp:49
660 msgid "Close the file"
661 msgstr "Затвори ја датотеката"
662
663 #: ../src/gtk_oglview_wnd.cpp:51
664 #, fuzzy
665 msgid "Extra Tools"
666 msgstr "_Дополнителни алатки"
667
668 #. ^^^^^^^^^^^^^
669 #: ../src/gtk_oglview_wnd.cpp:53
670 #, fuzzy
671 msgid "Import PDB"
672 msgstr "_Увези PDB"
673
674 #: ../src/gtk_oglview_wnd.cpp:53
675 msgid "Import a PDB file"
676 msgstr "Увези PDB-датотека"
677
678 #. { "FileExtra2", NULL, N_("Import ???"), NULL, N_("Import a ??? file"), (GCallback) gtk_project::popup_FileExtra2 },
679 #: ../src/gtk_oglview_wnd.cpp:56
680 #, fuzzy
681 msgid "Select"
682 msgstr "_Одбери"
683
684 #. ^^^^^^^^^^
685 #: ../src/gtk_oglview_wnd.cpp:58
686 #, fuzzy
687 msgid "Select All"
688 msgstr "Одбери _сè"
689
690 #: ../src/gtk_oglview_wnd.cpp:58
691 msgid "Select all atoms"
692 msgstr "Ги одбира сите атоми"
693
694 #: ../src/gtk_oglview_wnd.cpp:59
695 #, fuzzy
696 msgid "Select None"
697 msgstr "Одбери _Ништо"
698
699 #: ../src/gtk_oglview_wnd.cpp:59
700 msgid "Select nothing"
701 msgstr "Не одбира ништо"
702
703 #: ../src/gtk_oglview_wnd.cpp:60
704 #, fuzzy
705 msgid "Invert Selection"
706 msgstr "_Преврти одбрано"
707
708 #: ../src/gtk_oglview_wnd.cpp:60
709 msgid "Invert the selection"
710 msgstr "Го превртува одбраното"
711
712 #: ../src/gtk_oglview_wnd.cpp:61
713 #, fuzzy
714 msgid "Hide Selected"
715 msgstr "_Скриј одбрано"
716
717 #: ../src/gtk_oglview_wnd.cpp:61
718 msgid "Hide all selected atoms"
719 msgstr "Ги скрива сите одбрани атоми"
720
721 #: ../src/gtk_oglview_wnd.cpp:62
722 #, fuzzy
723 msgid "Show Selected"
724 msgstr "_Покажи одбрано"
725
726 #: ../src/gtk_oglview_wnd.cpp:62
727 msgid "Show all selected atoms"
728 msgstr "Ги покажува сите одбрани атоми"
729
730 #: ../src/gtk_oglview_wnd.cpp:63
731 #, fuzzy
732 msgid "Lock Selected"
733 msgstr "Заклучи одбрано"
734
735 #: ../src/gtk_oglview_wnd.cpp:63
736 msgid "Lock all selected atoms"
737 msgstr "Ги заклучува сите одбрани атоми"
738
739 #: ../src/gtk_oglview_wnd.cpp:64
740 #, fuzzy
741 msgid "Unlock Selected"
742 msgstr "_Отклучи одбрано"
743
744 #: ../src/gtk_oglview_wnd.cpp:64
745 msgid "Unlock all selected atoms"
746 msgstr "Ги отклучува сите одбрани атоми"
747
748 #: ../src/gtk_oglview_wnd.cpp:65
749 #, fuzzy
750 msgid "Delete Selected"
751 msgstr "_Избриши го одбраното"
752
753 #: ../src/gtk_oglview_wnd.cpp:65
754 msgid "Delete all selected atoms"
755 msgstr "Избриши ги сите одбрани атоми"
756
757 #: ../src/gtk_oglview_wnd.cpp:67
758 #, fuzzy
759 msgid "Selection Mode"
760 msgstr "_Одбирачки мод"
761
762 #. ^^^^^^^^^^^^^^
763 #. todo : convert these into toggle items so that the setting from project is show in each of the graphics views...
764 #: ../src/gtk_oglview_wnd.cpp:70
765 #, fuzzy
766 msgid "Select Atoms"
767 msgstr "Одбери _Атоми"
768
769 #: ../src/gtk_oglview_wnd.cpp:70
770 msgid "Select single atoms"
771 msgstr "Одбира поединечни атоми"
772
773 #: ../src/gtk_oglview_wnd.cpp:71
774 #, fuzzy
775 msgid "Select Residues"
776 msgstr "Одбери _Остатоци"
777
778 #: ../src/gtk_oglview_wnd.cpp:71
779 msgid "Select residues"
780 msgstr "Ги одбира остатоците"
781
782 #: ../src/gtk_oglview_wnd.cpp:72
783 #, fuzzy
784 msgid "Select Chains"
785 msgstr "Одбери _Синџири"
786
787 #: ../src/gtk_oglview_wnd.cpp:72
788 msgid "Select chains"
789 msgstr "Ги одбира синџирите"
790
791 #: ../src/gtk_oglview_wnd.cpp:73
792 #, fuzzy
793 msgid "Select Molecules"
794 msgstr "Одбери _Молекули"
795
796 #: ../src/gtk_oglview_wnd.cpp:73
797 msgid "Select molecules"
798 msgstr "Ги одбира молекулите"
799
800 #: ../src/gtk_oglview_wnd.cpp:75
801 #, fuzzy
802 msgid "Render"
803 msgstr "_Изведи"
804
805 #. ^^^^^^^^^^
806 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
807 #: ../src/gtk_oglview_wnd.cpp:78
808 msgid "Quick Update Mode"
809 msgstr "Брз ажурирачки мод"
810
811 #: ../src/gtk_oglview_wnd.cpp:78
812 msgid ""
813 "Quick Update Mode switches into Wireframe rendering mode when doing "
814 "interactive work"
815 msgstr ""
816 "Брзиот ажурирачки мод се префрлува во модот Wireframe за изведување кога има "
817 "интерактивна работа"
818
819 #: ../src/gtk_oglview_wnd.cpp:80
820 #, fuzzy
821 msgid "Views"
822 msgstr "_Погледи"
823
824 #. ^^^^^^^^^^^^^
825 #: ../src/gtk_oglview_wnd.cpp:82
826 msgid "Delete This View"
827 msgstr "Избриши го овој поглед"
828
829 #: ../src/gtk_oglview_wnd.cpp:82
830 msgid "Delete this graphics view"
831 msgstr "Избриши го овој графички поглед"
832
833 #: ../src/gtk_oglview_wnd.cpp:83
834 msgid "Save a CRD-set (experimental)"
835 msgstr "Зачувај CRD-група (експеримантално)"
836
837 #: ../src/gtk_oglview_wnd.cpp:83
838 msgid "Save a coordinate set"
839 msgstr "Зачувај група со координати"
840
841 #: ../src/gtk_oglview_wnd.cpp:84
842 msgid "Superimpose CRD-sets (experimental)"
843 msgstr "Направи пресеци на CRD-групи (експериментално)"
844
845 #: ../src/gtk_oglview_wnd.cpp:84
846 msgid "Superimpose coordinate sets"
847 msgstr "Направи пресеци на групите со координати"
848
849 #: ../src/gtk_oglview_wnd.cpp:86
850 #, fuzzy
851 msgid "Create"
852 msgstr "_Креирај"
853
854 #. ^^^^^^^^^^^^^^^^^^^
855 #: ../src/gtk_oglview_wnd.cpp:88
856 msgid "New Window"
857 msgstr "Нов прозорец"
858
859 #: ../src/gtk_oglview_wnd.cpp:88
860 msgid "Create a new view using the current camera"
861 msgstr "Креирај нов поглед со користење на тековната камера"
862
863 #: ../src/gtk_oglview_wnd.cpp:89
864 msgid "New Camera"
865 msgstr "Нова камера"
866
867 #: ../src/gtk_oglview_wnd.cpp:89
868 msgid "Create a new view using a new camera"
869 msgstr "Креира нов поглед со оваа камера"
870
871 #: ../src/gtk_oglview_wnd.cpp:90
872 msgid "Energy-level Diagram"
873 msgstr "Дијаграм на степен на енергија"
874
875 #: ../src/gtk_oglview_wnd.cpp:90
876 msgid "Create a new energy-level diagram view"
877 msgstr "Креира нов поглед со дијаграм со степен на енергија"
878
879 #: ../src/gtk_oglview_wnd.cpp:91
880 msgid "Secondary Structure Constraints"
881 msgstr "Второстепени структурни ограничувања"
882
883 #: ../src/gtk_oglview_wnd.cpp:91
884 msgid "Create a new secondary structure constraints view"
885 msgstr "Креира нов поглед со второстепени структурни ограничувања"
886
887 #: ../src/gtk_oglview_wnd.cpp:93
888 #, fuzzy
889 msgid "Lights"
890 msgstr "_Светилки"
891
892 #. ^^^^^^^^^^^^^^
893 #: ../src/gtk_oglview_wnd.cpp:95
894 msgid "Create New Light"
895 msgstr "Креирај Нова светилка"
896
897 #: ../src/gtk_oglview_wnd.cpp:95
898 msgid "Create a new light object"
899 msgstr "Креира нов објект со светилка"
900
901 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
902 #: ../src/gtk_oglview_wnd.cpp:97
903 msgid "Enable Local Lights"
904 msgstr "Вклучи Локални светилки"
905
906 #: ../src/gtk_oglview_wnd.cpp:97
907 msgid "Switch on/off the local light objects"
908 msgstr "Ги вклучува/исклучува локалните објекти со светилки"
909
910 #: ../src/gtk_oglview_wnd.cpp:98
911 msgid "Enable Global Lights"
912 msgstr "Вклучи Општи светилки"
913
914 #: ../src/gtk_oglview_wnd.cpp:98
915 msgid "Switch on/off the global light objects"
916 msgstr "Ги вклучува/исклучува објектите со општи светилки"
917
918 #: ../src/gtk_oglview_wnd.cpp:100
919 #, fuzzy
920 msgid "Render Mode"
921 msgstr "_Мод за изведување"
922
923 #. ^^^^^^^^^^^^^^
924 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
925 #: ../src/gtk_oglview_wnd.cpp:103
926 msgid "Ball & Stick"
927 msgstr "Топче и стапче"
928
929 #: ../src/gtk_oglview_wnd.cpp:103
930 msgid "Display atoms and bonds using Ball & Stick mode"
931 msgstr "Ги прикажува атомите и врските преку модот Топче и стапче"
932
933 #: ../src/gtk_oglview_wnd.cpp:104
934 msgid "van der Waals"
935 msgstr "Ван дер Валс"
936
937 #: ../src/gtk_oglview_wnd.cpp:104
938 msgid "Display atoms and bonds using van der Waals mode"
939 msgstr "Ги прикажува атомите и врските преку модот Ван дер Валс"
940
941 #: ../src/gtk_oglview_wnd.cpp:105
942 msgid "Cylinders"
943 msgstr "Цилиндри"
944
945 #: ../src/gtk_oglview_wnd.cpp:105
946 msgid "Display atoms and bonds using Cylinders mode"
947 msgstr "Ги прикажува атомите и врските преку модот Цилиндри"
948
949 #: ../src/gtk_oglview_wnd.cpp:106
950 msgid "Wireframe"
951 msgstr "Wireframe"
952
953 #: ../src/gtk_oglview_wnd.cpp:106
954 msgid "Display atoms and bonds using Wireframe mode"
955 msgstr "Ги прикажува атомите и врските преку модот Wireframe"
956
957 #: ../src/gtk_oglview_wnd.cpp:107 ../src/gtk_oglview_wnd.cpp:128
958 msgid "Nothing"
959 msgstr "Ништо"
960
961 #: ../src/gtk_oglview_wnd.cpp:107
962 msgid "Do not display atoms and bonds"
963 msgstr "Не прикажува атоми и врски"
964
965 #: ../src/gtk_oglview_wnd.cpp:109
966 #, fuzzy
967 msgid "Color Mode"
968 msgstr "_Мод со боја"
969
970 #: ../src/gtk_oglview_wnd.cpp:112
971 msgid "Color atoms and bonds by element"
972 msgstr "Ги бои атомите и врските според елементот"
973
974 #: ../src/gtk_oglview_wnd.cpp:113 ../src/gtk_oglview_wnd.cpp:127
975 msgid "Sec-Struct"
976 msgstr "Сек-Структура"
977
978 #: ../src/gtk_oglview_wnd.cpp:113
979 msgid "Color atoms and bonds by secondary-structure state"
980 msgstr "Ги бои атомите и врските според состојбата на секундарната состојба"
981
982 #: ../src/gtk_oglview_wnd.cpp:114
983 msgid "Hydrophobicity"
984 msgstr "Хидрофобичност"
985
986 #: ../src/gtk_oglview_wnd.cpp:114
987 msgid "Color atoms and bonds by hydrophobicity (experimental)"
988 msgstr "Ги бои атомите и врските според хидрофобијата (експериментално)"
989
990 #: ../src/gtk_oglview_wnd.cpp:116
991 #, fuzzy
992 msgid "Label Mode"
993 msgstr "_Означувачки мод"
994
995 #. ^^^^^^^^^^^^^
996 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
997 #: ../src/gtk_oglview_wnd.cpp:119
998 msgid "Index"
999 msgstr "Индекс"
1000
1001 #: ../src/gtk_oglview_wnd.cpp:119
1002 msgid "Label atoms by atom index"
1003 msgstr "Ги означува атомите според атомскиот индекс"
1004
1005 #: ../src/gtk_oglview_wnd.cpp:120
1006 msgid "Label atoms by element"
1007 msgstr "Ги означува атомите според елементите"
1008
1009 #: ../src/gtk_oglview_wnd.cpp:121
1010 msgid "Formal Charge"
1011 msgstr "Формално полнење"
1012
1013 #: ../src/gtk_oglview_wnd.cpp:121
1014 msgid "Label atoms by formal charge"
1015 msgstr "Ги означува атомите според формалното полнење"
1016
1017 #: ../src/gtk_oglview_wnd.cpp:122
1018 msgid "Partial Charge"
1019 msgstr "Делумно полнење"
1020
1021 #: ../src/gtk_oglview_wnd.cpp:122
1022 msgid "Label atoms by partial charge"
1023 msgstr "Ги означува атомите според делумното полнење"
1024
1025 #: ../src/gtk_oglview_wnd.cpp:123
1026 msgid "Atom Type"
1027 msgstr "Вид на атом"
1028
1029 #: ../src/gtk_oglview_wnd.cpp:123
1030 msgid "Label atoms by atom type"
1031 msgstr "Ги означува атомите според видот на атомот"
1032
1033 #: ../src/gtk_oglview_wnd.cpp:124
1034 msgid "Builder ID"
1035 msgstr "ИД на Градител"
1036
1037 #: ../src/gtk_oglview_wnd.cpp:124
1038 msgid "Label atoms by sequence builder ID"
1039 msgstr "Ги означува атомите според ИД на градителот низата"
1040
1041 #: ../src/gtk_oglview_wnd.cpp:125
1042 msgid "Bond Type"
1043 msgstr "Вид на врска"
1044
1045 #: ../src/gtk_oglview_wnd.cpp:125
1046 msgid "Label bonds by bond type"
1047 msgstr "Ги означува врските според видот на врската"
1048
1049 #: ../src/gtk_oglview_wnd.cpp:126
1050 msgid "Residue"
1051 msgstr "Остаток"
1052
1053 #: ../src/gtk_oglview_wnd.cpp:126
1054 msgid "Label by residue"
1055 msgstr "Го означува остатокот"
1056
1057 #: ../src/gtk_oglview_wnd.cpp:127
1058 msgid "Label by secondary structure state"
1059 msgstr "Означи по состојбата на секундарната структура"
1060
1061 #: ../src/gtk_oglview_wnd.cpp:128
1062 msgid "Do not show labels"
1063 msgstr "Не покажувај ознаки"
1064
1065 #: ../src/gtk_oglview_wnd.cpp:130
1066 #, fuzzy
1067 msgid "Projection"
1068 msgstr "_Проекција"
1069
1070 #. ^^^^^^^^^^^^^^^^^^
1071 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
1072 #: ../src/gtk_oglview_wnd.cpp:133
1073 msgid "Orthographic"
1074 msgstr "Ортографско"
1075
1076 #: ../src/gtk_oglview_wnd.cpp:133
1077 msgid "Use orthographic projection"
1078 msgstr "Користи ортографска проекција"
1079
1080 #: ../src/gtk_oglview_wnd.cpp:134
1081 msgid "Perspective"
1082 msgstr "Перспектива"
1083
1084 #: ../src/gtk_oglview_wnd.cpp:134
1085 msgid "Use perspective projection"
1086 msgstr "Користи перспективна проекција"
1087
1088 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
1089 #. todo : add more color combinations ; red/green red/blue ; any others needed???
1090 #: ../src/gtk_oglview_wnd.cpp:137
1091 msgid "Red-Blue Stereo"
1092 msgstr "Црвено-сино стерео"
1093
1094 #: ../src/gtk_oglview_wnd.cpp:137
1095 msgid "Use red-blue stereo mode"
1096 msgstr "Го користи црвено-синиот стерео мод"
1097
1098 #: ../src/gtk_oglview_wnd.cpp:138
1099 msgid "Relaxed-Eye Stereo"
1100 msgstr "Relaxed-Eye стерео"
1101
1102 #: ../src/gtk_oglview_wnd.cpp:138
1103 msgid "Use relaxed-eye stereo mode"
1104 msgstr "Го користи relaxed-eye стерео модот"
1105
1106 #: ../src/gtk_oglview_wnd.cpp:140
1107 #, fuzzy
1108 msgid "Objects"
1109 msgstr "_Објекти"
1110
1111 #. ^^^^^^^^^^^
1112 #: ../src/gtk_oglview_wnd.cpp:142
1113 msgid "Ribbon"
1114 msgstr "Лента"
1115
1116 #: ../src/gtk_oglview_wnd.cpp:142
1117 msgid "Create a Ribbon object for displaying peptides/proteins"
1118 msgstr "Креира Објект со ленти за приказ на пептиди/протеини"
1119
1120 #: ../src/gtk_oglview_wnd.cpp:143
1121 msgid "ESP-plane"
1122 msgstr "ESP-рамнина"
1123
1124 #: ../src/gtk_oglview_wnd.cpp:143
1125 msgid "Create an ESP-plane object"
1126 msgstr "Креира објект со ESP-рамнина"
1127
1128 #: ../src/gtk_oglview_wnd.cpp:144
1129 msgid "volume-rendered ESP"
1130 msgstr "изработен со волумен ESP"
1131
1132 #: ../src/gtk_oglview_wnd.cpp:144
1133 msgid "Create a volume-rendered ESP object"
1134 msgstr "Креирај volume-rendered ESP-објект"
1135
1136 #: ../src/gtk_oglview_wnd.cpp:145
1137 msgid "ESP-surface"
1138 msgstr "ESP-површина"
1139
1140 #: ../src/gtk_oglview_wnd.cpp:145
1141 msgid "Create an ESP-surface object"
1142 msgstr "Креира објект со ESP-површина"
1143
1144 #: ../src/gtk_oglview_wnd.cpp:146
1145 msgid "ESP-colored vdW-surface"
1146 msgstr "ESP-обоена vdW-поврина"
1147
1148 #: ../src/gtk_oglview_wnd.cpp:146
1149 msgid "Create an ESP-colored vdW-surface object"
1150 msgstr "Креира објект со ESP-обоена vdW-површина"
1151
1152 #: ../src/gtk_oglview_wnd.cpp:147
1153 msgid "Electron density plane"
1154 msgstr "Рамнина со електронска густина"
1155
1156 #: ../src/gtk_oglview_wnd.cpp:147
1157 msgid "Create an Electron density plane object"
1158 msgstr "Креира објект со рамнина со електронска густина"
1159
1160 #: ../src/gtk_oglview_wnd.cpp:148
1161 msgid "Electron density surface"
1162 msgstr "Површина со електронска густина"
1163
1164 #: ../src/gtk_oglview_wnd.cpp:148
1165 msgid "Create an Electron density surface object"
1166 msgstr "Креира објект со површина со електронска густина"
1167
1168 #: ../src/gtk_oglview_wnd.cpp:149
1169 msgid "Molecular orbital plane"
1170 msgstr "Молекулска орбитирачка рамнина"
1171
1172 #: ../src/gtk_oglview_wnd.cpp:149
1173 msgid "Create a Molecular orbital plane object"
1174 msgstr "Креира објект со Молекулска орбитирачка рамнина"
1175
1176 #: ../src/gtk_oglview_wnd.cpp:150
1177 msgid "Molecular orbital volume"
1178 msgstr "Молекулска орбитирачка големина"
1179
1180 #: ../src/gtk_oglview_wnd.cpp:150
1181 msgid "Create a Molecular orbital volume object"
1182 msgstr "Креира објект со Молекулска орбитирачка големина"
1183
1184 #: ../src/gtk_oglview_wnd.cpp:151
1185 msgid "Molecular orbital surface"
1186 msgstr "Молекулска орбитирачка површина"
1187
1188 #: ../src/gtk_oglview_wnd.cpp:151
1189 msgid "Create a Molecular orbital surface object"
1190 msgstr "Креира објект со Молекулска орбитирачка површина"
1191
1192 #: ../src/gtk_oglview_wnd.cpp:152
1193 msgid "MO-density plane"
1194 msgstr "MO-рамнина со густина"
1195
1196 #: ../src/gtk_oglview_wnd.cpp:152
1197 msgid "Create an MO-density plane object"
1198 msgstr "Креира објект со МО-рамнина со густина"
1199
1200 #: ../src/gtk_oglview_wnd.cpp:153
1201 msgid "MO-density volume"
1202 msgstr "МО-големина на густина"
1203
1204 #: ../src/gtk_oglview_wnd.cpp:153
1205 msgid "Create an MO-density volume object"
1206 msgstr "Креира објект со МО-големина на густина"
1207
1208 #: ../src/gtk_oglview_wnd.cpp:154
1209 msgid "MO-density surface"
1210 msgstr "МО-површина со густина"
1211
1212 #: ../src/gtk_oglview_wnd.cpp:154
1213 msgid "Create an MO-density surface object"
1214 msgstr "Креира објект со МО-површина со густина"
1215
1216 #: ../src/gtk_oglview_wnd.cpp:155
1217 msgid "Delete Current Object"
1218 msgstr "Избриши тековен објект"
1219
1220 #: ../src/gtk_oglview_wnd.cpp:155
1221 msgid "Delete the currently selected object"
1222 msgstr "Го брише тековно одбраниот објект"
1223
1224 #: ../src/gtk_oglview_wnd.cpp:157
1225 #, fuzzy
1226 msgid "Compute"
1227 msgstr "_Пресметај"
1228
1229 #. ^^^^^^^^^^^
1230 #: ../src/gtk_oglview_wnd.cpp:159
1231 msgid "Setup..."
1232 msgstr "Постави..."
1233
1234 #: ../src/gtk_oglview_wnd.cpp:160
1235 msgid "Energy"
1236 msgstr "Енергија"
1237
1238 #: ../src/gtk_oglview_wnd.cpp:161
1239 msgid "Geometry Optimization..."
1240 msgstr "Геометриска оптимизација"
1241
1242 #: ../src/gtk_oglview_wnd.cpp:162
1243 msgid "Molecular Dynamics..."
1244 msgstr "Молекуларна динамика..."
1245
1246 #: ../src/gtk_oglview_wnd.cpp:163
1247 msgid "Random Conformational Search..."
1248 msgstr "Случајно оформувачко пребарување..."
1249
1250 #: ../src/gtk_oglview_wnd.cpp:164
1251 msgid "Systematic Conformational Search..."
1252 msgstr "Систематско оформувачко пребарување..."
1253
1254 #: ../src/gtk_oglview_wnd.cpp:165
1255 msgid "Monte Carlo Search..."
1256 msgstr "Пребарување Монте Карло..."
1257
1258 #: ../src/gtk_oglview_wnd.cpp:166
1259 msgid "Plot Energy vs. 1 Torsion Angle..."
1260 msgstr "Енергија на мрежа наспроти еден агол на свиткување"
1261
1262 #: ../src/gtk_oglview_wnd.cpp:167
1263 msgid "Plot Energy vs. 2 Torsion Angles..."
1264 msgstr "Енергија на мрежа наспроти втор агол на свиткување"
1265
1266 #: ../src/gtk_oglview_wnd.cpp:168
1267 msgid "Population Analysis (ESP)"
1268 msgstr "Анализа на популација (ESP)"
1269
1270 #: ../src/gtk_oglview_wnd.cpp:169
1271 msgid "Transition State Search..."
1272 msgstr "Преодно пребарување на состојба..."
1273
1274 #: ../src/gtk_oglview_wnd.cpp:170
1275 msgid "Stationary State Search..."
1276 msgstr "Фиксирано пребарување на состојба..."
1277
1278 #: ../src/gtk_oglview_wnd.cpp:171
1279 msgid "Formula"
1280 msgstr "Формула"
1281
1282 #: ../src/gtk_oglview_wnd.cpp:176
1283 msgid "MD Trajectory Viewer..."
1284 msgstr "Прегледник на траекторија на МД..."
1285
1286 #: ../src/gtk_oglview_wnd.cpp:177
1287 msgid "Set Current Orbital"
1288 msgstr "Постави тековно орбитирачко"
1289
1290 #: ../src/gtk_oglview_wnd.cpp:179
1291 #, fuzzy
1292 msgid "Build"
1293 msgstr "_Изгради"
1294
1295 #. ^^^^^^^^^
1296 #: ../src/gtk_oglview_wnd.cpp:181
1297 msgid "Solvate Box..."
1298 msgstr "Поле на раствор..."
1299
1300 #: ../src/gtk_oglview_wnd.cpp:182
1301 msgid "Solvate Sphere..."
1302 msgstr "Сфера на раствор..."
1303
1304 #: ../src/gtk_oglview_wnd.cpp:183
1305 msgid "Sequence Builder (amino)..."
1306 msgstr "Градител на низа (амино)..."
1307
1308 #: ../src/gtk_oglview_wnd.cpp:184
1309 msgid "Sequence Builder (nucleic)..."
1310 msgstr "Градител на низа (нуклеинска)..."
1311
1312 #: ../src/gtk_oglview_wnd.cpp:185
1313 msgid "Center"
1314 msgstr "Центар"
1315
1316 #: ../src/gtk_oglview_wnd.cpp:186
1317 msgid "Zap All"
1318 msgstr "Бриши сè"
1319
1320 #: ../src/gtk_oglview_wnd.cpp:188
1321 #, fuzzy
1322 msgid "Hydrogens"
1323 msgstr "_Водороди"
1324
1325 #. ^^^^^^^^^^^^^^^^^^
1326 #: ../src/gtk_oglview_wnd.cpp:190
1327 msgid "Add"
1328 msgstr "Додади"
1329
1330 #: ../src/gtk_oglview_wnd.cpp:191
1331 msgid "Remove"
1332 msgstr "Отстрани"
1333
1334 #: ../src/gtk_oglview_wnd.cpp:193
1335 msgid "Enter a Command..."
1336 msgstr "Внесете наредба..."
1337
1338 #: ../src/gtk_oglview_wnd.cpp:380
1339 #, c-format
1340 msgid "ERROR : Building popup-menu for gtk_oglview_wnd failed : %s"
1341 msgstr ""
1342
1343 #: ../src/gtk_oglview_wnd.cpp:630
1344 msgid "sets 0 <-> "
1345 msgstr "групи 0 <-> "
1346
1347 #: ../src/gtk_oglview_wnd.cpp:630
1348 msgid " RMS = "
1349 msgstr " RMS = "
1350
1351 #: ../src/gtk_oglview_wnd.cpp:636
1352 msgid "average RMS = "
1353 msgstr "просечно RMS = "
1354
1355 #: ../src/gtk_p1dview_wnd.cpp:57
1356 #, fuzzy, c-format
1357 msgid "ERROR : Building popup-menu for gtk_p1dview_wnd failed : %s"
1358 msgstr "Градењето на gp1dv менито е неуспешно: %s"
1359
1360 #: ../src/gtk_p2dview_wnd.cpp:57
1361 #, fuzzy, c-format
1362 msgid "ERROR : Building popup-menu for gtk_p2dview_wnd failed : %s"
1363 msgstr "Градењето на gp2dv менито е неуспешно: %s"
1364
1365 #: ../src/gtk_progress_dialog.cpp:39
1366 #, fuzzy
1367 msgid "WARNING : progress_dialog : glade_xml_get_widget() failed!!!"
1368 msgstr "progress_dialog: glade_xml_get_widget() неуспешно!!!"
1369
1370 #: ../src/gtk_project.cpp:81
1371 msgid "A new project created.\n"
1372 msgstr "Нов проект е креиран.\n"
1373
1374 #: ../src/gtk_project.cpp:184
1375 msgid "Thread creation failed : GeomOpt"
1376 msgstr "Креирањето на нишка е неуспешно: GeomOpt"
1377
1378 #: ../src/gtk_project.cpp:199 ../src/res_gtk/gtk_geomopt_dialog.glade.h:2
1379 msgid "Geometry Optimization"
1380 msgstr "Геометриска оптимизација"
1381
1382 #: ../src/gtk_project.cpp:234
1383 msgid "Thread creation failed : MolDyn"
1384 msgstr "Креирањето на нишка е неуспешно: MolDyn"
1385
1386 #: ../src/gtk_project.cpp:249 ../src/res_gtk/gtk_moldyn_dialog.glade.h:5
1387 msgid "Molecular Dynamics"
1388 msgstr "Молекуларна динамика"
1389
1390 #: ../src/gtk_project.cpp:273
1391 msgid "Thread creation failed : RandomSearch"
1392 msgstr "Креирањето на нишка е неуспешно: RandomSearch"
1393
1394 #: ../src/gtk_project.cpp:288
1395 msgid "Random Search"
1396 msgstr "Случајно пребарување"
1397
1398 #: ../src/gtk_project.cpp:776 ../src/gtk_project.cpp:794
1399 #: ../src/gtk_project.cpp:812 ../src/gtk_project.cpp:830
1400 #: ../src/gtk_project.cpp:848 ../src/gtk_project.cpp:866
1401 #: ../src/gtk_project.cpp:884 ../src/gtk_project.cpp:902
1402 #: ../src/gtk_project.cpp:920 ../src/gtk_project.cpp:938
1403 #: ../src/gtk_project.cpp:956 ../src/gtk_project.cpp:974
1404 msgid "Please calculate energy first!"
1405 msgstr "Ве молиме, прво пресметајте ја енергијата!"
1406
1407 #: ../src/gtk_project.cpp:1075
1408 msgid ""
1409 "PLEASE NOTE!\n"
1410 "The command string, which is displayed in the next dialog, is incomplete.\n"
1411 "You should replace the letters A-D with atom indices that define the "
1412 "torsion.\n"
1413 "\n"
1414 "ALSO NOTE: structure refinement is always done using molecular mechanics "
1415 "(optsteps)."
1416 msgstr ""
1417 "ВЕ МОЛИМЕ, ЗАБЕЛЕЖЕТЕ!\n"
1418 "Наредбената низа, што е прикажана во дијалогот со текст е нецелосна.\n"
1419 "Треба да ги замените буквите A-D со атомските индекси што го дефинираат "
1420 "свиткувањето.\n"
1421 "\n"
1422 "ИСТО ТАКА, ЗАБЕЛЕЖЕТЕ: структурното подобрување е секогаш направено со "
1423 "користење на молекуларната механика (optsteps)."
1424
1425 #: ../src/gtk_project.cpp:1088
1426 msgid ""
1427 "PLEASE NOTE!\n"
1428 "The command string, which is displayed in the next dialog, is incomplete.\n"
1429 "You should replace the letters A-D and I-L with atom indices that define the "
1430 "torsions.\n"
1431 "\n"
1432 "ALSO NOTE: structure refinement is always done using molecular mechanics "
1433 "(optsteps)."
1434 msgstr ""
1435 "ВЕ МОЛИМЕ, ЗАБЕЛЕЖЕТЕ!\n"
1436 "Наредбената низа, што е прикажана во дијалогот со текст е нецелосна.\n"
1437 "Треба да ги замените буквите A-D и I-L со атомските индекси што го "
1438 "дефинираат свиткувањето.\n"
1439 "\n"
1440 "ИСТО ТАКА, ЗАБЕЛЕЖЕТЕ: структурното подобрување е секогаш направено со "
1441 "користење на молекуларната механика (optsteps)."
1442
1443 #: ../src/gtk_project.cpp:1162
1444 msgid "ERROR"
1445 msgstr "ГРЕШКА"
1446
1447 #: ../src/gtk_project.cpp:1173
1448 #, fuzzy
1449 msgid "Trajectory file already open?"
1450 msgstr "Траекторијата е веќе отворена?!?!?!"
1451
1452 #: ../src/gtk_project.cpp:1182
1453 msgid ""
1454 "PLEASE NOTE!\n"
1455 "The command string, which is displayed in the next dialog, is incomplete.\n"
1456 "You should replace the letter X with the orbital index that will become the "
1457 "current orbital."
1458 msgstr ""
1459 "ВЕ МОЛИМЕ, ЗАБЕЛЕЖЕТЕ!\n"
1460 "Наредбената низа, што е прикажана во дијалогот со текст е нецелосна.\n"
1461 "Треба да ја замените буквата X со орбиталниот индекс што ќе стане тековната "
1462 "орбита."
1463
1464 #: ../src/gtk_project.cpp:1237
1465 msgid ""
1466 "PLEASE NOTE!\n"
1467 "The command string, which is displayed in the next dialog, is incomplete.\n"
1468 "You should replace the default sequence AAA with the sequence to be built."
1469 msgstr ""
1470 "ВЕ МОЛИМЕ, ЗАБЕЛЕЖЕТЕ!\n"
1471 "Наредбената низа, што е прикажана во дијалогот со текст е нецелосна.\n"
1472 "Треба да ја замените зададената низа ААА со низата што треба да се изгради."
1473
1474 #: ../src/gtk_project.cpp:1250
1475 msgid ""
1476 "PLEASE NOTE!\n"
1477 "The command string, which is displayed in the next dialog, is incomplete.\n"
1478 "You should replace the default sequence AGTCaguc with the sequence to be "
1479 "built."
1480 msgstr ""
1481 "ВЕ МОЛИМЕ, ЗАБЕЛЕЖЕТЕ!\n"
1482 "Наредбената низа, што е прикажана во дијалогот со текст е нецелосна.\n"
1483 "Треба да ја замените зададената низа AGTCaguc со низата т треба да се "
1484 "изгради."
1485
1486 #: ../src/gtk_project.cpp:1287
1487 msgid "Are you sure you want to clear everything?"
1488 msgstr "Дали сте сигурни дека сакате да исчистите сè?"
1489
1490 #: ../src/gtk_rcpview_wnd.cpp:57
1491 #, fuzzy, c-format
1492 msgid "ERROR : Building popup-menu for gtk_rcpview_wnd failed : %s"
1493 msgstr "Градењето на grcpv менито е неуспешно: %s"
1494
1495 #: ../src/gtk_setup_dialog.cpp:49
1496 #, fuzzy
1497 msgid "WARNING : setup_dialog : glade_xml_get_widget() failed!!!"
1498 msgstr "stereo_dialog: glade_xml_get_widget() неуспешно!!!"
1499
1500 #: ../src/gtk_setup_dialog.cpp:358
1501 msgid "Changed the Setup for calculations "
1502 msgstr "Променето е Поставувањето за пресметувањата"
1503
1504 #: ../src/gtk_setup_dialog.cpp:359 ../src/project.cpp:4038
1505 msgid "(setup = "
1506 msgstr "(поставка = "
1507
1508 #: ../src/gtk_setup_dialog.cpp:375 ../src/project.cpp:4039
1509 msgid ", engine = "
1510 msgstr ", машина = "
1511
1512 #. request a modal window.
1513 #: ../src/gtk_simple_dialogs.cpp:49
1514 msgid "Set Current Element"
1515 msgstr "Постави го Тековниот елемент"
1516
1517 #: ../src/gtk_simple_dialogs.cpp:113
1518 #, fuzzy
1519 msgid "Current element is now "
1520 msgstr "тековниот елемент е сега"
1521
1522 #. request a modal window.
1523 #: ../src/gtk_simple_dialogs.cpp:133
1524 msgid "Set Current Bondtype"
1525 msgstr "Постави го Тековниот вид на врска"
1526
1527 #: ../src/gtk_simple_dialogs.cpp:184
1528 #, fuzzy
1529 msgid "Current bondtype is now "
1530 msgstr "тековниот вид на врска е сега"
1531
1532 #: ../src/gtk_simple_dialogs.cpp:449
1533 msgid ""
1534 "This alternative PDB reader is designed to remove any gaps that might\n"
1535 "exist in the structure data. Therefore the sequence might be altered!"
1536 msgstr ""
1537 "Овој дополнителен PDB-читач е дизајниран за да ги отстрани сите дупки што "
1538 "можат\n"
1539 "да постојат во структурните податоци. Затоа, низата може да биде променета!"
1540
1541 #. request a modal window.
1542 #: ../src/gtk_simple_dialogs.cpp:482
1543 msgid "Command Interpreter"
1544 msgstr "Интерпретер на наредба"
1545
1546 #: ../src/gtk_simple_dialogs.cpp:503
1547 msgid "Execute"
1548 msgstr ""
1549
1550 #: ../src/gtk_simple_dialogs.cpp:506
1551 msgid "Cancel"
1552 msgstr "Откажи"
1553
1554 #: ../src/gtk_stereo_dialog.cpp:37
1555 #, fuzzy
1556 msgid "WARNING : stereo_dialog : glade_xml_get_widget() failed!!!"
1557 msgstr "stereo_dialog: glade_xml_get_widget() неуспешно!!!"
1558
1559 #: ../src/gtk_trajview_dialog.cpp:39
1560 #, fuzzy
1561 msgid "WARNING : trajview_dialog : glade_xml_get_widget() failed!!!"
1562 msgstr "trajview_dialog: glade_xml_get_widget() неуспешно!!!"
1563
1564 #: ../src/gtk_trajview_dialog.cpp:82 ../src/gtk_trajview_dialog.cpp:102
1565 #: ../src/gtk_trajview_dialog.cpp:136 ../src/gtk_trajview_dialog.cpp:151
1566 msgid "frame = "
1567 msgstr "рамка ="
1568
1569 #: ../src/gtk_wnd.cpp:53
1570 #, c-format
1571 msgid "*** Cannot find the double-buffered visual.\n"
1572 msgstr "*** Не може да најде двојно-бафериран видлив.\n"
1573
1574 #: ../src/gtk_wnd.cpp:54
1575 #, c-format
1576 msgid "*** Trying single-buffered visual.\n"
1577 msgstr "*** Обид за единечен-бафериран видлив.\n"
1578
1579 #: ../src/gtk_wnd.cpp:61
1580 #, c-format
1581 msgid "*** No appropriate OpenGL-capable visual found.\n"
1582 msgstr "*** Нема пронајдено соодветен способен за OpenGL видлив.\n"
1583
1584 #: ../src/gtk_wnd.cpp:66
1585 #, c-format
1586 msgid ""
1587 "\n"
1588 "OpenGL visual configurations :\n"
1589 "\n"
1590 msgstr ""
1591 "\n"
1592 "OpenGL конфигурации за видливо:\n"
1593 "\n"
1594
1595 #: ../src/ogl_surface.cpp:91
1596 msgid "evaluating grid"
1597 msgstr "оценувачки систем"
1598
1599 #: ../src/ogl_surface.cpp:106
1600 msgid " done\n"
1601 msgstr " направено\n"
1602
1603 #: ../src/ogl_surface.cpp:112
1604 msgid "interpolating in "
1605 msgstr "вметнување во"
1606
1607 #: ../src/ogl_surface.cpp:131
1608 msgid "-direction... "
1609 msgstr "-насока... "
1610
1611 #: ../src/ogl_surface.cpp:138
1612 msgid " points, "
1613 msgstr " точки, "
1614
1615 #: ../src/ogl_surface.cpp:138
1616 msgid " cycles"
1617 msgstr "кругови"
1618
1619 #: ../src/ogl_surface.cpp:155
1620 msgid "generating image... "
1621 msgstr "генерирање слика..."
1622
1623 #: ../src/ogl_surface.cpp:185
1624 msgid "color_surface problem #1"
1625 msgstr "боја на_површина проблем бр. 1"
1626
1627 #: ../src/ogl_surface.cpp:235
1628 msgid "color_surface problem #2"
1629 msgstr "боја на_површина проблем бр. 2"
1630
1631 #: ../src/ogl_surface.cpp:335
1632 msgid " lines, "
1633 msgstr "линии,"
1634
1635 #: ../src/ogl_surface.cpp:335
1636 msgid " triangles."
1637 msgstr "триаголници."
1638
1639 #: ../src/p2dview_wcl.cpp:182
1640 msgid "now scaling the colours to range "
1641 msgstr "сега се размеруваат боите за вклучување"
1642
1643 #: ../src/p2dview_wcl.cpp:182
1644 msgid " kJ/mol"
1645 msgstr " kJ/mol"
1646
1647 #: ../src/pangofont_wcl.cpp:75
1648 #, fuzzy, c-format
1649 msgid "*** ERROR : Can't load font '%s'\n"
1650 msgstr "*** Не може да се вчита фонтот „%s“\n"
1651
1652 #: ../src/project.cpp:210
1653 msgid "untitled"
1654 msgstr "неименувано"
1655
1656 #: ../src/project.cpp:322
1657 msgid "Cannot import that file type."
1658 msgstr "Не може да се увезе тој вид на датотека."
1659
1660 #: ../src/project.cpp:367
1661 msgid "Cannot export that file type."
1662 msgstr "Не може да се извезе тој вид на датотека."
1663
1664 #: ../src/project.cpp:409
1665 msgid "Hydrogens added."
1666 msgstr "Водородите се додадени."
1667
1668 #: ../src/project.cpp:419
1669 msgid "Hydrogens removed."
1670 msgstr "Водородите се отстранети."
1671
1672 #: ../src/project.cpp:617
1673 msgid " window "
1674 msgstr "прозорец"
1675
1676 #: ../src/project.cpp:663
1677 msgid ""
1678 "This is the last graphics view for\n"
1679 "this project - can't close it."
1680 msgstr ""
1681 "Ова е последниот графички поглед за\n"
1682 "овој проект - не може да се затвори."
1683
1684 #: ../src/project.cpp:877
1685 msgid "Processing Command : "
1686 msgstr "Обработување на наредба:"
1687
1688 #: ../src/project.cpp:887
1689 msgid "> AVAILABLE COMMANDS:"
1690 msgstr "> ДОСТАПНИ НАРЕДБИ:"
1691
1692 #. use alphabetical order???
1693 #: ../src/project.cpp:889
1694 msgid ""
1695 "> add light (local/global) (directional/spotlight) -- add a new light object."
1696 msgstr ""
1697 "> додади светлина (локално/општо) (фиксирано/рефлектор) -- додади нов "
1698 "светлечки објект."
1699
1700 #: ../src/project.cpp:891
1701 msgid ""
1702 "> add plane <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <tp> <alpha> -- "
1703 "add a plane object."
1704 msgstr ""
1705 "> додади рамнина <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <tp> <alpha> "
1706 "-- додади објект на рамнина."
1707
1708 #: ../src/project.cpp:892 ../src/project.cpp:902
1709 msgid "> where: <vf> = value function : esp vdws eldens mo mod unity"
1710 msgstr "> каде што: <vf> = вредносна функција: esp vdws eldens mo mod unity"
1711
1712 #: ../src/project.cpp:893 ../src/project.cpp:903 ../src/project.cpp:913
1713 msgid "> <cf> = colour function : red green blue rb1 rb2"
1714 msgstr "> <cf> = функција на боја: црвена зелена сина rb1 rb2"
1715
1716 #: ../src/project.cpp:894 ../src/project.cpp:904 ../src/project.cpp:915
1717 #: ../src/project.cpp:930
1718 msgid "> <cscale1> = scaling value for calculating the colours"
1719 msgstr ""
1720 "> <cscale1> = размерување на вредност за пресметување на боите"
1721
1722 #: ../src/project.cpp:895 ../src/project.cpp:905 ../src/project.cpp:916
1723 #: ../src/project.cpp:931
1724 msgid "> <cscale2> = scaling offset for calculating the colours"
1725 msgstr "> <cscale2> = размерување на офсет за пресметување на боите"
1726
1727 #: ../src/project.cpp:896 ../src/project.cpp:906 ../src/project.cpp:917
1728 #: ../src/project.cpp:932
1729 msgid "> <dim> = dimension of the plane object (in nm units)"
1730 msgstr "> <dim> = големнина на објектот на рамнината (во nm единици)"
1731
1732 #: ../src/project.cpp:897 ../src/project.cpp:907 ../src/project.cpp:918
1733 #: ../src/project.cpp:933
1734 msgid "> <res> = resolution of the plane object"
1735 msgstr "> <res> = резолуција на објектот на рамнината"
1736
1737 #: ../src/project.cpp:898 ../src/project.cpp:920 ../src/project.cpp:935
1738 msgid "> <tp> = 0 or 1 telling if the object is transparent"
1739 msgstr "> <tp> = 0 или 1 кажува ако објектот е провиден"
1740
1741 #: ../src/project.cpp:899 ../src/project.cpp:908 ../src/project.cpp:921
1742 #: ../src/project.cpp:936
1743 msgid "> <alpha> = transparency alpha value"
1744 msgstr "> <alpha> = провидност алфа-вредност"
1745
1746 #: ../src/project.cpp:901
1747 msgid ""
1748 "> add volrend <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <alpha> -- add "
1749 "a volume-rendering object."
1750 msgstr ""
1751 "> add volrend <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <alpha> -- "
1752 "додади објект за изведување големина."
1753
1754 #: ../src/project.cpp:910
1755 msgid ""
1756 "> add surf1 <vf1> <vf2> <cf> <sscale> <cscale1> <AUTO/cscale2> <dim> <res> "
1757 "<solid> <tp> <alpha> -- add a single surface object."
1758 msgstr ""
1759 "> add surf1 <vf1> <vf2> <cf> <sscale> <cscale1> <AUTO/cscale2> <dim> <res> "
1760 "<solid> <tp> <alpha> -- додади единечен површински објект."
1761
1762 #: ../src/project.cpp:911 ../src/project.cpp:924
1763 msgid ""
1764 "> where: <vf1> = value function for calculating the surface : esp vdws "
1765 "eldens mo mod unity"
1766 msgstr ""
1767 "> каде што: <vf1> = вредносна функција за пресметување на површината: esp "
1768 "vdws eldens mo mod unity"
1769
1770 #: ../src/project.cpp:912 ../src/project.cpp:925
1771 msgid ""
1772 "> <vf2> = value function for calculating the colours : esp vdws "
1773 "eldens mo mod unity"
1774 msgstr ""
1775 "> <vf2> = вредносна функција за пресметување на боите: esp vdws "
1776 "eldens mo mod unity"
1777
1778 #: ../src/project.cpp:914
1779 msgid "> <sscale> = scaling value for calculating the surface"
1780 msgstr ""
1781 "> <sscale> = размерување вредност за пресметување на површината"
1782
1783 #: ../src/project.cpp:919 ../src/project.cpp:934
1784 msgid "> <solid> = 0 or 1 telling if the object is solid"
1785 msgstr "> <solid> = 0 или 1 кажува ако објектот е цврст"
1786
1787 #: ../src/project.cpp:923
1788 msgid ""
1789 "> add surf2 <vf1> <vf2> <cf1> <cf2> <sscale1> <sscale2> <cscale1> <AUTO/"
1790 "cscale2> <dim> <res> <solid> <tp> <alpha> -- add a pair of surface objects."
1791 msgstr ""
1792 "> add surf2 <vf1> <vf2> <cf1> <cf2> <sscale1> <sscale2> <cscale1> <AUTO/"
1793 "cscale2> <dim> <res> <solid> <tp> <alpha> -- додади пар од површински "
1794 "објекти."
1795
1796 #: ../src/project.cpp:926
1797 msgid ""
1798 "> <cf1> = colour function for 1st surface : red green blue rb1 rb2"
1799 msgstr ""
1800 "> <cf1> = функција на боја за прва површина: црвена зелена сина rb1 "
1801 "rb2"
1802
1803 #: ../src/project.cpp:927
1804 msgid ""
1805 "> <cf2> = colour function for 2nd surface : red green blue rb1 rb2"
1806 msgstr ""
1807 "> <cf2> = функција на боја за втора површина: црвена зелена цијан "
1808 "rb1 rb2"
1809
1810 #: ../src/project.cpp:928
1811 msgid ""
1812 "> <sscale1> = scaling value for calculating the surface for 1st "
1813 "surface"
1814 msgstr ""
1815 "> <sscale1> = размерување вредност за пресметување на површината за "
1816 "прва површина"
1817
1818 #: ../src/project.cpp:929
1819 msgid ""
1820 "> <sscale2> = scaling value for calculating the surface for 2nd "
1821 "surface"
1822 msgstr ""
1823 "> <sscale2> = размерување вредност за пресметување на површината за "
1824 "втора површина"
1825
1826 #: ../src/project.cpp:938
1827 msgid "> help -- print all available commands in command strings."
1828 msgstr "> help -- печати ги сите достапни наредби на наредбените низи."
1829
1830 #: ../src/project.cpp:940
1831 msgid "> energy -- calculate a single-point energy."
1832 msgstr "> energy -- пресметај енергија на единечна точка."
1833
1834 #: ../src/project.cpp:941
1835 msgid "> geom_opt -- do a geometry optimization run using default options."
1836 msgstr "> geom_opt -- извршува геометриска оптимизација со зададени опции."
1837
1838 #: ../src/project.cpp:942
1839 msgid "> mol_dyn -- do a molecular dynamics run using default options."
1840 msgstr "> mol_dyn -- извршува молекуларна динамика со зададени опции."
1841
1842 #: ../src/project.cpp:944
1843 msgid ""
1844 "> random_search <cycles> <optsteps> -- perform a random conformational "
1845 "search."
1846 msgstr ""
1847 "> random_search <cycles> <optsteps> -- изведува случајно оформувачко "
1848 "пребарување."
1849
1850 #: ../src/project.cpp:945
1851 msgid ""
1852 "> systematic_search <divisions> <optsteps> -- perform a systematic "
1853 "conformational search."
1854 msgstr ""
1855 "> systematic_search <divisions> <optsteps> -- изведува систематско "
1856 "оформувачко пребарување."
1857
1858 #: ../src/project.cpp:946
1859 msgid ""
1860 "> montecarlo_search <init_cycles> <simul_cycles> <optsteps> -- perform a "
1861 "MonteCarlo search."
1862 msgstr ""
1863 "> montecarlo_search <init_cycles> <simul_cycles> <optsteps> -- изведува "
1864 "Монте Карло пребарување."
1865
1866 #: ../src/project.cpp:948
1867 msgid ""
1868 "> make_plot1 A B C D <div> <start_ang> <end_ang> <optsteps> -- create a 1D "
1869 "energy vs. torsion plot."
1870 msgstr ""
1871 "> make_plot1 A B C D <div> <start_ang> <end_ang> <optsteps> -- креира 1Д "
1872 "енергија наспроти мрежа на свиткување."
1873
1874 #: ../src/project.cpp:949
1875 msgid ""
1876 "> make_plot2 A B C D <div> <start_ang> <end_ang> I J K L <div> <start_ang> "
1877 "<end_ang> <optsteps> -- create a 2D energy vs. torsions plot."
1878 msgstr ""
1879 "> make_plot2 A B C D <div> <start_ang> <end_ang> I J K L <div> <start_ang> "
1880 "<end_ang> <optsteps> -- креира 2Д енергија наспроти мрежа на свиткување."
1881
1882 #: ../src/project.cpp:951
1883 msgid ""
1884 "> population_analysis_ESP -- determine atomic charges using an ESP fit (for "
1885 "QM methods only)."
1886 msgstr ""
1887 "> population_analysis_ESP -- ги утврдува атомските полнења со користење на "
1888 "ESP согласување (само за методите на КМ)."
1889
1890 #: ../src/project.cpp:953
1891 msgid ""
1892 "> transition_state_search <delta_e> <initial_fc> -- perform a transition "
1893 "state search (for QM methods only)."
1894 msgstr ""
1895 "> transition_state_search <delta_e> <initial_fc> -- пребарувај по преодни "
1896 "состојба (само за методите на КМ)."
1897
1898 #: ../src/project.cpp:954
1899 msgid ""
1900 "> stationary_state_search <steps> -- perform a search for a structure with "
1901 "no forces."
1902 msgstr ""
1903 "> stationary_state_search <steps> -- изведува пребарување за структура без "
1904 "сили."
1905
1906 #: ../src/project.cpp:956
1907 msgid ""
1908 "> set_current_orbital <orbital_index> -- set the current orbtal index for "
1909 "plotting the orbitals."
1910 msgstr ""
1911 "> set_current_orbital <orbital_index> -- постави го тековниот орбитален "
1912 "индекс за мрежата на орбитите."
1913
1914 #: ../src/project.cpp:958
1915 msgid "> update_chains -- detect polymer chains using sequence builder."
1916 msgstr ""
1917 "> update_chains -- пронаоѓа полимерни синџири преку градителот на низи."
1918
1919 #: ../src/project.cpp:959
1920 msgid "> build_amino <sequence> (helix/strand) -- amino acid sequence builder."
1921 msgstr ""
1922 "> build_amino <sequence> (helix/strand) -- градител на аминокиселинска низа."
1923
1924 #: ../src/project.cpp:960
1925 msgid "> build_nucleic <sequence> -- nucleic acid sequence builder."
1926 msgstr "> build_nucleic <sequence> -- градител на низа на нуклеинска киселина."
1927
1928 #: ../src/project.cpp:962
1929 #, fuzzy
1930 msgid "> orient <crdset> -- orient the system in the XYZ coordinate system."
1931 msgstr "> orient <crdset> -- го насочува системот."
1932
1933 #: ../src/project.cpp:964
1934 msgid ""
1935 "> solvate_box <x-hdim> <y-hdim> <z-hdim> (<density> <filename> (export)) -- "
1936 "setup a solvation box."
1937 msgstr ""
1938 "> solvate_box <x-hdim> <y-hdim> <z-hdim> (<density> <filename> (export)) -- "
1939 "поставува поле за раствор."
1940
1941 #: ../src/project.cpp:965
1942 msgid ""
1943 "> solvate_sphere <rad_solute> <rad_solvent> (<density> <filename>) -- setup "
1944 "a solvation sphere."
1945 msgstr ""
1946 "> solvate_sphere <rad_solute> <rad_solvent> (<density> <filename>) -- "
1947 "поставува сфера за раствор."
1948
1949 #: ../src/project.cpp:967
1950 msgid "> set_formal_charge <index> <charge> -- set formal charges to atoms."
1951 msgstr ""
1952 "> set_formal_charge <index> <charge> -- поставува формални полнења на "
1953 "атомите."
1954
1955 #: ../src/project.cpp:969
1956 msgid ""
1957 "> evaluate_Bfact -- evaluate B-factors for selected atoms (a trajectory file "
1958 "must be open)."
1959 msgstr ""
1960 "> evaluate_Bfact -- оценува B-фактори за одбраните атоми (датотеката на "
1961 "траекторијата мора да биде отворена)."
1962
1963 #: ../src/project.cpp:970
1964 msgid ""
1965 "> evaluate_diffconst <dt> -- evaluate diffusion constants for selected atoms "
1966 "(a trajectory file must be open, dt = time difference between frames [fs])."
1967 msgstr ""
1968 "> evaluate_diffconst <dt> -- оценува консонанти на дифузија за одбраните "
1969 "атоми (мора да биде отворена датотеката на траекторијата, dt = временска "
1970 "разлика помеѓу рамки [fs])."
1971
1972 #: ../src/project.cpp:1010
1973 msgid "Added a new object : light ("
1974 msgstr "Додаден е нов објект: светлина ("
1975
1976 #: ../src/project.cpp:1011
1977 msgid "local"
1978 msgstr "локално"
1979
1980 #: ../src/project.cpp:1011
1981 msgid "global"
1982 msgstr "општо"
1983
1984 #: ../src/project.cpp:1012
1985 msgid "directional"
1986 msgstr "фиксирано"
1987
1988 #: ../src/project.cpp:1012
1989 msgid "spotlight"
1990 msgstr "рефлектор"
1991
1992 #: ../src/project.cpp:1041
1993 msgid "ERROR : add plane : unknown value function "
1994 msgstr "ГРЕШКА: додади рамнина: непозната вредносна функција"
1995
1996 #: ../src/project.cpp:1055
1997 msgid "ERROR : add plane : unknown colour function "
1998 msgstr "ГРЕШКА: додади рамнина: непозната функција на боја"
1999
2000 #: ../src/project.cpp:1091
2001 msgid "Added a new object : plane ("
2002 msgstr "Додаден е нов објект: рамнина ("
2003
2004 #: ../src/project.cpp:1119
2005 msgid "ERROR : add volrend : unknown value function "
2006 msgstr "ГРЕШКА: додади volrend: непозната вредносна функција"
2007
2008 #: ../src/project.cpp:1133
2009 msgid "ERROR : add volrend : unknown colour function "
2010 msgstr "ГРЕШКА: додади volrend: непозната функција на боја"
2011
2012 #: ../src/project.cpp:1166
2013 msgid "Added a new object : volrend ("
2014 msgstr "Додаден е нов објект: volrend ("
2015
2016 #: ../src/project.cpp:1199
2017 msgid "ERROR : add surf1 : unknown value function 1 "
2018 msgstr "ГРЕШКА: додади surf1: непозната вредносна функција 1 "
2019
2020 #: ../src/project.cpp:1214
2021 msgid "ERROR : add surf1 : unknown value function 2 "
2022 msgstr "ГРЕШКА: додади surf1: непозната вредносна функција 2"
2023
2024 #: ../src/project.cpp:1228
2025 msgid "ERROR : add surf1 : unknown colour function "
2026 msgstr "ГРЕШКА: додади surf1: непозната функција на боја"
2027
2028 #: ../src/project.cpp:1277
2029 msgid "Added a new object : surf1 ("
2030 msgstr "Додаден е нов објект: surf1 ("
2031
2032 #: ../src/project.cpp:1314
2033 msgid "ERROR : add surf2 : unknown value function 1 "
2034 msgstr "ГРЕШКА: додади surf2: непозната вредносна функција 1 "
2035
2036 #: ../src/project.cpp:1329
2037 msgid "ERROR : add surf2 : unknown value function 2 "
2038 msgstr "ГРЕШКА: додади surf2: непозната вредносна функција 2"
2039
2040 #: ../src/project.cpp:1343
2041 msgid "ERROR : add surf2 : unknown colour function 1 "
2042 msgstr "ГРЕШКА: додади surf2: непозната функција на боја 1"
2043
2044 #: ../src/project.cpp:1357
2045 msgid "ERROR : add surf2 : unknown colour function 2 "
2046 msgstr "ГРЕШКА: додади surf2: непозната функција на боја 2"
2047
2048 #: ../src/project.cpp:1417
2049 msgid "Added a new object : surf2 ("
2050 msgstr "Додаден е нов објект: surf2 ("
2051
2052 #: ../src/project.cpp:1423
2053 msgid "ERROR : could not process command \"add\" for parameter "
2054 msgstr "ГРЕШКА: не може да се обработи наредбата „add“ за параметар"
2055
2056 #: ../src/project.cpp:1575
2057 msgid "Sorry, this is for QM models only!"
2058 msgstr "Жалам, ова е само за моделите на КМ!"
2059
2060 #: ../src/project.cpp:1622
2061 msgid "The current orbital is now "
2062 msgstr "Тековното орбитирачко е сега"
2063
2064 #: ../src/project.cpp:1667 ../src/project.cpp:1702
2065 msgid "built a sequence : "
2066 msgstr "изгради низи:"
2067
2068 #: ../src/project.cpp:1715
2069 msgid "maximum dimensions:"
2070 msgstr "максимални димензии:"
2071
2072 #: ../src/project.cpp:1817
2073 msgid "Sorry, atom not found!"
2074 msgstr "Жалам, атомот не е пронајден!"
2075
2076 #: ../src/project.cpp:1843
2077 msgid "ERROR : Unknown command : "
2078 msgstr "ГРЕШКА: Непозната наредба: "
2079
2080 #: ../src/project.cpp:1844
2081 msgid "The \"help\" command will give more information about command strings."
2082 msgstr "Наредбата „help“ ќе даде повеќе информации за наредбените низи."
2083
2084 #: ../src/project.cpp:1871
2085 msgid "local lights = "
2086 msgstr "локални светилки ="
2087
2088 #: ../src/project.cpp:1871 ../src/project.cpp:1878
2089 msgid "on"
2090 msgstr "вклучено"
2091
2092 #: ../src/project.cpp:1871 ../src/project.cpp:1878
2093 msgid "off"
2094 msgstr "исклучено"
2095
2096 #: ../src/project.cpp:1878
2097 msgid "global lights = "
2098 msgstr "општи светилки ="
2099
2100 #: ../src/project.cpp:3244
2101 msgid "Group information about chains/residues is needed for this operation."
2102 msgstr ""
2103 "Заеднички информации за синџирите/остатоците се потребни за оваа операција."
2104
2105 #: ../src/project.cpp:3245
2106 msgid "Is it OK to update group information?"
2107 msgstr "Дали е во ред да се ажурираат заеднички информации?"
2108
2109 #: ../src/project.cpp:3259
2110 msgid "Sorry, no chain/residue information available for this atom."
2111 msgstr "Жалам, нема достапни информации за синџир/остаток за овој атом."
2112
2113 #: ../src/project.cpp:3278
2114 msgid "selected atom "
2115 msgstr "одбран атом"
2116
2117 #: ../src/project.cpp:3278
2118 msgid " (atomtype = "
2119 msgstr " (вид на атом = "
2120
2121 #: ../src/project.cpp:3290
2122 msgid "selected residue "
2123 msgstr "одбран остаток"
2124
2125 #: ../src/project.cpp:3290
2126 msgid " from chain "
2127 msgstr "од синџир"
2128
2129 #: ../src/project.cpp:3301
2130 msgid "selected chain "
2131 msgstr "одбран синџир"
2132
2133 #: ../src/project.cpp:3325
2134 msgid "selected molecule "
2135 msgstr "одбран молекул"
2136
2137 #. this must be OK.
2138 #: ../src/project.cpp:3354
2139 msgid "charge: "
2140 msgstr "полнење:"
2141
2142 #: ../src/project.cpp:3372
2143 msgid "distance: "
2144 msgstr "оддалеченост:"
2145
2146 #: ../src/project.cpp:3394
2147 msgid "angle: "
2148 msgstr "агол"
2149
2150 #: ../src/project.cpp:3394
2151 msgid " deg"
2152 msgstr " степ"
2153
2154 #: ../src/project.cpp:3413
2155 msgid "torsion: "
2156 msgstr "свиткување:"
2157
2158 #: ../src/project.cpp:3413
2159 msgid " deg "
2160 msgstr " степ "
2161
2162 #: ../src/project.cpp:3482
2163 msgid "MW: "
2164 msgstr "MW: "
2165
2166 #: ../src/project.cpp:3559
2167 msgid "ERROR : atom "
2168 msgstr "ГРЕШКА: атомот"
2169
2170 #: ../src/project.cpp:3559 ../src/project.cpp:3745 ../src/project.cpp:3757
2171 msgid " not found!"
2172 msgstr "не е пронајден!"
2173
2174 #: ../src/project.cpp:3579
2175 msgid "ERROR : could not find ic.\n"
2176 msgstr "ГРЕШКА: не може да пронајде ic.\n"
2177
2178 #: ../src/project.cpp:3597
2179 msgid "ERROR : could not find tor-term.\n"
2180 msgstr "ГРЕШКА: не може да пронајде tor-term.\n"
2181
2182 #: ../src/project.cpp:3601
2183 msgid "tor(deg)"
2184 msgstr "свит(степ)"
2185
2186 #: ../src/project.cpp:3601 ../src/project.cpp:3818 ../src/project.cpp:3910
2187 msgid "E(kJ/mol)"
2188 msgstr "E(kJ/mol)"
2189
2190 #: ../src/project.cpp:3652
2191 msgid "tor = "
2192 msgstr "свит ="
2193
2194 #: ../src/project.cpp:3652 ../src/project.cpp:3875
2195 msgid " deg, energy = "
2196 msgstr "степ, енергија ="
2197
2198 #: ../src/project.cpp:3652 ../src/project.cpp:3875
2199 msgid " kJ/mol."
2200 msgstr " kJ/mol."
2201
2202 #: ../src/project.cpp:3745
2203 msgid "ERROR : tor1 atom "
2204 msgstr "ГРЕШКА: свит прв атом"
2205
2206 #: ../src/project.cpp:3757
2207 msgid "ERROR : tor2 atom "
2208 msgstr "ГРЕШКА: свит втор атом"
2209
2210 #: ../src/project.cpp:3777
2211 msgid "ERROR : could not find ic for tor1.\n"
2212 msgstr "ГРЕШКА: не може да пронајде ic за свит1.\n"
2213
2214 #: ../src/project.cpp:3784
2215 msgid "ERROR : could not find ic for tor2.\n"
2216 msgstr "ГРЕШКА: не може да пронајде ic за свит2.\n"
2217
2218 #: ../src/project.cpp:3807
2219 msgid "ERROR : could not find tor-term for tor1.\n"
2220 msgstr "ГРЕШКА: не може да пронајде tor-term за свит1.\n"
2221
2222 #: ../src/project.cpp:3814
2223 msgid "ERROR : could not find tor-term for tor2.\n"
2224 msgstr "ГРЕШКА: не може да пронајде tor-term за свит2.\n"
2225
2226 #: ../src/project.cpp:3818
2227 msgid "tor1(deg)"
2228 msgstr "свит1(степ)"
2229
2230 #: ../src/project.cpp:3818
2231 msgid "tor2(deg)"
2232 msgstr "свит2(степ)"
2233
2234 #: ../src/project.cpp:3875
2235 msgid "tor1 = "
2236 msgstr "свит1 ="
2237
2238 #: ../src/project.cpp:3875
2239 msgid " deg, tor2 = "
2240 msgstr "степ, свит2 ="
2241
2242 #: ../src/project.cpp:3900 ../src/project.cpp:3935
2243 msgid "r-energy = "
2244 msgstr "r-енергија = "
2245
2246 #: ../src/project.cpp:3900 ../src/project.cpp:3935
2247 msgid "p-energy = "
2248 msgstr "p-енергија = "
2249
2250 #: ../src/project.cpp:3901 ../src/project.cpp:3936
2251 msgid " is lower "
2252 msgstr "е помала"
2253
2254 #: ../src/project.cpp:3940
2255 msgid "READY!"
2256 msgstr "ПОДГОТВЕНО!"
2257
2258 #: ../src/project.cpp:4037
2259 msgid "Starting Stationary State Search "
2260 msgstr "Почнува Фиксирано пребарување на состојба"
2261
2262 #: ../src/project.cpp:4050
2263 msgid "Cycle Gradient Step\n"
2264 msgstr "Циклус Градиент Чекор\n"
2265
2266 #: ../src/project.cpp:4065
2267 msgid "the nsteps termination test was passed.\n"
2268 msgstr "тестот за n-чекори за завршување е поминат.\n"
2269
2270 #: ../src/rcpview_wcl.cpp:161
2271 msgid "the tresholds were set to "
2272 msgstr "праговите беа поставени на"
2273
2274 #: ../src/rcpview_wcl.cpp:161
2275 msgid " and "
2276 msgstr " и"
2277
2278 #. ################################################################################################
2279 #. eof
2280 #: ../src/res_gtk/gtk_file_export_dialog.glade.h:1
2281 #: ../src/res_gtk/gtk_file_import_dialog.glade.h:1
2282 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:1
2283 msgid "Browse..."
2284 msgstr "Прелистај"
2285
2286 #: ../src/res_gtk/gtk_file_export_dialog.glade.h:2
2287 msgid "Export File"
2288 msgstr "Извези датотека"
2289
2290 #: ../src/res_gtk/gtk_file_import_dialog.glade.h:2
2291 msgid "Import File"
2292 msgstr "Увези датотека"
2293
2294 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:1
2295 #, fuzzy
2296 msgid "Delta-E Cutoff:"
2297 msgstr "Делта Е отсекување:"
2298
2299 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:3
2300 msgid "Gradient Cutoff:"
2301 msgstr "Отсекување градиент:"
2302
2303 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:4
2304 msgid "Maximum # of Steps:"
2305 msgstr "Максимален број на чекори:"
2306
2307 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:2
2308 msgid "Constant-P simulation (allow P-control at simulation stage)"
2309 msgstr ""
2310 "Симулација на константа-P (дозволува управување на P во симулациската фаза)"
2311
2312 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:3
2313 msgid "Constant-T simulation (allow T-control at simulation stage)"
2314 msgstr ""
2315 "Симулација на константа-Т (дозволува управување на Т во симулациската фаза)"
2316
2317 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:4
2318 msgid "Isothermal compressibility [1/bar] :"
2319 msgstr "Изотермална компресивност [1/bar]:"
2320
2321 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:6
2322 msgid "Number of steps : (cooling)"
2323 msgstr "Број на чекори: (ладење)"
2324
2325 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:7
2326 msgid "Number of steps : (equilibration)"
2327 msgstr "Број на чекори: (балансирање)"
2328
2329 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:8
2330 msgid "Number of steps : (heating)"
2331 msgstr "Број на чекори: (загревање)"
2332
2333 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:9
2334 msgid "Number of steps : (simulation)"
2335 msgstr "Број на чекори: (симулација)"
2336
2337 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:10
2338 msgid "P relaxation time [fs] :"
2339 msgstr "Време за одмор на P [fs]:"
2340
2341 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:11
2342 msgid "Pressure [bar] :"
2343 msgstr "Притисок [bar]:"
2344
2345 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:12
2346 msgid "T relaxation time [fs] : (equil/simul)"
2347 msgstr "Време за одмор на Т [fs]: (балан/симул)"
2348
2349 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:13
2350 msgid "T relaxation time [fs] : (heat/cool)"
2351 msgstr "Време за одмор на Т [fs]: (топло/ладно)"
2352
2353 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:14
2354 msgid "Temperature [K] :"
2355 msgstr "Температура [K]:"
2356
2357 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:15
2358 msgid "Timestep [fs] :"
2359 msgstr "Временски чекор [fs]:"
2360
2361 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:16
2362 msgid "Trajectory File : "
2363 msgstr "Датотека на траекторија:"
2364
2365 #: ../src/res_gtk/gtk_progress_dialog.glade.h:1
2366 msgid "Background Job"
2367 msgstr "Работа во заднина"
2368
2369 #: ../src/res_gtk/gtk_progress_dialog.glade.h:2
2370 msgid "Job Title : "
2371 msgstr "Наслов на работа:"
2372
2373 #: ../src/res_gtk/gtk_setup_dialog.glade.h:1
2374 msgid "<b>Select the Engine Class:</b>"
2375 msgstr "<b>Одберете Вид на машина:</b>"
2376
2377 #: ../src/res_gtk/gtk_setup_dialog.glade.h:2
2378 msgid "<b>Set the spin multiplicity of the system:</b>"
2379 msgstr "<b>Поставете ја многустраноста на вртењето на вашиот систем:</b>"
2380
2381 #: ../src/res_gtk/gtk_setup_dialog.glade.h:3
2382 msgid "<b>Set the total charge of the system:</b>"
2383 msgstr "<b>Поставете го вкупното полнење на вашиот систем:</b>"
2384
2385 #: ../src/res_gtk/gtk_setup_dialog.glade.h:4
2386 msgid "Enable atomtype/parameter exceptions (AMBER FF)."
2387 msgstr "Овозможете исклучоци на вид на атом/параметри (AMBER FF)."
2388
2389 #: ../src/res_gtk/gtk_setup_dialog.glade.h:6
2390 msgid "MM/SF"
2391 msgstr "ММ/ПС"
2392
2393 #: ../src/res_gtk/gtk_setup_dialog.glade.h:7
2394 msgid "QM/MM"
2395 msgstr "КM/MM"
2396
2397 #: ../src/res_gtk/gtk_setup_dialog.glade.h:8
2398 msgid "Setup"
2399 msgstr "Постави"
2400
2401 #: ../src/res_gtk/gtk_setup_dialog.glade.h:9
2402 msgid "Spin Multiplicity:"
2403 msgstr "Многустраност на вртење:"
2404
2405 #: ../src/res_gtk/gtk_setup_dialog.glade.h:10
2406 msgid "Total Charge:"
2407 msgstr "Вкупно полнење:"
2408
2409 #: ../src/res_gtk/gtk_setup_dialog.glade.h:11
2410 msgid "all MM"
2411 msgstr "сите ММ"
2412
2413 #: ../src/res_gtk/gtk_setup_dialog.glade.h:12
2414 msgid "all QM"
2415 msgstr "сите КМ"
2416
2417 #: ../src/res_gtk/gtk_setup_dialog.glade.h:13
2418 msgid "all SF"
2419 msgstr "сите ПС"
2420
2421 #: ../src/res_gtk/gtk_setup_dialog.glade.h:14
2422 msgid "this is under construction and DISABLED currently!"
2423 msgstr "во тек е конструирање и во моментот е ОНЕВОЗМОЖЕНО!"
2424
2425 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:1
2426 msgid "Relaxed Separation :"
2427 msgstr "Релаксирано одделување:"
2428
2429 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:2
2430 msgid "Stereo Displacement :"
2431 msgstr "Стерео-разместување:"
2432
2433 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:3
2434 msgid "Stereo View Settings"
2435 msgstr "Поставувања на Стерео-поглед"
2436
2437 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:1
2438 msgid "Begin"
2439 msgstr "Почеток"
2440
2441 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:2
2442 msgid "End"
2443 msgstr "Крај"
2444
2445 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:3
2446 msgid "Play"
2447 msgstr "Пушти"
2448
2449 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:4
2450 msgid "Trajectory Viewer"
2451 msgstr "Прегледник на траекторија"
2452
2453 #~ msgid "Import File "
2454 #~ msgstr "Увези датотека"
2455
2456 #~ msgid "av is not empty!?!"
2457 #~ msgstr "av не е празен?!"
2458
2459 #~ msgid "ac_stor_wcl::StoreAC(1) ; bad cset_sz."
2460 #~ msgstr "ac_stor_wcl::StoreAC(1); bad cset_sz."
2461
2462 #~ msgid "ac_stor_wcl::StoreAC(2) ; bad cset_sz."
2463 #~ msgstr "ac_stor_wcl::StoreAC(2); bad cset_sz."
2464
2465 #~ msgid "d"
2466 #~ msgstr "цртај"
2467
2468 #~ msgid "e"
2469 #~ msgstr "избриши"
2470
2471 #~ msgid "s"
2472 #~ msgstr "одбери"
2473
2474 #~ msgid "z"
2475 #~ msgstr "приближи"
2476
2477 #~ msgid "c"
2478 #~ msgstr "спојување"
2479
2480 #~ msgid "t"
2481 #~ msgstr "транслатирај-xy"
2482
2483 #~ msgid "tz"
2484 #~ msgstr "транслатирај-z"
2485
2486 #~ msgid "oz"
2487 #~ msgstr "орбитирај-z"
2488
2489 #~ msgid "r"
2490 #~ msgstr "ротирај-xy"
2491
2492 #~ msgid "rz"
2493 #~ msgstr "ротирај-z"
2494
2495 #~ msgid "m"
2496 #~ msgstr "измери"
2497
2498 #~ msgid "draw\n"
2499 #~ msgstr "цртај\n"
2500
2501 #~ msgid "erase\n"
2502 #~ msgstr "избриши\n"
2503
2504 #~ msgid "select\n"
2505 #~ msgstr "одбери\n"
2506
2507 #~ msgid "zoom\n"
2508 #~ msgstr "зголеми\n"
2509
2510 #~ msgid "clip\n"
2511 #~ msgstr "спој\n"
2512
2513 #~ msgid ""
2514 #~ "trans\n"
2515 #~ "XY"
2516 #~ msgstr ""
2517 #~ "транс\n"
2518 #~ "XY"
2519
2520 #~ msgid ""
2521 #~ "trans\n"
2522 #~ "Z"
2523 #~ msgstr ""
2524 #~ "транс\n"
2525 #~ "Z"
2526
2527 #~ msgid ""
2528 #~ "orbit\n"
2529 #~ "XY"
2530 #~ msgstr ""
2531 #~ "орбит\n"
2532 #~ "XY"
2533
2534 #~ msgid ""
2535 #~ "orbit\n"
2536 #~ "Z"
2537 #~ msgstr ""
2538 #~ "орбит\n"
2539 #~ "Z"
2540
2541 #~ msgid ""
2542 #~ "rotate\n"
2543 #~ "XY"
2544 #~ msgstr ""
2545 #~ "врти\n"
2546 #~ "XY"
2547
2548 #~ msgid ""
2549 #~ "rotate\n"
2550 #~ "Z"
2551 #~ msgstr ""
2552 #~ "ротирај\n"
2553 #~ "Z"
2554
2555 #~ msgid "measure\n"
2556 #~ msgstr "измери\n"
2557
2558 #~ msgid "el"
2559 #~ msgstr "елемент"
2560
2561 #~ msgid "bt"
2562 #~ msgstr "вид на врска"
2563
2564 #~ msgid "su"
2565 #~ msgstr "постави"
2566
2567 #~ msgid "element\n"
2568 #~ msgstr "елемент\n"
2569
2570 #~ msgid ""
2571 #~ "bond\n"
2572 #~ "type"
2573 #~ msgstr ""
2574 #~ "вид на\n"
2575 #~ "врска"
2576
2577 #~ msgid "setup\n"
2578 #~ msgstr "постави\n"
2579
2580 #~ msgid "_Help"
2581 #~ msgstr "_Помош"
2582
2583 #~ msgid "<control>N"
2584 #~ msgstr "<control>Н"
2585
2586 #~ msgid "New file"
2587 #~ msgstr "Нова датотека"
2588
2589 #~ msgid "<control>O"
2590 #~ msgstr "<control>O"
2591
2592 #~ msgid "<control>S"
2593 #~ msgstr "<control>S"
2594
2595 #~ msgid "<control>C"
2596 #~ msgstr "<control>C"
2597
2598 #~ msgid "<control>H"
2599 #~ msgstr "<control>H"
2600
2601 #~ msgid "<control>A"
2602 #~ msgstr "<control>A"
2603
2604 #~ msgid "View the Copyright notices"
2605 #~ msgstr "Во забелешките за Авторските права"
2606
2607 #~ msgid "<control>D"
2608 #~ msgstr "<control>D"
2609
2610 #~ msgid "<control>U"
2611 #~ msgstr "<control>U"
2612
2613 #~ msgid "Error Loading Icon: %s\n"
2614 #~ msgstr "Грешка при вчитување икона: %s\n"
2615
2616 #~ msgid "gtk_app::AttachDetachView() : no wnd!"
2617 #~ msgstr "gtk_app::AttachDetachView(): нема wnd!"
2618
2619 #~ msgid "gtk_app::AttachDetachView() ; unknown wcl class."
2620 #~ msgstr "gtk_app::AttachDetachView(); непозната wcl класа."
2621
2622 #~ msgid "PrintToLog : "
2623 #~ msgstr "Печати на запис: "
2624
2625 #~ msgid "ERROR : gtk_app::CameraRemoved() failed."
2626 #~ msgstr "ГРЕШКА: gtk_app::CameraRemoved() е неуспешно."
2627
2628 #~ msgid "ERROR : gtk_app::LightAdded() failed."
2629 #~ msgstr "ГРЕШКА: gtk_app::LightAdded() е неуспешно."
2630
2631 #~ msgid "gtk_app::LightAdded() : bad cast!"
2632 #~ msgstr "gtk_app::LightAdded(): лоша нијанса!"
2633
2634 #~ msgid "ERROR : gtk_app::LightRemoved() failed."
2635 #~ msgstr "ГРЕШКА: gtk_app::LightRemoved() е неуспешно."
2636
2637 #~ msgid "ERROR : gtk_app::GraphicsClientAdded() failed."
2638 #~ msgstr "ГРЕШКА: gtk_app::GraphicsClientAdded() е неуспешно."
2639
2640 #~ msgid "gtk_app::GraphicsClientAdded() : bad cast!"
2641 #~ msgstr "gtk_app::GraphicsClientAdded(): лоша нијанса!"
2642
2643 #~ msgid "a graphics client"
2644 #~ msgstr "клиент на графика"
2645
2646 #~ msgid "ERROR : gtk_app::GraphicsClientRemoved() failed."
2647 #~ msgstr "ГРЕШКА: gtk_app::GraphicsClientRemoved() е неуспешно."
2648
2649 #~ msgid "called gtk_app::PlottingClientAdded()"
2650 #~ msgstr "наречено gtk_app::PlottingClientAdded()"
2651
2652 #~ msgid "a plotting client"
2653 #~ msgstr "клиент на мрежа"
2654
2655 #~ msgid "called gtk_app::PlottingClientRemoved()"
2656 #~ msgstr "наречено gtk_app::PlottingClientRemoved()"
2657
2658 #~ msgid "ERROR : gtk_app::PlottingClientRemoved() failed."
2659 #~ msgstr "ГРЕШКА: gtk_app::PlottingClientRemoved() е неуспешно."
2660
2661 #~ msgid "ERROR : gtk_project_view::ObjectRemoved() failed."
2662 #~ msgstr "ГРЕШКА: gtk_project_view::ObjectRemoved() е неуспешно."
2663
2664 #~ msgid "ERROR : gtk_app::viewsobjs_SetCurrent() failed."
2665 #~ msgstr "ГРЕШКА: gtk_app::viewsobjs_SetCurrent() е неуспешно."
2666
2667 #~ msgid "ERROR : gtk_app::viewsobjs_Delete() failed."
2668 #~ msgstr "ГРЕШКА: gtk_app::viewsobjs_Delete() е неуспешно."
2669
2670 #~ msgid "ERROR : gtk_project_view::ChainsEventHandler2() failed."
2671 #~ msgstr "ГРЕШКА: gtk_project_view::ChainsEventHandler2() е неуспешно."
2672
2673 #~ msgid "ERROR : gtk_project_view::AtomUpdateItem() failed."
2674 #~ msgstr "ГРЕШКА: gtk_project_view::AtomUpdateItem() е неуспешно."
2675
2676 #~ msgid "ERROR : gtk_project_view::AtomRemoved() failed."
2677 #~ msgstr "ГРЕШКА: gtk_project_view::AtomRemoved() неуспешно."
2678
2679 #~ msgid "ERROR : gtk_project_view::AtomsEventHandler1() failed."
2680 #~ msgstr "ГРЕШКА: gtk_project_view::AtomsEventHandler1() неуспешно."
2681
2682 #~ msgid "ERROR : gtk_project_view::atoms_ToggleLocked() failed."
2683 #~ msgstr "ГРЕШКА: gtk_project_view::atoms_ToggleLocked() неуспешно."
2684
2685 #~ msgid "true"
2686 #~ msgstr "точно"
2687
2688 #~ msgid "false"
2689 #~ msgstr "погрешно"
2690
2691 #~ msgid "ERROR : gtk_project_view::BondUpdateItem() failed."
2692 #~ msgstr "ГРЕШКА: gtk_project_view::BondUpdateItem() неуспешно."
2693
2694 #~ msgid "ERROR : gtk_project_view::BondRemoved() failed."
2695 #~ msgstr "ГРЕШКА: gtk_project_view::BondRemoved() неуспешно."
2696
2697 #~ msgid "ERROR : gtk_project_view::BondsEventHandler1() failed."
2698 #~ msgstr "ГРЕШКА: gtk_project_view::BondsEventHandler1() неуспешно."
2699
2700 #~ msgid "draw skipped ; counter = "
2701 #~ msgstr "цртањето е прескокнато; бројач ="
2702
2703 #~ msgid "draw state is "
2704 #~ msgstr "состојбата на цртање е"
2705
2706 #~ msgid "erase skipped ; counter = "
2707 #~ msgstr "бришењето е прескокнато; бројач ="
2708
2709 #~ msgid "erase state is "
2710 #~ msgstr "состојбата на избришано е"
2711
2712 #~ msgid "select skipped ; counter = "
2713 #~ msgstr "одбери прескокнато; бројач ="
2714
2715 #~ msgid "select state is "
2716 #~ msgstr "состојбата на одбраното е"
2717
2718 #~ msgid "zoom skipped ; counter = "
2719 #~ msgstr "приближувањето е прескокнато; бројач ="
2720
2721 #~ msgid "zoom state is "
2722 #~ msgstr "состојба на приближувањето е"
2723
2724 #~ msgid "clipping skipped ; counter = "
2725 #~ msgstr "спојувањето е прескокнато; бројач ="
2726
2727 #~ msgid "clipping state is "
2728 #~ msgstr "состојбата на спојувањето е"
2729
2730 #~ msgid "transl_xy skipped ; counter = "
2731 #~ msgstr "трансл_xy е прескокнато; бројач ="
2732
2733 #~ msgid "transl_xy state is "
2734 #~ msgstr "трансл_xy состојба е"
2735
2736 #~ msgid "transl_z skipped ; counter = "
2737 #~ msgstr "трасл_z прескокнато; бројач ="
2738
2739 #~ msgid "transl_z state is "
2740 #~ msgstr "трансл_z состојбата е"
2741
2742 #~ msgid "orbit_xy skipped ; counter = "
2743 #~ msgstr "орбит_xy прескокнато; бројач ="
2744
2745 #~ msgid "orbit_xy state is "
2746 #~ msgstr "орбит_xy состојба е"
2747
2748 #~ msgid "orbit_z skipped ; counter = "
2749 #~ msgstr "орбит_z прескокнато; бројач ="
2750
2751 #~ msgid "orbit_z state is "
2752 #~ msgstr "орбит_z состојбата е"
2753
2754 #~ msgid "rotate_xy skipped ; counter = "
2755 #~ msgstr "ротир_xy прескокнато; бројач ="
2756
2757 #~ msgid "rotate_xy state is "
2758 #~ msgstr "ротир_xy состојбата е"
2759
2760 #~ msgid "rotate_z skipped ; counter = "
2761 #~ msgstr "ротир_z прескокнато; бројач ="
2762
2763 #~ msgid "rotate_z state is "
2764 #~ msgstr "ротир_z состојбата е"
2765
2766 #~ msgid "measure skipped ; counter = "
2767 #~ msgstr "мерењето е прескокнато; бројач ="
2768
2769 #~ msgid "measure state is "
2770 #~ msgstr "состојбата на мерењето е"
2771
2772 #~ msgid "ghemical-"
2773 #~ msgstr "ghemical-"
2774
2775 #~ msgid "ERROR : could not read glade XML file : "
2776 #~ msgstr "ГРЕШКА: не може да се прочита glade XML-датотеката: "
2777
2778 #~ msgid "<control>I"
2779 #~ msgstr "<control>I"
2780
2781 #~ msgid "<control>E"
2782 #~ msgstr "<control>E"
2783
2784 #~ msgid "Compute a single-point energy"
2785 #~ msgstr "Пресметува енергија на единечна точка"
2786
2787 #~ msgid "Do a geometry optimization run"
2788 #~ msgstr "Извршува геометриска оптимизација"
2789
2790 #~ msgid "Do a molecular dynamics run"
2791 #~ msgstr "Извршува молекуларна динамика"
2792
2793 #~ msgid "Do a random conformational search"
2794 #~ msgstr "Извршува случајно оформувачко пребарување"
2795
2796 #~ msgid "Do a Monte Carlo type conformational search"
2797 #~ msgstr "Прави Монте Карло оформувачко пребарување"
2798
2799 #~ msgid "...todo..."
2800 #~ msgstr "...направи..."
2801
2802 #~ msgid "UnderConstruction ; RS ; Set Formal Charge"
2803 #~ msgstr "Во изградба; RS; Постави го Формалното полнење"
2804
2805 #~ msgid "UnderConstruction ; RS ; make RS"
2806 #~ msgstr "Во изградба; RS; нарави RS"
2807
2808 #~ msgid "UnderConstruction ; RS ; cycle RS"
2809 #~ msgstr "Во изградба; RS; цикличен RS"
2810
2811 #~ msgid "Building ggv menu failed : %s"
2812 #~ msgstr "Градењето на ggv менито е неуспешно: %s"
2813
2814 #~ msgid ""
2815 #~ "FIXME : superimpose conflicts with openbabel?\n"
2816 #~ "g++ (GCC) 3.3.5 (Debian 1:3.3.5-13) 20050701\n"
2817 #~ "compiler says superimpose is undeclared???"
2818 #~ msgstr ""
2819 #~ "ПОПРАВИМЕ: пречки со пресеци со openbabel?\n"
2820 #~ "g++ (GCC) 3.3.5 (Debian 1:3.3.5-13) 20050701\n"
2821 #~ "компајлерот вели дека пресекот е непријавен???"
2822
2823 #~ msgid "gtk_project::GetClient() failed!"
2824 #~ msgstr "gtk_project::GetClient() неуспешно!"
2825
2826 #~ msgid "now returning from gtk_project::GeomOptGetParam()."
2827 #~ msgstr "сега се враќа од gtk_project::GeomOptGetParam()."
2828
2829 #~ msgid "now returning from gtk_project::MolDynGetParam()."
2830 #~ msgstr "сега се враќа од gtk_project::MolDynGetParam()."
2831
2832 #~ msgid "gtk_project::DestroyGraphicsWnd() : bad cast."
2833 #~ msgstr "gtk_project::DestroyGraphicsWnd(): лоша нијанса."
2834
2835 #~ msgid "gtk_project::DestroyPlottingWnd() : bad cast."
2836 #~ msgstr "gtk_project::DestroyPlottingWnd(): лоша нијанса."
2837
2838 #~ msgid "not implemented..."
2839 #~ msgstr "не е вметнато..."
2840
2841 #~ msgid ""
2842 #~ "BUG: Bad cast was detected at setup_dialog ctor.\n"
2843 #~ "The program will terminate."
2844 #~ msgstr ""
2845 #~ "БУБАЧКА: Лошата нијанса беше пронајдена при setup_dialog ctor.\n"
2846 #~ "Програмата ќе се прекине."
2847
2848 #~ msgid "BUG: Invalid current page at setup_dialog::handler_ButtonOK()."
2849 #~ msgstr ""
2850 #~ "БУБАЧКА: Неважечка тековна страница при setup_dialog::handler_ButtonOK()."
2851
2852 #~ msgid "callEXIT : cannot report SFmode!"
2853 #~ msgstr "callEXIT: не може да извести мод на ПС!"
2854
2855 #~ msgid "BUG: file_save_dialog::OkEvent() failed."
2856 #~ msgstr "БУБАЧКА: file_save_dialog::OkEvent() неуспешно."
2857
2858 #~ msgid "BUG: file_save_graphics_dialog::OkEvent() failed."
2859 #~ msgstr "БУБАЧКА: file_save_graphics_dialog::OkEvent() неуспешно."
2860
2861 #~ msgid "trying to open \""
2862 #~ msgstr "обид за отворање „"
2863
2864 #~ msgid "OK"
2865 #~ msgstr "Во ред"
2866
2867 #~ msgid "handler_Destroy() : ref = "
2868 #~ msgstr "handler_Destroy(): ref = "
2869
2870 #~ msgid "ERROR : gtk_wnd dtor ; removal from iv failed!"
2871 #~ msgstr "ГРЕШКА: gtk_wnd dtor; отстранување од iv неуспешно!"
2872
2873 #~ msgid "gtk_wnd::RealizeHandler() : iv_Find() failed!"
2874 #~ msgstr "gtk_wnd::RealizeHandler(): iv_Find() неуспешно!"
2875
2876 #~ msgid "gtk_wnd::RealizeHandler() : gdk_gl_drawable_make_current() failed.\n"
2877 #~ msgstr ""
2878 #~ "gtk_wnd::RealizeHandler(): gdk_gl_drawable_make_current() неуспешно.\n"
2879
2880 #~ msgid "gtk_wnd::ButtonHandler() : iv_Find() failed!"
2881 #~ msgstr "gtk_wnd::ButtonHandler(): iv_Find() неуспешно!"
2882
2883 #~ msgid "ExposeHandler ; NOT REALIZED!!!"
2884 #~ msgstr "ExposeHandler; НЕ Е РЕАЛИЗИРАНО!!!"
2885
2886 #~ msgid "ExposeHandler ; NOT INITIALIZED!!!"
2887 #~ msgstr "ExposeHandler; НЕ Е ПОЧНАТО!!!"
2888
2889 #~ msgid "gtk_wnd::ExposeHandler() : gdk_gl_drawable_make_current() failed.\n"
2890 #~ msgstr ""
2891 #~ "gtk_wnd::ExposeHandler(): gdk_gl_drawable_make_current() неуспешно.\n"
2892
2893 #~ msgid "ButtonHandler ; NOT REALIZED!!!"
2894 #~ msgstr "ButtonHandler; НЕ Е РЕАЛИЗИРАНО!!!"
2895
2896 #~ msgid "gtk_wnd::MotionNotifyHandler() : iv_Find() failed!"
2897 #~ msgstr "gtk_wnd::MotionNotifyHandler(): iv_Find() неуспешно!"
2898
2899 #~ msgid "WARNING ; a mouse-button-up event was lost!"
2900 #~ msgstr "ПРЕДУПРЕДУВАЊЕ; изгубен е настан на копче-нагоре-не-глувче!"
2901
2902 #~ msgid "iv_Find() failed at gtk_wnd::ConfigureHandler()."
2903 #~ msgstr "iv_Find() неуспешно на gtk_wnd::ConfigureHandler()."
2904
2905 #~ msgid "gtk_wnd::SetCurrent() : gdk_gl_drawable_make_current() failed.\n"
2906 #~ msgstr "gtk_wnd::SetCurrent(): gdk_gl_drawable_make_current() неуспешно.\n"
2907
2908 #~ msgid "ERROR : gtk_wnd::TitleChanged() called for an unlinked window."
2909 #~ msgstr "ГРЕШКА: gtk_wnd::TitleChanged() повика неповрзан прозорец."
2910
2911 #~ msgid ""
2912 #~ "BUG: The chain type is not correct (\"amino_acid\").\n"
2913 #~ "The program will terminate."
2914 #~ msgstr ""
2915 #~ "БУБАЧКА: Видот на синџир не е точен („amino_acid“).\n"
2916 #~ "Програмата ќе прекине."
2917
2918 #~ msgid ""
2919 #~ "BUG: Tried to create a ribbon with less than 3 residues.\n"
2920 #~ "The program will terminate."
2921 #~ msgstr ""
2922 #~ "БУБАЧКА: Обид за креирање лента со помалку од три остатоци.\n"
2923 #~ "Програмата ќе прекине."
2924
2925 #~ msgid "ribbon : failed to use susf."
2926 #~ msgstr "лента: не успеа да користи susf."
2927
2928 #~ msgid "ERROR : search of C_alpha 2 failed."
2929 #~ msgstr "ГРЕШКА: пребарување на C_alpha 2 е неуспешно."
2930
2931 #~ msgid "ERROR : search of C_alpha 1 failed."
2932 #~ msgstr "ГРЕШКА: пребарување на C_alpha 1 е неуспешно."
2933
2934 #~ msgid "ERROR : search of c_carboxyl failed."
2935 #~ msgstr "ГРЕШКА: преберување на c_carboxyl е неуспешно."
2936
2937 #~ msgid "oglview_wcl::UpdateWnd() : skipped!"
2938 #~ msgstr "oglview_wcl::UpdateWnd(): прескокнато!"
2939
2940 #~ msgid "invalid s1 passed to plot1d_view!"
2941 #~ msgstr "неважечко s1 преминато во plot1d_view!"
2942
2943 #~ msgid "invalid sv passed to plot1d_view!"
2944 #~ msgstr "неважечко sv преминато во plot1d_view!"
2945
2946 #~ msgid "invalid s1 passed to plot2d_view!"
2947 #~ msgstr "неважечко s1 преминато во plot2d_view!"
2948
2949 #~ msgid "invalid s2 passed to plot2d_view!"
2950 #~ msgstr "неважечко s2 преминато во plot2d_view!"
2951
2952 #~ msgid "invalid sv passed to plot2d_view!"
2953 #~ msgstr "неважечко sv преминато во plot2d_view!"
2954
2955 #~ msgid "callEXIT : pangofont_wcl::ogl_InitPangoFont() failed."
2956 #~ msgstr "callEXIT: pangofont_wcl::ogl_InitPangoFont() неуспешно."
2957
2958 #~ msgid "WARNING : pangofont_wcl::ogl_InitPangoFont() is already called."
2959 #~ msgstr "ПРЕДУПРЕДУВАЊЕ: pangofont_wcl::ogl_InitPangoFont() е веќе повикано."
2960
2961 #~ msgid "object_vector not empty!"
2962 #~ msgstr "object_vector не е празен!"
2963
2964 #~ msgid "plotting_view_vector not empty!"
2965 #~ msgstr "plotting_view_vector не е празен!"
2966
2967 #~ msgid "graphics_view_vector not empty!"
2968 #~ msgstr "graphics_view_vector не е празен!"
2969
2970 #~ msgid "bond_list not empty!"
2971 #~ msgstr "bond_list не е празна!"
2972
2973 #~ msgid "atom_list not empty!"
2974 #~ msgstr "atom_list не е празна!"
2975
2976 #~ msgid "project::GetProjectFileName() : buffer overflow!"
2977 #~ msgstr "project::GetProjectFileName(): прелив на бафер!"
2978
2979 #~ msgid "project::GetFullProjectFileName() : buffer overflow!"
2980 #~ msgstr "project::GetFullProjectFileName(): прелив на бафер!"
2981
2982 #~ msgid "WARNING : bad index at project::RemoveGraphicsClient()."
2983 #~ msgstr "ПРЕДУПРЕДУВАЊЕ: лош индекс на проектот::RemoveGraphicsClient()."
2984
2985 #~ msgid "WARNING : bad index at project::RemovePlottingClient()."
2986 #~ msgstr "ПРЕДУПРЕДУВАЊЕ: лош индекс на проектот::RemovePlottingClient()."
2987
2988 #~ msgid "WARNING!!! donHmc/accHmc mismatch"
2989 #~ msgstr "ПРЕДУПРЕДУВАЊЕ!!! donHmc/accHmc распар"
2990
2991 #~ msgid "ERROR!!! ca_S_2x has an odd size."
2992 #~ msgstr "ГРЕШКА!!! ca_S_2x има една непарна големина."
2993
2994 #~ msgid "ERROR!!! cx_S_2x has an odd size."
2995 #~ msgstr "ГРЕШКА!!! cx_S_2x има една непарна големина."
2996
2997 #~ msgid "WARNING!!! mc_H_don/mc_H_acc mismatch"
2998 #~ msgstr "ПРЕДУПРЕДУВАЊЕ!!! mc_H_don/mc_H_acc распар"
2999
3000 #~ msgid "WARNING!!! mc_S_don/mc_S_acc mismatch"
3001 #~ msgstr "ПРЕДУПРЕДУВАЊЕ!!! mc_S_don/mc_S_acc распар"
3002
3003 #~ msgid "BUG: project::EraseEvent()."
3004 #~ msgstr "БУБАЧКА: project::EraseEvent()."
3005
3006 #~ msgid "fatal error! atom #1 not found."
3007 #~ msgstr "фатална грешка! атомот #1 не е пронајден."
3008
3009 #~ msgid "fatal error! atom #2 not found."
3010 #~ msgstr "фатална грешка! атомот #2 не е пронајден."
0 # translation of pt_br.po to Português Brasileiro
1 # Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc.
2 # This file is distributed under the same license as the Ghemical package.
3 #
4 #
5 # Maintainer: Tommi Hassinen <tommi.hassinen@uku.fi>, 2009.
6 # Ghemical-pt-BR <ualeitao@yahoo.com>, 2009.
7 # Ulisses Leitão <ualeitao@yahoo.com>, 2009.
8 msgid ""
9 msgstr ""
10 "Project-Id-Version: pt_br\n"
11 "Report-Msgid-Bugs-To: \n"
12 "POT-Creation-Date: 2009-04-21 14:25+0300\n"
13 "PO-Revision-Date: 2009-07-08 10:00-0300\n"
14 "Last-Translator: Ulisses Leitão <ualeitao@yahoo.com>\n"
15 "Language-Team: Português Brasileiro <pt-br@li.org>\n"
16 "MIME-Version: 1.0\n"
17 "Content-Type: text/plain; charset=UTF-8\n"
18 "Content-Transfer-Encoding: 8bit\n"
19 "X-Generator: KBabel 1.11.4\n"
20
21 #: ../src/custom_app.cpp:100
22 msgid "Added global light."
23 msgstr ""
24 "Luz global adicionada "
25 "."
26
27 #: ../src/custom_app.cpp:114
28 msgid "Added local light."
29 msgstr "Luz local adicionada "
30
31 #: ../src/eldview_wcl.cpp:162
32 msgid "No data available,"
33 msgstr "Nenhum dado disponível"
34
35 #: ../src/eldview_wcl.cpp:167
36 msgid "must be a QM model!"
37 msgstr "tem de ser um modelo QM!!"
38
39 #: ../src/eldview_wcl.cpp:167
40 msgid "please calculate energy!"
41 msgstr "favor calcular a energia!"
42
43 #: ../src/gtk_app.cpp:92 ../src/gtk_oglview_wnd.cpp:38
44 msgid "File"
45 msgstr "Arquivo"
46
47 #: ../src/gtk_app.cpp:93 ../src/res_gtk/gtk_setup_dialog.glade.h:5
48 msgid "Help"
49 msgstr "Ajuda"
50
51 #: ../src/gtk_app.cpp:95
52 msgid "New"
53 msgstr "Novo"
54
55 #: ../src/gtk_app.cpp:95
56 msgid "Create a new file."
57 msgstr "Criar um arquivo novo"
58
59 #. <control>N
60 #. ^^^^^^^^
61 #: ../src/gtk_app.cpp:96 ../src/gtk_oglview_wnd.cpp:40
62 msgid "Open"
63 msgstr "Abrir"
64
65 #: ../src/gtk_app.cpp:96
66 msgid "Open an existing file."
67 msgstr "Abrir um arquivo"
68
69 #. <control>O
70 #: ../src/gtk_app.cpp:97 ../src/gtk_oglview_wnd.cpp:44
71 msgid "Save as..."
72 msgstr "Salvar como"
73
74 #: ../src/gtk_app.cpp:97
75 msgid "Save a file."
76 msgstr "Salvar um arquivo"
77
78 #. <control>S
79 #. { "ExportGraphics", GTK_STOCK_SAVE, N_("Export Graphics"), NULL, N_("Export graphics"), (GCallback) gtk_project::popup_FileExportGraphics },
80 #: ../src/gtk_app.cpp:98 ../src/gtk_oglview_wnd.cpp:49
81 msgid "Close"
82 msgstr "Fechar"
83
84 #: ../src/gtk_app.cpp:98
85 msgid "Quit the program."
86 msgstr "Fechar o aplicativo"
87
88 #. <control>C
89 #: ../src/gtk_app.cpp:100
90 msgid "Contents"
91 msgstr "Conteúdo"
92
93 #: ../src/gtk_app.cpp:100
94 msgid "View the User's Manual."
95 msgstr "Visualizar o Manual do Usuário"
96
97 #. <control>H
98 #: ../src/gtk_app.cpp:101
99 msgid "About"
100 msgstr "Sobre"
101
102 #: ../src/gtk_app.cpp:101
103 msgid "Information about this program."
104 msgstr "Informações sobre o aplicativo"
105
106 #. <control>A
107 #. the rest are toolbar actions...
108 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
109 #: ../src/gtk_app.cpp:106
110 msgid "Set the current element."
111 msgstr "Definir o elemento químico atual"
112
113 #: ../src/gtk_app.cpp:107
114 msgid "Set the current bondtype."
115 msgstr "Definir o tipo de ligação atual"
116
117 #: ../src/gtk_app.cpp:108
118 msgid "Setup or change the comp.chem. method in use."
119 msgstr "Definir ou alterar o método computacional em uso"
120
121 #: ../src/gtk_app.cpp:113
122 msgid "Draw ; add atoms and bonds to the model."
123 msgstr "Desenhar: adicionar átomos e ligações químicas ao modelo"
124
125 #: ../src/gtk_app.cpp:114
126 msgid "Erase ; remove atoms and bonds from the model."
127 msgstr "Apagar: retirar átomos e ligações químicas do modelo"
128
129 #: ../src/gtk_app.cpp:115
130 msgid "Select ; make selections in the model, and also select objects."
131 msgstr "Selecionar: realizar seleções no modelo e nos objetos selecionados"
132
133 #: ../src/gtk_app.cpp:116
134 msgid "Zoom ; zoom the view."
135 msgstr "Zoom: ampliar a visão"
136
137 #: ../src/gtk_app.cpp:117
138 msgid "Clipping ; set the near and far clipping planes for graphics rendering."
139 msgstr "Clipping: definir o primeiro plano e o plano de fundo para renderização "
140
141 #: ../src/gtk_app.cpp:118
142 msgid "TranslateXY ; translate the camera or a selected object in XY-direction."
143 msgstr "Translação XY: mover a câmara ou o objeto selecionado no plano XY"
144
145 #: ../src/gtk_app.cpp:119
146 msgid "TranslateZ ; translate the camera or a selected object in Z-direction."
147 msgstr "Translação Z: mover a câmara ou o objeto selecionado na direção Z"
148
149 #: ../src/gtk_app.cpp:120
150 msgid ""
151 "OrbitXY ; orbit the camera or a selected object around the focus point in XY-"
152 "direction."
153 msgstr "Orbitar em XY: orbitar a câmara ou o objeto selecionado ao redor do ponto focal no plano XY."
154
155 #: ../src/gtk_app.cpp:121
156 msgid ""
157 "OrbitZ ; orbit the camera or a selected object around the focus point in Z-"
158 "direction."
159 msgstr "Orbitar em Z: orbitar a câmara ou o objeto selecionado ao redor do ponto focal na direção Z."
160
161 #: ../src/gtk_app.cpp:122
162 msgid "RotateXY ; turn the camera or a selected object in XY-direction."
163 msgstr "Rotacionar em XY: rotacionar a câmara ou o objeto selecionado em uma direção no plano XY"
164
165 #: ../src/gtk_app.cpp:123
166 msgid "RotateZ ; turn the camera or a selected object in Z-direction."
167 msgstr "Rotacionar em Z: rotacionar a câmara ou o objeto selecionado na direção Z"
168
169 #: ../src/gtk_app.cpp:124
170 msgid "Measure ; measure distances, angles and torsions."
171 msgstr "Medir: medir comprimentos, ângulos e torções"
172
173 #: ../src/gtk_app.cpp:207
174 msgid "Set to Current Object"
175 msgstr "Associar ao Objeto Atual"
176
177 #: ../src/gtk_app.cpp:207
178 msgid "Set this object to Current Object"
179 msgstr "Associar este objeto ao Objeto Atual"
180
181 #: ../src/gtk_app.cpp:208
182 msgid "Delete Object/View"
183 msgstr "Deletar Objeto/Visão"
184
185 #: ../src/gtk_app.cpp:208
186 msgid "Delete this object or view"
187 msgstr "Deletar este Objeto ou Visão"
188
189 #: ../src/gtk_app.cpp:225
190 msgid "Update View"
191 msgstr "Atualizar Visão"
192
193 #: ../src/gtk_app.cpp:225
194 msgid "Rebuild the chains info for this view"
195 msgstr "Reconstruir as informações de cadeia para esta visão"
196
197 #: ../src/gtk_app.cpp:226
198 msgid "Select Item"
199 msgstr "Selecionar item"
200
201 #: ../src/gtk_app.cpp:226
202 msgid "Select/unselect this chain/residue"
203 msgstr "Selecionar/deselecionar esta cadeia/resíduo"
204
205 #: ../src/gtk_app.cpp:243
206 msgid "Select Atom"
207 msgstr "Selecionar Átomo"
208
209 #: ../src/gtk_app.cpp:243
210 msgid "Select/unselect this atom"
211 msgstr "Selecionar/deselecionar este átomo"
212
213 #: ../src/gtk_app.cpp:258
214 msgid "Select Bond"
215 msgstr "Selecionar Ligação"
216
217 #: ../src/gtk_app.cpp:258
218 msgid "Select/unselect this bond"
219 msgstr "Selecionar/deselecionar esta ligação"
220
221 #: ../src/gtk_app.cpp:344
222 msgid "Ghemical"
223 msgstr "Ghemical"
224
225 #: ../src/gtk_app.cpp:351
226 #, c-format
227 msgid "ERROR : Icon loading failed : %s\n"
228 msgstr "ERRO: falha ao carregar o ícone: %s\n"
229
230 #: ../src/gtk_app.cpp:381
231 #, c-format
232 msgid "ERROR : Building main menu failed : %s"
233 msgstr "ERRO: falha ao construir o Menu principal : %s"
234
235 #: ../src/gtk_app.cpp:566
236 msgid "project view"
237 msgstr "Visão do Projeto"
238
239 #. optional : draw the stripes to background.
240 #. ??? (string)
241 #: ../src/gtk_app.cpp:584
242 msgid "Object"
243 msgstr "Objeto"
244
245 #. ??? (string)
246 #: ../src/gtk_app.cpp:588
247 msgid "Sub-Objects"
248 msgstr "Subobjetos"
249
250 #: ../src/gtk_app.cpp:591
251 msgid "Views/Objects"
252 msgstr "Visão/Objetos"
253
254 #: ../src/gtk_app.cpp:604
255 #, c-format
256 msgid "ERROR : Building Views/Objects menu in project view failed : %s"
257 msgstr "ERRO: falha ao construir Menu de Visão/Objetos na Visão do Projeto: %s"
258
259 #. optional : draw the stripes to background.
260 #. chain_info (string)
261 #: ../src/gtk_app.cpp:620
262 msgid "Chain Description"
263 msgstr "Descrição da cadeia"
264
265 #. res_num (string)
266 #: ../src/gtk_app.cpp:624
267 msgid "Residue Number"
268 msgstr "Número do resíduo"
269
270 #. res_id (string)
271 #: ../src/gtk_app.cpp:628
272 msgid "Residue ID"
273 msgstr "ID do Resíduo"
274
275 #. res_state1 (string)
276 #: ../src/gtk_app.cpp:632
277 msgid "Sec-Str State"
278 msgstr ""
279
280 #. res_state2 (string)
281 #: ../src/gtk_app.cpp:636
282 msgid "Protonation State"
283 msgstr ""
284
285 #: ../src/gtk_app.cpp:639
286 msgid "Chains"
287 msgstr "Cadeias"
288
289 #: ../src/gtk_app.cpp:652
290 #, c-format
291 msgid "ERROR : Building Chains menu in project view failed : %s"
292 msgstr "ERRO: falha ao construir o Menu de Cadeias na Visão do Projeto : %s"
293
294 #. optional : draw the stripes to background.
295 #. index1
296 #: ../src/gtk_app.cpp:668
297 msgid "Atom Index"
298 msgstr "Índice do átomo"
299
300 #. element
301 #. ^^^^^^^^^^^^^
302 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
303 #: ../src/gtk_app.cpp:672 ../src/gtk_oglview_wnd.cpp:112
304 #: ../src/gtk_oglview_wnd.cpp:120
305 msgid "Element"
306 msgstr "Elemento"
307
308 #: ../src/gtk_app.cpp:678
309 msgid "Locked"
310 msgstr "Bloqueado"
311
312 #: ../src/gtk_app.cpp:681
313 msgid "Atoms"
314 msgstr "Átomos"
315
316 #: ../src/gtk_app.cpp:694
317 #, c-format
318 msgid "ERROR : Building Atoms menu in project view failed : %s"
319 msgstr "ERRO: falha ao construir o Menu de Átomos na Visão do Projeto : %s"
320
321 #. optional : draw the stripes to background.
322 #. index1
323 #: ../src/gtk_app.cpp:710
324 msgid "Atom Index #1"
325 msgstr "Índice do átomo #1"
326
327 #. index2
328 #: ../src/gtk_app.cpp:714
329 msgid "Atom Index #2"
330 msgstr "Índice do átomo #2"
331
332 #. bondtype
333 #: ../src/gtk_app.cpp:718
334 msgid "BondType"
335 msgstr "Tipo de ligação"
336
337 #: ../src/gtk_app.cpp:721
338 msgid "Bonds"
339 msgstr "Ligações"
340
341 #: ../src/gtk_app.cpp:734
342 #, c-format
343 msgid "ERROR : Building Bonds menu in project view failed : %s"
344 msgstr "ERRO: falha ao construir o Menu de Ligações na Visão do Projeto : %s"
345
346 #. protect the model-data during background jobs...
347 #: ../src/gtk_app.cpp:772
348 msgid ""
349 "Are you sure that you\n"
350 "want to quit the program?"
351 msgstr "Deseja realmente sair do aplicativo?"
352
353 #: ../src/gtk_app.cpp:839
354 msgid "gtk_app::sPrintToLog() : message is too long!"
355 msgstr "gtk_app::sPrintToLog() : menssagem é muito longa!"
356
357 #: ../src/gtk_app.cpp:898
358 msgid "window "
359 msgstr "janela"
360
361 #: ../src/gtk_app.cpp:899 ../src/gtk_app.cpp:903
362 msgid " (detached)"
363 msgstr " (desembutida)"
364
365 #: ../src/gtk_app.cpp:899
366 msgid " (attached)"
367 msgstr " (embutida)"
368
369 #: ../src/gtk_app.cpp:901
370 msgid "cam "
371 msgstr ""
372
373 #: ../src/gtk_app.cpp:902
374 msgid "wnd "
375 msgstr ""
376
377 #: ../src/gtk_app.cpp:921 ../src/gtk_app.cpp:922
378 msgid "RC plot view"
379 msgstr "visão de gráfico RC"
380
381 #: ../src/gtk_app.cpp:927 ../src/gtk_app.cpp:928
382 msgid "1D plot view"
383 msgstr "Visão de gráfico 1D"
384
385 #: ../src/gtk_app.cpp:934 ../src/gtk_app.cpp:935
386 msgid "2D plot view"
387 msgstr "Visão de gráfico 2D"
388
389 #: ../src/gtk_app.cpp:941 ../src/gtk_app.cpp:942
390 msgid "energy-level diagram view"
391 msgstr "Visao do diagrama de nível de energia"
392
393 #: ../src/gtk_app.cpp:947 ../src/gtk_app.cpp:948
394 msgid "generic protein chain view"
395 msgstr "Visão geral da cadeia protéica"
396
397 #: ../src/gtk_app.cpp:953 ../src/gtk_app.cpp:954
398 msgid "<unknown view>"
399 msgstr "<visão desconhecida>"
400
401 #: ../src/gtk_app.cpp:980 ../src/project.cpp:617
402 msgid "camera "
403 msgstr "câmera "
404
405 #: ../src/gtk_app.cpp:1247 ../src/gtk_app.cpp:1255 ../src/gtk_app.cpp:1291
406 #: ../src/gtk_app.cpp:1316
407 msgid "Object "
408 msgstr "Objeto "
409
410 #: ../src/gtk_app.cpp:1247 ../src/gtk_app.cpp:1255
411 msgid " is set to current object."
412 msgstr " associado ao objeto atual "
413
414 #: ../src/gtk_app.cpp:1258 ../src/gtk_app.cpp:1324
415 msgid "Sorry, this operation is not yet implemented."
416 msgstr "Descupe, esta operação ainda não foi implementada."
417
418 #: ../src/gtk_app.cpp:1291 ../src/gtk_app.cpp:1316
419 msgid " is deleted."
420 msgstr " deletado"
421
422 #. if (ci_vector[n1].description... // this is not implemented at the moment...
423 #: ../src/gtk_app.cpp:1348
424 msgid "chain #"
425 msgstr "cadeia #"
426
427 #: ../src/gtk_app.cpp:1355
428 msgid " chain)."
429 msgstr " cadeia)."
430
431 #. make the list show the updated information...
432 #: ../src/gtk_app.cpp:1606
433 #, c-format
434 msgid "Atom locking changed : %s\n"
435 msgstr "Alterado o bloqueio do átomo : %s\n"
436
437 #: ../src/gtk_app.cpp:1606
438 msgid "yes"
439 msgstr "sim"
440
441 #: ../src/gtk_app.cpp:1606
442 msgid "no"
443 msgstr "não"
444
445 #: ../src/gtk_app.cpp:1632
446 msgid "Conjugated"
447 msgstr "Conjugado"
448
449 #: ../src/gtk_app.cpp:1633
450 msgid "Single"
451 msgstr "Simples"
452
453 #: ../src/gtk_app.cpp:1634
454 msgid "Double"
455 msgstr "Dupla"
456
457 #: ../src/gtk_app.cpp:1635
458 msgid "Triple"
459 msgstr "Tripla"
460
461 #: ../src/gtk_app.cpp:2068
462 msgid "Displaying the User's Manual using the following command:"
463 msgstr "Apresentar o Manual do Usuário utilizando o seguinte comando: "
464
465 #: ../src/gtk_app.cpp:2078
466 msgid "Ghemical-"
467 msgstr "Ghemical-"
468
469 #: ../src/gtk_app.cpp:2078
470 msgid " released on "
471 msgstr " publicado em "
472
473 #: ../src/gtk_app.cpp:2080
474 msgid "For more information please visit:"
475 msgstr "Para informações mais detalhadas favor visitar:"
476
477 #: ../src/gtk_app.cpp:2088
478 msgid "Authors:"
479 msgstr "Autores: "
480
481 #: ../src/gtk_eldview_wnd.cpp:32 ../src/gtk_gpcview_wnd.cpp:32
482 #: ../src/gtk_oglview_wnd.cpp:36 ../src/gtk_p1dview_wnd.cpp:32
483 #: ../src/gtk_p2dview_wnd.cpp:32 ../src/gtk_rcpview_wnd.cpp:32
484 msgid "Attach/Detach This View"
485 msgstr "Embutir/liberar esta Visualização"
486
487 #: ../src/gtk_eldview_wnd.cpp:32 ../src/gtk_gpcview_wnd.cpp:32
488 #: ../src/gtk_oglview_wnd.cpp:36 ../src/gtk_p1dview_wnd.cpp:32
489 #: ../src/gtk_p2dview_wnd.cpp:32 ../src/gtk_rcpview_wnd.cpp:32
490 msgid "Select whether this view is attached or in an independent window"
491 msgstr "Selecione se esta janela de visualização é embutida ou em uma janela independente"
492
493 #: ../src/gtk_eldview_wnd.cpp:33 ../src/gtk_gpcview_wnd.cpp:33
494 #: ../src/gtk_p1dview_wnd.cpp:33 ../src/gtk_p2dview_wnd.cpp:33
495 #: ../src/gtk_rcpview_wnd.cpp:33
496 msgid "Delete View"
497 msgstr "Deletar visualização"
498
499 #: ../src/gtk_eldview_wnd.cpp:33 ../src/gtk_gpcview_wnd.cpp:33
500 #: ../src/gtk_p1dview_wnd.cpp:33 ../src/gtk_p2dview_wnd.cpp:33
501 #: ../src/gtk_rcpview_wnd.cpp:33
502 msgid "Delete this view"
503 msgstr "Deletar esta visualização"
504
505 #: ../src/gtk_eldview_wnd.cpp:57
506 #, c-format
507 msgid "ERROR : Building popup-menu for gtk_eldview_wnd failed : %s"
508 msgstr "ERRO: falha ao construir o Menu suspenso pelo gtk_eldview_wnd : %s"
509
510 #: ../src/gtk_file_export_dialog.cpp:41
511 msgid "file_export_dialog : glade_xml_get_widget() failed!!!"
512 msgstr "file_export_dialog : falha no glade_xml_get_widget()!!!"
513
514 #: ../src/gtk_file_export_dialog.cpp:52 ../src/gtk_file_import_dialog.cpp:52
515 msgid "Automatic"
516 msgstr "Automático"
517
518 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
519 #. handle the file selection...
520 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
521 #: ../src/gtk_file_export_dialog.cpp:131
522 msgid "Select a filename for export."
523 msgstr "Selecionar nome de arquivo para exportação."
524
525 #: ../src/gtk_file_import_dialog.cpp:41
526 msgid "file_import_dialog : glade_xml_get_widget() failed!!!"
527 msgstr "file_import_dialog : falha no glade_xml_get_widget()!!!"
528
529 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
530 #. handle the file selection...
531 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
532 #: ../src/gtk_file_import_dialog.cpp:133
533 msgid "Select a file to import."
534 msgstr "Selecionar arquivo para importação."
535
536 #: ../src/gtk_geomopt_dialog.cpp:41
537 msgid "WARNING : geomopt_dialog : glade_xml_get_widget() failed!!!"
538 msgstr "ALERTA : falha no geomopt_dialog : glade_xml_get_widget()!!!"
539
540 #: ../src/gtk_gpcview_wnd.cpp:57
541 #, c-format
542 msgid "ERROR : Building popup-menu for gtk_gpcview_wnd failed : %s"
543 msgstr "ERRO: falha ao construir o Menu Suspenso para gtk_gpcview_wnd : %s"
544
545 #: ../src/gtk_main.cpp:45
546 msgid "open a file"
547 msgstr "abrir um arquivo"
548
549 #: ../src/gtk_main.cpp:46
550 msgid "import a file"
551 msgstr "importar um arquivo"
552
553 #: ../src/gtk_main.cpp:61
554 msgid "- a GTK2 molecular modelling program"
555 msgstr "- um aplicativo GTK2 para modelagem molecular"
556
557 #: ../src/gtk_main.cpp:84
558 #, c-format
559 msgid "OpenGL extension version - %d.%d\n"
560 msgstr "Versão da extensão OpenGL - %d.%d\n"
561
562 #: ../src/gtk_main.cpp:140
563 msgid "Sorry! The file import feature is disabled ; you need to recompile"
564 msgstr "Desculpe! A funcionalidade de importação de arquivos está desabilitada. Você precisa recompilar o aplicativo"
565
566 #: ../src/gtk_main.cpp:141
567 msgid "libghemical with --enable-openbabel option in order to fix this."
568 msgstr "libghemical com a opção --enable-openbabel habilitada para corrigir isto."
569
570 #: ../src/gtk_moldyn_dialog.cpp:42
571 msgid "WARNING : moldyn_dialog : glade_xml_get_widget() failed!!!"
572 msgstr "ALERTA : falha no moldyn_dialog : glade_xml_get_widget()!!!"
573
574 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
575 #. handle the file selection...
576 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
577 #: ../src/gtk_moldyn_dialog.cpp:232
578 msgid "Select a Trajectory File."
579 msgstr "Selecionar um arquivo de Trajetória."
580
581 #: ../src/gtk_oglview_wnd.cpp:40
582 msgid "Open a file"
583 msgstr "Abrir um arquivo"
584
585 #: ../src/gtk_oglview_wnd.cpp:42
586 msgid "Import..."
587 msgstr "Importar..."
588
589 #: ../src/gtk_oglview_wnd.cpp:42
590 msgid "Import other file formats using libopenbabel"
591 msgstr "Importar outros formatos de aquivo utilizando libopenbabel"
592
593 #: ../src/gtk_oglview_wnd.cpp:44
594 msgid "Save a file"
595 msgstr "Salvar um arquivo"
596
597 #: ../src/gtk_oglview_wnd.cpp:46
598 msgid "Export"
599 msgstr "Exportar"
600
601 #: ../src/gtk_oglview_wnd.cpp:46
602 msgid "Export other file formats using OpenBabel"
603 msgstr "Exportar outros formatos de arquivo utilizando OpenBabel"
604
605 #: ../src/gtk_oglview_wnd.cpp:49
606 msgid "Close the file"
607 msgstr "Fechar o arquivo"
608
609 #: ../src/gtk_oglview_wnd.cpp:51
610 msgid "Extra Tools"
611 msgstr "Ferramentas extras"
612
613 #. ^^^^^^^^^^^^^
614 #: ../src/gtk_oglview_wnd.cpp:53
615 msgid "Import PDB"
616 msgstr "Importar PDB"
617
618 #: ../src/gtk_oglview_wnd.cpp:53
619 msgid "Import a PDB file"
620 msgstr "Importar um arquivo no formato PDB"
621
622 #. { "FileExtra2", NULL, N_("Import ???"), NULL, N_("Import a ??? file"), (GCallback) gtk_project::popup_FileExtra2 },
623 #: ../src/gtk_oglview_wnd.cpp:56
624 msgid "Select"
625 msgstr "Selecionar"
626
627 #. ^^^^^^^^^^
628 #: ../src/gtk_oglview_wnd.cpp:58
629 msgid "Select All"
630 msgstr "Selecionar todos"
631
632 #: ../src/gtk_oglview_wnd.cpp:58
633 msgid "Select all atoms"
634 msgstr "Selecionar todos os átomos"
635
636 #: ../src/gtk_oglview_wnd.cpp:59
637 msgid "Select None"
638 msgstr "Selecionar nenhum"
639
640 #: ../src/gtk_oglview_wnd.cpp:59
641 msgid "Select nothing"
642 msgstr "Selecionar nada"
643
644 #: ../src/gtk_oglview_wnd.cpp:60
645 msgid "Invert Selection"
646 msgstr "Inverter seleção"
647
648 #: ../src/gtk_oglview_wnd.cpp:60
649 msgid "Invert the selection"
650 msgstr "Inverter a seleção"
651
652 #: ../src/gtk_oglview_wnd.cpp:61
653 msgid "Hide Selected"
654 msgstr "Ocultar seleção"
655
656 #: ../src/gtk_oglview_wnd.cpp:61
657 msgid "Hide all selected atoms"
658 msgstr "Ocultar todos os átomos selecionados"
659
660 #: ../src/gtk_oglview_wnd.cpp:62
661 msgid "Show Selected"
662 msgstr "Mostrar seleção"
663
664 #: ../src/gtk_oglview_wnd.cpp:62
665 msgid "Show all selected atoms"
666 msgstr "Mostrar todos os átomos selecionados"
667
668 #: ../src/gtk_oglview_wnd.cpp:63
669 msgid "Lock Selected"
670 msgstr "Selecionado Bloqueamento"
671
672 #: ../src/gtk_oglview_wnd.cpp:63
673 msgid "Lock all selected atoms"
674 msgstr "Bloquear todos os átomos selecionados"
675
676 #: ../src/gtk_oglview_wnd.cpp:64
677 msgid "Unlock Selected"
678 msgstr "Desbloquear seleção"
679
680 #: ../src/gtk_oglview_wnd.cpp:64
681 msgid "Unlock all selected atoms"
682 msgstr "Desbloquear todos os átomos selecionados"
683
684 #: ../src/gtk_oglview_wnd.cpp:65
685 msgid "Delete Selected"
686 msgstr "Deletar seleção"
687
688 #: ../src/gtk_oglview_wnd.cpp:65
689 msgid "Delete all selected atoms"
690 msgstr "Deletar todos os átomos selecionados"
691
692 #: ../src/gtk_oglview_wnd.cpp:67
693 msgid "Selection Mode"
694 msgstr "Modo Seleção"
695
696 #. ^^^^^^^^^^^^^^
697 #. todo : convert these into toggle items so that the setting from project is show in each of the graphics views...
698 #: ../src/gtk_oglview_wnd.cpp:70
699 msgid "Select Atoms"
700 msgstr "Átomos selecionados"
701
702 #: ../src/gtk_oglview_wnd.cpp:70
703 msgid "Select single atoms"
704 msgstr "Selecionar átomos isolados"
705
706 #: ../src/gtk_oglview_wnd.cpp:71
707 msgid "Select Residues"
708 msgstr "Selecionar Resíduos"
709
710 #: ../src/gtk_oglview_wnd.cpp:71
711 msgid "Select residues"
712 msgstr "selecionar resíduos"
713
714 #: ../src/gtk_oglview_wnd.cpp:72
715 msgid "Select Chains"
716 msgstr "Selecionar Cadeias"
717
718 #: ../src/gtk_oglview_wnd.cpp:72
719 msgid "Select chains"
720 msgstr "Selecionar cadeias de átomos"
721
722 #: ../src/gtk_oglview_wnd.cpp:73
723 msgid "Select Molecules"
724 msgstr "Selecionar Moléculas"
725
726 #: ../src/gtk_oglview_wnd.cpp:73
727 msgid "Select molecules"
728 msgstr "Selecionar moléculas"
729
730 #: ../src/gtk_oglview_wnd.cpp:75
731 msgid "Render"
732 msgstr "Renderizar"
733
734 #. ^^^^^^^^^^
735 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
736 #: ../src/gtk_oglview_wnd.cpp:78
737 msgid "Quick Update Mode"
738 msgstr "Modo de atualização rápida"
739
740 #: ../src/gtk_oglview_wnd.cpp:78
741 msgid ""
742 "Quick Update Mode switches into Wireframe rendering mode when doing "
743 "interactive work"
744 msgstr "O \"Modo de atualização rápida\" alterna para a renderização em \"Armadura de Arrame\" ao computar trabalho interativo - interessante no caso de se manipular moléculas muito grandes"
745
746 #: ../src/gtk_oglview_wnd.cpp:80
747 msgid "Views"
748 msgstr "Visualizações"
749
750 #. ^^^^^^^^^^^^^
751 #: ../src/gtk_oglview_wnd.cpp:82
752 msgid "Delete This View"
753 msgstr "Deletar esta visão"
754
755 #: ../src/gtk_oglview_wnd.cpp:82
756 msgid "Delete this graphics view"
757 msgstr "Deletar esta visualização gráfica"
758
759 #: ../src/gtk_oglview_wnd.cpp:83
760 msgid "Save a CRD-set (experimental)"
761 msgstr "Salvar um conjunto CRD (experimental)"
762
763 #: ../src/gtk_oglview_wnd.cpp:83
764 msgid "Save a coordinate set"
765 msgstr "Salvar conjunto de coordenadas"
766
767 #: ../src/gtk_oglview_wnd.cpp:84
768 msgid "Superimpose CRD-sets (experimental)"
769 msgstr "Superpor conjunto CRD (experimental)"
770
771 #: ../src/gtk_oglview_wnd.cpp:84
772 msgid "Superimpose coordinate sets"
773 msgstr "Superpor conjunto de coordenadas"
774
775 #: ../src/gtk_oglview_wnd.cpp:86
776 msgid "Create"
777 msgstr "Criar"
778
779 #. ^^^^^^^^^^^^^^^^^^^
780 #: ../src/gtk_oglview_wnd.cpp:88
781 msgid "New Window"
782 msgstr "Nova Janela"
783
784 #: ../src/gtk_oglview_wnd.cpp:88
785 msgid "Create a new view using the current camera"
786 msgstr "Criar uma nova visão usando a câmera atual"
787
788 #: ../src/gtk_oglview_wnd.cpp:89
789 msgid "New Camera"
790 msgstr "Nova Câmera"
791
792 #: ../src/gtk_oglview_wnd.cpp:89
793 msgid "Create a new view using a new camera"
794 msgstr "Criar uma nova visão usando uma nova câmera"
795
796 #: ../src/gtk_oglview_wnd.cpp:90
797 msgid "Energy-level Diagram"
798 msgstr "Diagrama de Nível de Energia"
799
800 #: ../src/gtk_oglview_wnd.cpp:90
801 msgid "Create a new energy-level diagram view"
802 msgstr "Criar um novo Diagrama de Nível de Energia"
803
804 #: ../src/gtk_oglview_wnd.cpp:91
805 msgid "Secondary Structure Constraints"
806 msgstr "Limitações de Estrura Secundária"
807
808 #: ../src/gtk_oglview_wnd.cpp:91
809 msgid "Create a new secondary structure constraints view"
810 msgstr "Criar uma nova visualização de Limitação de Estrutura Secundária"
811
812 #: ../src/gtk_oglview_wnd.cpp:93
813 msgid "Lights"
814 msgstr "Luzes"
815
816 #. ^^^^^^^^^^^^^^
817 #: ../src/gtk_oglview_wnd.cpp:95
818 msgid "Create New Light"
819 msgstr "Criar nova iluminação"
820
821 #: ../src/gtk_oglview_wnd.cpp:95
822 msgid "Create a new light object"
823 msgstr "Criar um novo Objeto de Luz"
824
825 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
826 #: ../src/gtk_oglview_wnd.cpp:97
827 msgid "Enable Local Lights"
828 msgstr "Habilitar Iluminação Local"
829
830 #: ../src/gtk_oglview_wnd.cpp:97
831 msgid "Switch on/off the local light objects"
832 msgstr "Interuptor de Objetos de Iluminação Local"
833
834 #: ../src/gtk_oglview_wnd.cpp:98
835 msgid "Enable Global Lights"
836 msgstr "Habilitar Iluminação Global"
837
838 #: ../src/gtk_oglview_wnd.cpp:98
839 msgid "Switch on/off the global light objects"
840 msgstr "Interuptor de Objetos de Iluminação Global"
841
842 #: ../src/gtk_oglview_wnd.cpp:100
843 msgid "Render Mode"
844 msgstr "Modo de Renderização"
845
846 #. ^^^^^^^^^^^^^^
847 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
848 #: ../src/gtk_oglview_wnd.cpp:103
849 msgid "Ball & Stick"
850 msgstr "Esferas e varetas"
851
852 #: ../src/gtk_oglview_wnd.cpp:103
853 msgid "Display atoms and bonds using Ball & Stick mode"
854 msgstr "Visualizar átomos e ligações no Modo Esferas e varetas"
855
856 #: ../src/gtk_oglview_wnd.cpp:104
857 msgid "van der Waals"
858 msgstr "van der Waals"
859
860 #: ../src/gtk_oglview_wnd.cpp:104
861 msgid "Display atoms and bonds using van der Waals mode"
862 msgstr "Visualizar átomos e ligações no Modo van der Waals"
863
864 #: ../src/gtk_oglview_wnd.cpp:105
865 msgid "Cylinders"
866 msgstr "Varetas"
867
868 #: ../src/gtk_oglview_wnd.cpp:105
869 msgid "Display atoms and bonds using Cylinders mode"
870 msgstr "Visualizar átomos e ligações no Modo Varetas (Cilíndros)"
871
872 #: ../src/gtk_oglview_wnd.cpp:106
873 msgid "Wireframe"
874 msgstr "Arrame"
875
876 #: ../src/gtk_oglview_wnd.cpp:106
877 msgid "Display atoms and bonds using Wireframe mode"
878 msgstr "Visualizar átomos e ligações no Modo Arrame (Armadura de Fios)"
879
880 #: ../src/gtk_oglview_wnd.cpp:107 ../src/gtk_oglview_wnd.cpp:128
881 msgid "Nothing"
882 msgstr "Nada"
883
884 #: ../src/gtk_oglview_wnd.cpp:107
885 msgid "Do not display atoms and bonds"
886 msgstr "Não visualizar átomos e ligações"
887
888 #: ../src/gtk_oglview_wnd.cpp:109
889 msgid "Color Mode"
890 msgstr "Modo Cor"
891
892 #: ../src/gtk_oglview_wnd.cpp:112
893 msgid "Color atoms and bonds by element"
894 msgstr "Colorir átomos e ligações de acordo com os elementos químicos"
895
896 #: ../src/gtk_oglview_wnd.cpp:113 ../src/gtk_oglview_wnd.cpp:127
897 msgid "Sec-Struct"
898 msgstr ""
899
900 #: ../src/gtk_oglview_wnd.cpp:113
901 msgid "Color atoms and bonds by secondary-structure state"
902 msgstr "Colorir átomos e ligações de acordo com o estado da Estrutura Secundária"
903
904 #: ../src/gtk_oglview_wnd.cpp:114
905 msgid "Hydrophobicity"
906 msgstr "Hidrofobicidade"
907
908 #: ../src/gtk_oglview_wnd.cpp:114
909 msgid "Color atoms and bonds by hydrophobicity (experimental)"
910 msgstr "Colorir átomos e ligações de acordo com Hidrofobicidade (experimental)"
911
912 #: ../src/gtk_oglview_wnd.cpp:116
913 msgid "Label Mode"
914 msgstr "Modo de Rótulo"
915
916 #. ^^^^^^^^^^^^^
917 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
918 #: ../src/gtk_oglview_wnd.cpp:119
919 msgid "Index"
920 msgstr "Índice"
921
922 #: ../src/gtk_oglview_wnd.cpp:119
923 msgid "Label atoms by atom index"
924 msgstr "Rotular átomos pelo índice do átomo"
925
926 #: ../src/gtk_oglview_wnd.cpp:120
927 msgid "Label atoms by element"
928 msgstr "Rotular átomos pelo elemento químico"
929
930 #: ../src/gtk_oglview_wnd.cpp:121
931 msgid "Formal Charge"
932 msgstr "Carga formal"
933
934 #: ../src/gtk_oglview_wnd.cpp:121
935 msgid "Label atoms by formal charge"
936 msgstr "Rotular átomos pela carga formal"
937
938 #: ../src/gtk_oglview_wnd.cpp:122
939 msgid "Partial Charge"
940 msgstr "Carga Parcial"
941
942 #: ../src/gtk_oglview_wnd.cpp:122
943 msgid "Label atoms by partial charge"
944 msgstr "Rotular átomos pela carga parcial"
945
946 #: ../src/gtk_oglview_wnd.cpp:123
947 msgid "Atom Type"
948 msgstr "Tipo do Átomo"
949
950 #: ../src/gtk_oglview_wnd.cpp:123
951 msgid "Label atoms by atom type"
952 msgstr "Rotular átomos pelo tipo do átomo"
953
954 #: ../src/gtk_oglview_wnd.cpp:124
955 msgid "Builder ID"
956 msgstr ""
957
958 #: ../src/gtk_oglview_wnd.cpp:124
959 msgid "Label atoms by sequence builder ID"
960 msgstr "Rotular átomos pelo sequence builder ID"
961
962 #: ../src/gtk_oglview_wnd.cpp:125
963 msgid "Bond Type"
964 msgstr "Tipo de ligação"
965
966 #: ../src/gtk_oglview_wnd.cpp:125
967 msgid "Label bonds by bond type"
968 msgstr "Rotular ligações pelo tipo de ligação"
969
970 #: ../src/gtk_oglview_wnd.cpp:126
971 msgid "Residue"
972 msgstr "Resíduo"
973
974 #: ../src/gtk_oglview_wnd.cpp:126
975 msgid "Label by residue"
976 msgstr "Rotular pelo resíduo"
977
978 #: ../src/gtk_oglview_wnd.cpp:127
979 msgid "Label by secondary structure state"
980 msgstr "Rotular segundo o estado da estrutura secundária"
981
982 #: ../src/gtk_oglview_wnd.cpp:128
983 msgid "Do not show labels"
984 msgstr "Não mostrar rótulos"
985
986 #: ../src/gtk_oglview_wnd.cpp:130
987 msgid "Projection"
988 msgstr "Projeção"
989
990 #. ^^^^^^^^^^^^^^^^^^
991 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
992 #: ../src/gtk_oglview_wnd.cpp:133
993 msgid "Orthographic"
994 msgstr ""
995 "Projeção Ortogrpublic "
996 "áfica"
997
998 #: ../src/gtk_oglview_wnd.cpp:133
999 msgid "Use orthographic projection"
1000 msgstr "Utilizar a projeção ortográfica"
1001
1002 #: ../src/gtk_oglview_wnd.cpp:134
1003 msgid "Perspective"
1004 msgstr "Perspectiva"
1005
1006 #: ../src/gtk_oglview_wnd.cpp:134
1007 msgid "Use perspective projection"
1008 msgstr "Utilizar a projeção em perspectiva"
1009
1010 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
1011 #. todo : add more color combinations ; red/green red/blue ; any others needed???
1012 #: ../src/gtk_oglview_wnd.cpp:137
1013 msgid "Red-Blue Stereo"
1014 msgstr "Estéreo Azul-Vermelho"
1015
1016 #: ../src/gtk_oglview_wnd.cpp:137
1017 msgid "Use red-blue stereo mode"
1018 msgstr "Utilizar o modo estéreo em vermelho-azul"
1019
1020 #: ../src/gtk_oglview_wnd.cpp:138
1021 msgid "Relaxed-Eye Stereo"
1022 msgstr "Estéreo Olho-relaxado"
1023
1024 #: ../src/gtk_oglview_wnd.cpp:138
1025 msgid "Use relaxed-eye stereo mode"
1026 msgstr "Utilizar o modo estéreo para olho-relaxado"
1027
1028 #: ../src/gtk_oglview_wnd.cpp:140
1029 msgid "Objects"
1030 msgstr "Objetos"
1031
1032 #. ^^^^^^^^^^^
1033 #: ../src/gtk_oglview_wnd.cpp:142
1034 msgid "Ribbon"
1035 msgstr "Tira"
1036
1037 #: ../src/gtk_oglview_wnd.cpp:142
1038 msgid "Create a Ribbon object for displaying peptides/proteins"
1039 msgstr "Criar uma estrutura de tira para apresentação de pepitídeos/proteínas"
1040
1041 #: ../src/gtk_oglview_wnd.cpp:143
1042 msgid "ESP-plane"
1043 msgstr "Plano-ESP"
1044
1045 #: ../src/gtk_oglview_wnd.cpp:143
1046 msgid "Create an ESP-plane object"
1047 msgstr "Criar um Plano-ESP"
1048
1049 #: ../src/gtk_oglview_wnd.cpp:144
1050 msgid "volume-rendered ESP"
1051 msgstr "Volume renderizado ESP"
1052
1053 #: ../src/gtk_oglview_wnd.cpp:144
1054 msgid "Create a volume-rendered ESP object"
1055 msgstr "Criar um volume renderizado ESP"
1056
1057 #: ../src/gtk_oglview_wnd.cpp:145
1058 msgid "ESP-surface"
1059 msgstr "Superfície ESP"
1060
1061 #: ../src/gtk_oglview_wnd.cpp:145
1062 msgid "Create an ESP-surface object"
1063 msgstr "Criar uma superfície ESP"
1064
1065 #: ../src/gtk_oglview_wnd.cpp:146
1066 msgid "ESP-colored vdW-surface"
1067 msgstr "Superfície ESP colorida vdW"
1068
1069 #: ../src/gtk_oglview_wnd.cpp:146
1070 msgid "Create an ESP-colored vdW-surface object"
1071 msgstr "Criar uma Superfície ESP colorida vdW"
1072
1073 #: ../src/gtk_oglview_wnd.cpp:147
1074 msgid "Electron density plane"
1075 msgstr "Plano de densidade de elétrons"
1076
1077 #: ../src/gtk_oglview_wnd.cpp:147
1078 msgid "Create an Electron density plane object"
1079 msgstr "Criar um plano de densidaded de elétrons"
1080
1081 #: ../src/gtk_oglview_wnd.cpp:148
1082 msgid "Electron density surface"
1083 msgstr "Superfície de densidade de elétrons "
1084
1085 #: ../src/gtk_oglview_wnd.cpp:148
1086 msgid "Create an Electron density surface object"
1087 msgstr "Criar uma superfície de densidade de elétrons"
1088
1089 #: ../src/gtk_oglview_wnd.cpp:149
1090 msgid "Molecular orbital plane"
1091 msgstr "Plano orbital molecular"
1092
1093 #: ../src/gtk_oglview_wnd.cpp:149
1094 msgid "Create a Molecular orbital plane object"
1095 msgstr "Criar um plano orbital molecular"
1096
1097 #: ../src/gtk_oglview_wnd.cpp:150
1098 msgid "Molecular orbital volume"
1099 msgstr "Volume orbital molecular"
1100
1101 #: ../src/gtk_oglview_wnd.cpp:150
1102 msgid "Create a Molecular orbital volume object"
1103 msgstr "Criar um volume orbital molecular"
1104
1105 #: ../src/gtk_oglview_wnd.cpp:151
1106 msgid "Molecular orbital surface"
1107 msgstr "Superfície orbital molecular"
1108
1109 #: ../src/gtk_oglview_wnd.cpp:151
1110 msgid "Create a Molecular orbital surface object"
1111 msgstr "Criar uma superfície orbital molecular"
1112
1113 #: ../src/gtk_oglview_wnd.cpp:152
1114 msgid "MO-density plane"
1115 msgstr "Plano de densidade MO"
1116
1117 #: ../src/gtk_oglview_wnd.cpp:152
1118 msgid "Create an MO-density plane object"
1119 msgstr "Criar um plano de densidade MO"
1120
1121 #: ../src/gtk_oglview_wnd.cpp:153
1122 msgid "MO-density volume"
1123 msgstr "Volume de densidade MO"
1124
1125 #: ../src/gtk_oglview_wnd.cpp:153
1126 msgid "Create an MO-density volume object"
1127 msgstr "Criar um volume de densidade MO"
1128
1129 #: ../src/gtk_oglview_wnd.cpp:154
1130 msgid "MO-density surface"
1131 msgstr "Superfície de densidade MO"
1132
1133 #: ../src/gtk_oglview_wnd.cpp:154
1134 msgid "Create an MO-density surface object"
1135 msgstr "Criar uma superfície de densidade MO"
1136
1137 #: ../src/gtk_oglview_wnd.cpp:155
1138 msgid "Delete Current Object"
1139 msgstr "Deletar objeto atual"
1140
1141 #: ../src/gtk_oglview_wnd.cpp:155
1142 msgid "Delete the currently selected object"
1143 msgstr "Deletar o objeto selecionado"
1144
1145 #: ../src/gtk_oglview_wnd.cpp:157
1146 msgid "Compute"
1147 msgstr "Computar"
1148
1149 #. ^^^^^^^^^^^
1150 #: ../src/gtk_oglview_wnd.cpp:159
1151 msgid "Setup..."
1152 msgstr "Configurar..."
1153
1154 #: ../src/gtk_oglview_wnd.cpp:160
1155 msgid "Energy"
1156 msgstr "Energia"
1157
1158 #: ../src/gtk_oglview_wnd.cpp:161
1159 msgid "Geometry Optimization..."
1160 msgstr "Otimização conformacional..."
1161
1162 #: ../src/gtk_oglview_wnd.cpp:162
1163 msgid "Molecular Dynamics..."
1164 msgstr "Dinâmica Molecular..."
1165
1166 #: ../src/gtk_oglview_wnd.cpp:163
1167 msgid "Random Conformational Search..."
1168 msgstr "Busca Conformacional aleatória..."
1169
1170 #: ../src/gtk_oglview_wnd.cpp:164
1171 msgid "Systematic Conformational Search..."
1172 msgstr "Busca Conformacional sistemática..."
1173
1174 #: ../src/gtk_oglview_wnd.cpp:165
1175 msgid "Monte Carlo Search..."
1176 msgstr "Busca Monte Carlo..."
1177
1178 #: ../src/gtk_oglview_wnd.cpp:166
1179 msgid "Plot Energy vs. 1 Torsion Angle..."
1180 msgstr "Gráfico Energia vs. ângulo de Torção (1D)"
1181
1182 #: ../src/gtk_oglview_wnd.cpp:167
1183 msgid "Plot Energy vs. 2 Torsion Angles..."
1184 msgstr "Gráfico de Energia vs. ângulo de torção (2D)"
1185
1186 #: ../src/gtk_oglview_wnd.cpp:168
1187 msgid "Population Analysis (ESP)"
1188 msgstr "Análise de População (ESP)"
1189
1190 #: ../src/gtk_oglview_wnd.cpp:169
1191 msgid "Transition State Search..."
1192 msgstr "Busca por Estado de Transição..."
1193
1194 #: ../src/gtk_oglview_wnd.cpp:170
1195 msgid "Stationary State Search..."
1196 msgstr "Busca por Estado Estacionário..."
1197
1198 #: ../src/gtk_oglview_wnd.cpp:171
1199 msgid "Formula"
1200 msgstr "Fórmula"
1201
1202 #: ../src/gtk_oglview_wnd.cpp:176
1203 msgid "MD Trajectory Viewer..."
1204 msgstr "Visualizador de Trajetória MD"
1205
1206 #: ../src/gtk_oglview_wnd.cpp:177
1207 msgid "Set Current Orbital"
1208 msgstr "Definir Orbital Atual"
1209
1210 #: ../src/gtk_oglview_wnd.cpp:179
1211 msgid "Build"
1212 msgstr "Construir"
1213
1214 #. ^^^^^^^^^
1215 #: ../src/gtk_oglview_wnd.cpp:181
1216 msgid "Solvate Box..."
1217 msgstr "Caixa de Solvente..."
1218
1219 #: ../src/gtk_oglview_wnd.cpp:182
1220 msgid "Solvate Sphere..."
1221 msgstr "Esfera de Solvente..."
1222
1223 #: ../src/gtk_oglview_wnd.cpp:183
1224 msgid "Sequence Builder (amino)..."
1225 msgstr "Sequenciador (amino-ácidos)"
1226
1227 #: ../src/gtk_oglview_wnd.cpp:184
1228 msgid "Sequence Builder (nucleic)..."
1229 msgstr "Sequenciador (DNA)"
1230
1231 #: ../src/gtk_oglview_wnd.cpp:185
1232 msgid "Center"
1233 msgstr "Centro"
1234
1235 #: ../src/gtk_oglview_wnd.cpp:186
1236 msgid "Zap All"
1237 msgstr ""
1238
1239 #: ../src/gtk_oglview_wnd.cpp:188
1240 msgid "Hydrogens"
1241 msgstr "Hidrogêneos"
1242
1243 #. ^^^^^^^^^^^^^^^^^^
1244 #: ../src/gtk_oglview_wnd.cpp:190
1245 msgid "Add"
1246 msgstr "Adicionar"
1247
1248 #: ../src/gtk_oglview_wnd.cpp:191
1249 msgid "Remove"
1250 msgstr "Remover"
1251
1252 #: ../src/gtk_oglview_wnd.cpp:193
1253 msgid "Enter a Command..."
1254 msgstr "Entrar comando..."
1255
1256 #: ../src/gtk_oglview_wnd.cpp:380
1257 #, c-format
1258 msgid "ERROR : Building popup-menu for gtk_oglview_wnd failed : %s"
1259 msgstr "ERRO: falha ao construir Menu Supenso para gtk_oglview_wnd : %s"
1260
1261 #: ../src/gtk_oglview_wnd.cpp:630
1262 msgid "sets 0 <-> "
1263 msgstr ""
1264
1265 #: ../src/gtk_oglview_wnd.cpp:630
1266 msgid " RMS = "
1267 msgstr ""
1268
1269 #: ../src/gtk_oglview_wnd.cpp:636
1270 msgid "average RMS = "
1271 msgstr "Média RMS = "
1272
1273 #: ../src/gtk_p1dview_wnd.cpp:57
1274 #, c-format
1275 msgid "ERROR : Building popup-menu for gtk_p1dview_wnd failed : %s"
1276 msgstr "ERRO: falha ao construir Menu suspenso para gtk_p1dview_wnd : %s"
1277
1278 #: ../src/gtk_p2dview_wnd.cpp:57
1279 #, c-format
1280 msgid "ERROR : Building popup-menu for gtk_p2dview_wnd failed : %s"
1281 msgstr "ERRO: falha ao construir Menu suspenso para gtk_p2dview_wnd : %s"
1282
1283 #: ../src/gtk_progress_dialog.cpp:39
1284 msgid "WARNING : progress_dialog : glade_xml_get_widget() failed!!!"
1285 msgstr "ALERTA : falha em progress_dialog : glade_xml_get_widget()!!!"
1286
1287 #: ../src/gtk_project.cpp:81
1288 msgid "A new project created.\n"
1289 msgstr "Criado um novo projeto.\n"
1290
1291 #: ../src/gtk_project.cpp:184
1292 msgid "Thread creation failed : GeomOpt"
1293 msgstr "Falha ao criar Thread : GeomOpt"
1294
1295 #: ../src/gtk_project.cpp:199 ../src/res_gtk/gtk_geomopt_dialog.glade.h:2
1296 msgid "Geometry Optimization"
1297 msgstr "Otimização Conformacional"
1298
1299 #: ../src/gtk_project.cpp:234
1300 msgid "Thread creation failed : MolDyn"
1301 msgstr "Falha ao criar Thread : MolDyn"
1302
1303 #: ../src/gtk_project.cpp:249 ../src/res_gtk/gtk_moldyn_dialog.glade.h:5
1304 msgid "Molecular Dynamics"
1305 msgstr "Dinâmica Molecular"
1306
1307 #: ../src/gtk_project.cpp:273
1308 msgid "Thread creation failed : RandomSearch"
1309 msgstr "Falha ao criar Thread : Busca Aleatória"
1310
1311 #: ../src/gtk_project.cpp:288
1312 msgid "Random Search"
1313 msgstr "Busca Aleatória"
1314
1315 #: ../src/gtk_project.cpp:776 ../src/gtk_project.cpp:794
1316 #: ../src/gtk_project.cpp:812 ../src/gtk_project.cpp:830
1317 #: ../src/gtk_project.cpp:848 ../src/gtk_project.cpp:866
1318 #: ../src/gtk_project.cpp:884 ../src/gtk_project.cpp:902
1319 #: ../src/gtk_project.cpp:920 ../src/gtk_project.cpp:938
1320 #: ../src/gtk_project.cpp:956 ../src/gtk_project.cpp:974
1321 msgid "Please calculate energy first!"
1322 msgstr "Favor calcular a energia previamente!"
1323
1324 #: ../src/gtk_project.cpp:1075
1325 msgid ""
1326 "PLEASE NOTE!\n"
1327 "The command string, which is displayed in the next dialog, is incomplete.\n"
1328 "You should replace the letters A-D with atom indices that define the "
1329 "torsion.\n"
1330 "\n"
1331 "ALSO NOTE: structure refinement is always done using molecular mechanics "
1332 "(optsteps)."
1333 msgstr ""
1334 "ATENÇÃO! \n "
1335 "O comando apresentado na próxima janela de diálogo está incompleto. \n"
1336 "Você deve trocar as letras A-D pelos índices dos átomos que definem a torção. \n"
1337 "\n"
1338 "NOTE: refinamentos de estrutura são sempre realizados utilizando mecânica molecular (optsteps)."
1339
1340 #: ../src/gtk_project.cpp:1088
1341 msgid ""
1342 "PLEASE NOTE!\n"
1343 "The command string, which is displayed in the next dialog, is incomplete.\n"
1344 "You should replace the letters A-D and I-L with atom indices that define the "
1345 "torsions.\n"
1346 "\n"
1347 "ALSO NOTE: structure refinement is always done using molecular mechanics "
1348 "(optsteps)."
1349 msgstr ""
1350 "ATENÇÃO! \n "
1351 "O comando apresentado na próxima janela de diálogo está incompleto. \n"
1352 "Você deve trocar as letras A-D e I-L pelos índices dos átomos que definem a torção. \n"
1353 "\n"
1354 "NOTE: refinamentos de estrutura são sempre realizados utilizando mecânica molecular (optsteps)."
1355
1356 #: ../src/gtk_project.cpp:1162
1357 msgid "ERROR"
1358 msgstr "ERRO"
1359
1360 #: ../src/gtk_project.cpp:1173
1361 msgid "Trajectory file already open?"
1362 msgstr "Arquivo de Trajetória já aberto?"
1363
1364 #: ../src/gtk_project.cpp:1182
1365 msgid ""
1366 "PLEASE NOTE!\n"
1367 "The command string, which is displayed in the next dialog, is incomplete.\n"
1368 "You should replace the letter X with the orbital index that will become the "
1369 "current orbital."
1370 msgstr ""
1371 "ATENÇÃO! \n "
1372 "O comando apresentado na próxima janela de diálogo está incompleto. \n"
1373 "Você deve trocar a letra X pelo índice do orbital desejado. \n"
1374 "\n"
1375 "NOTE: refinamentos de estrutura são sempre realizados utilizando mecânica molecular (optsteps)."
1376
1377 #: ../src/gtk_project.cpp:1237
1378 msgid ""
1379 "PLEASE NOTE!\n"
1380 "The command string, which is displayed in the next dialog, is incomplete.\n"
1381 "You should replace the default sequence AAA with the sequence to be built."
1382 msgstr ""
1383 "ATENÇÃO! \n "
1384 "O comando apresentado na próxima janela de diálogo está incompleto. \n"
1385 "Você deve trocar a sequência padrão AAA pela sequência desejada. \n"
1386 "\n"
1387 "NOTE: Para verificar as abreviaturas dos amino-ácidos, favor consultar o Apêndice 1 da Ajuda: Abreviações de Amino-ácidos"
1388
1389 #: ../src/gtk_project.cpp:1250
1390 msgid ""
1391 "PLEASE NOTE!\n"
1392 "The command string, which is displayed in the next dialog, is incomplete.\n"
1393 "You should replace the default sequence AGTCaguc with the sequence to be "
1394 "built."
1395 msgstr ""
1396 "HATENÇÃO! \n "
1397 "O comando apresentado na próxima janela de diálogo está incompleto. \n"
1398 "Você deve trocar a sequência padrão AGTCaguc pela sequência desejada. \n"
1399 "\n"
1400 "NOTE: A (Adenina), G (Guanina), T (Timina), C (Citosina) e u (Uracila) "
1401
1402 #: ../src/gtk_project.cpp:1287
1403 msgid "Are you sure you want to clear everything?"
1404 msgstr "Tem certesa que deseja apagar tudo?"
1405
1406 #: ../src/gtk_rcpview_wnd.cpp:57
1407 #, c-format
1408 msgid "ERROR : Building popup-menu for gtk_rcpview_wnd failed : %s"
1409 msgstr "ERRO: falha ao construir o Menu suspenso para gtk_rcpview_wnd : %s"
1410
1411 #: ../src/gtk_setup_dialog.cpp:49
1412 msgid "WARNING : setup_dialog : glade_xml_get_widget() failed!!!"
1413 msgstr "ALERTA : falha em setup_dialog : glade_xml_get_widget()!!!"
1414
1415 #: ../src/gtk_setup_dialog.cpp:358
1416 msgid "Changed the Setup for calculations "
1417 msgstr "Configuração para cálculo alterada "
1418
1419 #: ../src/gtk_setup_dialog.cpp:359 ../src/project.cpp:4038
1420 msgid "(setup = "
1421 msgstr "(configuração = "
1422
1423 #: ../src/gtk_setup_dialog.cpp:375 ../src/project.cpp:4039
1424 msgid ", engine = "
1425 msgstr ""
1426
1427 #. request a modal window.
1428 #: ../src/gtk_simple_dialogs.cpp:49
1429 msgid "Set Current Element"
1430 msgstr "Definir Elemento Atual"
1431
1432 #: ../src/gtk_simple_dialogs.cpp:113
1433 msgid "Current element is now "
1434 msgstr "O Elemento químico atual é"
1435
1436 #. request a modal window.
1437 #: ../src/gtk_simple_dialogs.cpp:133
1438 msgid "Set Current Bondtype"
1439 msgstr "Definir tipo de ligação atual"
1440
1441 #: ../src/gtk_simple_dialogs.cpp:184
1442 msgid "Current bondtype is now "
1443 msgstr "Tipo de ligação atual é"
1444
1445 #: ../src/gtk_simple_dialogs.cpp:449
1446 msgid ""
1447 "This alternative PDB reader is designed to remove any gaps that might\n"
1448 "exist in the structure data. Therefore the sequence might be altered!"
1449 msgstr ""
1450 "Este leitor de arquivos PDB alternativo visa remover qualquer falha \n"
1451 "que possa existir nos dados de estrutura. Portanto, pode haver alteração na sequência!!"
1452
1453 #. request a modal window.
1454 #: ../src/gtk_simple_dialogs.cpp:482
1455 msgid "Command Interpreter"
1456 msgstr "Interpretador de comando"
1457
1458 #: ../src/gtk_simple_dialogs.cpp:503
1459 msgid "Execute"
1460 msgstr "Executar"
1461
1462 #: ../src/gtk_simple_dialogs.cpp:506
1463 msgid "Cancel"
1464 msgstr "Cancelar"
1465
1466 #: ../src/gtk_stereo_dialog.cpp:37
1467 msgid "WARNING : stereo_dialog : glade_xml_get_widget() failed!!!"
1468 msgstr "ALERTA : falha no stereo_dialog : glade_xml_get_widget()!!!"
1469
1470 #: ../src/gtk_trajview_dialog.cpp:39
1471 msgid "WARNING : trajview_dialog : glade_xml_get_widget() failed!!!"
1472 msgstr "ALERTA: falha no trajview_dialog : glade_xml_get_widget()!!!"
1473
1474 #: ../src/gtk_trajview_dialog.cpp:82 ../src/gtk_trajview_dialog.cpp:102
1475 #: ../src/gtk_trajview_dialog.cpp:136 ../src/gtk_trajview_dialog.cpp:151
1476 msgid "frame = "
1477 msgstr "quadro = "
1478
1479 #: ../src/gtk_wnd.cpp:53
1480 #, c-format
1481 msgid "*** Cannot find the double-buffered visual.\n"
1482 msgstr "*** Visualização em duplo buffer não encontrado. \n"
1483
1484 #: ../src/gtk_wnd.cpp:54
1485 #, c-format
1486 msgid "*** Trying single-buffered visual.\n"
1487 msgstr "*** Tentando visualização em buffer simples.\n"
1488
1489 #: ../src/gtk_wnd.cpp:61
1490 #, c-format
1491 msgid "*** No appropriate OpenGL-capable visual found.\n"
1492 msgstr "*** Visualização com suporte OpenGL não encontrada.\n"
1493
1494 #: ../src/gtk_wnd.cpp:66
1495 #, c-format
1496 msgid ""
1497 "\n"
1498 "OpenGL visual configurations :\n"
1499 "\n"
1500 msgstr ""
1501 "\n"
1502 "Configuração de visualização OpenGL:\n"
1503 "\n"
1504
1505 #: ../src/ogl_surface.cpp:91
1506 msgid "evaluating grid"
1507 msgstr "grade de avaliação"
1508
1509 #: ../src/ogl_surface.cpp:106
1510 msgid " done\n"
1511 msgstr "Concluído\n"
1512
1513 #: ../src/ogl_surface.cpp:112
1514 msgid "interpolating in "
1515 msgstr "interpolando em "
1516
1517 #: ../src/ogl_surface.cpp:131
1518 msgid "-direction... "
1519 msgstr "-direção... "
1520
1521 #: ../src/ogl_surface.cpp:138
1522 msgid " points, "
1523 msgstr " pontos, "
1524
1525 #: ../src/ogl_surface.cpp:138
1526 msgid " cycles"
1527 msgstr " ciclos"
1528
1529 #: ../src/ogl_surface.cpp:155
1530 msgid "generating image... "
1531 msgstr "gerando imagem... "
1532
1533 #: ../src/ogl_surface.cpp:185
1534 msgid "color_surface problem #1"
1535 msgstr "problema em color_surface #1"
1536
1537 #: ../src/ogl_surface.cpp:235
1538 msgid "color_surface problem #2"
1539 msgstr "problema em color_surface #2"
1540
1541 #: ../src/ogl_surface.cpp:335
1542 msgid " lines, "
1543 msgstr " linhas, "
1544
1545 #: ../src/ogl_surface.cpp:335
1546 msgid " triangles."
1547 msgstr " triângulo."
1548
1549 #: ../src/p2dview_wcl.cpp:182
1550 msgid "now scaling the colours to range "
1551 msgstr "ajustando a escala de cores ao intervalo "
1552
1553 #: ../src/p2dview_wcl.cpp:182
1554 msgid " kJ/mol"
1555 msgstr " kJ/mol"
1556
1557 #: ../src/pangofont_wcl.cpp:75
1558 #, c-format
1559 msgid "*** ERROR : Can't load font '%s'\n"
1560 msgstr "*** ERRO : falha ao carregar a fonte : %s\n"
1561
1562 #: ../src/project.cpp:210
1563 msgid "untitled"
1564 msgstr "sem título"
1565
1566 #: ../src/project.cpp:322
1567 msgid "Cannot import that file type."
1568 msgstr "Falha ao importar aquele tipo de arquivo."
1569
1570 #: ../src/project.cpp:367
1571 msgid "Cannot export that file type."
1572 msgstr "Falha ao exportar este tipo de arquivo."
1573
1574 #: ../src/project.cpp:409
1575 msgid "Hydrogens added."
1576 msgstr "Hidrogêneos adicionados."
1577
1578 #: ../src/project.cpp:419
1579 msgid "Hydrogens removed."
1580 msgstr "Hidrogêneos removidos. "
1581
1582 #: ../src/project.cpp:617
1583 msgid " window "
1584 msgstr " janela "
1585
1586 #: ../src/project.cpp:663
1587 msgid ""
1588 "This is the last graphics view for\n"
1589 "this project - can't close it."
1590 msgstr ""
1591 "Esta foi a última visualização gráfica\n"
1592 "este projeto - falha ao fechá-lo."
1593
1594 #: ../src/project.cpp:877
1595 msgid "Processing Command : "
1596 msgstr "Comando: "
1597
1598 #: ../src/project.cpp:887
1599 msgid "> AVAILABLE COMMANDS:"
1600 msgstr "> COMANDOS DISPONÍVEIS:"
1601
1602 #. use alphabetical order???
1603 #: ../src/project.cpp:889
1604 msgid "> add light (local/global) (directional/spotlight) -- add a new light object."
1605 msgstr "> adicionar luz (local/global) (directional/facho de luz) -- adicionar um novo objeto de iluminação."
1606
1607 #: ../src/project.cpp:891
1608 msgid ""
1609 "> add plane <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <tp> <alpha> -- "
1610 "add a plane object."
1611 msgstr ""
1612 "> adicionar plano <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <tp> <alpha> -- "
1613 "adicionar um objeto plano."
1614
1615 #: ../src/project.cpp:892 ../src/project.cpp:902
1616 msgid "> where: <vf> = value function : esp vdws eldens mo mod unity"
1617 msgstr "> onde: <vf> = função valor : esp vdws eldens mo mod unity"
1618
1619 #: ../src/project.cpp:893 ../src/project.cpp:903 ../src/project.cpp:913
1620 msgid "> <cf> = colour function : red green blue rb1 rb2"
1621 msgstr "> <cf> = função cor : red green blue rb1 rb2"
1622
1623 #: ../src/project.cpp:894 ../src/project.cpp:904 ../src/project.cpp:915
1624 #: ../src/project.cpp:930
1625 msgid "> <cscale1> = scaling value for calculating the colours"
1626 msgstr "> <cscale1> = escala para o cálculo de cores"
1627
1628 #: ../src/project.cpp:895 ../src/project.cpp:905 ../src/project.cpp:916
1629 #: ../src/project.cpp:931
1630 msgid "> <cscale2> = scaling offset for calculating the colours"
1631 msgstr "> <cscale2> = tara (deslocamento do zero) para o cálculo de cores"
1632
1633 #: ../src/project.cpp:896 ../src/project.cpp:906 ../src/project.cpp:917
1634 #: ../src/project.cpp:932
1635 msgid "> <dim> = dimension of the plane object (in nm units)"
1636 msgstr "> <dim> = dimensões do objeto plano (em nm)"
1637
1638 #: ../src/project.cpp:897 ../src/project.cpp:907 ../src/project.cpp:918
1639 #: ../src/project.cpp:933
1640 msgid "> <res> = resolution of the plane object"
1641 msgstr "> <res> = resolução para o objeto plano"
1642
1643 #: ../src/project.cpp:898 ../src/project.cpp:920 ../src/project.cpp:935
1644 msgid "> <tp> = 0 or 1 telling if the object is transparent"
1645 msgstr "> <tp> = 0 ou 1 evidenciando se o objeto é transparente"
1646
1647 #: ../src/project.cpp:899 ../src/project.cpp:908 ../src/project.cpp:921
1648 #: ../src/project.cpp:936
1649 msgid "> <alpha> = transparency alpha value"
1650 msgstr "> <alpha> = valor de transparência alfa"
1651
1652 #: ../src/project.cpp:901
1653 msgid ""
1654 "> add volrend <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <alpha> -- add "
1655 "a volume-rendering object."
1656 msgstr ""
1657 "> adicionar volrend <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <alpha> -- "
1658 "adicionar um obejto com renderização volumétrica."
1659
1660 #: ../src/project.cpp:910
1661 msgid ""
1662 "> add surf1 <vf1> <vf2> <cf> <sscale> <cscale1> <AUTO/cscale2> <dim> <res> "
1663 "<solid> <tp> <alpha> -- add a single surface object."
1664 msgstr ""
1665 "> adicionar surf1 <vf1> <vf2> <cf> <sscale> <cscale1> <AUTO/cscale2> <dim> <res> "
1666 "<solid> <tp> <alpha> -- adicionar um único objeto de superfície"
1667
1668 #: ../src/project.cpp:911 ../src/project.cpp:924
1669 msgid ""
1670 "> where: <vf1> = value function for calculating the surface : esp vdws "
1671 "eldens mo mod unity"
1672 msgstr "> onde: <vf1> = função valor para o cálculo da superfície: esp vdws eldens mo mod unity"
1673
1674 #: ../src/project.cpp:912 ../src/project.cpp:925
1675 msgid ""
1676 "> <vf2> = value function for calculating the colours : esp vdws "
1677 "eldens mo mod unity"
1678 msgstr ""
1679 "> <vf2> = função valor para o cálculo de cores: esp vdws eldens mo "
1680 "mod unity"
1681
1682 #: ../src/project.cpp:914
1683 msgid "> <sscale> = scaling value for calculating the surface"
1684 msgstr "> <sscale> = escala para o cálculo de superfície"
1685
1686 #: ../src/project.cpp:919 ../src/project.cpp:934
1687 msgid "> <solid> = 0 or 1 telling if the object is solid"
1688 msgstr "> <solid> = 0 ou 1 evidenciando se o objeto é sólido"
1689
1690 #: ../src/project.cpp:923
1691 msgid ""
1692 "> add surf2 <vf1> <vf2> <cf1> <cf2> <sscale1> <sscale2> <cscale1> <AUTO/"
1693 "cscale2> <dim> <res> <solid> <tp> <alpha> -- add a pair of surface objects."
1694 msgstr ""
1695 "> adicionar surf2 <vf1> <vf2> <cf1> <cf2> <sscale1> <sscale2> <cscale1> <AUTO/"
1696 "cscale2> <dim> <res> <solid> <tp> <alpha> -- adicionar um par de objetos de superfície"
1697
1698 #: ../src/project.cpp:926
1699 msgid "> <cf1> = colour function for 1st surface : red green blue rb1 rb2"
1700 msgstr "> <cf1> = função cor para a primeira superfície : red green blue rb1 rb2"
1701
1702 #: ../src/project.cpp:927
1703 msgid "> <cf2> = colour function for 2nd surface : red green blue rb1 rb2"
1704 msgstr "> <cf2> = função cor para a segunda superfície : red green blue rb1 rb2"
1705
1706 #: ../src/project.cpp:928
1707 msgid ""
1708 "> <sscale1> = scaling value for calculating the surface for 1st "
1709 "surface"
1710 msgstr "> <sscale1> = escala para o cálculo da primeira superfície"
1711
1712 #: ../src/project.cpp:929
1713 msgid ""
1714 "> <sscale2> = scaling value for calculating the surface for 2nd "
1715 "surface"
1716 msgstr "> <sscale2> = escala para o cálculo da segunda superfície"
1717
1718 #: ../src/project.cpp:938
1719 msgid "> help -- print all available commands in command strings."
1720 msgstr "> ajuda -- imprimir todos os camando disponíveis em linhas de comando."
1721
1722 #: ../src/project.cpp:940
1723 msgid "> energy -- calculate a single-point energy."
1724 msgstr "> energia -- calcular a energia no ponto."
1725
1726 #: ../src/project.cpp:941
1727 msgid "> geom_opt -- do a geometry optimization run using default options."
1728 msgstr "> geom_opt -- realizar a otimização conformacional utilizando as opções padrão."
1729
1730 #: ../src/project.cpp:942
1731 msgid "> mol_dyn -- do a molecular dynamics run using default options."
1732 msgstr "> mol_dyn -- calcular a dinâmica molecular utilizando as opções padrão."
1733
1734 #: ../src/project.cpp:944
1735 msgid ""
1736 "> random_search <cycles> <optsteps> -- perform a random conformational "
1737 "search."
1738 msgstr "> random_search <cycles> <optsteps> -- realizar uma pesquisa conformacional no modo aleatório."
1739
1740 #: ../src/project.cpp:945
1741 msgid ""
1742 "> systematic_search <divisions> <optsteps> -- perform a systematic "
1743 "conformational search."
1744 msgstr "> systematic_search <divisions> <optsteps> -- realizar uma pesquisa conformacional no modo sistemático."
1745
1746 #: ../src/project.cpp:946
1747 msgid ""
1748 "> montecarlo_search <init_cycles> <simul_cycles> <optsteps> -- perform a "
1749 "MonteCarlo search."
1750 msgstr "> montecarlo_search <init_cycles> <simul_cycles> <optsteps> -- realizar uma pesquisa no modo Monte Carlo."
1751
1752 #: ../src/project.cpp:948
1753 msgid ""
1754 "> make_plot1 A B C D <div> <start_ang> <end_ang> <optsteps> -- create a 1D "
1755 "energy vs. torsion plot."
1756 msgstr "> make_plot1 A B C D <div> <start_ang> <end_ang> <optsteps> --criar um gráfico energia vs. torção 1D (uma variável)"
1757
1758 #: ../src/project.cpp:949
1759 msgid ""
1760 "> make_plot2 A B C D <div> <start_ang> <end_ang> I J K L <div> <start_ang> "
1761 "<end_ang> <optsteps> -- create a 2D energy vs. torsions plot."
1762 msgstr ""
1763 "> make_plot2 A B C D <div> <start_ang> <end_ang> I J K L <div> <start_ang> "
1764 "<end_ang> <optsteps> -- criar um gráfico energia vs. torção 2D (duas variáveis)"
1765
1766 #: ../src/project.cpp:951
1767 msgid ""
1768 "> population_analysis_ESP -- determine atomic charges using an ESP fit (for "
1769 "QM methods only)."
1770 msgstr "> population_analysis_ESP --determinar as cargas atômicas utilizando um ajuste ESP (somente para métodos QM)."
1771
1772 #: ../src/project.cpp:953
1773 msgid ""
1774 "> transition_state_search <delta_e> <initial_fc> -- perform a transition "
1775 "state search (for QM methods only)."
1776 msgstr "> transition_state_search <delta_e> <initial_fc> -- realizar uma busca por estados de transição (somente para métodos QM)."
1777
1778 #: ../src/project.cpp:954
1779 msgid ""
1780 "> stationary_state_search <steps> -- perform a search for a structure with "
1781 "no forces."
1782 msgstr "> stationary_state_search <steps> -- realizar uma busca por estruturas com força zero."
1783
1784 #: ../src/project.cpp:956
1785 msgid ""
1786 "> set_current_orbital <orbital_index> -- set the current orbtal index for "
1787 "plotting the orbitals."
1788 msgstr "> set_current_orbital <orbital_index> -- definir o índice orbital atual para gráfico de orbitais."
1789
1790 #: ../src/project.cpp:958
1791 msgid "> update_chains -- detect polymer chains using sequence builder."
1792 msgstr "> update_chains -- detectar cadeias poliméricas utilizando sequenciador."
1793
1794 #: ../src/project.cpp:959
1795 msgid "> build_amino <sequence> (helix/strand) -- amino acid sequence builder."
1796 msgstr "> build_amino <sequence> (helix/strand) -- sequenciador de amino-ácidos."
1797
1798 #: ../src/project.cpp:960
1799 msgid "> build_nucleic <sequence> -- nucleic acid sequence builder."
1800 msgstr "> build_nucleic <sequence> -- sequenciador de DNA."
1801
1802 #: ../src/project.cpp:962
1803 msgid "> orient <crdset> -- orient the system in the XYZ coordinate system."
1804 msgstr "> orient <crdset> -- orientar o sistema no sistema de coordenadas XYZ."
1805
1806 #: ../src/project.cpp:964
1807 msgid ""
1808 "> solvate_box <x-hdim> <y-hdim> <z-hdim> (<density> <filename> (export)) -- "
1809 "setup a solvation box."
1810 msgstr ""
1811 "> solvate_box <x-hdim> <y-hdim> <z-hdim> (<density> <filename> (export)) -- "
1812 "definir uma caixa de solvente."
1813
1814 #: ../src/project.cpp:965
1815 msgid ""
1816 "> solvate_sphere <rad_solute> <rad_solvent> (<density> <filename>) -- setup "
1817 "a solvation sphere."
1818 msgstr "> solvate_sphere <rad_solute> <rad_solvent> (<density> <filename>) -- definir uma esfera de solvente."
1819
1820 #: ../src/project.cpp:967
1821 msgid "> set_formal_charge <index> <charge> -- set formal charges to atoms."
1822 msgstr "> set_formal_charge <index> <charge> -- definir cargas formais dos átomos."
1823
1824 #: ../src/project.cpp:969
1825 msgid ""
1826 "> evaluate_Bfact -- evaluate B-factors for selected atoms (a trajectory file "
1827 "must be open)."
1828 msgstr "> evaluate_Bfact -- avaliar fator-B para átomos selecionados (um arquivo de trajetória deve estar aberto)."
1829
1830 #: ../src/project.cpp:970
1831 msgid ""
1832 "> evaluate_diffconst <dt> -- evaluate diffusion constants for selected atoms "
1833 "(a trajectory file must be open, dt = time difference between frames [fs])."
1834 msgstr ""
1835 "> evaluate_diffconst <dt> -- avaliar as constantes de difusão para átomos selecionados "
1836 "(um arquivo de trajetória deve estar aberto, dt = intervalo de tempo entre os quadros [fs])."
1837
1838 #: ../src/project.cpp:1010
1839 msgid "Added a new object : light ("
1840 msgstr "Adicionado um novo objeto : luz ("
1841
1842 #: ../src/project.cpp:1011
1843 msgid "local"
1844 msgstr "local"
1845
1846 #: ../src/project.cpp:1011
1847 msgid "global"
1848 msgstr "global"
1849
1850 #: ../src/project.cpp:1012
1851 msgid "directional"
1852 msgstr "direcional"
1853
1854 #: ../src/project.cpp:1012
1855 msgid "spotlight"
1856 msgstr "facho de luz"
1857
1858 #: ../src/project.cpp:1041
1859 msgid "ERROR : add plane : unknown value function "
1860 msgstr "ERRO : adicionar plano : função valor desconhecida "
1861
1862 #: ../src/project.cpp:1055
1863 msgid "ERROR : add plane : unknown colour function "
1864 msgstr "ERRO : adicionar plano : função cor desconhecida "
1865
1866 #: ../src/project.cpp:1091
1867 msgid "Added a new object : plane ("
1868 msgstr "Adicinado um novo objeto: plano ("
1869
1870 #: ../src/project.cpp:1119
1871 msgid "ERROR : add volrend : unknown value function "
1872 msgstr "ERRO : adicionar volrend : função valor desconhecida "
1873
1874 #: ../src/project.cpp:1133
1875 msgid "ERROR : add volrend : unknown colour function "
1876 msgstr "ERRO : adicionar volrend : função cor desconhecida "
1877
1878 #: ../src/project.cpp:1166
1879 msgid "Added a new object : volrend ("
1880 msgstr "Adicionado novo objeto: volrend ("
1881
1882 #: ../src/project.cpp:1199
1883 msgid "ERROR : add surf1 : unknown value function 1 "
1884 msgstr "ERRO : add surf1 : função valor 1 desconhecida "
1885
1886 #: ../src/project.cpp:1214
1887 msgid "ERROR : add surf1 : unknown value function 2 "
1888 msgstr "ERRO : add surf1 : função valor 2 desconhecida "
1889
1890 #: ../src/project.cpp:1228
1891 msgid "ERROR : add surf1 : unknown colour function "
1892 msgstr "ERRO : add surf1 : função cor desconhecida "
1893
1894 #: ../src/project.cpp:1277
1895 msgid "Added a new object : surf1 ("
1896 msgstr "Adicionado um novo objeto : surf1 ("
1897
1898 #: ../src/project.cpp:1314
1899 msgid "ERROR : add surf2 : unknown value function 1 "
1900 msgstr "ERRO : add surf2 : função valor 1 desconhecida "
1901
1902 #: ../src/project.cpp:1329
1903 msgid "ERROR : add surf2 : unknown value function 2 "
1904 msgstr "ERRO : add surf2 : função valor 2 desconhecida "
1905
1906 #: ../src/project.cpp:1343
1907 msgid "ERROR : add surf2 : unknown colour function 1 "
1908 msgstr "ERRO : add surf2 : função cor 1 desconhecida "
1909
1910 #: ../src/project.cpp:1357
1911 msgid "ERROR : add surf2 : unknown colour function 2 "
1912 msgstr "ERRO : add surf2 : função cor 2 desconhecida "
1913
1914 #: ../src/project.cpp:1417
1915 msgid "Added a new object : surf2 ("
1916 msgstr "Adicionado um novo objeto: surf2 ("
1917
1918 #: ../src/project.cpp:1423
1919 msgid "ERROR : could not process command \"add\" for parameter "
1920 msgstr "ERRO: falha ao processar o comando \"add\" para o parâmetro "
1921
1922 #: ../src/project.cpp:1575
1923 msgid "Sorry, this is for QM models only!"
1924 msgstr "Desculpe, isto é somente para modelos QM!!!"
1925
1926 #: ../src/project.cpp:1622
1927 msgid "The current orbital is now "
1928 msgstr "O orbital atual é "
1929
1930 #: ../src/project.cpp:1667 ../src/project.cpp:1702
1931 msgid "built a sequence : "
1932 msgstr "contruir uma sequência : "
1933
1934 #: ../src/project.cpp:1715
1935 msgid "maximum dimensions:"
1936 msgstr "dimensão máximat:"
1937
1938 #: ../src/project.cpp:1817
1939 msgid "Sorry, atom not found!"
1940 msgstr "Desculpe, átomo não encontrado!"
1941
1942 #: ../src/project.cpp:1843
1943 msgid "ERROR : Unknown command : "
1944 msgstr "ERRO: Comando desconhecido : "
1945
1946 #: ../src/project.cpp:1844
1947 msgid "The \"help\" command will give more information about command strings."
1948 msgstr "O comando \"help\" fornecerá mais detalhes sobre as linhas de comando."
1949
1950 #: ../src/project.cpp:1871
1951 msgid "local lights = "
1952 msgstr "iluminação local = "
1953
1954 #: ../src/project.cpp:1871 ../src/project.cpp:1878
1955 msgid "on"
1956 msgstr "ligado"
1957
1958 #: ../src/project.cpp:1871 ../src/project.cpp:1878
1959 msgid "off"
1960 msgstr "desligado"
1961
1962 #: ../src/project.cpp:1878
1963 msgid "global lights = "
1964 msgstr "iluminação global = "
1965
1966 #: ../src/project.cpp:3244
1967 msgid "Group information about chains/residues is needed for this operation."
1968 msgstr "Informação de grupo sobre cadeias/resíduos é necessária para esta operação."
1969
1970 #: ../src/project.cpp:3245
1971 msgid "Is it OK to update group information?"
1972 msgstr "Tudo OK para atualizar informação de grupo?"
1973
1974 #: ../src/project.cpp:3259
1975 msgid "Sorry, no chain/residue information available for this atom."
1976 msgstr "Desculpe, nenhuma informação de cadeia/resíduo para este átomo."
1977
1978 #: ../src/project.cpp:3278
1979 msgid "selected atom "
1980 msgstr "átomo selecionado "
1981
1982 #: ../src/project.cpp:3278
1983 msgid " (atomtype = "
1984 msgstr " (tipo de átomo = "
1985
1986 #: ../src/project.cpp:3290
1987 msgid "selected residue "
1988 msgstr "resíduo selecionado "
1989
1990 #: ../src/project.cpp:3290
1991 msgid " from chain "
1992 msgstr "da cadeia "
1993
1994 #: ../src/project.cpp:3301
1995 msgid "selected chain "
1996 msgstr "cadeia selecionada "
1997
1998 #: ../src/project.cpp:3325
1999 msgid "selected molecule "
2000 msgstr "molécula selecionada "
2001
2002 #. this must be OK.
2003 #: ../src/project.cpp:3354
2004 msgid "charge: "
2005 msgstr "carga: "
2006
2007 #: ../src/project.cpp:3372
2008 msgid "distance: "
2009 msgstr "distância: "
2010
2011 #: ../src/project.cpp:3394
2012 msgid "angle: "
2013 msgstr "ângulo: "
2014
2015 #: ../src/project.cpp:3394
2016 msgid " deg"
2017 msgstr " graus"
2018
2019 #: ../src/project.cpp:3413
2020 msgid "torsion: "
2021 msgstr "torção: "
2022
2023 #: ../src/project.cpp:3413
2024 msgid " deg "
2025 msgstr " graus "
2026
2027 #: ../src/project.cpp:3482
2028 msgid "MW: "
2029 msgstr "PM: "
2030
2031 #: ../src/project.cpp:3559
2032 msgid "ERROR : atom "
2033 msgstr "ERRO : átomo "
2034
2035 #: ../src/project.cpp:3559 ../src/project.cpp:3745 ../src/project.cpp:3757
2036 msgid " not found!"
2037 msgstr "não encontrado!"
2038
2039 #: ../src/project.cpp:3579
2040 msgid "ERROR : could not find ic.\n"
2041 msgstr "ERRO: não foi possível encontrar ic.\n"
2042
2043 #: ../src/project.cpp:3597
2044 msgid "ERROR : could not find tor-term.\n"
2045 msgstr "ERRO: não foi possível encontrar termo de torção.\n"
2046
2047 #: ../src/project.cpp:3601
2048 msgid "tor(deg)"
2049 msgstr "torção(graus)"
2050
2051 #: ../src/project.cpp:3601 ../src/project.cpp:3818 ../src/project.cpp:3910
2052 msgid "E(kJ/mol)"
2053 msgstr "E(kJ/mol)"
2054
2055 #: ../src/project.cpp:3652
2056 msgid "tor = "
2057 msgstr "torção= "
2058
2059 #: ../src/project.cpp:3652 ../src/project.cpp:3875
2060 msgid " deg, energy = "
2061 msgstr " grau, energia = "
2062
2063 #: ../src/project.cpp:3652 ../src/project.cpp:3875
2064 msgid " kJ/mol."
2065 msgstr " kJ/mol."
2066
2067 #: ../src/project.cpp:3745
2068 msgid "ERROR : tor1 atom "
2069 msgstr "ERROR: átomo tor1"
2070
2071 #: ../src/project.cpp:3757
2072 msgid "ERROR : tor2 atom "
2073 msgstr "ERRO : átomo tor2 "
2074
2075 #: ../src/project.cpp:3777
2076 msgid "ERROR : could not find ic for tor1.\n"
2077 msgstr "ERRO : não foi possível achar ic para tor1.\n"
2078
2079 #: ../src/project.cpp:3784
2080 msgid "ERROR : could not find ic for tor2.\n"
2081 msgstr "ERRO : não foi possível achar ic para tor2.\n"
2082
2083 #: ../src/project.cpp:3807
2084 msgid "ERROR : could not find tor-term for tor1.\n"
2085 msgstr "ERRO : não foi possível achar termo de torção para tor1.\n"
2086
2087 #: ../src/project.cpp:3814
2088 msgid "ERROR : could not find tor-term for tor2.\n"
2089 msgstr "ERRO : não foi possível achar termo de torção para tor2.\n"
2090
2091 #: ../src/project.cpp:3818
2092 msgid "tor1(deg)"
2093 msgstr "tor1(graus)"
2094
2095 #: ../src/project.cpp:3818
2096 msgid "tor2(deg)"
2097 msgstr "tor2(graus)"
2098
2099 #: ../src/project.cpp:3875
2100 msgid "tor1 = "
2101 msgstr "tor1 = "
2102
2103 #: ../src/project.cpp:3875
2104 msgid " deg, tor2 = "
2105 msgstr " graus, tor2 = "
2106
2107 #: ../src/project.cpp:3900 ../src/project.cpp:3935
2108 msgid "r-energy = "
2109 msgstr "energia-r = "
2110
2111 #: ../src/project.cpp:3900 ../src/project.cpp:3935
2112 msgid "p-energy = "
2113 msgstr "energia-p = "
2114
2115 #: ../src/project.cpp:3901 ../src/project.cpp:3936
2116 msgid " is lower "
2117 msgstr "é mais baixa "
2118
2119 #: ../src/project.cpp:3940
2120 msgid "READY!"
2121 msgstr "PRONTO!"
2122
2123 #: ../src/project.cpp:4037
2124 msgid "Starting Stationary State Search "
2125 msgstr "Inciando busca por Estado Estacionário "
2126
2127 #: ../src/project.cpp:4050
2128 msgid "Cycle Gradient Step\n"
2129 msgstr "Ciclo Gradiente Passo\n"
2130
2131 #: ../src/project.cpp:4065
2132 msgid "the nsteps termination test was passed.\n"
2133 msgstr "Condição de terminação por número máximo de passos foi atingida.\n"
2134
2135 #: ../src/rcpview_wcl.cpp:161
2136 msgid "the tresholds were set to "
2137 msgstr "os limiares foram estabelecidos em "
2138
2139 #: ../src/rcpview_wcl.cpp:161
2140 msgid " and "
2141 msgstr "e "
2142
2143 #. ################################################################################################
2144 #. eof
2145 #: ../src/res_gtk/gtk_file_export_dialog.glade.h:1
2146 #: ../src/res_gtk/gtk_file_import_dialog.glade.h:1
2147 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:1
2148 msgid "Browse..."
2149 msgstr "Procurar arquivo..."
2150
2151 #: ../src/res_gtk/gtk_file_export_dialog.glade.h:2
2152 msgid "Export File"
2153 msgstr "Exportar Arquivo"
2154
2155 #: ../src/res_gtk/gtk_file_import_dialog.glade.h:2
2156 msgid "Import File"
2157 msgstr "Importar Arquivo"
2158
2159 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:1
2160 msgid "Delta-E Cutoff:"
2161 msgstr "Valor de corte Delta-E:"
2162
2163 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:3
2164 msgid "Gradient Cutoff:"
2165 msgstr "Valor de corte deGradiente:"
2166
2167 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:4
2168 msgid "Maximum # of Steps:"
2169 msgstr "Número máximo de passos:"
2170
2171 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:2
2172 msgid "Constant-P simulation (allow P-control at simulation stage)"
2173 msgstr "Simulação isobárica (permite o controle de P no estágio de simulação)"
2174
2175 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:3
2176 msgid "Constant-T simulation (allow T-control at simulation stage)"
2177 msgstr "Simulação isotérmica (permite o controle de T no estágio de simulação)"
2178
2179 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:4
2180 msgid "Isothermal compressibility [1/bar] :"
2181 msgstr "Compresibilidade isotérmica [1/bar] :"
2182
2183 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:6
2184 msgid "Number of steps : (cooling)"
2185 msgstr "Número de passos : (resfriar)"
2186
2187 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:7
2188 msgid "Number of steps : (equilibration)"
2189 msgstr "Número de passos : (equilibrar)"
2190
2191 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:8
2192 msgid "Number of steps : (heating)"
2193 msgstr "Número de passos : (aquecer)"
2194
2195 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:9
2196 msgid "Number of steps : (simulation)"
2197 msgstr "Número de passos : (simulação)"
2198
2199 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:10
2200 msgid "P relaxation time [fs] :"
2201 msgstr "Tempo de relaxação P [fs] :"
2202
2203 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:11
2204 msgid "Pressure [bar] :"
2205 msgstr "Pressão [bar] :"
2206
2207 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:12
2208 msgid "T relaxation time [fs] : (equil/simul)"
2209 msgstr "Tempo de relaxação T [fs] : (equil/simul)"
2210
2211 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:13
2212 msgid "T relaxation time [fs] : (heat/cool)"
2213 msgstr "Tempo de relaxação T [fs] : (aquecer/resfriar)"
2214
2215 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:14
2216 msgid "Temperature [K] :"
2217 msgstr "Temperatura [K] :"
2218
2219 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:15
2220 msgid "Timestep [fs] :"
2221 msgstr "Passo temporal [fs] :"
2222
2223 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:16
2224 msgid "Trajectory File : "
2225 msgstr "Arquivo de Trajetória : "
2226
2227 #: ../src/res_gtk/gtk_progress_dialog.glade.h:1
2228 msgid "Background Job"
2229 msgstr "Job em Background"
2230
2231 #: ../src/res_gtk/gtk_progress_dialog.glade.h:2
2232 msgid "Job Title : "
2233 msgstr "Título do Job : "
2234
2235 #: ../src/res_gtk/gtk_setup_dialog.glade.h:1
2236 msgid "<b>Select the Engine Class:</b>"
2237 msgstr "<b>Seleciona a engine-class:</b>"
2238
2239 #: ../src/res_gtk/gtk_setup_dialog.glade.h:2
2240 msgid "<b>Set the spin multiplicity of the system:</b>"
2241 msgstr "<b>Define a Multiplicidade de Spin para o sistema:</b>"
2242
2243 #: ../src/res_gtk/gtk_setup_dialog.glade.h:3
2244 msgid "<b>Set the total charge of the system:</b>"
2245 msgstr "<b>Defini a carga total do sistema:</b>"
2246
2247 #: ../src/res_gtk/gtk_setup_dialog.glade.h:4
2248 msgid "Enable atomtype/parameter exceptions (AMBER FF)."
2249 msgstr "Habilita excessões de tipo de átomo/parâmetro (AMBER FF)."
2250
2251 #: ../src/res_gtk/gtk_setup_dialog.glade.h:6
2252 msgid "MM/SF"
2253 msgstr "MM/SF"
2254
2255 #: ../src/res_gtk/gtk_setup_dialog.glade.h:7
2256 msgid "QM/MM"
2257 msgstr "QM/MM"
2258
2259 #: ../src/res_gtk/gtk_setup_dialog.glade.h:8
2260 msgid "Setup"
2261 msgstr "Configuração"
2262
2263 #: ../src/res_gtk/gtk_setup_dialog.glade.h:9
2264 msgid "Spin Multiplicity:"
2265 msgstr "Multiplicidade de Spin:"
2266
2267 #: ../src/res_gtk/gtk_setup_dialog.glade.h:10
2268 msgid "Total Charge:"
2269 msgstr "Carga Total:"
2270
2271 #: ../src/res_gtk/gtk_setup_dialog.glade.h:11
2272 msgid "all MM"
2273 msgstr "todos MM"
2274
2275 #: ../src/res_gtk/gtk_setup_dialog.glade.h:12
2276 msgid "all QM"
2277 msgstr "todos QM"
2278
2279 #: ../src/res_gtk/gtk_setup_dialog.glade.h:13
2280 msgid "all SF"
2281 msgstr "todos SF"
2282
2283 #: ../src/res_gtk/gtk_setup_dialog.glade.h:14
2284 msgid "this is under construction and DISABLED currently!"
2285 msgstr "funcionalidade em construção e não operante ainda!"
2286
2287 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:1
2288 msgid "Relaxed Separation :"
2289 msgstr "Separação relaxada :"
2290
2291 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:2
2292 msgid "Stereo Displacement :"
2293 msgstr "Deslocamento estéreo : "
2294
2295 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:3
2296 msgid "Stereo View Settings"
2297 msgstr "Configurações de visualização estéreo"
2298
2299 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:1
2300 msgid "Begin"
2301 msgstr "Início"
2302
2303 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:2
2304 msgid "End"
2305 msgstr "Fim"
2306
2307 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:3
2308 msgid "Play"
2309 msgstr "Tocar"
2310
2311 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:4
2312 msgid "Trajectory Viewer"
2313 msgstr "Visalizador de trajetória"
2314
0 msgid ""
1 msgstr ""
2 "Project-Id-Version: ghemical\n"
3 "Report-Msgid-Bugs-To: \n"
4 "POT-Creation-Date: 2009-09-19 09:54+0400\n"
5 "PO-Revision-Date: \n"
6 "Last-Translator: Daniil Bratashov <dn2010@km.ru>\n"
7 "Language-Team: \n"
8 "MIME-Version: 1.0\n"
9 "Content-Type: text/plain; charset=UTF-8\n"
10 "Content-Transfer-Encoding: 8bit\n"
11 "X-Poedit-Language: Russian\n"
12 "X-Poedit-Country: RUSSIAN FEDERATION\n"
13
14 #: ../src/custom_app.cpp:100
15 msgid "Added global light."
16 msgstr "Добавлен глобальный источник света."
17
18 #: ../src/custom_app.cpp:114
19 msgid "Added local light."
20 msgstr "Добавлен локальный источник света."
21
22 #: ../src/eldview_wcl.cpp:162
23 msgid "No data available,"
24 msgstr "Нет доступных данных,"
25
26 #: ../src/eldview_wcl.cpp:167
27 msgid "must be a QM model!"
28 msgstr "должно быть моделью QM!"
29
30 #: ../src/eldview_wcl.cpp:167
31 msgid "please calculate energy!"
32 msgstr "рассчитайте энергию!"
33
34 #: ../src/gtk_app.cpp:92
35 #: ../src/gtk_oglview_wnd.cpp:38
36 msgid "File"
37 msgstr "Файл"
38
39 #: ../src/gtk_app.cpp:93
40 #: ../src/res_gtk/gtk_setup_dialog.glade.h:5
41 msgid "Help"
42 msgstr "Справка"
43
44 #: ../src/gtk_app.cpp:95
45 msgid "New"
46 msgstr "Новый"
47
48 #: ../src/gtk_app.cpp:95
49 msgid "Create a new file."
50 msgstr "Создать новый файл."
51
52 #. <control>N
53 #. ^^^^^^^^
54 #: ../src/gtk_app.cpp:96
55 #: ../src/gtk_oglview_wnd.cpp:40
56 msgid "Open"
57 msgstr "Открыть"
58
59 #: ../src/gtk_app.cpp:96
60 msgid "Open an existing file."
61 msgstr "Открыть существующий файл."
62
63 #. <control>O
64 #: ../src/gtk_app.cpp:97
65 #: ../src/gtk_oglview_wnd.cpp:44
66 msgid "Save as..."
67 msgstr "Сохранить как..."
68
69 #: ../src/gtk_app.cpp:97
70 msgid "Save a file."
71 msgstr "Сохранить файл."
72
73 #. <control>S
74 #. { "ExportGraphics", GTK_STOCK_SAVE, N_("Export Graphics"), NULL, N_("Export graphics"), (GCallback) gtk_project::popup_FileExportGraphics },
75 #: ../src/gtk_app.cpp:98
76 #: ../src/gtk_oglview_wnd.cpp:49
77 msgid "Close"
78 msgstr "Закрыть"
79
80 #: ../src/gtk_app.cpp:98
81 msgid "Quit the program."
82 msgstr "Выйти из программы."
83
84 #. <control>C
85 #: ../src/gtk_app.cpp:100
86 msgid "Contents"
87 msgstr "Содержание"
88
89 #: ../src/gtk_app.cpp:100
90 msgid "View the User's Manual."
91 msgstr "Посмотреть руководство пользователя."
92
93 #. <control>H
94 #: ../src/gtk_app.cpp:101
95 msgid "About"
96 msgstr "О программе"
97
98 #: ../src/gtk_app.cpp:101
99 msgid "Information about this program."
100 msgstr "Информация об этой программе."
101
102 #. <control>A
103 #. the rest are toolbar actions...
104 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
105 #: ../src/gtk_app.cpp:106
106 msgid "Set the current element."
107 msgstr "Установить текущий элемент."
108
109 #: ../src/gtk_app.cpp:107
110 msgid "Set the current bondtype."
111 msgstr "Установить текущий тип связи."
112
113 #: ../src/gtk_app.cpp:108
114 msgid "Setup or change the comp.chem. method in use."
115 msgstr "Установить или изменить используемый метод вычислительной химии."
116
117 #: ../src/gtk_app.cpp:113
118 msgid "Draw ; add atoms and bonds to the model."
119 msgstr "Рисовать ; добавить атомы и связи к модели."
120
121 #: ../src/gtk_app.cpp:114
122 msgid "Erase ; remove atoms and bonds from the model."
123 msgstr "Стереть ; удалить атомы и связи из модели"
124
125 #: ../src/gtk_app.cpp:115
126 msgid "Select ; make selections in the model, and also select objects."
127 msgstr "Выбрать ; позволяет выбрать часть модели, а также отдельные объекты"
128
129 #: ../src/gtk_app.cpp:116
130 msgid "Zoom ; zoom the view."
131 msgstr "Масштаб ; масштабировать вид"
132
133 #: ../src/gtk_app.cpp:117
134 msgid "Clipping ; set the near and far clipping planes for graphics rendering."
135 msgstr "Отсечение ; установить ближнюю и дальнюю плоскости отсечения для обсчёта графической сцены."
136
137 #: ../src/gtk_app.cpp:118
138 msgid "TranslateXY ; translate the camera or a selected object in XY-direction."
139 msgstr "ПереместитьXY ; переместить камеру или выбранный объект в направлении XY."
140
141 #: ../src/gtk_app.cpp:119
142 msgid "TranslateZ ; translate the camera or a selected object in Z-direction."
143 msgstr "ПереместитьZ ; перемещает камеру или выбранный объект в направлении Z."
144
145 #: ../src/gtk_app.cpp:120
146 msgid "OrbitXY ; orbit the camera or a selected object around the focus point in XY-direction."
147 msgstr "Орбит.XY ; орбитальный поворот камеры или выбранного объекта вокруг точки фокуса в направлении XY."
148
149 #: ../src/gtk_app.cpp:121
150 msgid "OrbitZ ; orbit the camera or a selected object around the focus point in Z-direction."
151 msgstr "Орбит.Z ; орбитальный поворот камеры или выбранного объекта вокруг точки фокуса в направлении Z."
152
153 #: ../src/gtk_app.cpp:122
154 msgid "RotateXY ; turn the camera or a selected object in XY-direction."
155 msgstr "ВращатьXY ; повернуть камеру или выбранный объект вокруг оси XY"
156
157 #: ../src/gtk_app.cpp:123
158 msgid "RotateZ ; turn the camera or a selected object in Z-direction."
159 msgstr "ВращатьZ ; повернуть камеру или выбранный объект вокруг оси Z"
160
161 #: ../src/gtk_app.cpp:124
162 msgid "Measure ; measure distances, angles and torsions."
163 msgstr "Измерение ; измерить расстояния, углы и торсионные углы."
164
165 #: ../src/gtk_app.cpp:207
166 msgid "Set to Current Object"
167 msgstr "Установить текущий объект"
168
169 #: ../src/gtk_app.cpp:207
170 msgid "Set this object to Current Object"
171 msgstr "Установить этот объект как текущий"
172
173 #: ../src/gtk_app.cpp:208
174 msgid "Delete Object/View"
175 msgstr "Удалить объект/вид"
176
177 #: ../src/gtk_app.cpp:208
178 msgid "Delete this object or view"
179 msgstr "Удалить этот объект или вид"
180
181 #: ../src/gtk_app.cpp:225
182 msgid "Update View"
183 msgstr "Обновить вид"
184
185 #: ../src/gtk_app.cpp:225
186 msgid "Rebuild the chains info for this view"
187 msgstr "Перестраивает информацию о последовательностях для этого вида"
188
189 #: ../src/gtk_app.cpp:226
190 msgid "Select Item"
191 msgstr "Выбрать элемент"
192
193 #: ../src/gtk_app.cpp:226
194 msgid "Select/unselect this chain/residue"
195 msgstr "Выбрать/убрать выбор этой последовательности/группы"
196
197 #: ../src/gtk_app.cpp:243
198 msgid "Select Atom"
199 msgstr "Выбрать атом"
200
201 #: ../src/gtk_app.cpp:243
202 msgid "Select/unselect this atom"
203 msgstr "Выбрать/убрать выбор этого атома"
204
205 #: ../src/gtk_app.cpp:258
206 msgid "Select Bond"
207 msgstr "Выбрать связь"
208
209 #: ../src/gtk_app.cpp:258
210 msgid "Select/unselect this bond"
211 msgstr "Выбрать/убрать выбор этой связи"
212
213 #: ../src/gtk_app.cpp:344
214 msgid "Ghemical"
215 msgstr ""
216
217 #: ../src/gtk_app.cpp:351
218 #, c-format
219 msgid "ERROR : Icon loading failed : %s\n"
220 msgstr "ОШИБКА : Загрузка иконки закончилась неудачно : %s\n"
221
222 #: ../src/gtk_app.cpp:381
223 #, c-format
224 msgid "ERROR : Building main menu failed : %s"
225 msgstr "ОШИБКА : Создание главного меню закончилось неудачно : %s"
226
227 #: ../src/gtk_app.cpp:566
228 msgid "project view"
229 msgstr "обзор проекта"
230
231 #. optional : draw the stripes to background.
232 #. ??? (string)
233 #: ../src/gtk_app.cpp:584
234 msgid "Object"
235 msgstr "Объект"
236
237 #. ??? (string)
238 #: ../src/gtk_app.cpp:588
239 msgid "Sub-Objects"
240 msgstr "Подобъекты"
241
242 #: ../src/gtk_app.cpp:591
243 msgid "Views/Objects"
244 msgstr "Виды/Объекты"
245
246 #: ../src/gtk_app.cpp:604
247 #, c-format
248 msgid "ERROR : Building Views/Objects menu in project view failed : %s"
249 msgstr "ОШИБКА : Создание меню Виды/Объекты в обзоре проекта закончилось неудачно : %s"
250
251 #. optional : draw the stripes to background.
252 #. chain_info (string)
253 #: ../src/gtk_app.cpp:620
254 msgid "Chain Description"
255 msgstr "Описание последовательности"
256
257 #. res_num (string)
258 #: ../src/gtk_app.cpp:624
259 msgid "Residue Number"
260 msgstr "Номер группы"
261
262 #. res_id (string)
263 #: ../src/gtk_app.cpp:628
264 msgid "Residue ID"
265 msgstr "Идентификатор группы"
266
267 #. res_state1 (string)
268 #: ../src/gtk_app.cpp:632
269 msgid "Sec-Str State"
270 msgstr ""
271
272 #. res_state2 (string)
273 #: ../src/gtk_app.cpp:636
274 msgid "Protonation State"
275 msgstr ""
276
277 #: ../src/gtk_app.cpp:639
278 msgid "Chains"
279 msgstr "Последовательности"
280
281 #: ../src/gtk_app.cpp:652
282 #, c-format
283 msgid "ERROR : Building Chains menu in project view failed : %s"
284 msgstr "ОШИБКА : Создание меню \"Последовательности\" в обзоре проекта закончилось неудачно : %s"
285
286 #. optional : draw the stripes to background.
287 #. index1
288 #: ../src/gtk_app.cpp:668
289 msgid "Atom Index"
290 msgstr "Номер атома"
291
292 #. element
293 #. ^^^^^^^^^^^^^
294 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
295 #: ../src/gtk_app.cpp:672
296 #: ../src/gtk_oglview_wnd.cpp:112
297 #: ../src/gtk_oglview_wnd.cpp:120
298 msgid "Element"
299 msgstr "Элемент"
300
301 #: ../src/gtk_app.cpp:678
302 msgid "Locked"
303 msgstr "Заблокирован"
304
305 #: ../src/gtk_app.cpp:681
306 msgid "Atoms"
307 msgstr "Атомы"
308
309 #: ../src/gtk_app.cpp:694
310 #, c-format
311 msgid "ERROR : Building Atoms menu in project view failed : %s"
312 msgstr "ОШИБКА : Создание меню \"Атомы\" в обзоре проекта закончилось неудачно : %s"
313
314 #. optional : draw the stripes to background.
315 #. index1
316 #: ../src/gtk_app.cpp:710
317 msgid "Atom Index #1"
318 msgstr "Номер первого атома "
319
320 #. index2
321 #: ../src/gtk_app.cpp:714
322 msgid "Atom Index #2"
323 msgstr "Номер второго атома"
324
325 #. bondtype
326 #: ../src/gtk_app.cpp:718
327 msgid "BondType"
328 msgstr "Тип связи"
329
330 #: ../src/gtk_app.cpp:721
331 msgid "Bonds"
332 msgstr "Связи"
333
334 #: ../src/gtk_app.cpp:734
335 #, c-format
336 msgid "ERROR : Building Bonds menu in project view failed : %s"
337 msgstr "ОШИБКА : Создание меню \"Связи\" в обзоре проекта закончилось неудачно : %s"
338
339 #. protect the model-data during background jobs...
340 #: ../src/gtk_app.cpp:772
341 msgid ""
342 "Are you sure that you\n"
343 "want to quit the program?"
344 msgstr ""
345 "Вы уверены, что хотите\n"
346 "завершить программу?"
347
348 #: ../src/gtk_app.cpp:839
349 msgid "gtk_app::sPrintToLog() : message is too long!"
350 msgstr "gtk_app::sPrintToLog() : сообщение слишком длинное!"
351
352 #: ../src/gtk_app.cpp:898
353 msgid "window "
354 msgstr "окно"
355
356 #: ../src/gtk_app.cpp:899
357 #: ../src/gtk_app.cpp:903
358 msgid " (detached)"
359 msgstr "(отсоединено)"
360
361 #: ../src/gtk_app.cpp:899
362 msgid " (attached)"
363 msgstr "(присоединено)"
364
365 #: ../src/gtk_app.cpp:901
366 msgid "cam "
367 msgstr "камера"
368
369 #: ../src/gtk_app.cpp:902
370 msgid "wnd "
371 msgstr "окно"
372
373 #: ../src/gtk_app.cpp:921
374 #: ../src/gtk_app.cpp:922
375 msgid "RC plot view"
376 msgstr ""
377
378 #: ../src/gtk_app.cpp:927
379 #: ../src/gtk_app.cpp:928
380 msgid "1D plot view"
381 msgstr "вид одномерного графика"
382
383 #: ../src/gtk_app.cpp:934
384 #: ../src/gtk_app.cpp:935
385 msgid "2D plot view"
386 msgstr "вид двумерного графика"
387
388 #: ../src/gtk_app.cpp:941
389 #: ../src/gtk_app.cpp:942
390 msgid "energy-level diagram view"
391 msgstr "вид \"диаграмма уровней энергии\""
392
393 #: ../src/gtk_app.cpp:947
394 #: ../src/gtk_app.cpp:948
395 msgid "generic protein chain view"
396 msgstr "вид общей цепочки белка"
397
398 #: ../src/gtk_app.cpp:953
399 #: ../src/gtk_app.cpp:954
400 msgid "<unknown view>"
401 msgstr "<неизвестный вид>"
402
403 #: ../src/gtk_app.cpp:980
404 #: ../src/project.cpp:617
405 msgid "camera "
406 msgstr "камера"
407
408 #: ../src/gtk_app.cpp:1247
409 #: ../src/gtk_app.cpp:1255
410 #: ../src/gtk_app.cpp:1291
411 #: ../src/gtk_app.cpp:1316
412 msgid "Object "
413 msgstr "Объект"
414
415 #: ../src/gtk_app.cpp:1247
416 #: ../src/gtk_app.cpp:1255
417 msgid " is set to current object."
418 msgstr " установлен на текущий объект."
419
420 #: ../src/gtk_app.cpp:1258
421 #: ../src/gtk_app.cpp:1324
422 msgid "Sorry, this operation is not yet implemented."
423 msgstr "К сожалению данная операция пока не реализована."
424
425 #: ../src/gtk_app.cpp:1291
426 #: ../src/gtk_app.cpp:1316
427 msgid " is deleted."
428 msgstr " удалён."
429
430 #. if (ci_vector[n1].description... // this is not implemented at the moment...
431 #. show chain index 1,2,3,... to user ; it is 0,1,2,... internally!
432 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
433 #: ../src/gtk_app.cpp:1353
434 msgid "chain #"
435 msgstr "номер последовательности"
436
437 #: ../src/gtk_app.cpp:1361
438 msgid " chain)."
439 msgstr " последовательность)."
440
441 #. make the list show the updated information...
442 #: ../src/gtk_app.cpp:1618
443 #, c-format
444 msgid "Atom locking changed : %s\n"
445 msgstr "Блокировка атома изменена : %s\n"
446
447 #: ../src/gtk_app.cpp:1618
448 msgid "yes"
449 msgstr "да"
450
451 #: ../src/gtk_app.cpp:1618
452 msgid "no"
453 msgstr "нет"
454
455 #: ../src/gtk_app.cpp:1644
456 msgid "Conjugated"
457 msgstr "Ароматическая"
458
459 #: ../src/gtk_app.cpp:1645
460 msgid "Single"
461 msgstr "Одинарная"
462
463 #: ../src/gtk_app.cpp:1646
464 msgid "Double"
465 msgstr "Двойная"
466
467 #: ../src/gtk_app.cpp:1647
468 msgid "Triple"
469 msgstr "Тройная"
470
471 #: ../src/gtk_app.cpp:2083
472 msgid "Displaying the User's Manual using the following command:"
473 msgstr "Руководство пользователя отображается используя следующую команду:"
474
475 #: ../src/gtk_app.cpp:2093
476 msgid "Ghemical-"
477 msgstr ""
478
479 #: ../src/gtk_app.cpp:2093
480 msgid " released on "
481 msgstr " выпущен "
482
483 #: ../src/gtk_app.cpp:2095
484 msgid "For more information please visit:"
485 msgstr "Дополнительная информация:"
486
487 #: ../src/gtk_app.cpp:2103
488 msgid "Authors:"
489 msgstr "Авторы:"
490
491 #: ../src/gtk_eldview_wnd.cpp:32
492 #: ../src/gtk_gpcview_wnd.cpp:32
493 #: ../src/gtk_oglview_wnd.cpp:36
494 #: ../src/gtk_p1dview_wnd.cpp:32
495 #: ../src/gtk_p2dview_wnd.cpp:32
496 #: ../src/gtk_rcpview_wnd.cpp:32
497 msgid "Attach/Detach This View"
498 msgstr "Присоединить/отсоединить этот вид"
499
500 #: ../src/gtk_eldview_wnd.cpp:32
501 #: ../src/gtk_gpcview_wnd.cpp:32
502 #: ../src/gtk_oglview_wnd.cpp:36
503 #: ../src/gtk_p1dview_wnd.cpp:32
504 #: ../src/gtk_p2dview_wnd.cpp:32
505 #: ../src/gtk_rcpview_wnd.cpp:32
506 msgid "Select whether this view is attached or in an independent window"
507 msgstr "Выбрать будет ли этот вид присоединён или отображаться в отдельном окне"
508
509 #: ../src/gtk_eldview_wnd.cpp:33
510 #: ../src/gtk_gpcview_wnd.cpp:33
511 #: ../src/gtk_p1dview_wnd.cpp:33
512 #: ../src/gtk_p2dview_wnd.cpp:33
513 #: ../src/gtk_rcpview_wnd.cpp:33
514 msgid "Delete View"
515 msgstr "Удалить вид"
516
517 #: ../src/gtk_eldview_wnd.cpp:33
518 #: ../src/gtk_gpcview_wnd.cpp:33
519 #: ../src/gtk_p1dview_wnd.cpp:33
520 #: ../src/gtk_p2dview_wnd.cpp:33
521 #: ../src/gtk_rcpview_wnd.cpp:33
522 msgid "Delete this view"
523 msgstr "Удалить этот вид"
524
525 #: ../src/gtk_eldview_wnd.cpp:57
526 #, c-format
527 msgid "ERROR : Building popup-menu for gtk_eldview_wnd failed : %s"
528 msgstr "ОШИБКА : Создание выпадающего меню для gtk_eldview_wnd закончилось неудачно : %s"
529
530 #: ../src/gtk_file_export_dialog.cpp:41
531 msgid "file_export_dialog : glade_xml_get_widget() failed!!!"
532 msgstr "file_export_dialog : glade_xml_get_widget() закончилась ошибкой!!!"
533
534 #: ../src/gtk_file_export_dialog.cpp:52
535 #: ../src/gtk_file_import_dialog.cpp:52
536 msgid "Automatic"
537 msgstr "Автоматически"
538
539 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
540 #. handle the file selection...
541 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
542 #: ../src/gtk_file_export_dialog.cpp:131
543 msgid "Select a filename for export."
544 msgstr "Выбор имени экспортируемого файла."
545
546 #: ../src/gtk_file_import_dialog.cpp:41
547 msgid "file_import_dialog : glade_xml_get_widget() failed!!!"
548 msgstr "file_import_dialog : glade_xml_get_widget() закончилась ошибкой!!!"
549
550 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
551 #. handle the file selection...
552 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
553 #: ../src/gtk_file_import_dialog.cpp:133
554 msgid "Select a file to import."
555 msgstr "Выбор имени импортируемого файла."
556
557 #: ../src/gtk_geomopt_dialog.cpp:41
558 msgid "WARNING : geomopt_dialog : glade_xml_get_widget() failed!!!"
559 msgstr "ПРЕДУПРЕЖДЕНИЕ : geomopt_dialog : glade_xml_get_widget() закончилась ошибкой!!!"
560
561 #: ../src/gtk_gpcview_wnd.cpp:57
562 #, c-format
563 msgid "ERROR : Building popup-menu for gtk_gpcview_wnd failed : %s"
564 msgstr "ОШИБКА : Создание выпадающего меню для gtk_gpcview_wnd закончилось неудачно : %s"
565
566 #: ../src/gtk_main.cpp:45
567 msgid "open a file"
568 msgstr "открыть файл"
569
570 #: ../src/gtk_main.cpp:46
571 msgid "import a file"
572 msgstr "импортировать файл"
573
574 #: ../src/gtk_main.cpp:61
575 msgid "- a GTK2 molecular modelling program"
576 msgstr "- программа молекулярного моделирования на GTK2"
577
578 #: ../src/gtk_main.cpp:84
579 #, c-format
580 msgid "OpenGL extension version - %d.%d\n"
581 msgstr "Версия расширения OpenGL - %d.%d\n"
582
583 #: ../src/gtk_main.cpp:140
584 msgid "Sorry! The file import feature is disabled ; you need to recompile"
585 msgstr "К сожалению, возможность импорта файлов отключена ; вам надо пересобрать"
586
587 #: ../src/gtk_main.cpp:141
588 msgid "libghemical with --enable-openbabel option in order to fix this."
589 msgstr "libghemical с опцией --enable-openbabel чтобы это исправить."
590
591 #: ../src/gtk_moldyn_dialog.cpp:42
592 msgid "WARNING : moldyn_dialog : glade_xml_get_widget() failed!!!"
593 msgstr "ПРЕДУПРЕЖДЕНИЕ : moldyn_dialog : glade_xml_get_widget() закончилась ошибкой!!!"
594
595 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
596 #. handle the file selection...
597 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
598 #: ../src/gtk_moldyn_dialog.cpp:232
599 msgid "Select a Trajectory File."
600 msgstr "Выбор файла траектории."
601
602 #: ../src/gtk_oglview_wnd.cpp:40
603 msgid "Open a file"
604 msgstr "Открыть файл"
605
606 #: ../src/gtk_oglview_wnd.cpp:42
607 msgid "Import..."
608 msgstr "Импорт..."
609
610 #: ../src/gtk_oglview_wnd.cpp:42
611 msgid "Import other file formats using libopenbabel"
612 msgstr "Импортировать другие форматы файлов используя libopenbabel"
613
614 #: ../src/gtk_oglview_wnd.cpp:44
615 msgid "Save a file"
616 msgstr "Сохранить файл"
617
618 #: ../src/gtk_oglview_wnd.cpp:46
619 msgid "Export"
620 msgstr "Экспортировать"
621
622 #: ../src/gtk_oglview_wnd.cpp:46
623 msgid "Export other file formats using OpenBabel"
624 msgstr "Экспортировать в другие форматы файлов используя OpenBabel"
625
626 #: ../src/gtk_oglview_wnd.cpp:49
627 msgid "Close the file"
628 msgstr "Закрыть файл"
629
630 #: ../src/gtk_oglview_wnd.cpp:51
631 msgid "Extra Tools"
632 msgstr "Дополнительные инструменты"
633
634 #. ^^^^^^^^^^^^^
635 #: ../src/gtk_oglview_wnd.cpp:53
636 msgid "Import PDB"
637 msgstr "Импортировать PDB"
638
639 #: ../src/gtk_oglview_wnd.cpp:53
640 msgid "Import a PDB file"
641 msgstr "Импортировать файл PDB"
642
643 #. { "FileExtra2", NULL, N_("Import ???"), NULL, N_("Import a ??? file"), (GCallback) gtk_project::popup_FileExtra2 },
644 #: ../src/gtk_oglview_wnd.cpp:56
645 msgid "Select"
646 msgstr "Выбрать"
647
648 #. ^^^^^^^^^^
649 #: ../src/gtk_oglview_wnd.cpp:58
650 msgid "Select All"
651 msgstr "Выбрать всё"
652
653 #: ../src/gtk_oglview_wnd.cpp:58
654 msgid "Select all atoms"
655 msgstr "Выбрать все атомы"
656
657 #: ../src/gtk_oglview_wnd.cpp:59
658 msgid "Select None"
659 msgstr "Выбрать ничего"
660
661 #: ../src/gtk_oglview_wnd.cpp:59
662 msgid "Select nothing"
663 msgstr "Ничего не выбирать"
664
665 #: ../src/gtk_oglview_wnd.cpp:60
666 msgid "Invert Selection"
667 msgstr "Инвертировать выбор"
668
669 #: ../src/gtk_oglview_wnd.cpp:60
670 msgid "Invert the selection"
671 msgstr "Инвертировать выбранное"
672
673 #: ../src/gtk_oglview_wnd.cpp:61
674 msgid "Hide Selected"
675 msgstr "Скрыть выбранное"
676
677 #: ../src/gtk_oglview_wnd.cpp:61
678 msgid "Hide all selected atoms"
679 msgstr "Скрыть все выбранные атомы"
680
681 #: ../src/gtk_oglview_wnd.cpp:62
682 msgid "Show Selected"
683 msgstr "Показать выбранное"
684
685 #: ../src/gtk_oglview_wnd.cpp:62
686 msgid "Show all selected atoms"
687 msgstr "Показать все выбранные атомы"
688
689 #: ../src/gtk_oglview_wnd.cpp:63
690 msgid "Lock Selected"
691 msgstr "Заблокировать выбранное"
692
693 #: ../src/gtk_oglview_wnd.cpp:63
694 msgid "Lock all selected atoms"
695 msgstr "Заблокировать все выбранные атомы"
696
697 #: ../src/gtk_oglview_wnd.cpp:64
698 msgid "Unlock Selected"
699 msgstr "Разблокировать выбранное"
700
701 #: ../src/gtk_oglview_wnd.cpp:64
702 msgid "Unlock all selected atoms"
703 msgstr "Разблокировать все выбранные атомы"
704
705 #: ../src/gtk_oglview_wnd.cpp:65
706 msgid "Delete Selected"
707 msgstr "Удалить выбранное"
708
709 #: ../src/gtk_oglview_wnd.cpp:65
710 msgid "Delete all selected atoms"
711 msgstr "Удалить все выбранные атомы"
712
713 #: ../src/gtk_oglview_wnd.cpp:67
714 msgid "Selection Mode"
715 msgstr "Режим выбора"
716
717 #. ^^^^^^^^^^^^^^
718 #. todo : convert these into toggle items so that the setting from project is show in each of the graphics views...
719 #: ../src/gtk_oglview_wnd.cpp:70
720 msgid "Select Atoms"
721 msgstr "Выбирать атомы"
722
723 #: ../src/gtk_oglview_wnd.cpp:70
724 msgid "Select single atoms"
725 msgstr "Выбирать отдельные атомы"
726
727 #: ../src/gtk_oglview_wnd.cpp:71
728 msgid "Select Residues"
729 msgstr "Выбирать группы"
730
731 #: ../src/gtk_oglview_wnd.cpp:71
732 msgid "Select residues"
733 msgstr "Выбирать функциональные группы"
734
735 #: ../src/gtk_oglview_wnd.cpp:72
736 msgid "Select Chains"
737 msgstr "Выбирать последовательности"
738
739 #: ../src/gtk_oglview_wnd.cpp:72
740 msgid "Select chains"
741 msgstr "Выбирать последовательности"
742
743 #: ../src/gtk_oglview_wnd.cpp:73
744 msgid "Select Molecules"
745 msgstr "Выбирать молекулы"
746
747 #: ../src/gtk_oglview_wnd.cpp:73
748 msgid "Select molecules"
749 msgstr "Выбирать молекулы"
750
751 #: ../src/gtk_oglview_wnd.cpp:75
752 msgid "Render"
753 msgstr "Отображение"
754
755 #. ^^^^^^^^^^
756 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
757 #: ../src/gtk_oglview_wnd.cpp:78
758 msgid "Quick Update Mode"
759 msgstr "Режим быстрого обновления"
760
761 #: ../src/gtk_oglview_wnd.cpp:78
762 msgid "Quick Update Mode switches into Wireframe rendering mode when doing interactive work"
763 msgstr "режим быстрого обновления переключает на скелетную анимацию на время интерактивной работы"
764
765 #: ../src/gtk_oglview_wnd.cpp:80
766 msgid "Views"
767 msgstr "Виды"
768
769 #. ^^^^^^^^^^^^^
770 #: ../src/gtk_oglview_wnd.cpp:82
771 msgid "Delete This View"
772 msgstr "Удалить этот вид"
773
774 #: ../src/gtk_oglview_wnd.cpp:82
775 msgid "Delete this graphics view"
776 msgstr "Удалить этот графический вид"
777
778 #: ../src/gtk_oglview_wnd.cpp:83
779 msgid "Save a CRD-set (experimental)"
780 msgstr ""
781
782 #: ../src/gtk_oglview_wnd.cpp:83
783 msgid "Save a coordinate set"
784 msgstr "Сохранить набор координат"
785
786 #: ../src/gtk_oglview_wnd.cpp:84
787 msgid "Superimpose CRD-sets (experimental)"
788 msgstr ""
789
790 #: ../src/gtk_oglview_wnd.cpp:84
791 msgid "Superimpose coordinate sets"
792 msgstr ""
793
794 #: ../src/gtk_oglview_wnd.cpp:86
795 msgid "Create"
796 msgstr "Создать"
797
798 #. ^^^^^^^^^^^^^^^^^^^
799 #: ../src/gtk_oglview_wnd.cpp:88
800 msgid "New Window"
801 msgstr "Новое окно"
802
803 #: ../src/gtk_oglview_wnd.cpp:88
804 msgid "Create a new view using the current camera"
805 msgstr "Создаёт новый вид используя текущую камеру"
806
807 #: ../src/gtk_oglview_wnd.cpp:89
808 msgid "New Camera"
809 msgstr "Новая камера"
810
811 #: ../src/gtk_oglview_wnd.cpp:89
812 msgid "Create a new view using a new camera"
813 msgstr "Создать новый вид используя новую камеру"
814
815 #: ../src/gtk_oglview_wnd.cpp:90
816 msgid "Energy-level Diagram"
817 msgstr "Диаграмма уровней энергии"
818
819 #: ../src/gtk_oglview_wnd.cpp:90
820 msgid "Create a new energy-level diagram view"
821 msgstr "Создать новый вид \"диаграмма уровней энергии\""
822
823 #: ../src/gtk_oglview_wnd.cpp:91
824 msgid "Secondary Structure Constraints"
825 msgstr "Ограничения вторичной структуры"
826
827 #: ../src/gtk_oglview_wnd.cpp:91
828 msgid "Create a new secondary structure constraints view"
829 msgstr "Создать новый вид: ограничения вторичной структуры"
830
831 #: ../src/gtk_oglview_wnd.cpp:93
832 msgid "Lights"
833 msgstr "Источники света"
834
835 #. ^^^^^^^^^^^^^^
836 #: ../src/gtk_oglview_wnd.cpp:95
837 msgid "Create New Light"
838 msgstr "Создать новый источник света"
839
840 #: ../src/gtk_oglview_wnd.cpp:95
841 msgid "Create a new light object"
842 msgstr "Создать новый объект - источник света"
843
844 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
845 #: ../src/gtk_oglview_wnd.cpp:97
846 msgid "Enable Local Lights"
847 msgstr "Разрешить локальные источники света"
848
849 #: ../src/gtk_oglview_wnd.cpp:97
850 msgid "Switch on/off the local light objects"
851 msgstr "Вкл/Выкл объекты - локальные источники света"
852
853 #: ../src/gtk_oglview_wnd.cpp:98
854 msgid "Enable Global Lights"
855 msgstr "Разрешить глобальные источники света"
856
857 #: ../src/gtk_oglview_wnd.cpp:98
858 msgid "Switch on/off the global light objects"
859 msgstr "Вкл/Выкл объекты - глобальные источники света"
860
861 #: ../src/gtk_oglview_wnd.cpp:100
862 msgid "Render Mode"
863 msgstr "Режим отображения"
864
865 #. ^^^^^^^^^^^^^^
866 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
867 #: ../src/gtk_oglview_wnd.cpp:103
868 msgid "Ball & Stick"
869 msgstr "Шаростержневая модель"
870
871 #: ../src/gtk_oglview_wnd.cpp:103
872 msgid "Display atoms and bonds using Ball & Stick mode"
873 msgstr "Отображать атомы и связи используя шаростержневую модель"
874
875 #: ../src/gtk_oglview_wnd.cpp:104
876 msgid "van der Waals"
877 msgstr "Ван-дер-Ваальс"
878
879 #: ../src/gtk_oglview_wnd.cpp:104
880 msgid "Display atoms and bonds using van der Waals mode"
881 msgstr "Отображать атомы и связи используя модель Ван-дер-Ваальса"
882
883 #: ../src/gtk_oglview_wnd.cpp:105
884 msgid "Cylinders"
885 msgstr "Цилиндры"
886
887 #: ../src/gtk_oglview_wnd.cpp:105
888 msgid "Display atoms and bonds using Cylinders mode"
889 msgstr "Отображать атомы и связи используя режим цилиндров"
890
891 #: ../src/gtk_oglview_wnd.cpp:106
892 msgid "Wireframe"
893 msgstr "Скелетная"
894
895 #: ../src/gtk_oglview_wnd.cpp:106
896 msgid "Display atoms and bonds using Wireframe mode"
897 msgstr "Отображать атомы и связи используя скелетную модель"
898
899 #: ../src/gtk_oglview_wnd.cpp:107
900 #: ../src/gtk_oglview_wnd.cpp:128
901 msgid "Nothing"
902 msgstr "Ничего"
903
904 #: ../src/gtk_oglview_wnd.cpp:107
905 msgid "Do not display atoms and bonds"
906 msgstr "Не отображать атомы и связи"
907
908 #: ../src/gtk_oglview_wnd.cpp:109
909 msgid "Color Mode"
910 msgstr "Режим раскрашивания"
911
912 #: ../src/gtk_oglview_wnd.cpp:112
913 msgid "Color atoms and bonds by element"
914 msgstr "Раскрашивать атомы и связи по элементу"
915
916 #: ../src/gtk_oglview_wnd.cpp:113
917 #: ../src/gtk_oglview_wnd.cpp:127
918 msgid "Sec-Struct"
919 msgstr "Вторичная структура"
920
921 #: ../src/gtk_oglview_wnd.cpp:113
922 msgid "Color atoms and bonds by secondary-structure state"
923 msgstr "Раскрашивать атомы и связи по вторичной структуре"
924
925 #: ../src/gtk_oglview_wnd.cpp:114
926 msgid "Hydrophobicity"
927 msgstr "Гидрофобность"
928
929 #: ../src/gtk_oglview_wnd.cpp:114
930 msgid "Color atoms and bonds by hydrophobicity (experimental)"
931 msgstr "Раскрашивать атомы и связи по гидрофобности"
932
933 #: ../src/gtk_oglview_wnd.cpp:116
934 msgid "Label Mode"
935 msgstr "Режим подписей"
936
937 #. ^^^^^^^^^^^^^
938 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
939 #: ../src/gtk_oglview_wnd.cpp:119
940 msgid "Index"
941 msgstr "Номер"
942
943 #: ../src/gtk_oglview_wnd.cpp:119
944 msgid "Label atoms by atom index"
945 msgstr "Подписывать атомы по номеру"
946
947 #: ../src/gtk_oglview_wnd.cpp:120
948 msgid "Label atoms by element"
949 msgstr "Подписывать атомы по элементу"
950
951 #: ../src/gtk_oglview_wnd.cpp:121
952 msgid "Formal Charge"
953 msgstr "Формальный заряд"
954
955 #: ../src/gtk_oglview_wnd.cpp:121
956 msgid "Label atoms by formal charge"
957 msgstr "Подписывать атомы по формальному заряду"
958
959 #: ../src/gtk_oglview_wnd.cpp:122
960 msgid "Partial Charge"
961 msgstr "Частичный заряд"
962
963 #: ../src/gtk_oglview_wnd.cpp:122
964 msgid "Label atoms by partial charge"
965 msgstr "Подписывать атомы по частичному заряду"
966
967 #: ../src/gtk_oglview_wnd.cpp:123
968 msgid "Atom Type"
969 msgstr "Тип атома"
970
971 #: ../src/gtk_oglview_wnd.cpp:123
972 msgid "Label atoms by atom type"
973 msgstr "Подписывать атомы по типу"
974
975 #: ../src/gtk_oglview_wnd.cpp:124
976 msgid "Builder ID"
977 msgstr "Идентификатор создателя"
978
979 #: ../src/gtk_oglview_wnd.cpp:124
980 msgid "Label atoms by sequence builder ID"
981 msgstr "Пометить атомы по идентификатору создателя последовательностей."
982
983 #: ../src/gtk_oglview_wnd.cpp:125
984 msgid "Bond Type"
985 msgstr "Тип связи"
986
987 #: ../src/gtk_oglview_wnd.cpp:125
988 msgid "Label bonds by bond type"
989 msgstr "Подписывать связи по типу"
990
991 #: ../src/gtk_oglview_wnd.cpp:126
992 msgid "Residue"
993 msgstr "Радикал"
994
995 #: ../src/gtk_oglview_wnd.cpp:126
996 msgid "Label by residue"
997 msgstr "Подписывать по радикалу"
998
999 #: ../src/gtk_oglview_wnd.cpp:127
1000 msgid "Label by secondary structure state"
1001 msgstr "Подписывать по состоянию вторичной структуры"
1002
1003 #: ../src/gtk_oglview_wnd.cpp:128
1004 msgid "Do not show labels"
1005 msgstr "Не показывать метки"
1006
1007 #: ../src/gtk_oglview_wnd.cpp:130
1008 msgid "Projection"
1009 msgstr "Проекция"
1010
1011 #. ^^^^^^^^^^^^^^^^^^
1012 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
1013 #: ../src/gtk_oglview_wnd.cpp:133
1014 msgid "Orthographic"
1015 msgstr "Ортографическая"
1016
1017 #: ../src/gtk_oglview_wnd.cpp:133
1018 msgid "Use orthographic projection"
1019 msgstr "Использовать ортографическую проекцию"
1020
1021 #: ../src/gtk_oglview_wnd.cpp:134
1022 msgid "Perspective"
1023 msgstr "Перспективная"
1024
1025 #: ../src/gtk_oglview_wnd.cpp:134
1026 msgid "Use perspective projection"
1027 msgstr "Использовать перспективную проекцию"
1028
1029 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
1030 #. todo : add more color combinations ; red/green red/blue ; any others needed???
1031 #: ../src/gtk_oglview_wnd.cpp:137
1032 msgid "Red-Blue Stereo"
1033 msgstr "Красно-синее стерео"
1034
1035 #: ../src/gtk_oglview_wnd.cpp:137
1036 msgid "Use red-blue stereo mode"
1037 msgstr "Использовать красно-синий стереорежим"
1038
1039 #: ../src/gtk_oglview_wnd.cpp:138
1040 msgid "Relaxed-Eye Stereo"
1041 msgstr "Стерео расслабленного глаза"
1042
1043 #: ../src/gtk_oglview_wnd.cpp:138
1044 msgid "Use relaxed-eye stereo mode"
1045 msgstr "Использовать стереорежим расслабленного глаза"
1046
1047 #: ../src/gtk_oglview_wnd.cpp:140
1048 msgid "Objects"
1049 msgstr "Объекты"
1050
1051 #. ^^^^^^^^^^^
1052 #: ../src/gtk_oglview_wnd.cpp:142
1053 msgid "Ribbon"
1054 msgstr "Лента"
1055
1056 #: ../src/gtk_oglview_wnd.cpp:142
1057 msgid "Create a Ribbon object for displaying peptides/proteins"
1058 msgstr "Создать объект-ленту для отображения пептидов/белков"
1059
1060 #: ../src/gtk_oglview_wnd.cpp:143
1061 msgid "ESP-plane"
1062 msgstr "плоскость с ЭСП"
1063
1064 #: ../src/gtk_oglview_wnd.cpp:143
1065 msgid "Create an ESP-plane object"
1066 msgstr "Создать объект \"плоскость с ЭСП\""
1067
1068 #: ../src/gtk_oglview_wnd.cpp:144
1069 msgid "volume-rendered ESP"
1070 msgstr "объёмный ЭСП"
1071
1072 #: ../src/gtk_oglview_wnd.cpp:144
1073 msgid "Create a volume-rendered ESP object"
1074 msgstr "Создать объект \"отображаемый в пространстве ЭСП\""
1075
1076 #: ../src/gtk_oglview_wnd.cpp:145
1077 msgid "ESP-surface"
1078 msgstr "поверхность ЭСП"
1079
1080 #: ../src/gtk_oglview_wnd.cpp:145
1081 msgid "Create an ESP-surface object"
1082 msgstr "Создать объект \"поверхность ЭСП\""
1083
1084 #: ../src/gtk_oglview_wnd.cpp:146
1085 msgid "ESP-colored vdW-surface"
1086 msgstr "Раскрашенная ЭСП поверхность ВдВ"
1087
1088 #: ../src/gtk_oglview_wnd.cpp:146
1089 msgid "Create an ESP-colored vdW-surface object"
1090 msgstr "Создать объект \"раскрашенная ЭСП Ван-дер-Ваальсова поверхность\""
1091
1092 #: ../src/gtk_oglview_wnd.cpp:147
1093 msgid "Electron density plane"
1094 msgstr "Плоскость с электронной плотностью"
1095
1096 #: ../src/gtk_oglview_wnd.cpp:147
1097 msgid "Create an Electron density plane object"
1098 msgstr "Создать объект \"плоскость с электронной плотностью\""
1099
1100 #: ../src/gtk_oglview_wnd.cpp:148
1101 msgid "Electron density surface"
1102 msgstr "Поверхность электронной плотности"
1103
1104 #: ../src/gtk_oglview_wnd.cpp:148
1105 msgid "Create an Electron density surface object"
1106 msgstr "Создать объект \"поверхность электронной плотности\""
1107
1108 #: ../src/gtk_oglview_wnd.cpp:149
1109 msgid "Molecular orbital plane"
1110 msgstr "Плоскость с молекулярной орбиталью"
1111
1112 #: ../src/gtk_oglview_wnd.cpp:149
1113 msgid "Create a Molecular orbital plane object"
1114 msgstr "Создать объект \"Плоскость с молекулярной орбиталью\""
1115
1116 #: ../src/gtk_oglview_wnd.cpp:150
1117 msgid "Molecular orbital volume"
1118 msgstr "Объёмная молекулярная орбиталь"
1119
1120 #: ../src/gtk_oglview_wnd.cpp:150
1121 msgid "Create a Molecular orbital volume object"
1122 msgstr "Создать объект \"Объёмная молекулярная орбиталь\""
1123
1124 #: ../src/gtk_oglview_wnd.cpp:151
1125 msgid "Molecular orbital surface"
1126 msgstr "Поверхность молекулярно орбитали"
1127
1128 #: ../src/gtk_oglview_wnd.cpp:151
1129 msgid "Create a Molecular orbital surface object"
1130 msgstr "Создать объект \"Поверхность молекулярно орбитали\""
1131
1132 #: ../src/gtk_oglview_wnd.cpp:152
1133 msgid "MO-density plane"
1134 msgstr "Плоскость плотности МО"
1135
1136 #: ../src/gtk_oglview_wnd.cpp:152
1137 msgid "Create an MO-density plane object"
1138 msgstr "Создать объект \"Плоскость плотности МО\""
1139
1140 #: ../src/gtk_oglview_wnd.cpp:153
1141 msgid "MO-density volume"
1142 msgstr "Объёмная плотность МО"
1143
1144 #: ../src/gtk_oglview_wnd.cpp:153
1145 msgid "Create an MO-density volume object"
1146 msgstr "Создать объект \"Объёмная плотность МО\""
1147
1148 #: ../src/gtk_oglview_wnd.cpp:154
1149 msgid "MO-density surface"
1150 msgstr "Поверхность плотности МО"
1151
1152 #: ../src/gtk_oglview_wnd.cpp:154
1153 msgid "Create an MO-density surface object"
1154 msgstr "Создать объект \"Поверхность плотности МО\""
1155
1156 #: ../src/gtk_oglview_wnd.cpp:155
1157 msgid "Delete Current Object"
1158 msgstr "Удалить текущий объект"
1159
1160 #: ../src/gtk_oglview_wnd.cpp:155
1161 msgid "Delete the currently selected object"
1162 msgstr "Удалить выбранный сейчас объект"
1163
1164 #: ../src/gtk_oglview_wnd.cpp:157
1165 msgid "Compute"
1166 msgstr "Расчёт"
1167
1168 #. ^^^^^^^^^^^
1169 #: ../src/gtk_oglview_wnd.cpp:159
1170 msgid "Setup..."
1171 msgstr "Настройка..."
1172
1173 #: ../src/gtk_oglview_wnd.cpp:160
1174 msgid "Energy"
1175 msgstr "Энергия"
1176
1177 #: ../src/gtk_oglview_wnd.cpp:161
1178 msgid "Geometry Optimization..."
1179 msgstr "Оптимизация геометрии..."
1180
1181 #: ../src/gtk_oglview_wnd.cpp:162
1182 msgid "Molecular Dynamics..."
1183 msgstr "Молекулярная динамика..."
1184
1185 #: ../src/gtk_oglview_wnd.cpp:163
1186 msgid "Random Conformational Search..."
1187 msgstr "Случайный поиск конформаций..."
1188
1189 #: ../src/gtk_oglview_wnd.cpp:164
1190 msgid "Systematic Conformational Search..."
1191 msgstr "Систематический поиск конформаций..."
1192
1193 #: ../src/gtk_oglview_wnd.cpp:165
1194 msgid "Monte Carlo Search..."
1195 msgstr "Поиск Монте-Карло..."
1196
1197 #: ../src/gtk_oglview_wnd.cpp:166
1198 msgid "Plot Energy vs. 1 Torsion Angle..."
1199 msgstr "Строить график энергии от торсионного угла..."
1200
1201 #: ../src/gtk_oglview_wnd.cpp:167
1202 msgid "Plot Energy vs. 2 Torsion Angles..."
1203 msgstr "Строить график энергии от двух торсионных углов..."
1204
1205 #: ../src/gtk_oglview_wnd.cpp:168
1206 msgid "Population Analysis (ESP)"
1207 msgstr "Анализ заселённости (ESP)"
1208
1209 #: ../src/gtk_oglview_wnd.cpp:169
1210 msgid "Transition State Search..."
1211 msgstr "Поиск переходного состояния..."
1212
1213 #: ../src/gtk_oglview_wnd.cpp:170
1214 msgid "Stationary State Search..."
1215 msgstr "Поиск стационарного состояния..."
1216
1217 #: ../src/gtk_oglview_wnd.cpp:171
1218 msgid "Formula"
1219 msgstr "Формула"
1220
1221 #: ../src/gtk_oglview_wnd.cpp:176
1222 msgid "MD Trajectory Viewer..."
1223 msgstr "Просмотр траекторий МД..."
1224
1225 #: ../src/gtk_oglview_wnd.cpp:177
1226 msgid "Set Current Orbital"
1227 msgstr "Установить текущую орбиталь"
1228
1229 #: ../src/gtk_oglview_wnd.cpp:179
1230 msgid "Build"
1231 msgstr "Построить"
1232
1233 #. ^^^^^^^^^
1234 #: ../src/gtk_oglview_wnd.cpp:181
1235 msgid "Solvate Box..."
1236 msgstr "Куб растворителя..."
1237
1238 #: ../src/gtk_oglview_wnd.cpp:182
1239 msgid "Solvate Sphere..."
1240 msgstr "Сферу растворителя..."
1241
1242 #: ../src/gtk_oglview_wnd.cpp:183
1243 msgid "Sequence Builder (amino)..."
1244 msgstr "Построение последовательностей (амино)..."
1245
1246 #: ../src/gtk_oglview_wnd.cpp:184
1247 msgid "Sequence Builder (nucleic)..."
1248 msgstr "Построение последовательностей (нуклеиновые)..."
1249
1250 #: ../src/gtk_oglview_wnd.cpp:185
1251 msgid "Center"
1252 msgstr "Центрировать"
1253
1254 #: ../src/gtk_oglview_wnd.cpp:186
1255 msgid "Zap All"
1256 msgstr "Очистить всё"
1257
1258 #: ../src/gtk_oglview_wnd.cpp:188
1259 msgid "Hydrogens"
1260 msgstr "Атомы водорода"
1261
1262 #. ^^^^^^^^^^^^^^^^^^
1263 #: ../src/gtk_oglview_wnd.cpp:190
1264 msgid "Add"
1265 msgstr "Добавить"
1266
1267 #: ../src/gtk_oglview_wnd.cpp:191
1268 msgid "Remove"
1269 msgstr "Удалить"
1270
1271 #: ../src/gtk_oglview_wnd.cpp:193
1272 msgid "Enter a Command..."
1273 msgstr "Введите команду..."
1274
1275 #: ../src/gtk_oglview_wnd.cpp:380
1276 #, c-format
1277 msgid "ERROR : Building popup-menu for gtk_oglview_wnd failed : %s"
1278 msgstr "ОШИБКА : Построение выпадающего меню для gtk_oglview_wnd закончилось неудачно : %s"
1279
1280 #: ../src/gtk_oglview_wnd.cpp:630
1281 msgid "sets 0 <-> "
1282 msgstr "устанавливает 0 <-> "
1283
1284 #: ../src/gtk_oglview_wnd.cpp:630
1285 msgid " RMS = "
1286 msgstr ""
1287
1288 #: ../src/gtk_oglview_wnd.cpp:636
1289 msgid "average RMS = "
1290 msgstr "среднее RMS = "
1291
1292 #: ../src/gtk_p1dview_wnd.cpp:57
1293 #, c-format
1294 msgid "ERROR : Building popup-menu for gtk_p1dview_wnd failed : %s"
1295 msgstr "ОШИБКА : Построение выпадающего меню для gtk_p1dview_wnd закончилось неудачно : %s"
1296
1297 #: ../src/gtk_p2dview_wnd.cpp:57
1298 #, c-format
1299 msgid "ERROR : Building popup-menu for gtk_p2dview_wnd failed : %s"
1300 msgstr "ОШИБКА : Построение выпадающего меню для gtk_p2dview_wnd закончилось неудачно : %s"
1301
1302 #: ../src/gtk_progress_dialog.cpp:39
1303 msgid "WARNING : progress_dialog : glade_xml_get_widget() failed!!!"
1304 msgstr "ПРЕДУПРЕЖДЕНИЕ : progress_dialog : glade_xml_get_widget() закончилась ошибкой!!!"
1305
1306 #: ../src/gtk_project.cpp:81
1307 msgid "A new project created.\n"
1308 msgstr "Создан новый проект.\n"
1309
1310 #: ../src/gtk_project.cpp:184
1311 msgid "Thread creation failed : GeomOpt"
1312 msgstr "Создание потока окончилось неудачно : GeomOpt"
1313
1314 #: ../src/gtk_project.cpp:199
1315 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:2
1316 msgid "Geometry Optimization"
1317 msgstr "Оптимизация геометрии"
1318
1319 #: ../src/gtk_project.cpp:234
1320 msgid "Thread creation failed : MolDyn"
1321 msgstr "Создание потока окончилось неудачно : MolDyn"
1322
1323 #: ../src/gtk_project.cpp:249
1324 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:5
1325 msgid "Molecular Dynamics"
1326 msgstr "Молекулярная динамика"
1327
1328 #: ../src/gtk_project.cpp:273
1329 msgid "Thread creation failed : RandomSearch"
1330 msgstr "Создание потока окончилось неудачно : RandomSearch"
1331
1332 #: ../src/gtk_project.cpp:288
1333 msgid "Random Search"
1334 msgstr "Случайный поиск"
1335
1336 #: ../src/gtk_project.cpp:776
1337 #: ../src/gtk_project.cpp:794
1338 #: ../src/gtk_project.cpp:812
1339 #: ../src/gtk_project.cpp:830
1340 #: ../src/gtk_project.cpp:848
1341 #: ../src/gtk_project.cpp:866
1342 #: ../src/gtk_project.cpp:884
1343 #: ../src/gtk_project.cpp:902
1344 #: ../src/gtk_project.cpp:920
1345 #: ../src/gtk_project.cpp:938
1346 #: ../src/gtk_project.cpp:956
1347 #: ../src/gtk_project.cpp:974
1348 msgid "Please calculate energy first!"
1349 msgstr "Сначала посчитайте энергию!"
1350
1351 #: ../src/gtk_project.cpp:1075
1352 msgid ""
1353 "PLEASE NOTE!\n"
1354 "The command string, which is displayed in the next dialog, is incomplete.\n"
1355 "You should replace the letters A-D with atom indices that define the torsion.\n"
1356 "\n"
1357 "ALSO NOTE: structure refinement is always done using molecular mechanics (optsteps)."
1358 msgstr ""
1359 "ВНИМАНИЕ!\n"
1360 "Командная строка в следующем диалоговом окне неполна.\n"
1361 "Нужно заменить буквы A-D атомными индексами которые определяют торсионный угол.\n"
1362 "\n"
1363 "ТАКЖЕ: улучшение структуры всегда проводится методами молекулярной механики (optsteps)."
1364
1365 #: ../src/gtk_project.cpp:1088
1366 msgid ""
1367 "PLEASE NOTE!\n"
1368 "The command string, which is displayed in the next dialog, is incomplete.\n"
1369 "You should replace the letters A-D and I-L with atom indices that define the torsions.\n"
1370 "\n"
1371 "ALSO NOTE: structure refinement is always done using molecular mechanics (optsteps)."
1372 msgstr ""
1373 "ВНИМАНИЕ!\n"
1374 "Командная строка в следующем диалоговом окне неполна.\n"
1375 "Нужно заменить буквы A-D и I-L атомными индексами которые определяют торсионные углы.\n"
1376 "\n"
1377 "ТАКЖЕ: улучшение структуры всегда проводится методами молекулярной механики (optsteps)."
1378
1379 #: ../src/gtk_project.cpp:1162
1380 msgid "ERROR"
1381 msgstr "ОШИБКА"
1382
1383 #: ../src/gtk_project.cpp:1173
1384 msgid "Trajectory file already open?"
1385 msgstr "Файл траектории уже открыт?"
1386
1387 #: ../src/gtk_project.cpp:1182
1388 msgid ""
1389 "PLEASE NOTE!\n"
1390 "The command string, which is displayed in the next dialog, is incomplete.\n"
1391 "You should replace the letter X with the orbital index that will become the current orbital."
1392 msgstr ""
1393 "ВНИМАНИЕ!\n"
1394 "Командная строка в следующем диалоговом окне неполна.\n"
1395 "Нужно заменить букву X номером орбитали, которая станет текущей."
1396
1397 #: ../src/gtk_project.cpp:1237
1398 msgid ""
1399 "PLEASE NOTE!\n"
1400 "The command string, which is displayed in the next dialog, is incomplete.\n"
1401 "You should replace the default sequence AAA with the sequence to be built."
1402 msgstr ""
1403 "ВНИМАНИЕ!\n"
1404 "Командная строка в следующем диалоговом окне неполна.\n"
1405 "Нужно заменить последовательность по умолчанию AAA нужной последовательностью."
1406
1407 #: ../src/gtk_project.cpp:1250
1408 msgid ""
1409 "PLEASE NOTE!\n"
1410 "The command string, which is displayed in the next dialog, is incomplete.\n"
1411 "You should replace the default sequence AGTCaguc with the sequence to be built."
1412 msgstr ""
1413 "ВНИМАНИЕ!\n"
1414 "Командная строка в следующем диалоговом окне неполна.\n"
1415 "Нужно заменить последовательность по умолчанию AGTCaguc нужной последовательностью."
1416
1417 #: ../src/gtk_project.cpp:1287
1418 msgid "Are you sure you want to clear everything?"
1419 msgstr "Вы уверены, что хотите очистить всё?"
1420
1421 #: ../src/gtk_rcpview_wnd.cpp:57
1422 #, c-format
1423 msgid "ERROR : Building popup-menu for gtk_rcpview_wnd failed : %s"
1424 msgstr "ОШИБКА : Построение выпадающего меню для gtk_rcpview_wnd закончилось неудачно : %s"
1425
1426 #: ../src/gtk_setup_dialog.cpp:49
1427 msgid "WARNING : setup_dialog : glade_xml_get_widget() failed!!!"
1428 msgstr "ПРЕДУПРЕЖДЕНИЕ : setup_dialog : glade_xml_get_widget() закончилась ошибкой!!!"
1429
1430 #: ../src/gtk_setup_dialog.cpp:358
1431 msgid "Changed the Setup for calculations "
1432 msgstr "Изменены настройки для расчётов"
1433
1434 #: ../src/gtk_setup_dialog.cpp:359
1435 #: ../src/project.cpp:4050
1436 msgid "(setup = "
1437 msgstr "(настройки = "
1438
1439 #: ../src/gtk_setup_dialog.cpp:375
1440 #: ../src/project.cpp:4051
1441 msgid ", engine = "
1442 msgstr ", движок ="
1443
1444 #. request a modal window.
1445 #: ../src/gtk_simple_dialogs.cpp:49
1446 msgid "Set Current Element"
1447 msgstr "Установить текущий элемент"
1448
1449 #: ../src/gtk_simple_dialogs.cpp:113
1450 msgid "Current element is now "
1451 msgstr "Текущий элемент теперь"
1452
1453 #. request a modal window.
1454 #: ../src/gtk_simple_dialogs.cpp:133
1455 msgid "Set Current Bondtype"
1456 msgstr "Установить текущий тип связи"
1457
1458 #: ../src/gtk_simple_dialogs.cpp:184
1459 msgid "Current bondtype is now "
1460 msgstr "Текущий тип связи теперь"
1461
1462 #: ../src/gtk_simple_dialogs.cpp:449
1463 msgid ""
1464 "This alternative PDB reader is designed to remove any gaps that might\n"
1465 "exist in the structure data. Therefore the sequence might be altered!"
1466 msgstr ""
1467 "Альтернативный загрузчик PDB разработан чтобы убирать любые пропуски, которые\n"
1468 "могут возникать в структурных данных. Следовательно, последовательность может быть изменена!"
1469
1470 #. request a modal window.
1471 #: ../src/gtk_simple_dialogs.cpp:482
1472 msgid "Command Interpreter"
1473 msgstr "Командный интерпретатор"
1474
1475 #: ../src/gtk_simple_dialogs.cpp:503
1476 msgid "Execute"
1477 msgstr "Выполнить"
1478
1479 #: ../src/gtk_simple_dialogs.cpp:506
1480 msgid "Cancel"
1481 msgstr "Отмена"
1482
1483 #: ../src/gtk_stereo_dialog.cpp:37
1484 msgid "WARNING : stereo_dialog : glade_xml_get_widget() failed!!!"
1485 msgstr "ПРЕДУПРЕЖДЕНИЕ : stereo_dialog : glade_xml_get_widget() закончилась ошибкой!!!"
1486
1487 #: ../src/gtk_trajview_dialog.cpp:39
1488 msgid "WARNING : trajview_dialog : glade_xml_get_widget() failed!!!"
1489 msgstr "ПРЕДУПРЕЖДЕНИЕ : trajview_dialog : glade_xml_get_widget() закончилась ошибкой!!!"
1490
1491 #: ../src/gtk_trajview_dialog.cpp:82
1492 #: ../src/gtk_trajview_dialog.cpp:102
1493 #: ../src/gtk_trajview_dialog.cpp:136
1494 #: ../src/gtk_trajview_dialog.cpp:151
1495 msgid "frame = "
1496 msgstr "кадр = "
1497
1498 #: ../src/gtk_wnd.cpp:53
1499 #, c-format
1500 msgid "*** Cannot find the double-buffered visual.\n"
1501 msgstr "*** Не удалось найти метод отображения с двойной буферизацией.\n"
1502
1503 #: ../src/gtk_wnd.cpp:54
1504 #, c-format
1505 msgid "*** Trying single-buffered visual.\n"
1506 msgstr "*** Пробуем метод отображения с одинарной буферизацией.\n"
1507
1508 #: ../src/gtk_wnd.cpp:61
1509 #, c-format
1510 msgid "*** No appropriate OpenGL-capable visual found.\n"
1511 msgstr "*** Не найдено совместимого с OpenGL метода отображения.\n"
1512
1513 #: ../src/gtk_wnd.cpp:66
1514 #, c-format
1515 msgid ""
1516 "\n"
1517 "OpenGL visual configurations :\n"
1518 "\n"
1519 msgstr ""
1520 "\n"
1521 "Конфигурация метода отображения OpenGL :\n"
1522 "\n"
1523
1524 #: ../src/ogl_surface.cpp:91
1525 msgid "evaluating grid"
1526 msgstr "определяется сетка"
1527
1528 #: ../src/ogl_surface.cpp:106
1529 msgid " done\n"
1530 msgstr " готово\n"
1531
1532 #: ../src/ogl_surface.cpp:112
1533 msgid "interpolating in "
1534 msgstr "инерполяция в "
1535
1536 #: ../src/ogl_surface.cpp:131
1537 msgid "-direction... "
1538 msgstr "-направлении..."
1539
1540 #: ../src/ogl_surface.cpp:138
1541 msgid " points, "
1542 msgstr " точек, "
1543
1544 #: ../src/ogl_surface.cpp:138
1545 msgid " cycles"
1546 msgstr " циклов"
1547
1548 #: ../src/ogl_surface.cpp:155
1549 msgid "generating image... "
1550 msgstr "Создаётся изображение..."
1551
1552 #: ../src/ogl_surface.cpp:185
1553 msgid "color_surface problem #1"
1554 msgstr "color_surface проблема #1"
1555
1556 #: ../src/ogl_surface.cpp:235
1557 msgid "color_surface problem #2"
1558 msgstr "color_surface проблема #2"
1559
1560 #: ../src/ogl_surface.cpp:335
1561 msgid " lines, "
1562 msgstr " линий, "
1563
1564 #: ../src/ogl_surface.cpp:335
1565 msgid " triangles."
1566 msgstr " треугольников."
1567
1568 #: ../src/p2dview_wcl.cpp:182
1569 msgid "now scaling the colours to range "
1570 msgstr "цвета масштабируются до диапазона "
1571
1572 #: ../src/p2dview_wcl.cpp:182
1573 msgid " kJ/mol"
1574 msgstr " кДж/моль"
1575
1576 #: ../src/pangofont_wcl.cpp:75
1577 #, c-format
1578 msgid "*** ERROR : Can't load font '%s'\n"
1579 msgstr "*** ОШИБКА : Не удалось загрузить шрифт '%s'\n"
1580
1581 #: ../src/project.cpp:210
1582 msgid "untitled"
1583 msgstr "безымянный"
1584
1585 #: ../src/project.cpp:322
1586 msgid "Cannot import that file type."
1587 msgstr "Нельзя импортировать этот тип файла."
1588
1589 #: ../src/project.cpp:367
1590 msgid "Cannot export that file type."
1591 msgstr "Нельзя экспортировать этот тип файла."
1592
1593 #: ../src/project.cpp:409
1594 msgid "Hydrogens added."
1595 msgstr "Атомы водорода добавлены."
1596
1597 #: ../src/project.cpp:419
1598 msgid "Hydrogens removed."
1599 msgstr "Атомы водорода удалены."
1600
1601 #: ../src/project.cpp:617
1602 msgid " window "
1603 msgstr " окно "
1604
1605 #: ../src/project.cpp:663
1606 msgid ""
1607 "This is the last graphics view for\n"
1608 "this project - can't close it."
1609 msgstr ""
1610 "Это последний графический вид для\n"
1611 "этого проекта - нельзя его закрыть."
1612
1613 #: ../src/project.cpp:877
1614 msgid "Processing Command : "
1615 msgstr "Выполняется команда : "
1616
1617 #: ../src/project.cpp:887
1618 msgid "> AVAILABLE COMMANDS:"
1619 msgstr "> ДОСТУПНЫЕ КОМАНДЫ:"
1620
1621 #. use alphabetical order???
1622 #: ../src/project.cpp:889
1623 msgid "> add light (local/global) (directional/spotlight) -- add a new light object."
1624 msgstr "> add light (local/global) (directional/spotlight) -- добавляет новый объект-источник света."
1625
1626 #: ../src/project.cpp:891
1627 msgid "> add plane <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <tp> <alpha> -- add a plane object."
1628 msgstr "> add plane <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <tp> <alpha> -- добавляет объект-плоскость."
1629
1630 #: ../src/project.cpp:892
1631 #: ../src/project.cpp:902
1632 msgid "> where: <vf> = value function : esp vdws eldens mo mod unity"
1633 msgstr "> где: <vf> = функция значений : esp vdws eldens mo mod unity"
1634
1635 #: ../src/project.cpp:893
1636 #: ../src/project.cpp:903
1637 #: ../src/project.cpp:913
1638 msgid "> <cf> = colour function : red green blue rb1 rb2"
1639 msgstr "> <cf> = функция цвета : red green blue rb1 rb2"
1640
1641 #: ../src/project.cpp:894
1642 #: ../src/project.cpp:904
1643 #: ../src/project.cpp:915
1644 #: ../src/project.cpp:930
1645 msgid "> <cscale1> = scaling value for calculating the colours"
1646 msgstr "> <cscale1> = коэффициент масштабирования для расчёта цветов"
1647
1648 #: ../src/project.cpp:895
1649 #: ../src/project.cpp:905
1650 #: ../src/project.cpp:916
1651 #: ../src/project.cpp:931
1652 msgid "> <cscale2> = scaling offset for calculating the colours"
1653 msgstr "> <cscale1> = смещение масштабирования для расчёта цветов"
1654
1655 #: ../src/project.cpp:896
1656 #: ../src/project.cpp:906
1657 #: ../src/project.cpp:917
1658 #: ../src/project.cpp:932
1659 msgid "> <dim> = dimension of the plane object (in nm units)"
1660 msgstr "> <dim> = размер объекта-плоскости (в нм)"
1661
1662 #: ../src/project.cpp:897
1663 #: ../src/project.cpp:907
1664 #: ../src/project.cpp:918
1665 #: ../src/project.cpp:933
1666 msgid "> <res> = resolution of the plane object"
1667 msgstr "> <res> = разрешение объекта-плоскости"
1668
1669 #: ../src/project.cpp:898
1670 #: ../src/project.cpp:920
1671 #: ../src/project.cpp:935
1672 msgid "> <tp> = 0 or 1 telling if the object is transparent"
1673 msgstr "> <tp> = 0 или 1, прозрачность объекта"
1674
1675 #: ../src/project.cpp:899
1676 #: ../src/project.cpp:908
1677 #: ../src/project.cpp:921
1678 #: ../src/project.cpp:936
1679 msgid "> <alpha> = transparency alpha value"
1680 msgstr "> <alpha> = коэффициент прозрачности альфа"
1681
1682 #: ../src/project.cpp:901
1683 msgid "> add volrend <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <alpha> -- add a volume-rendering object."
1684 msgstr "> add volrend <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <alpha> -- добавить объект \"объемная отрисовка\"."
1685
1686 #: ../src/project.cpp:910
1687 msgid "> add surf1 <vf1> <vf2> <cf> <sscale> <cscale1> <AUTO/cscale2> <dim> <res> <solid> <tp> <alpha> -- add a single surface object."
1688 msgstr "> add surf1 <vf1> <vf2> <cf> <sscale> <cscale1> <AUTO/cscale2> <dim> <res> <solid> <tp> <alpha> -- добавить объект \"одинарная плоскость\"."
1689
1690 #: ../src/project.cpp:911
1691 #: ../src/project.cpp:924
1692 msgid "> where: <vf1> = value function for calculating the surface : esp vdws eldens mo mod unity"
1693 msgstr "> где: <vf1> = функция значения для расчёта поверхности : esp vdws eldens mo mod unity"
1694
1695 #: ../src/project.cpp:912
1696 #: ../src/project.cpp:925
1697 msgid "> <vf2> = value function for calculating the colours : esp vdws eldens mo mod unity"
1698 msgstr "> <vf2> = функция значения для расчёта цветов : esp vdws eldens mo mod unity"
1699
1700 #: ../src/project.cpp:914
1701 msgid "> <sscale> = scaling value for calculating the surface"
1702 msgstr "> <sscale> = параметр масштабирования для расчёта плоскости"
1703
1704 #: ../src/project.cpp:919
1705 #: ../src/project.cpp:934
1706 msgid "> <solid> = 0 or 1 telling if the object is solid"
1707 msgstr "> <solid> = 0 или 1 -- является ли объект сплошным"
1708
1709 #: ../src/project.cpp:923
1710 msgid "> add surf2 <vf1> <vf2> <cf1> <cf2> <sscale1> <sscale2> <cscale1> <AUTO/cscale2> <dim> <res> <solid> <tp> <alpha> -- add a pair of surface objects."
1711 msgstr "> add surf2 <vf1> <vf2> <cf1> <cf2> <sscale1> <sscale2> <cscale1> <AUTO/cscale2> <dim> <res> <solid> <tp> <alpha> -- добавляет пару объектов-плоскостей."
1712
1713 #: ../src/project.cpp:926
1714 msgid "> <cf1> = colour function for 1st surface : red green blue rb1 rb2"
1715 msgstr "> <cf1> = функция цвета для первой поверхности : red green blue rb1 rb2"
1716
1717 #: ../src/project.cpp:927
1718 msgid "> <cf2> = colour function for 2nd surface : red green blue rb1 rb2"
1719 msgstr "> <cf2> = функция цвета для второй поверхности : red green blue rb1 rb2"
1720
1721 #: ../src/project.cpp:928
1722 msgid "> <sscale1> = scaling value for calculating the surface for 1st surface"
1723 msgstr "> <sscale1> = параметр масштабирования для расчёта первой поверхности"
1724
1725 #: ../src/project.cpp:929
1726 msgid "> <sscale2> = scaling value for calculating the surface for 2nd surface"
1727 msgstr "> <sscale2> = параметр масштабирования для расчёта второй поверхности"
1728
1729 #: ../src/project.cpp:938
1730 msgid "> help -- print all available commands in command strings."
1731 msgstr "> help -- напечатать все доступные команды в командных строках."
1732
1733 #: ../src/project.cpp:940
1734 msgid "> energy -- calculate a single-point energy."
1735 msgstr "> energy -- рассчитать энергию в точке."
1736
1737 #: ../src/project.cpp:941
1738 msgid "> geom_opt -- do a geometry optimization run using default options."
1739 msgstr "> geom_opt -- запустить оптимизацию геометрии с настройками по умолчанию."
1740
1741 #: ../src/project.cpp:942
1742 msgid "> mol_dyn -- do a molecular dynamics run using default options."
1743 msgstr "> mol_dyn -- запустить расчёт молекулярной динамики с настройками по умолчанию."
1744
1745 #: ../src/project.cpp:944
1746 msgid "> random_search <cycles> <optsteps> -- perform a random conformational search."
1747 msgstr "> random_search <cycles> <optsteps> -- выполнить случайный поиск конформаций."
1748
1749 #: ../src/project.cpp:945
1750 msgid "> systematic_search <divisions> <optsteps> -- perform a systematic conformational search."
1751 msgstr "> systematic_search <divisions> <optsteps> -- выполнить систематический поиск конформаций."
1752
1753 #: ../src/project.cpp:946
1754 msgid "> montecarlo_search <init_cycles> <simul_cycles> <optsteps> -- perform a MonteCarlo search."
1755 msgstr "> montecarlo_search <init_cycles> <simul_cycles> <optsteps> -- выпонить поиск Монте-Карло."
1756
1757 #: ../src/project.cpp:948
1758 msgid "> make_plot1 A B C D <div> <start_ang> <end_ang> <optsteps> -- create a 1D energy vs. torsion plot."
1759 msgstr "> make_plot1 A B C D <div> <start_ang> <end_ang> <optsteps> -- построить одномерный график энергии от торсионного угла."
1760
1761 #: ../src/project.cpp:949
1762 msgid "> make_plot2 A B C D <div> <start_ang> <end_ang> I J K L <div> <start_ang> <end_ang> <optsteps> -- create a 2D energy vs. torsions plot."
1763 msgstr "> make_plot2 A B C D <div> <start_ang> <end_ang> I J K L <div> <start_ang> <end_ang> <optsteps> -- построить двумерный график энергии от двух торсионных углов."
1764
1765 #: ../src/project.cpp:951
1766 msgid "> population_analysis_ESP -- determine atomic charges using an ESP fit (for QM methods only)."
1767 msgstr "> population_analysis_ESP -- определить заряды атомов используя аппроксимацию ЭСП (только для квантовых методов)."
1768
1769 #: ../src/project.cpp:953
1770 msgid "> transition_state_search <delta_e> <initial_fc> -- perform a transition state search (for QM methods only)."
1771 msgstr "> transition_state_search <delta_e> <initial_fc> -- поиск переходного состояния (только для квантовых методов)."
1772
1773 #: ../src/project.cpp:954
1774 msgid "> stationary_state_search <steps> -- perform a search for a structure with no forces."
1775 msgstr "> stationary_state_search <steps> -- поиск структуры без сил."
1776
1777 #: ../src/project.cpp:956
1778 msgid "> set_current_orbital <orbital_index> -- set the current orbtal index for plotting the orbitals."
1779 msgstr "> set_current_orbital <orbital_index> -- устанавливает номер текущей орбитали для построения орбиталей."
1780
1781 #: ../src/project.cpp:958
1782 msgid "> update_chains -- detect polymer chains using sequence builder."
1783 msgstr "> update_chains -- поиск полимерных цепочек с помощью построителя последовательностей."
1784
1785 #: ../src/project.cpp:959
1786 msgid "> build_amino <sequence> (helix/strand) -- amino acid sequence builder."
1787 msgstr "> build_amino <sequence> (helix/strand) -- построитель последовательностей для аминокислот."
1788
1789 #: ../src/project.cpp:960
1790 msgid "> build_nucleic <sequence> -- nucleic acid sequence builder."
1791 msgstr "> build_nucleic <sequence> -- построитель последовательностей для нуклеиновых кислот."
1792
1793 #: ../src/project.cpp:962
1794 msgid "> orient <crdset> -- orient the system in the XYZ coordinate system."
1795 msgstr "> orient <crdset> -- ориентирует систему в системе координат XYZ."
1796
1797 #: ../src/project.cpp:964
1798 msgid "> solvate_box <x-hdim> <y-hdim> <z-hdim> (<density> <filename> (export)) -- setup a solvation box."
1799 msgstr "> solvate_box <x-hdim> <y-hdim> <z-hdim> (<density> <filename> (export)) -- создает куб растворителя."
1800
1801 #: ../src/project.cpp:965
1802 msgid "> solvate_sphere <rad_solute> <rad_solvent> (<density> <filename>) -- setup a solvation sphere."
1803 msgstr "> solvate_sphere <rad_solute> <rad_solvent> (<density> <filename>) -- создаёт сферу растворителя."
1804
1805 #: ../src/project.cpp:967
1806 msgid "> set_formal_charge <index> <charge> -- set formal charges to atoms."
1807 msgstr "> set_formal_charge <index> <charge> -- устанавливает формальный заряд атомов."
1808
1809 #: ../src/project.cpp:969
1810 msgid "> evaluate_Bfact -- evaluate B-factors for selected atoms (a trajectory file must be open)."
1811 msgstr ""
1812
1813 #: ../src/project.cpp:970
1814 msgid "> evaluate_diffconst <dt> -- evaluate diffusion constants for selected atoms (a trajectory file must be open, dt = time difference between frames [fs])."
1815 msgstr "> evaluate_diffconst <dt> -- рассчитывает коеффициенты диффузии для выбранных атомов (файл траектории должен быть открыт, dt = временная разница между фреймами [фс])."
1816
1817 #: ../src/project.cpp:1010
1818 msgid "Added a new object : light ("
1819 msgstr "Добавлен новый объект : источник света ("
1820
1821 #: ../src/project.cpp:1011
1822 msgid "local"
1823 msgstr "локальный"
1824
1825 #: ../src/project.cpp:1011
1826 msgid "global"
1827 msgstr "глобальный"
1828
1829 #: ../src/project.cpp:1012
1830 msgid "directional"
1831 msgstr "направленный"
1832
1833 #: ../src/project.cpp:1012
1834 msgid "spotlight"
1835 msgstr "точечный"
1836
1837 #: ../src/project.cpp:1041
1838 msgid "ERROR : add plane : unknown value function "
1839 msgstr "ОШИБКА : add plane : неизвестная функция значений"
1840
1841 #: ../src/project.cpp:1055
1842 msgid "ERROR : add plane : unknown colour function "
1843 msgstr "ОШИБКА : add plane : неизвестная функция цвета"
1844
1845 #: ../src/project.cpp:1091
1846 msgid "Added a new object : plane ("
1847 msgstr "Добавлен новый объект : plane ("
1848
1849 #: ../src/project.cpp:1119
1850 msgid "ERROR : add volrend : unknown value function "
1851 msgstr "ОШИБКА : add volrend : неизвестная функция значений"
1852
1853 #: ../src/project.cpp:1133
1854 msgid "ERROR : add volrend : unknown colour function "
1855 msgstr "ОШИБКА : add volrend : неизвестная функция цвета"
1856
1857 #: ../src/project.cpp:1166
1858 msgid "Added a new object : volrend ("
1859 msgstr "Добавлен новый объект : volrend ("
1860
1861 #: ../src/project.cpp:1199
1862 msgid "ERROR : add surf1 : unknown value function 1 "
1863 msgstr "ОШИБКА : add surf1 : неизвестная функция значений 1"
1864
1865 #: ../src/project.cpp:1214
1866 msgid "ERROR : add surf1 : unknown value function 2 "
1867 msgstr "ОШИБКА : add surf1 : неизвестная функция значений 2"
1868
1869 #: ../src/project.cpp:1228
1870 msgid "ERROR : add surf1 : unknown colour function "
1871 msgstr "ОШИБКА : add surf1 : неизвестная функция цвета"
1872
1873 #: ../src/project.cpp:1277
1874 msgid "Added a new object : surf1 ("
1875 msgstr "Добавлен новый объект : surf1 ("
1876
1877 #: ../src/project.cpp:1314
1878 msgid "ERROR : add surf2 : unknown value function 1 "
1879 msgstr "ОШИБКА : add surf2 : неизвестная функция значений 1"
1880
1881 #: ../src/project.cpp:1329
1882 msgid "ERROR : add surf2 : unknown value function 2 "
1883 msgstr "ОШИБКА : add surf2 : неизвестная функция значений 2"
1884
1885 #: ../src/project.cpp:1343
1886 msgid "ERROR : add surf2 : unknown colour function 1 "
1887 msgstr "ОШИБКА : add surf2 : неизвестная функция цвета 1"
1888
1889 #: ../src/project.cpp:1357
1890 msgid "ERROR : add surf2 : unknown colour function 2 "
1891 msgstr "ОШИБКА : add surf2 : неизвестная функция цвета 2"
1892
1893 #: ../src/project.cpp:1417
1894 msgid "Added a new object : surf2 ("
1895 msgstr "Добавлен новый объект : surf2 ("
1896
1897 #: ../src/project.cpp:1423
1898 msgid "ERROR : could not process command \"add\" for parameter "
1899 msgstr "ОШИБКА Ж не удалось обработать команду \"add\" для параметра "
1900
1901 #: ../src/project.cpp:1581
1902 msgid "Sorry, this is for QM models only!"
1903 msgstr "Доступно только для QM моделей!"
1904
1905 #: ../src/project.cpp:1628
1906 msgid "The current orbital is now "
1907 msgstr "Текущая орбиталь теперь "
1908
1909 #: ../src/project.cpp:1673
1910 #: ../src/project.cpp:1708
1911 msgid "built a sequence : "
1912 msgstr "построена последовательность : "
1913
1914 #: ../src/project.cpp:1721
1915 msgid "maximum dimensions:"
1916 msgstr "максимальные размеры:"
1917
1918 #: ../src/project.cpp:1823
1919 msgid "Sorry, atom not found!"
1920 msgstr "Атом не найден!"
1921
1922 #: ../src/project.cpp:1849
1923 msgid "ERROR : Unknown command : "
1924 msgstr "ОШИБКА : Неизвестная команда : "
1925
1926 #: ../src/project.cpp:1850
1927 msgid "The \"help\" command will give more information about command strings."
1928 msgstr "Команда \"help\" выдаст дополнительную информацию о командных строках."
1929
1930 #: ../src/project.cpp:1877
1931 msgid "local lights = "
1932 msgstr "локальные источники света = "
1933
1934 #: ../src/project.cpp:1877
1935 #: ../src/project.cpp:1884
1936 msgid "on"
1937 msgstr "вкл"
1938
1939 #: ../src/project.cpp:1877
1940 #: ../src/project.cpp:1884
1941 msgid "off"
1942 msgstr "выкл"
1943
1944 #: ../src/project.cpp:1884
1945 msgid "global lights = "
1946 msgstr "глобальные источники света = "
1947
1948 #: ../src/project.cpp:3256
1949 msgid "Group information about chains/residues is needed for this operation."
1950 msgstr "Групповая информация о последовательностях/остатках необходима для этой операции."
1951
1952 #: ../src/project.cpp:3257
1953 msgid "Is it OK to update group information?"
1954 msgstr "Можно обновить информацию о группах?"
1955
1956 #: ../src/project.cpp:3271
1957 msgid "Sorry, no chain/residue information available for this atom."
1958 msgstr "Информация о последовательности/группе для данного атома недоступнаю"
1959
1960 #: ../src/project.cpp:3290
1961 msgid "selected atom "
1962 msgstr "выбранный атом"
1963
1964 #: ../src/project.cpp:3290
1965 msgid " (atomtype = "
1966 msgstr ""
1967
1968 #: ../src/project.cpp:3302
1969 msgid "selected residue "
1970 msgstr "выбранный остаток "
1971
1972 #: ../src/project.cpp:3302
1973 msgid " from chain "
1974 msgstr " из последовательности "
1975
1976 #: ../src/project.cpp:3313
1977 msgid "selected chain "
1978 msgstr "выбранная последовательность "
1979
1980 #: ../src/project.cpp:3337
1981 msgid "selected molecule "
1982 msgstr "выбранная молекула"
1983
1984 #. this must be OK.
1985 #: ../src/project.cpp:3366
1986 msgid "charge: "
1987 msgstr "заряд:"
1988
1989 #: ../src/project.cpp:3384
1990 msgid "distance: "
1991 msgstr "расстояние:"
1992
1993 #: ../src/project.cpp:3406
1994 msgid "angle: "
1995 msgstr "угол:"
1996
1997 #: ../src/project.cpp:3406
1998 msgid " deg"
1999 msgstr " град."
2000
2001 #: ../src/project.cpp:3425
2002 msgid "torsion: "
2003 msgstr "торсионный угол:"
2004
2005 #: ../src/project.cpp:3425
2006 msgid " deg "
2007 msgstr " град. "
2008
2009 #: ../src/project.cpp:3494
2010 msgid "MW: "
2011 msgstr ""
2012
2013 #: ../src/project.cpp:3571
2014 msgid "ERROR : atom "
2015 msgstr "ОШИБКА : атом "
2016
2017 #: ../src/project.cpp:3571
2018 #: ../src/project.cpp:3757
2019 #: ../src/project.cpp:3769
2020 msgid " not found!"
2021 msgstr " не найден!"
2022
2023 #: ../src/project.cpp:3591
2024 msgid "ERROR : could not find ic.\n"
2025 msgstr ""
2026
2027 #: ../src/project.cpp:3609
2028 msgid "ERROR : could not find tor-term.\n"
2029 msgstr ""
2030
2031 #: ../src/project.cpp:3613
2032 msgid "tor(deg)"
2033 msgstr "торсион.(град.)"
2034
2035 #: ../src/project.cpp:3613
2036 #: ../src/project.cpp:3830
2037 #: ../src/project.cpp:3922
2038 msgid "E(kJ/mol)"
2039 msgstr "E(кДж/моль)"
2040
2041 #: ../src/project.cpp:3664
2042 msgid "tor = "
2043 msgstr "торсион. = "
2044
2045 #: ../src/project.cpp:3664
2046 #: ../src/project.cpp:3887
2047 msgid " deg, energy = "
2048 msgstr ""
2049
2050 #: ../src/project.cpp:3664
2051 #: ../src/project.cpp:3887
2052 msgid " kJ/mol."
2053 msgstr " кДж/моль."
2054
2055 #: ../src/project.cpp:3757
2056 msgid "ERROR : tor1 atom "
2057 msgstr ""
2058
2059 #: ../src/project.cpp:3769
2060 msgid "ERROR : tor2 atom "
2061 msgstr ""
2062
2063 #: ../src/project.cpp:3789
2064 msgid "ERROR : could not find ic for tor1.\n"
2065 msgstr ""
2066
2067 #: ../src/project.cpp:3796
2068 msgid "ERROR : could not find ic for tor2.\n"
2069 msgstr ""
2070
2071 #: ../src/project.cpp:3819
2072 msgid "ERROR : could not find tor-term for tor1.\n"
2073 msgstr ""
2074
2075 #: ../src/project.cpp:3826
2076 msgid "ERROR : could not find tor-term for tor2.\n"
2077 msgstr ""
2078
2079 #: ../src/project.cpp:3830
2080 msgid "tor1(deg)"
2081 msgstr ""
2082
2083 #: ../src/project.cpp:3830
2084 msgid "tor2(deg)"
2085 msgstr ""
2086
2087 #: ../src/project.cpp:3887
2088 msgid "tor1 = "
2089 msgstr ""
2090
2091 #: ../src/project.cpp:3887
2092 msgid " deg, tor2 = "
2093 msgstr ""
2094
2095 #: ../src/project.cpp:3912
2096 #: ../src/project.cpp:3947
2097 msgid "r-energy = "
2098 msgstr ""
2099
2100 #: ../src/project.cpp:3912
2101 #: ../src/project.cpp:3947
2102 msgid "p-energy = "
2103 msgstr ""
2104
2105 #: ../src/project.cpp:3913
2106 #: ../src/project.cpp:3948
2107 msgid " is lower "
2108 msgstr " меньше "
2109
2110 #: ../src/project.cpp:3952
2111 msgid "READY!"
2112 msgstr "ГОТОВО!"
2113
2114 #: ../src/project.cpp:4049
2115 msgid "Starting Stationary State Search "
2116 msgstr "Начинается поиск стационарного состояния "
2117
2118 #: ../src/project.cpp:4062
2119 msgid "Cycle Gradient Step\n"
2120 msgstr "Цикл Градиент Шаг\n"
2121
2122 #: ../src/project.cpp:4077
2123 msgid "the nsteps termination test was passed.\n"
2124 msgstr "тест завершения по количеству шагов nsteps прошел.\n"
2125
2126 #: ../src/rcpview_wcl.cpp:161
2127 msgid "the tresholds were set to "
2128 msgstr "пороги были установлены в "
2129
2130 #: ../src/rcpview_wcl.cpp:161
2131 msgid " and "
2132 msgstr " и "
2133
2134 #. ################################################################################################
2135 #. eof
2136 #: ../src/res_gtk/gtk_file_export_dialog.glade.h:1
2137 #: ../src/res_gtk/gtk_file_import_dialog.glade.h:1
2138 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:1
2139 msgid "Browse..."
2140 msgstr "Просмотреть..."
2141
2142 #: ../src/res_gtk/gtk_file_export_dialog.glade.h:2
2143 msgid "Export File"
2144 msgstr "Экспорт файла"
2145
2146 #: ../src/res_gtk/gtk_file_import_dialog.glade.h:2
2147 msgid "Import File"
2148 msgstr "Импорт файла:"
2149
2150 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:1
2151 msgid "Delta-E Cutoff:"
2152 msgstr "Порог разницы E:"
2153
2154 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:3
2155 msgid "Gradient Cutoff:"
2156 msgstr "Порог градиента:"
2157
2158 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:4
2159 msgid "Maximum # of Steps:"
2160 msgstr "Максимальное число шагов:"
2161
2162 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:2
2163 msgid "Constant-P simulation (allow P-control at simulation stage)"
2164 msgstr "Расчёт с постоянным P (позволяет управлять P при расчёте)"
2165
2166 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:3
2167 msgid "Constant-T simulation (allow T-control at simulation stage)"
2168 msgstr "Расчёт с постоянной T (позволяет управлять T при расчёте)"
2169
2170 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:4
2171 msgid "Isothermal compressibility [1/bar] :"
2172 msgstr "Изотермическая сжимаемость [1/бар] :"
2173
2174 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:6
2175 msgid "Number of steps : (cooling)"
2176 msgstr "Число шагов : (охлаждение)"
2177
2178 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:7
2179 msgid "Number of steps : (equilibration)"
2180 msgstr "Число шагов : (установление равновесия)"
2181
2182 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:8
2183 msgid "Number of steps : (heating)"
2184 msgstr "Число шагов : (нагрев)"
2185
2186 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:9
2187 msgid "Number of steps : (simulation)"
2188 msgstr "Число шагов : (моделирование)"
2189
2190 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:10
2191 msgid "P relaxation time [fs] :"
2192 msgstr "Время установления P [фс] :"
2193
2194 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:11
2195 msgid "Pressure [bar] :"
2196 msgstr "Давление [бар] :"
2197
2198 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:12
2199 msgid "T relaxation time [fs] : (equil/simul)"
2200 msgstr "Время установления T [фс] : (равновес./модел.)"
2201
2202 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:13
2203 msgid "T relaxation time [fs] : (heat/cool)"
2204 msgstr "Время установления T [фс] : (нагрев/остывание)"
2205
2206 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:14
2207 msgid "Temperature [K] :"
2208 msgstr "Температура [К]:"
2209
2210 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:15
2211 msgid "Timestep [fs] :"
2212 msgstr "Шаг по времени [фс] : "
2213
2214 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:16
2215 msgid "Trajectory File : "
2216 msgstr "Файл траектории : "
2217
2218 #: ../src/res_gtk/gtk_progress_dialog.glade.h:1
2219 msgid "Background Job"
2220 msgstr "Фоновый процесс"
2221
2222 #: ../src/res_gtk/gtk_progress_dialog.glade.h:2
2223 msgid "Job Title : "
2224 msgstr "Название процесса : "
2225
2226 #: ../src/res_gtk/gtk_setup_dialog.glade.h:1
2227 msgid "<b>Select the Engine Class:</b>"
2228 msgstr "<b>Выбор класса движка:</b>"
2229
2230 #: ../src/res_gtk/gtk_setup_dialog.glade.h:2
2231 msgid "<b>Set the spin multiplicity of the system:</b>"
2232 msgstr "<b>Установка мультиплетность спина системы:</b>"
2233
2234 #: ../src/res_gtk/gtk_setup_dialog.glade.h:3
2235 msgid "<b>Set the total charge of the system:</b>"
2236 msgstr "<b>Установить суммарный заряд системы:</b>"
2237
2238 #: ../src/res_gtk/gtk_setup_dialog.glade.h:4
2239 msgid "Enable atomtype/parameter exceptions (AMBER FF)."
2240 msgstr "Разрешить исключения тип атома/параметр (AMBER FF)."
2241
2242 #: ../src/res_gtk/gtk_setup_dialog.glade.h:6
2243 msgid "MM/SF"
2244 msgstr ""
2245
2246 #: ../src/res_gtk/gtk_setup_dialog.glade.h:7
2247 msgid "QM/MM"
2248 msgstr ""
2249
2250 #: ../src/res_gtk/gtk_setup_dialog.glade.h:8
2251 msgid "Setup"
2252 msgstr "Настройка"
2253
2254 #: ../src/res_gtk/gtk_setup_dialog.glade.h:9
2255 msgid "Spin Multiplicity:"
2256 msgstr "Мультиплетность спина:"
2257
2258 #: ../src/res_gtk/gtk_setup_dialog.glade.h:10
2259 msgid "Total Charge:"
2260 msgstr "Суммарный заряд:"
2261
2262 #: ../src/res_gtk/gtk_setup_dialog.glade.h:11
2263 msgid "all MM"
2264 msgstr "все MM"
2265
2266 #: ../src/res_gtk/gtk_setup_dialog.glade.h:12
2267 msgid "all QM"
2268 msgstr "все QM"
2269
2270 #: ../src/res_gtk/gtk_setup_dialog.glade.h:13
2271 msgid "all SF"
2272 msgstr "все SF"
2273
2274 #: ../src/res_gtk/gtk_setup_dialog.glade.h:14
2275 msgid "this is under construction and DISABLED currently!"
2276 msgstr "находится в разработке и в настоящий момент ОТКЛЮЧЕНО!"
2277
2278 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:1
2279 msgid "Relaxed Separation :"
2280 msgstr "Разделение расслабленного глаза :"
2281
2282 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:2
2283 msgid "Stereo Displacement :"
2284 msgstr "Стереосмещение :"
2285
2286 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:3
2287 msgid "Stereo View Settings"
2288 msgstr "Настройки стереопросмотра"
2289
2290 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:1
2291 msgid "Begin"
2292 msgstr "Начало"
2293
2294 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:2
2295 msgid "End"
2296 msgstr "Конец"
2297
2298 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:3
2299 msgid "Play"
2300 msgstr "Играть"
2301
2302 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:4
2303 msgid "Trajectory Viewer"
2304 msgstr "Просмотрщик траектории"
2305
0 # Copyright (C) 2006, 2007 Free Software Foundation, Inc.
1 # translation of ghemical.po to Albanian
2 # This file is distributed under the same license as the Ghemical package.
3 #
4 # Maintainer: Armend Iseni <aiseni.as@gmail.com>, 2008
5 # Maintainer: Vlado Pesov <vpesov@genrepsoft.com>, 2008
6 # Maintainer: Bojan Seirovski <druid0101@gmail.com>, 2008
7 # Maintainer: Senad Sejfic <sejficsenad@gmail.com>, 2008
8 # Translator: Vlora Jakupi <vlorajak@hotmail.com>, 2008
9 # Proof-reading: Fluturie Xhila <fluturie_xh@yahoo.com>, 2008
10 # Proof-reading: Arlinda Kastrati<aarlindakastrati@hotmail.com>, 2008
11 # Proof-reading: Vlora Jakupi <vlorajak@hotmail.com>, 2008
12 #
13 msgid ""
14 msgstr ""
15 "Project-Id-Version: ghemical\n"
16 "Report-Msgid-Bugs-To: \n"
17 "POT-Creation-Date: 2009-04-21 14:25+0300\n"
18 "PO-Revision-Date: 2009-01-09 13:27+0100\n"
19 "Last-Translator: Sejfic Senad <sejficsenad@yahoo.com>\n"
20 "Language-Team: Albanian <FOSS-in-EDU@googlegroups.com>\n"
21 "MIME-Version: 1.0\n"
22 "Content-Type: text/plain; charset=UTF-8\n"
23 "Content-Transfer-Encoding: 8bit\n"
24 "X-Generator: Pootle 1.1.0\n"
25
26 #: ../src/custom_app.cpp:100
27 #, fuzzy
28 msgid "Added global light."
29 msgstr "u shtua dritë globale."
30
31 #: ../src/custom_app.cpp:114
32 #, fuzzy
33 msgid "Added local light."
34 msgstr "u shtua dritë lokale."
35
36 #: ../src/eldview_wcl.cpp:162
37 msgid "No data available,"
38 msgstr "Nuk ka të dhëna në dispozicion,"
39
40 #: ../src/eldview_wcl.cpp:167
41 msgid "must be a QM model!"
42 msgstr "duhet të jetë model QM!"
43
44 #: ../src/eldview_wcl.cpp:167
45 msgid "please calculate energy!"
46 msgstr "ju lutem logarit energjinë!"
47
48 #: ../src/gtk_app.cpp:92 ../src/gtk_oglview_wnd.cpp:38
49 #, fuzzy
50 msgid "File"
51 msgstr "_Skedar"
52
53 #: ../src/gtk_app.cpp:93 ../src/res_gtk/gtk_setup_dialog.glade.h:5
54 msgid "Help"
55 msgstr "Ndihmë"
56
57 #: ../src/gtk_app.cpp:95
58 #, fuzzy
59 msgid "New"
60 msgstr "_E re"
61
62 #: ../src/gtk_app.cpp:95
63 #, fuzzy
64 msgid "Create a new file."
65 msgstr "Krijo një objekt të dritës së re"
66
67 #. <control>N
68 #. ^^^^^^^^
69 #: ../src/gtk_app.cpp:96 ../src/gtk_oglview_wnd.cpp:40
70 #, fuzzy
71 msgid "Open"
72 msgstr "_Hap"
73
74 #: ../src/gtk_app.cpp:96
75 #, fuzzy
76 msgid "Open an existing file."
77 msgstr "Hap një skedar"
78
79 #. <control>O
80 #: ../src/gtk_app.cpp:97 ../src/gtk_oglview_wnd.cpp:44
81 #, fuzzy
82 msgid "Save as..."
83 msgstr "_Ruaj si..."
84
85 #: ../src/gtk_app.cpp:97
86 #, fuzzy
87 msgid "Save a file."
88 msgstr "Ruaj një skedar"
89
90 #. <control>S
91 #. { "ExportGraphics", GTK_STOCK_SAVE, N_("Export Graphics"), NULL, N_("Export graphics"), (GCallback) gtk_project::popup_FileExportGraphics },
92 #: ../src/gtk_app.cpp:98 ../src/gtk_oglview_wnd.cpp:49
93 #, fuzzy
94 msgid "Close"
95 msgstr "_Mbyll"
96
97 #: ../src/gtk_app.cpp:98
98 #, fuzzy
99 msgid "Quit the program."
100 msgstr "Braktis programin"
101
102 #. <control>C
103 #: ../src/gtk_app.cpp:100
104 msgid "Contents"
105 msgstr ""
106
107 #: ../src/gtk_app.cpp:100
108 #, fuzzy
109 msgid "View the User's Manual."
110 msgstr "Shiko Udhëzuesin e përdoruesit"
111
112 #. <control>H
113 #: ../src/gtk_app.cpp:101
114 #, fuzzy
115 msgid "About"
116 msgstr "_Për"
117
118 #: ../src/gtk_app.cpp:101
119 msgid "Information about this program."
120 msgstr ""
121
122 #. <control>A
123 #. the rest are toolbar actions...
124 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
125 #: ../src/gtk_app.cpp:106
126 #, fuzzy
127 msgid "Set the current element."
128 msgstr "Vendos elementin aktual"
129
130 #: ../src/gtk_app.cpp:107
131 #, fuzzy
132 msgid "Set the current bondtype."
133 msgstr "Vendos tipin aktual të lidhjes"
134
135 #: ../src/gtk_app.cpp:108
136 #, fuzzy
137 msgid "Setup or change the comp.chem. method in use."
138 msgstr "Parametrizo ose ndrysho metodën comp.chem. e cila është në përdorim"
139
140 #: ../src/gtk_app.cpp:113
141 msgid "Draw ; add atoms and bonds to the model."
142 msgstr "Vizato ; shto atome dhe lidhje në model."
143
144 #: ../src/gtk_app.cpp:114
145 msgid "Erase ; remove atoms and bonds from the model."
146 msgstr "Fshij ; largo atome dhe lidhje nga modeli."
147
148 #: ../src/gtk_app.cpp:115
149 msgid "Select ; make selections in the model, and also select objects."
150 msgstr ""
151 "Përzgjedh ; bëj përzgjedhje në model, dhe gjithashtu përzgjedh objekte."
152
153 #: ../src/gtk_app.cpp:116
154 msgid "Zoom ; zoom the view."
155 msgstr "Zmadho ; zmadho pamjen"
156
157 #: ../src/gtk_app.cpp:117
158 msgid "Clipping ; set the near and far clipping planes for graphics rendering."
159 msgstr ""
160 "Prerje ; vendos planet e afërta dhe të largëta për pasqyrim të grafiqeve."
161
162 #: ../src/gtk_app.cpp:118
163 msgid ""
164 "TranslateXY ; translate the camera or a selected object in XY-direction."
165 msgstr ""
166 "TransferoXY ; transfero aparatin për fotografim apo një objekt të "
167 "përzgjedhur në drejtimin-XY."
168
169 #: ../src/gtk_app.cpp:119
170 msgid "TranslateZ ; translate the camera or a selected object in Z-direction."
171 msgstr ""
172 "TransferoZ ; transfero aparatin për fotografim apo një objekt të përzgjedhur "
173 "në drejtimin-Z."
174
175 #: ../src/gtk_app.cpp:120
176 msgid ""
177 "OrbitXY ; orbit the camera or a selected object around the focus point in XY-"
178 "direction."
179 msgstr ""
180 "OrbitXY ; orbito aparatin për fotografim ose një objekt të përzgjedhur rreth "
181 "pikës së fokusimit në drejtimin-XY."
182
183 #: ../src/gtk_app.cpp:121
184 msgid ""
185 "OrbitZ ; orbit the camera or a selected object around the focus point in Z-"
186 "direction."
187 msgstr ""
188 "OrbitZ ; orbito aparatin për fotografim ose një objekt të përzgjedhur rreth "
189 "pikës së fokusimit në drejtimin-Z."
190
191 #: ../src/gtk_app.cpp:122
192 msgid "RotateXY ; turn the camera or a selected object in XY-direction."
193 msgstr ""
194 "RrotulloXY ; kthe aparatin për fotografim ose një objekt të përzgjedhur në "
195 "drejtimin-XY."
196
197 #: ../src/gtk_app.cpp:123
198 msgid "RotateZ ; turn the camera or a selected object in Z-direction."
199 msgstr ""
200 "RrotulloZ ; kthe aparatin për fotografim ose një objekt të përzgjedhur n "
201 "drejtimin-Z."
202
203 #: ../src/gtk_app.cpp:124
204 msgid "Measure ; measure distances, angles and torsions."
205 msgstr "Mat ; mat largësi, kënde dhe përdredhje."
206
207 #: ../src/gtk_app.cpp:207
208 #, fuzzy
209 msgid "Set to Current Object"
210 msgstr "_Vnedos në objektin aktual"
211
212 #: ../src/gtk_app.cpp:207
213 msgid "Set this object to Current Object"
214 msgstr "Vendos këtë objekt në Objektin Aktual"
215
216 #: ../src/gtk_app.cpp:208
217 #, fuzzy
218 msgid "Delete Object/View"
219 msgstr "_Hiq Objektin/Pamjen"
220
221 #: ../src/gtk_app.cpp:208
222 msgid "Delete this object or view"
223 msgstr "Hiq këtë objekt apo pamje"
224
225 #: ../src/gtk_app.cpp:225
226 #, fuzzy
227 msgid "Update View"
228 msgstr "_Përditëso Pamjen"
229
230 #: ../src/gtk_app.cpp:225
231 msgid "Rebuild the chains info for this view"
232 msgstr "Rindërto informacione për zinxhirët për këtë pamje"
233
234 #: ../src/gtk_app.cpp:226
235 #, fuzzy
236 msgid "Select Item"
237 msgstr "_Përzgjedh Artikuj"
238
239 #: ../src/gtk_app.cpp:226
240 msgid "Select/unselect this chain/residue"
241 msgstr "Përzgjedh/Çzgjedh këtë zinxhir/radikal"
242
243 #: ../src/gtk_app.cpp:243
244 #, fuzzy
245 msgid "Select Atom"
246 msgstr "_Përzgjedh Atomin"
247
248 #: ../src/gtk_app.cpp:243
249 msgid "Select/unselect this atom"
250 msgstr "Përzgjedh/çzgjedh këtë atom"
251
252 #: ../src/gtk_app.cpp:258
253 #, fuzzy
254 msgid "Select Bond"
255 msgstr "_Përzgjedh Lidhjet"
256
257 #: ../src/gtk_app.cpp:258
258 msgid "Select/unselect this bond"
259 msgstr "_Përzgjedh/çpërzgjedh këtë lidhje"
260
261 #: ../src/gtk_app.cpp:344
262 msgid "Ghemical"
263 msgstr "Ghemical"
264
265 #: ../src/gtk_app.cpp:351
266 #, fuzzy, c-format
267 msgid "ERROR : Icon loading failed : %s\n"
268 msgstr "GABIM : nuk mund të gjejë ic.\n"
269
270 #: ../src/gtk_app.cpp:381
271 #, fuzzy, c-format
272 msgid "ERROR : Building main menu failed : %s"
273 msgstr "Dështoi ndërtimi i menysë kryesore : %s"
274
275 #: ../src/gtk_app.cpp:566
276 msgid "project view"
277 msgstr "Pamej e projektit"
278
279 #. optional : draw the stripes to background.
280 #. ??? (string)
281 #: ../src/gtk_app.cpp:584
282 msgid "Object"
283 msgstr "Objekti"
284
285 #. ??? (string)
286 #: ../src/gtk_app.cpp:588
287 msgid "Sub-Objects"
288 msgstr "Nën-objekte"
289
290 #: ../src/gtk_app.cpp:591
291 msgid "Views/Objects"
292 msgstr "Pamje/Objekte"
293
294 #: ../src/gtk_app.cpp:604
295 #, fuzzy, c-format
296 msgid "ERROR : Building Views/Objects menu in project view failed : %s"
297 msgstr "Dështoi ndërtimi i menysë gvp Pamje/Objekte : %s"
298
299 #. optional : draw the stripes to background.
300 #. chain_info (string)
301 #: ../src/gtk_app.cpp:620
302 msgid "Chain Description"
303 msgstr "Përkshkrim i vargëzuar "
304
305 #. res_num (string)
306 #: ../src/gtk_app.cpp:624
307 msgid "Residue Number"
308 msgstr "Numri i radikalit"
309
310 #. res_id (string)
311 #: ../src/gtk_app.cpp:628
312 msgid "Residue ID"
313 msgstr "ID e radikalit"
314
315 #. res_state1 (string)
316 #: ../src/gtk_app.cpp:632
317 msgid "Sec-Str State"
318 msgstr "Gejndja Sec-Str"
319
320 #. res_state2 (string)
321 #: ../src/gtk_app.cpp:636
322 msgid "Protonation State"
323 msgstr "Gjendja e Protonimit"
324
325 #: ../src/gtk_app.cpp:639
326 msgid "Chains"
327 msgstr "Zinxhirë"
328
329 #: ../src/gtk_app.cpp:652
330 #, fuzzy, c-format
331 msgid "ERROR : Building Chains menu in project view failed : %s"
332 msgstr "Dështoi ndërtimi i menysë gpv Zinxhirë"
333
334 #. optional : draw the stripes to background.
335 #. index1
336 #: ../src/gtk_app.cpp:668
337 msgid "Atom Index"
338 msgstr "Tregues i atomit"
339
340 #. element
341 #. ^^^^^^^^^^^^^
342 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
343 #: ../src/gtk_app.cpp:672 ../src/gtk_oglview_wnd.cpp:112
344 #: ../src/gtk_oglview_wnd.cpp:120
345 msgid "Element"
346 msgstr "Elementi"
347
348 #: ../src/gtk_app.cpp:678
349 msgid "Locked"
350 msgstr "i Mbyllur"
351
352 #: ../src/gtk_app.cpp:681
353 msgid "Atoms"
354 msgstr "Atome"
355
356 #: ../src/gtk_app.cpp:694
357 #, fuzzy, c-format
358 msgid "ERROR : Building Atoms menu in project view failed : %s"
359 msgstr "Dështoi ndërtimi i menysë gpv Atome"
360
361 #. optional : draw the stripes to background.
362 #. index1
363 #: ../src/gtk_app.cpp:710
364 msgid "Atom Index #1"
365 msgstr "Tregues i atomit #1"
366
367 #. index2
368 #: ../src/gtk_app.cpp:714
369 msgid "Atom Index #2"
370 msgstr "Tregues i atomit #2"
371
372 #. bondtype
373 #: ../src/gtk_app.cpp:718
374 msgid "BondType"
375 msgstr "Tipi i lidhjes"
376
377 #: ../src/gtk_app.cpp:721
378 msgid "Bonds"
379 msgstr "Lidhje"
380
381 #: ../src/gtk_app.cpp:734
382 #, fuzzy, c-format
383 msgid "ERROR : Building Bonds menu in project view failed : %s"
384 msgstr "Dështoi ndërtimi i menysë gpv Lidhje"
385
386 #. protect the model-data during background jobs...
387 #: ../src/gtk_app.cpp:772
388 msgid ""
389 "Are you sure that you\n"
390 "want to quit the program?"
391 msgstr ""
392 "A jeni të sigurtë që\n"
393 "doni të braktisni programin?"
394
395 #: ../src/gtk_app.cpp:839
396 msgid "gtk_app::sPrintToLog() : message is too long!"
397 msgstr "gtk_app::sPrinto për t'u Loguar() : mesazhi është shumë i gjatë!"
398
399 #: ../src/gtk_app.cpp:898
400 msgid "window "
401 msgstr "dritare "
402
403 #: ../src/gtk_app.cpp:899 ../src/gtk_app.cpp:903
404 msgid " (detached)"
405 msgstr " (e ndarë)"
406
407 #: ../src/gtk_app.cpp:899
408 msgid " (attached)"
409 msgstr " (e bashkangjitur)"
410
411 #: ../src/gtk_app.cpp:901
412 msgid "cam "
413 msgstr "kamerë"
414
415 #: ../src/gtk_app.cpp:902
416 msgid "wnd "
417 msgstr "dritare"
418
419 #: ../src/gtk_app.cpp:921 ../src/gtk_app.cpp:922
420 msgid "RC plot view"
421 msgstr "Pamja e vizatimit RC"
422
423 #: ../src/gtk_app.cpp:927 ../src/gtk_app.cpp:928
424 msgid "1D plot view"
425 msgstr "Pamja e vizatimit 1D"
426
427 #: ../src/gtk_app.cpp:934 ../src/gtk_app.cpp:935
428 msgid "2D plot view"
429 msgstr "Pamja e vizatimit 2D"
430
431 #: ../src/gtk_app.cpp:941 ../src/gtk_app.cpp:942
432 msgid "energy-level diagram view"
433 msgstr "pamja e diagramit të nivelit-të energjisë"
434
435 #: ../src/gtk_app.cpp:947 ../src/gtk_app.cpp:948
436 msgid "generic protein chain view"
437 msgstr "pamja e zinxhirit të proteinave të përgjithshme"
438
439 #: ../src/gtk_app.cpp:953 ../src/gtk_app.cpp:954
440 msgid "<unknown view>"
441 msgstr "<unknown view>"
442
443 #: ../src/gtk_app.cpp:980 ../src/project.cpp:617
444 msgid "camera "
445 msgstr "kamerë"
446
447 #: ../src/gtk_app.cpp:1247 ../src/gtk_app.cpp:1255 ../src/gtk_app.cpp:1291
448 #: ../src/gtk_app.cpp:1316
449 msgid "Object "
450 msgstr "Objekt "
451
452 #: ../src/gtk_app.cpp:1247 ../src/gtk_app.cpp:1255
453 msgid " is set to current object."
454 msgstr " vendoset në objektin aktual."
455
456 #: ../src/gtk_app.cpp:1258 ../src/gtk_app.cpp:1324
457 #, fuzzy
458 msgid "Sorry, this operation is not yet implemented."
459 msgstr "Kërkojmë falje, ky operacion nuk është zbatuar."
460
461 #: ../src/gtk_app.cpp:1291 ../src/gtk_app.cpp:1316
462 msgid " is deleted."
463 msgstr " është hequr."
464
465 #. if (ci_vector[n1].description... // this is not implemented at the moment...
466 #: ../src/gtk_app.cpp:1348
467 msgid "chain #"
468 msgstr "zinxhir #"
469
470 #: ../src/gtk_app.cpp:1355
471 msgid " chain)."
472 msgstr " zinxhir)."
473
474 #. make the list show the updated information...
475 #: ../src/gtk_app.cpp:1606
476 #, fuzzy, c-format
477 msgid "Atom locking changed : %s\n"
478 msgstr "Bllokuesi u ndryshua: %s\n"
479
480 #: ../src/gtk_app.cpp:1606
481 #, fuzzy
482 msgid "yes"
483 msgstr " cikle"
484
485 #: ../src/gtk_app.cpp:1606
486 #, fuzzy
487 msgid "no"
488 msgstr "OrbitXY"
489
490 #: ../src/gtk_app.cpp:1632
491 #, fuzzy
492 msgid "Conjugated"
493 msgstr "e bashkuar"
494
495 #: ../src/gtk_app.cpp:1633
496 #, fuzzy
497 msgid "Single"
498 msgstr "e vetme"
499
500 #: ../src/gtk_app.cpp:1634
501 #, fuzzy
502 msgid "Double"
503 msgstr "dyfishe"
504
505 #: ../src/gtk_app.cpp:1635
506 #, fuzzy
507 msgid "Triple"
508 msgstr "trefishe"
509
510 #: ../src/gtk_app.cpp:2068
511 #, fuzzy
512 msgid "Displaying the User's Manual using the following command:"
513 msgstr ""
514 "Përpiqemi të shfaqim Udhëzuein për përdoruesin duke përdoruru komandat në "
515 "vijim:"
516
517 #: ../src/gtk_app.cpp:2078
518 #, fuzzy
519 msgid "Ghemical-"
520 msgstr "Ghemical"
521
522 #: ../src/gtk_app.cpp:2078
523 msgid " released on "
524 msgstr " e publikuar më "
525
526 #: ../src/gtk_app.cpp:2080
527 msgid "For more information please visit:"
528 msgstr "Për më shumë informacione, ju lutem vizitoni:"
529
530 #: ../src/gtk_app.cpp:2088
531 msgid "Authors:"
532 msgstr "Autorë:"
533
534 #: ../src/gtk_eldview_wnd.cpp:32 ../src/gtk_gpcview_wnd.cpp:32
535 #: ../src/gtk_oglview_wnd.cpp:36 ../src/gtk_p1dview_wnd.cpp:32
536 #: ../src/gtk_p2dview_wnd.cpp:32 ../src/gtk_rcpview_wnd.cpp:32
537 msgid "Attach/Detach This View"
538 msgstr "Bashkangjit/Ndaj këtë Pamje"
539
540 #: ../src/gtk_eldview_wnd.cpp:32 ../src/gtk_gpcview_wnd.cpp:32
541 #: ../src/gtk_oglview_wnd.cpp:36 ../src/gtk_p1dview_wnd.cpp:32
542 #: ../src/gtk_p2dview_wnd.cpp:32 ../src/gtk_rcpview_wnd.cpp:32
543 msgid "Select whether this view is attached or in an independent window"
544 msgstr ""
545 "Përzgjedh nëse kjo pamje bashkangjitet apo është në një dritare të pavarur"
546
547 #: ../src/gtk_eldview_wnd.cpp:33 ../src/gtk_gpcview_wnd.cpp:33
548 #: ../src/gtk_p1dview_wnd.cpp:33 ../src/gtk_p2dview_wnd.cpp:33
549 #: ../src/gtk_rcpview_wnd.cpp:33
550 msgid "Delete View"
551 msgstr "Hiq Pamjen"
552
553 #: ../src/gtk_eldview_wnd.cpp:33 ../src/gtk_gpcview_wnd.cpp:33
554 #: ../src/gtk_p1dview_wnd.cpp:33 ../src/gtk_p2dview_wnd.cpp:33
555 #: ../src/gtk_rcpview_wnd.cpp:33
556 msgid "Delete this view"
557 msgstr "Hiq këtë pamje"
558
559 #: ../src/gtk_eldview_wnd.cpp:57
560 #, fuzzy, c-format
561 msgid "ERROR : Building popup-menu for gtk_eldview_wnd failed : %s"
562 msgstr "Dështoi ndërtimi i menysë geldv : %s"
563
564 #: ../src/gtk_file_export_dialog.cpp:41
565 msgid "file_export_dialog : glade_xml_get_widget() failed!!!"
566 msgstr "dialog_për eksportim_të skedarit : dështoi glade_xml_get_widget()!!!"
567
568 #: ../src/gtk_file_export_dialog.cpp:52 ../src/gtk_file_import_dialog.cpp:52
569 msgid "Automatic"
570 msgstr "Automatik"
571
572 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
573 #. handle the file selection...
574 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
575 #: ../src/gtk_file_export_dialog.cpp:131
576 msgid "Select a filename for export."
577 msgstr ""
578
579 #: ../src/gtk_file_import_dialog.cpp:41
580 msgid "file_import_dialog : glade_xml_get_widget() failed!!!"
581 msgstr "dialog_për importim_të skedarit : dështoi glade_xml_get_widget()!!!"
582
583 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
584 #. handle the file selection...
585 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
586 #: ../src/gtk_file_import_dialog.cpp:133
587 #, fuzzy
588 msgid "Select a file to import."
589 msgstr "Përzgjedh atome të vetme"
590
591 #: ../src/gtk_geomopt_dialog.cpp:41
592 #, fuzzy
593 msgid "WARNING : geomopt_dialog : glade_xml_get_widget() failed!!!"
594 msgstr "dialogu_geomopt : dështoi glade_xml_get_widget()!!!"
595
596 #: ../src/gtk_gpcview_wnd.cpp:57
597 #, fuzzy, c-format
598 msgid "ERROR : Building popup-menu for gtk_gpcview_wnd failed : %s"
599 msgstr "Dështoi ndërtimi i menysë ggpcv : %s"
600
601 #: ../src/gtk_main.cpp:45
602 msgid "open a file"
603 msgstr "hap një skedar"
604
605 #: ../src/gtk_main.cpp:46
606 msgid "import a file"
607 msgstr "importo një skedar"
608
609 #: ../src/gtk_main.cpp:61
610 msgid "- a GTK2 molecular modelling program"
611 msgstr "programi -a GTK2 për modelimin e molekulës "
612
613 #: ../src/gtk_main.cpp:84
614 #, fuzzy, c-format
615 msgid "OpenGL extension version - %d.%d\n"
616 msgstr ""
617 "\n"
618 "versioni shtesë OpenGL - %d.%d\n"
619
620 #: ../src/gtk_main.cpp:140
621 #, fuzzy
622 msgid "Sorry! The file import feature is disabled ; you need to recompile"
623 msgstr ""
624 "këkojmë falje! tipari i importimit të skedarit është çaktivizuar ; duhet ta "
625 "ripërpilohet"
626
627 #: ../src/gtk_main.cpp:141
628 msgid "libghemical with --enable-openbabel option in order to fix this."
629 msgstr ""
630 "libghemical me --aktivizo-openbabel opsionin me qëllim të rregullimit të "
631 "kësaj."
632
633 #: ../src/gtk_moldyn_dialog.cpp:42
634 #, fuzzy
635 msgid "WARNING : moldyn_dialog : glade_xml_get_widget() failed!!!"
636 msgstr "dialogu_moldyn : dështoi glade_xml_get_widget() !!!"
637
638 #. cout << "handler_ButtonBrowse() : ref = " << ref << endl;
639 #. handle the file selection...
640 #. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
641 #: ../src/gtk_moldyn_dialog.cpp:232
642 msgid "Select a Trajectory File."
643 msgstr "Përzgjedh një skedar të trajektores."
644
645 #: ../src/gtk_oglview_wnd.cpp:40
646 msgid "Open a file"
647 msgstr "Hap një skedar"
648
649 #: ../src/gtk_oglview_wnd.cpp:42
650 #, fuzzy
651 msgid "Import..."
652 msgstr "_Importo..."
653
654 #: ../src/gtk_oglview_wnd.cpp:42
655 #, fuzzy
656 msgid "Import other file formats using libopenbabel"
657 msgstr "Importo formate tjera të skedarit duke p;rdorur OpenBabel"
658
659 #: ../src/gtk_oglview_wnd.cpp:44
660 msgid "Save a file"
661 msgstr "Ruaj një skedar"
662
663 #: ../src/gtk_oglview_wnd.cpp:46
664 #, fuzzy
665 msgid "Export"
666 msgstr "_Eksporto"
667
668 #: ../src/gtk_oglview_wnd.cpp:46
669 msgid "Export other file formats using OpenBabel"
670 msgstr "Eksporto formate tjera të skedarit duke përdorur OpenBabel"
671
672 #: ../src/gtk_oglview_wnd.cpp:49
673 msgid "Close the file"
674 msgstr "Mbyll skedarin"
675
676 #: ../src/gtk_oglview_wnd.cpp:51
677 #, fuzzy
678 msgid "Extra Tools"
679 msgstr "_Vegla shtesë"
680
681 #. ^^^^^^^^^^^^^
682 #: ../src/gtk_oglview_wnd.cpp:53
683 #, fuzzy
684 msgid "Import PDB"
685 msgstr "_Importo PDB"
686
687 #: ../src/gtk_oglview_wnd.cpp:53
688 msgid "Import a PDB file"
689 msgstr "Importo një skedar PDB"
690
691 #. { "FileExtra2", NULL, N_("Import ???"), NULL, N_("Import a ??? file"), (GCallback) gtk_project::popup_FileExtra2 },
692 #: ../src/gtk_oglview_wnd.cpp:56
693 #, fuzzy
694 msgid "Select"
695 msgstr "_Përzgjedh"
696
697 #. ^^^^^^^^^^
698 #: ../src/gtk_oglview_wnd.cpp:58
699 #, fuzzy
700 msgid "Select All"
701 msgstr "Përzgjedh _të gjitha"
702
703 #: ../src/gtk_oglview_wnd.cpp:58
704 msgid "Select all atoms"
705 msgstr "Përzgjedh të gjitha atomet"
706
707 #: ../src/gtk_oglview_wnd.cpp:59
708 #, fuzzy
709 msgid "Select None"
710 msgstr "Përzgjedh _asnjë"
711
712 #: ../src/gtk_oglview_wnd.cpp:59
713 msgid "Select nothing"
714 msgstr "Mos përzgjedh asgjë"
715
716 #: ../src/gtk_oglview_wnd.cpp:60
717 #, fuzzy
718 msgid "Invert Selection"
719 msgstr "_Kthe përzgjedhjen anasjellts"
720
721 #: ../src/gtk_oglview_wnd.cpp:60
722 msgid "Invert the selection"
723 msgstr "Kthe përzgjedhjen anasjelltas"
724
725 #: ../src/gtk_oglview_wnd.cpp:61
726 #, fuzzy
727 msgid "Hide Selected"
728 msgstr "_Fshih të përzgjedhurat"
729
730 #: ../src/gtk_oglview_wnd.cpp:61
731 msgid "Hide all selected atoms"
732 msgstr "Fshih të gjitha atomet e përzgjedhura"
733
734 #: ../src/gtk_oglview_wnd.cpp:62
735 #, fuzzy
736 msgid "Show Selected"
737 msgstr "_Shfaq të përzgjedhurat"
738
739 #: ../src/gtk_oglview_wnd.cpp:62
740 msgid "Show all selected atoms"
741 msgstr "Shfaq të gjitha atomet e përzgjedhura"
742
743 #: ../src/gtk_oglview_wnd.cpp:63
744 #, fuzzy
745 msgid "Lock Selected"
746 msgstr "_Blloko të përzgjedhurat"
747
748 #: ../src/gtk_oglview_wnd.cpp:63
749 msgid "Lock all selected atoms"
750 msgstr "Blloko të gjitha atomet e përzgjedhura"
751
752 #: ../src/gtk_oglview_wnd.cpp:64
753 #, fuzzy
754 msgid "Unlock Selected"
755 msgstr "_Çblloko të përzgjedhurat"
756
757 #: ../src/gtk_oglview_wnd.cpp:64
758 msgid "Unlock all selected atoms"
759 msgstr "Çblloko të gjitha atomet e përzgjedhura"
760
761 #: ../src/gtk_oglview_wnd.cpp:65
762 #, fuzzy
763 msgid "Delete Selected"
764 msgstr "_Hiq të përzgjedhurat"
765
766 #: ../src/gtk_oglview_wnd.cpp:65
767 msgid "Delete all selected atoms"
768 msgstr "Hiq të gjitha atomet e përzgjedhura"
769
770 #: ../src/gtk_oglview_wnd.cpp:67
771 #, fuzzy
772 msgid "Selection Mode"
773 msgstr "_Përzgjedh mënyrën"
774
775 #. ^^^^^^^^^^^^^^
776 #. todo : convert these into toggle items so that the setting from project is show in each of the graphics views...
777 #: ../src/gtk_oglview_wnd.cpp:70
778 #, fuzzy
779 msgid "Select Atoms"
780 msgstr "Përzgjedh _Atome"
781
782 #: ../src/gtk_oglview_wnd.cpp:70
783 msgid "Select single atoms"
784 msgstr "Përzgjedh atome të vetme"
785
786 #: ../src/gtk_oglview_wnd.cpp:71
787 #, fuzzy
788 msgid "Select Residues"
789 msgstr "Përzgjedh _Radikale"
790
791 #: ../src/gtk_oglview_wnd.cpp:71
792 msgid "Select residues"
793 msgstr "Përzgjedh radikale"
794
795 #: ../src/gtk_oglview_wnd.cpp:72
796 #, fuzzy
797 msgid "Select Chains"
798 msgstr "Përzgjedh _zinxhirë"
799
800 #: ../src/gtk_oglview_wnd.cpp:72
801 msgid "Select chains"
802 msgstr "Përzgjedh zinxhirë"
803
804 #: ../src/gtk_oglview_wnd.cpp:73
805 #, fuzzy
806 msgid "Select Molecules"
807 msgstr "Përzgjedh _Molekula"
808
809 #: ../src/gtk_oglview_wnd.cpp:73
810 msgid "Select molecules"
811 msgstr "Përzgjedh molekula"
812
813 #: ../src/gtk_oglview_wnd.cpp:75
814 #, fuzzy
815 msgid "Render"
816 msgstr "_Pasqyro"
817
818 #. ^^^^^^^^^^
819 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
820 #: ../src/gtk_oglview_wnd.cpp:78
821 msgid "Quick Update Mode"
822 msgstr "Mënyra për përditësim të shpejtë"
823
824 #: ../src/gtk_oglview_wnd.cpp:78
825 msgid ""
826 "Quick Update Mode switches into Wireframe rendering mode when doing "
827 "interactive work"
828 msgstr ""
829 "Mënyra për përditësim të shpejtë kyçet në mënyrën për pasqyrim WireFrame kur "
830 "kryeni punë ndrëvepruese"
831
832 #: ../src/gtk_oglview_wnd.cpp:80
833 #, fuzzy
834 msgid "Views"
835 msgstr "_Pamje"
836
837 #. ^^^^^^^^^^^^^
838 #: ../src/gtk_oglview_wnd.cpp:82
839 msgid "Delete This View"
840 msgstr "Hiq këtë Pamje"
841
842 #: ../src/gtk_oglview_wnd.cpp:82
843 msgid "Delete this graphics view"
844 msgstr "Hiq këtë pamje të grafiqeve"
845
846 #: ../src/gtk_oglview_wnd.cpp:83
847 msgid "Save a CRD-set (experimental)"
848 msgstr "Ruaj grupën-CRD (eksperimentale)"
849
850 #: ../src/gtk_oglview_wnd.cpp:83
851 msgid "Save a coordinate set"
852 msgstr "Ruaj një grupë të koordinatave"
853
854 #: ../src/gtk_oglview_wnd.cpp:84
855 msgid "Superimpose CRD-sets (experimental)"
856 msgstr "Mbingarko grupet-CRD (elsperimentale)"
857
858 #: ../src/gtk_oglview_wnd.cpp:84
859 msgid "Superimpose coordinate sets"
860 msgstr "Mbingarko grupet e koordinatave"
861
862 #: ../src/gtk_oglview_wnd.cpp:86
863 #, fuzzy
864 msgid "Create"
865 msgstr "_Krijo"
866
867 #. ^^^^^^^^^^^^^^^^^^^
868 #: ../src/gtk_oglview_wnd.cpp:88
869 msgid "New Window"
870 msgstr "Dritare e Re"
871
872 #: ../src/gtk_oglview_wnd.cpp:88
873 msgid "Create a new view using the current camera"
874 msgstr "Krijo një pamje të re duke përdorur aparatin aktual për fotografim"
875
876 #: ../src/gtk_oglview_wnd.cpp:89
877 msgid "New Camera"
878 msgstr "Aparat i ri për fotografim"
879
880 #: ../src/gtk_oglview_wnd.cpp:89
881 msgid "Create a new view using a new camera"
882 msgstr "Krijo një pamje të re duke përdorur aparatin e ri për fotografim"
883
884 #: ../src/gtk_oglview_wnd.cpp:90
885 msgid "Energy-level Diagram"
886 msgstr "Diagrami për nivelin e energjisë"
887
888 #: ../src/gtk_oglview_wnd.cpp:90
889 msgid "Create a new energy-level diagram view"
890 msgstr "Krijo një pamje të diagramit për nivelit të energjisë"
891
892 #: ../src/gtk_oglview_wnd.cpp:91
893 msgid "Secondary Structure Constraints"
894 msgstr "Shtrëngimet e Strukturës Dytësore"
895
896 #: ../src/gtk_oglview_wnd.cpp:91
897 msgid "Create a new secondary structure constraints view"
898 msgstr "Krijo pamje të shtrëngimeve të strukturës dytësore"
899
900 #: ../src/gtk_oglview_wnd.cpp:93
901 #, fuzzy
902 msgid "Lights"
903 msgstr "_Drita"
904
905 #. ^^^^^^^^^^^^^^
906 #: ../src/gtk_oglview_wnd.cpp:95
907 msgid "Create New Light"
908 msgstr "Krijo dritë tjetër"
909
910 #: ../src/gtk_oglview_wnd.cpp:95
911 msgid "Create a new light object"
912 msgstr "Krijo një objekt të dritës së re"
913
914 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
915 #: ../src/gtk_oglview_wnd.cpp:97
916 msgid "Enable Local Lights"
917 msgstr "Aktivizo dritata lokale"
918
919 #: ../src/gtk_oglview_wnd.cpp:97
920 msgid "Switch on/off the local light objects"
921 msgstr "Kyç/çkyç objektet e dritës lokale"
922
923 #: ../src/gtk_oglview_wnd.cpp:98
924 msgid "Enable Global Lights"
925 msgstr "Aktivizo drita globale"
926
927 #: ../src/gtk_oglview_wnd.cpp:98
928 msgid "Switch on/off the global light objects"
929 msgstr "Kyç/çkyç objekte nga drita globale "
930
931 #: ../src/gtk_oglview_wnd.cpp:100
932 #, fuzzy
933 msgid "Render Mode"
934 msgstr "_Mynra e pasqyrimit"
935
936 #. ^^^^^^^^^^^^^^
937 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
938 #: ../src/gtk_oglview_wnd.cpp:103
939 msgid "Ball & Stick"
940 msgstr "Top & Shkop"
941
942 #: ../src/gtk_oglview_wnd.cpp:103
943 msgid "Display atoms and bonds using Ball & Stick mode"
944 msgstr "Afisho atome dhe lidhje duke përdorur mënyrën Top & Shkop"
945
946 #: ../src/gtk_oglview_wnd.cpp:104
947 msgid "van der Waals"
948 msgstr "van der Waals"
949
950 #: ../src/gtk_oglview_wnd.cpp:104
951 msgid "Display atoms and bonds using van der Waals mode"
952 msgstr "Afisho atome dhe lidhje duke përdorur mënyrën van der Waals"
953
954 #: ../src/gtk_oglview_wnd.cpp:105
955 msgid "Cylinders"
956 msgstr "Cilindra"
957
958 #: ../src/gtk_oglview_wnd.cpp:105
959 msgid "Display atoms and bonds using Cylinders mode"
960 msgstr "Afisho atome dhe lidhje duke përdoruru mënyrën Cilindra"
961
962 #: ../src/gtk_oglview_wnd.cpp:106
963 msgid "Wireframe"
964 msgstr "WireFrame"
965
966 #: ../src/gtk_oglview_wnd.cpp:106
967 msgid "Display atoms and bonds using Wireframe mode"
968 msgstr "Afisho atome dhe lidhje duke përdorur mënyrën WireFrame"
969
970 #: ../src/gtk_oglview_wnd.cpp:107 ../src/gtk_oglview_wnd.cpp:128
971 msgid "Nothing"
972 msgstr "Asgjë"
973
974 #: ../src/gtk_oglview_wnd.cpp:107
975 msgid "Do not display atoms and bonds"
976 msgstr "Mos afisho atome dhe lidhje"
977
978 #: ../src/gtk_oglview_wnd.cpp:109
979 #, fuzzy
980 msgid "Color Mode"
981 msgstr "Mënyra _Ngjyros"
982
983 #: ../src/gtk_oglview_wnd.cpp:112
984 msgid "Color atoms and bonds by element"
985 msgstr "Ngjyros atome dhe lidhje sipas elementit"
986
987 #: ../src/gtk_oglview_wnd.cpp:113 ../src/gtk_oglview_wnd.cpp:127
988 msgid "Sec-Struct"
989 msgstr "Strukt-Dyt"
990
991 #: ../src/gtk_oglview_wnd.cpp:113
992 msgid "Color atoms and bonds by secondary-structure state"
993 msgstr "Ngjyros atome dhe lidhje sipas gjendjes strukturë-dytësore"
994
995 #: ../src/gtk_oglview_wnd.cpp:114
996 msgid "Hydrophobicity"
997 msgstr "Hidrofobicitet"
998
999 #: ../src/gtk_oglview_wnd.cpp:114
1000 msgid "Color atoms and bonds by hydrophobicity (experimental)"
1001 msgstr "Ngjyros atome dhe lidhje sipas hidrofobicitetit (eksperimentale)"
1002
1003 #: ../src/gtk_oglview_wnd.cpp:116
1004 #, fuzzy
1005 msgid "Label Mode"
1006 msgstr "Mënyra _Emërto"
1007
1008 #. ^^^^^^^^^^^^^
1009 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
1010 #: ../src/gtk_oglview_wnd.cpp:119
1011 msgid "Index"
1012 msgstr "Tregues"
1013
1014 #: ../src/gtk_oglview_wnd.cpp:119
1015 msgid "Label atoms by atom index"
1016 msgstr "Emërto atome sipas treguesit të atomit"
1017
1018 #: ../src/gtk_oglview_wnd.cpp:120
1019 msgid "Label atoms by element"
1020 msgstr "Emërto atome sipas elementit"
1021
1022 #: ../src/gtk_oglview_wnd.cpp:121
1023 msgid "Formal Charge"
1024 msgstr "Ngarkesë formale"
1025
1026 #: ../src/gtk_oglview_wnd.cpp:121
1027 msgid "Label atoms by formal charge"
1028 msgstr "Emërto atome sipas ngarkesës formale"
1029
1030 #: ../src/gtk_oglview_wnd.cpp:122
1031 msgid "Partial Charge"
1032 msgstr "Ngarkesë e pjesshme"
1033
1034 #: ../src/gtk_oglview_wnd.cpp:122
1035 msgid "Label atoms by partial charge"
1036 msgstr "Emërto atome sipas ngarkesës së pjesshme"
1037
1038 #: ../src/gtk_oglview_wnd.cpp:123
1039 msgid "Atom Type"
1040 msgstr "Tipi i atomeve"
1041
1042 #: ../src/gtk_oglview_wnd.cpp:123
1043 msgid "Label atoms by atom type"
1044 msgstr "Emërto atome sipas tipit të atomeve"
1045
1046 #: ../src/gtk_oglview_wnd.cpp:124
1047 msgid "Builder ID"
1048 msgstr "ID e ndërtuesit"
1049
1050 #: ../src/gtk_oglview_wnd.cpp:124
1051 msgid "Label atoms by sequence builder ID"
1052 msgstr "Emërto atome sipas ID së ndërtuesit e vargëzimit"
1053
1054 #: ../src/gtk_oglview_wnd.cpp:125
1055 msgid "Bond Type"
1056 msgstr "Tipi i lidhjes"
1057
1058 #: ../src/gtk_oglview_wnd.cpp:125
1059 msgid "Label bonds by bond type"
1060 msgstr "Emërto lidhje sipas tipit të lidhjes"
1061
1062 #: ../src/gtk_oglview_wnd.cpp:126
1063 msgid "Residue"
1064 msgstr "Radikal"
1065
1066 #: ../src/gtk_oglview_wnd.cpp:126
1067 msgid "Label by residue"
1068 msgstr "Emërto sipas radikalit"
1069
1070 #: ../src/gtk_oglview_wnd.cpp:127
1071 msgid "Label by secondary structure state"
1072 msgstr "Emërto sipas gjendjes së strukturës së dytë"
1073
1074 #: ../src/gtk_oglview_wnd.cpp:128
1075 msgid "Do not show labels"
1076 msgstr "Mos shfaq emërtime"
1077
1078 #: ../src/gtk_oglview_wnd.cpp:130
1079 #, fuzzy
1080 msgid "Projection"
1081 msgstr "_Projektim"
1082
1083 #. ^^^^^^^^^^^^^^^^^^
1084 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
1085 #: ../src/gtk_oglview_wnd.cpp:133
1086 msgid "Orthographic"
1087 msgstr "Ortografik"
1088
1089 #: ../src/gtk_oglview_wnd.cpp:133
1090 msgid "Use orthographic projection"
1091 msgstr "Përdor projektime ortografike"
1092
1093 #: ../src/gtk_oglview_wnd.cpp:134
1094 msgid "Perspective"
1095 msgstr "Perspektivë"
1096
1097 #: ../src/gtk_oglview_wnd.cpp:134
1098 msgid "Use perspective projection"
1099 msgstr "Përdor projektimin perspektivë"
1100
1101 #. todo : convert these into toggle items so that the local setting is show in each of the graphics views...
1102 #. todo : add more color combinations ; red/green red/blue ; any others needed???
1103 #: ../src/gtk_oglview_wnd.cpp:137
1104 msgid "Red-Blue Stereo"
1105 msgstr "Stereo Kuq-Kaltër"
1106
1107 #: ../src/gtk_oglview_wnd.cpp:137
1108 msgid "Use red-blue stereo mode"
1109 msgstr "Përdor mënyrën stereo kuq-kaltër"
1110
1111 #: ../src/gtk_oglview_wnd.cpp:138
1112 msgid "Relaxed-Eye Stereo"
1113 msgstr "Stereo Sy-i relaksuar"
1114
1115 #: ../src/gtk_oglview_wnd.cpp:138
1116 msgid "Use relaxed-eye stereo mode"
1117 msgstr "Përdor mënyrën stereo sy-ipushuar"
1118
1119 #: ../src/gtk_oglview_wnd.cpp:140
1120 #, fuzzy
1121 msgid "Objects"
1122 msgstr "_Objekte"
1123
1124 #. ^^^^^^^^^^^
1125 #: ../src/gtk_oglview_wnd.cpp:142
1126 msgid "Ribbon"
1127 msgstr "Ribbon"
1128
1129 #: ../src/gtk_oglview_wnd.cpp:142
1130 msgid "Create a Ribbon object for displaying peptides/proteins"
1131 msgstr "Krijo një objekt Ribbon për të afishuar peptide/proteine"
1132
1133 #: ../src/gtk_oglview_wnd.cpp:143
1134 msgid "ESP-plane"
1135 msgstr "ESP-plani"
1136
1137 #: ../src/gtk_oglview_wnd.cpp:143
1138 msgid "Create an ESP-plane object"
1139 msgstr "Krijo një objekt ESP-plan"
1140
1141 #: ../src/gtk_oglview_wnd.cpp:144
1142 msgid "volume-rendered ESP"
1143 msgstr "vëllimi-i pasqyruar ESP"
1144
1145 #: ../src/gtk_oglview_wnd.cpp:144
1146 msgid "Create a volume-rendered ESP object"
1147 msgstr "Krijo një objekt vëllim-i pasqyruar ESP"
1148
1149 #: ../src/gtk_oglview_wnd.cpp:145
1150 msgid "ESP-surface"
1151 msgstr "ESP-hapësirë"
1152
1153 #: ../src/gtk_oglview_wnd.cpp:145
1154 msgid "Create an ESP-surface object"
1155 msgstr "Krijo një objekt të ESP-hapësirë"
1156
1157 #: ../src/gtk_oglview_wnd.cpp:146
1158 msgid "ESP-colored vdW-surface"
1159 msgstr "ESP-e ngjyrosur vdW-hapësirë"
1160
1161 #: ../src/gtk_oglview_wnd.cpp:146
1162 msgid "Create an ESP-colored vdW-surface object"
1163 msgstr "Krijo një objekt ESP-e gnjyrosur vdW-hapësirë"
1164
1165 #: ../src/gtk_oglview_wnd.cpp:147
1166 msgid "Electron density plane"
1167 msgstr "Plani për dendësinë e elektronit"
1168
1169 #: ../src/gtk_oglview_wnd.cpp:147
1170 msgid "Create an Electron density plane object"
1171 msgstr "Krijo një objekt për planin e dendësisë së elektronit"
1172
1173 #: ../src/gtk_oglview_wnd.cpp:148
1174 msgid "Electron density surface"
1175 msgstr "Hapësirë e dendësisë së elektronit"
1176
1177 #: ../src/gtk_oglview_wnd.cpp:148
1178 msgid "Create an Electron density surface object"
1179 msgstr "Krijo një objekt për hapësirën e dendësisë së elektronit"
1180
1181 #: ../src/gtk_oglview_wnd.cpp:149
1182 msgid "Molecular orbital plane"
1183 msgstr "Plani molekular i orbitales"
1184
1185 #: ../src/gtk_oglview_wnd.cpp:149
1186 msgid "Create a Molecular orbital plane object"
1187 msgstr "Krijo një objekt me planin molekular të orbitales"
1188
1189 #: ../src/gtk_oglview_wnd.cpp:150
1190 msgid "Molecular orbital volume"
1191 msgstr "Vëllimi molekular i orbitales"
1192
1193 #: ../src/gtk_oglview_wnd.cpp:150
1194 msgid "Create a Molecular orbital volume object"
1195 msgstr "Krijo një objekt për vëllimin molekular të orbitales"
1196
1197 #: ../src/gtk_oglview_wnd.cpp:151
1198 msgid "Molecular orbital surface"
1199 msgstr "Hapësira molakulare e orbitales"
1200
1201 #: ../src/gtk_oglview_wnd.cpp:151
1202 msgid "Create a Molecular orbital surface object"
1203 msgstr "Krijo një objekt për hapësirën molekulare të orbitales"
1204
1205 #: ../src/gtk_oglview_wnd.cpp:152
1206 msgid "MO-density plane"
1207 msgstr "Plani i dendësisë-i MO"
1208
1209 #: ../src/gtk_oglview_wnd.cpp:152
1210 msgid "Create an MO-density plane object"
1211 msgstr "Krijo një objekt për planin e dendësisë-së MO"
1212
1213 #: ../src/gtk_oglview_wnd.cpp:153
1214 msgid "MO-density volume"
1215 msgstr "vëllimi i dendësisë-së MO"
1216
1217 #: ../src/gtk_oglview_wnd.cpp:153
1218 msgid "Create an MO-density volume object"
1219 msgstr "Krijo një objekt për vëllimin e dendësisë-së MO"
1220
1221 #: ../src/gtk_oglview_wnd.cpp:154
1222 msgid "MO-density surface"
1223 msgstr "hapësira e densëisë-së MO"
1224
1225 #: ../src/gtk_oglview_wnd.cpp:154
1226 msgid "Create an MO-density surface object"
1227 msgstr "Krijo një objekt për hapësirën e dendësisë-së MO"
1228
1229 #: ../src/gtk_oglview_wnd.cpp:155
1230 msgid "Delete Current Object"
1231 msgstr "Hiq objektin aktual"
1232
1233 #: ../src/gtk_oglview_wnd.cpp:155
1234 msgid "Delete the currently selected object"
1235 msgstr "Hiq objektin aktualisht të përzgjedhur"
1236
1237 #: ../src/gtk_oglview_wnd.cpp:157
1238 #, fuzzy
1239 msgid "Compute"
1240 msgstr "_Njehso"
1241
1242 #. ^^^^^^^^^^^
1243 #: ../src/gtk_oglview_wnd.cpp:159
1244 msgid "Setup..."
1245 msgstr "Parametrizo..."
1246
1247 #: ../src/gtk_oglview_wnd.cpp:160
1248 msgid "Energy"
1249 msgstr "Energjia"
1250
1251 #: ../src/gtk_oglview_wnd.cpp:161
1252 msgid "Geometry Optimization..."
1253 msgstr "Optimizimi i gjeometrisë..."
1254
1255 #: ../src/gtk_oglview_wnd.cpp:162
1256 msgid "Molecular Dynamics..."
1257 msgstr "Forca lëvizëse molekulare..."
1258
1259 #: ../src/gtk_oglview_wnd.cpp:163
1260 msgid "Random Conformational Search..."
1261 msgstr "Hulumtim struktororë të rastësishëm..."
1262
1263 #: ../src/gtk_oglview_wnd.cpp:164
1264 msgid "Systematic Conformational Search..."
1265 msgstr "Hulumtim strukturorë i rregullt..."
1266
1267 #: ../src/gtk_oglview_wnd.cpp:165
1268 msgid "Monte Carlo Search..."
1269 msgstr "Hulumtim Monte Carlo..."
1270
1271 #: ../src/gtk_oglview_wnd.cpp:166
1272 msgid "Plot Energy vs. 1 Torsion Angle..."
1273 msgstr "Energjia e vizatimit kundër 1 Këndi të përdredhjes..."
1274
1275 #: ../src/gtk_oglview_wnd.cpp:167
1276 msgid "Plot Energy vs. 2 Torsion Angles..."
1277 msgstr "Energjia e vizatimit kundër 2 Këndeve të përdredhjes..."
1278
1279 #: ../src/gtk_oglview_wnd.cpp:168
1280 msgid "Population Analysis (ESP)"
1281 msgstr "Analiza e popullatës (ESP)"
1282
1283 #: ../src/gtk_oglview_wnd.cpp:169
1284 msgid "Transition State Search..."
1285 msgstr "Hulumtim për gjendjen e ndryshimit..."
1286
1287 #: ../src/gtk_oglview_wnd.cpp:170
1288 msgid "Stationary State Search..."
1289 msgstr "Hulumtim për gjendjen e qetë..."
1290
1291 #: ../src/gtk_oglview_wnd.cpp:171
1292 msgid "Formula"
1293 msgstr "Formula"
1294
1295 #: ../src/gtk_oglview_wnd.cpp:176
1296 msgid "MD Trajectory Viewer..."
1297 msgstr "Shikues i MD trajektores..."
1298
1299 #: ../src/gtk_oglview_wnd.cpp:177
1300 msgid "Set Current Orbital"
1301 msgstr "Vendos orbitalen aktuale"
1302
1303 #: ../src/gtk_oglview_wnd.cpp:179
1304 #, fuzzy
1305 msgid "Build"
1306 msgstr "_Ndërto"
1307
1308 #. ^^^^^^^^^
1309 #: ../src/gtk_oglview_wnd.cpp:181
1310 msgid "Solvate Box..."
1311 msgstr "Kutia Solvate..."
1312
1313 #: ../src/gtk_oglview_wnd.cpp:182
1314 msgid "Solvate Sphere..."
1315 msgstr "Sfera Solvate..."
1316
1317 #: ../src/gtk_oglview_wnd.cpp:183
1318 msgid "Sequence Builder (amino)..."
1319 msgstr "Ndërtues i vargëzimeve (amino)..."
1320
1321 #: ../src/gtk_oglview_wnd.cpp:184
1322 msgid "Sequence Builder (nucleic)..."
1323 msgstr "Ndërtues i vargëzimeve (nukleik)..."
1324
1325 #: ../src/gtk_oglview_wnd.cpp:185
1326 msgid "Center"
1327 msgstr "Qendra"
1328
1329 #: ../src/gtk_oglview_wnd.cpp:186
1330 msgid "Zap All"
1331 msgstr "Prish të gjitha"
1332
1333 #: ../src/gtk_oglview_wnd.cpp:188
1334 #, fuzzy
1335 msgid "Hydrogens"
1336 msgstr "_Hidrogjene"
1337
1338 #. ^^^^^^^^^^^^^^^^^^
1339 #: ../src/gtk_oglview_wnd.cpp:190
1340 msgid "Add"
1341 msgstr "Shto"
1342
1343 #: ../src/gtk_oglview_wnd.cpp:191
1344 msgid "Remove"
1345 msgstr "Largo"
1346
1347 #: ../src/gtk_oglview_wnd.cpp:193
1348 msgid "Enter a Command..."
1349 msgstr "Shkruaj komandë..."
1350
1351 #: ../src/gtk_oglview_wnd.cpp:380
1352 #, c-format
1353 msgid "ERROR : Building popup-menu for gtk_oglview_wnd failed : %s"
1354 msgstr ""
1355
1356 #: ../src/gtk_oglview_wnd.cpp:630
1357 msgid "sets 0 <-> "
1358 msgstr "grupet 0 <->"
1359
1360 #: ../src/gtk_oglview_wnd.cpp:630
1361 msgid " RMS = "
1362 msgstr " RMS = "
1363
1364 #: ../src/gtk_oglview_wnd.cpp:636
1365 msgid "average RMS = "
1366 msgstr "RMS = mesatare"
1367
1368 #: ../src/gtk_p1dview_wnd.cpp:57
1369 #, fuzzy, c-format
1370 msgid "ERROR : Building popup-menu for gtk_p1dview_wnd failed : %s"
1371 msgstr "Dështoi ndërtimi i menysë gp1dv : %s"
1372
1373 #: ../src/gtk_p2dview_wnd.cpp:57
1374 #, fuzzy, c-format
1375 msgid "ERROR : Building popup-menu for gtk_p2dview_wnd failed : %s"
1376 msgstr "Dështoi ndërtimi i menysë gp2dv : %s"
1377
1378 #: ../src/gtk_progress_dialog.cpp:39
1379 #, fuzzy
1380 msgid "WARNING : progress_dialog : glade_xml_get_widget() failed!!!"
1381 msgstr "dialogu-i përparimit : dështoi glade_xml_get_widget() !!!"
1382
1383 #: ../src/gtk_project.cpp:81
1384 msgid "A new project created.\n"
1385 msgstr "U krijua një projekt i ri.\n"
1386
1387 #: ../src/gtk_project.cpp:184
1388 msgid "Thread creation failed : GeomOpt"
1389 msgstr "Dështoi krijimi i pjesës së procesit : GeomOpt"
1390
1391 #: ../src/gtk_project.cpp:199 ../src/res_gtk/gtk_geomopt_dialog.glade.h:2
1392 msgid "Geometry Optimization"
1393 msgstr "Optimizimi i Gjeometrisë"
1394
1395 #: ../src/gtk_project.cpp:234
1396 msgid "Thread creation failed : MolDyn"
1397 msgstr "Dështoi krijimi i pjesës së procesit : MolDyn"
1398
1399 #: ../src/gtk_project.cpp:249 ../src/res_gtk/gtk_moldyn_dialog.glade.h:5
1400 msgid "Molecular Dynamics"
1401 msgstr "Forca lëvizëse molekulare"
1402
1403 #: ../src/gtk_project.cpp:273
1404 msgid "Thread creation failed : RandomSearch"
1405 msgstr "Dështoi krijimi i pjesës së procesit : Hulumtim i rastësishëm"
1406
1407 #: ../src/gtk_project.cpp:288
1408 msgid "Random Search"
1409 msgstr "Hulumtim i rastësishëm"
1410
1411 #: ../src/gtk_project.cpp:776 ../src/gtk_project.cpp:794
1412 #: ../src/gtk_project.cpp:812 ../src/gtk_project.cpp:830
1413 #: ../src/gtk_project.cpp:848 ../src/gtk_project.cpp:866
1414 #: ../src/gtk_project.cpp:884 ../src/gtk_project.cpp:902
1415 #: ../src/gtk_project.cpp:920 ../src/gtk_project.cpp:938
1416 #: ../src/gtk_project.cpp:956 ../src/gtk_project.cpp:974
1417 msgid "Please calculate energy first!"
1418 msgstr "Ju lutem logarit së pari energjinë!"
1419
1420 #: ../src/gtk_project.cpp:1075
1421 msgid ""
1422 "PLEASE NOTE!\n"
1423 "The command string, which is displayed in the next dialog, is incomplete.\n"
1424 "You should replace the letters A-D with atom indices that define the "
1425 "torsion.\n"
1426 "\n"
1427 "ALSO NOTE: structure refinement is always done using molecular mechanics "
1428 "(optsteps)."
1429 msgstr ""
1430 "JU LUTEM VINI RE!\n"
1431 "Vargu komandues , i cilli afishohet në dialogun tjetër, nuk është i plotë.\n"
1432 "Duhet të zëvendësoni shkronjat A-D me treguesit e atomeve që pëcaktojnë "
1433 "përdredhjen.\n"
1434 "\n"
1435 "GJITHASHTU VINI RE: Përmirësimi i strukturës gjithmonë bëhet duke përdorur "
1436 "mekanikat molekulare (opthapat)."
1437
1438 #: ../src/gtk_project.cpp:1088
1439 msgid ""
1440 "PLEASE NOTE!\n"
1441 "The command string, which is displayed in the next dialog, is incomplete.\n"
1442 "You should replace the letters A-D and I-L with atom indices that define the "
1443 "torsions.\n"
1444 "\n"
1445 "ALSO NOTE: structure refinement is always done using molecular mechanics "
1446 "(optsteps)."
1447 msgstr ""
1448 "JU LUTEM VINI RE!\n"
1449 "Vargu komandues, i cili afishohet në dialogun tjetër, nuk është i plotë.\n"
1450 "Duhet të zëvendësoni shkronjat A-D dhe I-L me treguesit e atomeve që "
1451 "përcaktojnë përdredhjet.\n"
1452 "GJITHASHTU VINI RE : Përmirësimi i strukturës bëhet gjithmonë duke përdorur "
1453 "mekanikat molekulare (opthapat). "
1454
1455 #: ../src/gtk_project.cpp:1162
1456 msgid "ERROR"
1457 msgstr "GABIM"
1458
1459 #: ../src/gtk_project.cpp:1173
1460 #, fuzzy
1461 msgid "Trajectory file already open?"
1462 msgstr "Trajektorja tashmë u hap?!?!?!"
1463
1464 #: ../src/gtk_project.cpp:1182
1465 msgid ""
1466 "PLEASE NOTE!\n"
1467 "The command string, which is displayed in the next dialog, is incomplete.\n"
1468 "You should replace the letter X with the orbital index that will become the "
1469 "current orbital."
1470 msgstr ""
1471 "JU LUTEM VINI RE!\n"
1472 "Vargu komandues, i cili është afishuar në dialogun tjetër, nuk është i "
1473 "plotë.\n"
1474 "Duhet të zëvendësoni shkronjën X me treguesin e orbitales i cili do të bëhet "
1475 "orbitalja aktuale."
1476
1477 #: ../src/gtk_project.cpp:1237
1478 msgid ""
1479 "PLEASE NOTE!\n"
1480 "The command string, which is displayed in the next dialog, is incomplete.\n"
1481 "You should replace the default sequence AAA with the sequence to be built."
1482 msgstr ""
1483 "JU LUTEM VINI RE!\n"
1484 "Vargu komandues, i cili afishohet në dialogun tjetër, nuk është i plotë.\n"
1485 "Duhet ta zëvendësoni vargëzimin e parazgjedhur AAA me një vargëzim që duhet "
1486 "të ndërtohet."
1487
1488 #: ../src/gtk_project.cpp:1250
1489 msgid ""
1490 "PLEASE NOTE!\n"
1491 "The command string, which is displayed in the next dialog, is incomplete.\n"
1492 "You should replace the default sequence AGTCaguc with the sequence to be "
1493 "built."
1494 msgstr ""
1495 "JU LUTEM VINI RE!\n"
1496 "Vargu komandues, i cili afishohet në dialogun tjetër, nuk është i plotë.\n"
1497 "Duhet të zëvendësoni vargëzimin e parazgjedhur AGTCagus me vargëzimin që "
1498 "duhet të ndërtohet."
1499
1500 #: ../src/gtk_project.cpp:1287
1501 msgid "Are you sure you want to clear everything?"
1502 msgstr "A jeni të sigurt që doni të fshini gjithçka?"
1503
1504 #: ../src/gtk_rcpview_wnd.cpp:57
1505 #, fuzzy, c-format
1506 msgid "ERROR : Building popup-menu for gtk_rcpview_wnd failed : %s"
1507 msgstr "Dështoi ndërtimi i menysë grcpv : %s"
1508
1509 #: ../src/gtk_setup_dialog.cpp:49
1510 #, fuzzy
1511 msgid "WARNING : setup_dialog : glade_xml_get_widget() failed!!!"
1512 msgstr "stereo_dialog : dështoi glade_xml_get_widget() !!!"
1513
1514 #: ../src/gtk_setup_dialog.cpp:358
1515 msgid "Changed the Setup for calculations "
1516 msgstr "Ndrysho Parametrizimin për logaritjet "
1517
1518 #: ../src/gtk_setup_dialog.cpp:359 ../src/project.cpp:4038
1519 msgid "(setup = "
1520 msgstr "(parametrizim = "
1521
1522 #: ../src/gtk_setup_dialog.cpp:375 ../src/project.cpp:4039
1523 msgid ", engine = "
1524 msgstr ", vegla = "
1525
1526 #. request a modal window.
1527 #: ../src/gtk_simple_dialogs.cpp:49
1528 msgid "Set Current Element"
1529 msgstr "Vendos element aktual"
1530
1531 #: ../src/gtk_simple_dialogs.cpp:113
1532 #, fuzzy
1533 msgid "Current element is now "
1534 msgstr "elementi aktual tani është"
1535
1536 #. request a modal window.
1537 #: ../src/gtk_simple_dialogs.cpp:133
1538 msgid "Set Current Bondtype"
1539 msgstr "Vendos tipin aktual të lidhjes"
1540
1541 #: ../src/gtk_simple_dialogs.cpp:184
1542 #, fuzzy
1543 msgid "Current bondtype is now "
1544 msgstr "tipi aktual i lidhjes tani është"
1545
1546 #: ../src/gtk_simple_dialogs.cpp:449
1547 msgid ""
1548 "This alternative PDB reader is designed to remove any gaps that might\n"
1549 "exist in the structure data. Therefore the sequence might be altered!"
1550 msgstr ""
1551 "Ky lexues alternativ PDB është bërë për të larguar ndonjë çarje që mund\n"
1552 "të ekzistojë në të dhënat strukturore. Për këtë arësye vargëzimi mund të "
1553 "ndrrohet!"
1554
1555 #. request a modal window.
1556 #: ../src/gtk_simple_dialogs.cpp:482
1557 msgid "Command Interpreter"
1558 msgstr "Përkthyesi i komandës"
1559
1560 #: ../src/gtk_simple_dialogs.cpp:503
1561 msgid "Execute"
1562 msgstr ""
1563
1564 #: ../src/gtk_simple_dialogs.cpp:506
1565 msgid "Cancel"
1566 msgstr "Anulo"
1567
1568 #: ../src/gtk_stereo_dialog.cpp:37
1569 #, fuzzy
1570 msgid "WARNING : stereo_dialog : glade_xml_get_widget() failed!!!"
1571 msgstr "stereo_dialog : dështoi glade_xml_get_widget() !!!"
1572
1573 #: ../src/gtk_trajview_dialog.cpp:39
1574 #, fuzzy
1575 msgid "WARNING : trajview_dialog : glade_xml_get_widget() failed!!!"
1576 msgstr ""
1577 "dialogu_për shikimin e trajektores : dështoi glade_xml_get_widget() !!!"
1578
1579 #: ../src/gtk_trajview_dialog.cpp:82 ../src/gtk_trajview_dialog.cpp:102
1580 #: ../src/gtk_trajview_dialog.cpp:136 ../src/gtk_trajview_dialog.cpp:151
1581 msgid "frame = "
1582 msgstr "korniza = "
1583
1584 #: ../src/gtk_wnd.cpp:53
1585 #, c-format
1586 msgid "*** Cannot find the double-buffered visual.\n"
1587 msgstr "***Nuk mund ta gjejë pamorin zbatues-të dyfishtë.\n"
1588
1589 #: ../src/gtk_wnd.cpp:54
1590 #, c-format
1591 msgid "*** Trying single-buffered visual.\n"
1592 msgstr "***Provo pamor zbatues-njëfishor.\n"
1593
1594 #: ../src/gtk_wnd.cpp:61
1595 #, c-format
1596 msgid "*** No appropriate OpenGL-capable visual found.\n"
1597 msgstr "***Nuk u gjet pamor i duhur OpenGL-të aftë.\n"
1598
1599 #: ../src/gtk_wnd.cpp:66
1600 #, c-format
1601 msgid ""
1602 "\n"
1603 "OpenGL visual configurations :\n"
1604 "\n"
1605 msgstr ""
1606 "\n"
1607 "Konfigurimi pamor OpenGL :\n"
1608 "\n"
1609
1610 #: ../src/ogl_surface.cpp:91
1611 msgid "evaluating grid"
1612 msgstr "vlerësimi i rrjetës"
1613
1614 #: ../src/ogl_surface.cpp:106
1615 msgid " done\n"
1616 msgstr " e mbaruar\n"
1617
1618 #: ../src/ogl_surface.cpp:112
1619 msgid "interpolating in "
1620 msgstr "fut në "
1621
1622 #: ../src/ogl_surface.cpp:131
1623 msgid "-direction... "
1624 msgstr "-drejtimi..."
1625
1626 #: ../src/ogl_surface.cpp:138
1627 msgid " points, "
1628 msgstr " pika, "
1629
1630 #: ../src/ogl_surface.cpp:138
1631 msgid " cycles"
1632 msgstr " cikle"
1633
1634 #: ../src/ogl_surface.cpp:155
1635 msgid "generating image... "
1636 msgstr "nxjerrja e imazhit..."
1637
1638 #: ../src/ogl_surface.cpp:185
1639 msgid "color_surface problem #1"
1640 msgstr "problemi #1 me ngjyros_hapësirën"
1641
1642 #: ../src/ogl_surface.cpp:235
1643 msgid "color_surface problem #2"
1644 msgstr "problemi #2 me gnjyros_hapësirën"
1645
1646 #: ../src/ogl_surface.cpp:335
1647 msgid " lines, "
1648 msgstr " vija,"
1649
1650 #: ../src/ogl_surface.cpp:335
1651 msgid " triangles."
1652 msgstr " trekëndësha."
1653
1654 #: ../src/p2dview_wcl.cpp:182
1655 msgid "now scaling the colours to range "
1656 msgstr "tani shkallëzimi i ngjyrave për të rradhitur"
1657
1658 #: ../src/p2dview_wcl.cpp:182
1659 msgid " kJ/mol"
1660 msgstr " kJ/mol"
1661
1662 #: ../src/pangofont_wcl.cpp:75
1663 #, fuzzy, c-format
1664 msgid "*** ERROR : Can't load font '%s'\n"
1665 msgstr "***Nuk mund të ngarkojë fontin '%s'\n"
1666
1667 #: ../src/project.cpp:210
1668 msgid "untitled"
1669 msgstr "e patitulluar"
1670
1671 #: ../src/project.cpp:322
1672 msgid "Cannot import that file type."
1673 msgstr "Nuk mund të importojë atë tip të skedarit."
1674
1675 #: ../src/project.cpp:367
1676 msgid "Cannot export that file type."
1677 msgstr "Nuk mund të eksportojë atë tip të skedarit."
1678
1679 #: ../src/project.cpp:409
1680 msgid "Hydrogens added."
1681 msgstr "Hidrogjen i shtuar."
1682
1683 #: ../src/project.cpp:419
1684 msgid "Hydrogens removed."
1685 msgstr "Hidrogjen i larguar."
1686
1687 #: ../src/project.cpp:617
1688 msgid " window "
1689 msgstr " dritare"
1690
1691 #: ../src/project.cpp:663
1692 msgid ""
1693 "This is the last graphics view for\n"
1694 "this project - can't close it."
1695 msgstr ""
1696 "Kjo është pamja e fundit e grafiqeve për\n"
1697 "këtë projekt - nuk mund ta mbyll."
1698
1699 #: ../src/project.cpp:877
1700 msgid "Processing Command : "
1701 msgstr "Komanda e përpunimit : "
1702
1703 #: ../src/project.cpp:887
1704 msgid "> AVAILABLE COMMANDS:"
1705 msgstr "KOMANDAT NË DISPOZICION:"
1706
1707 #. use alphabetical order???
1708 #: ../src/project.cpp:889
1709 msgid ""
1710 "> add light (local/global) (directional/spotlight) -- add a new light object."
1711 msgstr ""
1712 "> shto dritë (lokale/globale) (i drejtuar/e ndriçuar) -- shto një objekt të "
1713 "ri drite."
1714
1715 #: ../src/project.cpp:891
1716 msgid ""
1717 "> add plane <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <tp> <alpha> -- "
1718 "add a plane object."
1719 msgstr ""
1720 "> shto plan <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <tp> <alpha> -- "
1721 "shto një objekt plan."
1722
1723 #: ../src/project.cpp:892 ../src/project.cpp:902
1724 msgid "> where: <vf> = value function : esp vdws eldens mo mod unity"
1725 msgstr ""
1726 "> ku: <vf> = funksioni i vlerës : bashkësia esp vdws eldens mo mod unity "
1727
1728 #: ../src/project.cpp:893 ../src/project.cpp:903 ../src/project.cpp:913
1729 msgid "> <cf> = colour function : red green blue rb1 rb2"
1730 msgstr ""
1731 "> <cf> = funksioni i ngjyrës : e kuqe e gjelbërt e kaltër rb1 rb2"
1732
1733 #: ../src/project.cpp:894 ../src/project.cpp:904 ../src/project.cpp:915
1734 #: ../src/project.cpp:930
1735 msgid "> <cscale1> = scaling value for calculating the colours"
1736 msgstr "> <cscale1> = vlera e shkallëzimit pë logaritjen e ngjzrave"
1737
1738 #: ../src/project.cpp:895 ../src/project.cpp:905 ../src/project.cpp:916
1739 #: ../src/project.cpp:931
1740 msgid "> <cscale2> = scaling offset for calculating the colours"
1741 msgstr "> <cscale2> = zhvendosja e shkallëzimit pë logaritjen e ngjyrave"
1742
1743 #: ../src/project.cpp:896 ../src/project.cpp:906 ../src/project.cpp:917
1744 #: ../src/project.cpp:932
1745 msgid "> <dim> = dimension of the plane object (in nm units)"
1746 msgstr "> <dim> = dimenzioni i objketit plan (in nm bashkësi)"
1747
1748 #: ../src/project.cpp:897 ../src/project.cpp:907 ../src/project.cpp:918
1749 #: ../src/project.cpp:933
1750 msgid "> <res> = resolution of the plane object"
1751 msgstr "> <res> = rezolucion i objektit plan"
1752
1753 #: ../src/project.cpp:898 ../src/project.cpp:920 ../src/project.cpp:935
1754 msgid "> <tp> = 0 or 1 telling if the object is transparent"
1755 msgstr "> <tp> = 0 apo 1 për të treguar nëse objekti është i tejdukshëm"
1756
1757 #: ../src/project.cpp:899 ../src/project.cpp:908 ../src/project.cpp:921
1758 #: ../src/project.cpp:936
1759 msgid "> <alpha> = transparency alpha value"
1760 msgstr "> <alpha> = vlera e alpha së tejdukshme"
1761
1762 #: ../src/project.cpp:901
1763 msgid ""
1764 "> add volrend <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <alpha> -- add "
1765 "a volume-rendering object."
1766 msgstr ""
1767 "> shto volrend <vf> <cf> >cscale1> <AUTO/cscale2> <dim> <res> <alpha> -- "
1768 "shto një objekt për pasqyrimin e vëllimit. "
1769
1770 #: ../src/project.cpp:910
1771 msgid ""
1772 "> add surf1 <vf1> <vf2> <cf> <sscale> <cscale1> <AUTO/cscale2> <dim> <res> "
1773 "<solid> <tp> <alpha> -- add a single surface object."
1774 msgstr ""
1775 "> shto surf1 <vf1> vf2> <cf> <cscale> <cscale1> <AUTO/cscale2> <dim> <res> "
1776 "<solid> <tp> <alpha> -- shto një objekt të vetëm sipërfaqësorë."
1777
1778 #: ../src/project.cpp:911 ../src/project.cpp:924
1779 msgid ""
1780 "> where: <vf1> = value function for calculating the surface : esp vdws "
1781 "eldens mo mod unity"
1782 msgstr ""
1783 "> ku> <vf1> = funksioni i vlerës për logaritjen e sipërfaqes : bahkësia "
1784 "esp vdws eldens mo mod"
1785
1786 #: ../src/project.cpp:912 ../src/project.cpp:925
1787 msgid ""
1788 "> <vf2> = value function for calculating the colours : esp vdws "
1789 "eldens mo mod unity"
1790 msgstr ""
1791 "> <vf2> = funksioni i vlerës për logaritjen e ngjzrës : bashkësia esp "
1792 "vdws eldens mo mod"
1793
1794 #: ../src/project.cpp:914
1795 msgid "> <sscale> = scaling value for calculating the surface"
1796 msgstr "> <sscale> = vlera e shkallëzimit për logaritjen e hapësirës"
1797
1798 #: ../src/project.cpp:919 ../src/project.cpp:934
1799 msgid "> <solid> = 0 or 1 telling if the object is solid"
1800 msgstr "> <solod> = 0 apo 1 tregon nëse objekti është i ngurtë"
1801
1802 #: ../src/project.cpp:923
1803 msgid ""
1804 "> add surf2 <vf1> <vf2> <cf1> <cf2> <sscale1> <sscale2> <cscale1> <AUTO/"
1805 "cscale2> <dim> <res> <solid> <tp> <alpha> -- add a pair of surface objects."
1806 msgstr ""
1807 "> shto surf2 <vf1> <vf2> <cf1> <cf2> <sscale1> <sscale2> <cscale1> <AUTO/"
1808 "cscale2> <dim> <res> <solid> <tp> <alpha> -- shto një palë të objekteve të "
1809 "hapësirës."
1810
1811 #: ../src/project.cpp:926
1812 msgid ""
1813 "> <cf1> = colour function for 1st surface : red green blue rb1 rb2"
1814 msgstr ""
1815 "> <cf1> = funksioni i ngjyrave për hapësirën e 1-rë : e kuqe e "
1816 "gjelbërt e kaltër rb1 rb2"
1817
1818 #: ../src/project.cpp:927
1819 msgid ""
1820 "> <cf2> = colour function for 2nd surface : red green blue rb1 rb2"
1821 msgstr ""
1822 "> <cf2> = funksioni i ngjyrave për hapësirën e 2-të : e kuqe e "
1823 "gjelbërt e kaltër rb1 rb2"
1824
1825 #: ../src/project.cpp:928
1826 msgid ""
1827 "> <sscale1> = scaling value for calculating the surface for 1st "
1828 "surface"
1829 msgstr ""
1830 "> <sscale1> = vlera e shkallëzimit për logaritjen e hapësirës për "
1831 "hapësirën e 1-rë"
1832
1833 #: ../src/project.cpp:929
1834 msgid ""
1835 "> <sscale2> = scaling value for calculating the surface for 2nd "
1836 "surface"
1837 msgstr ""
1838 "> <sscale2> = vlera e shkallëzimit për logaritjen e hapësirës për "
1839 "hapësirën e 2-të"
1840
1841 #: ../src/project.cpp:938
1842 msgid "> help -- print all available commands in command strings."
1843 msgstr "> ndihmë -- printo komandat e mundshme në vargun e komandave."
1844
1845 #: ../src/project.cpp:940
1846 msgid "> energy -- calculate a single-point energy."
1847 msgstr "> energjia -- logarit energjinë një-pikëshe."
1848
1849 #: ../src/project.cpp:941
1850 msgid "> geom_opt -- do a geometry optimization run using default options."
1851 msgstr ""
1852 "> geom_opt -- bëj një ekzekutim të optimizimit të gjeometrisë duke përdorur "
1853 "opsione të parazgjedhura. "
1854
1855 #: ../src/project.cpp:942
1856 msgid "> mol_dyn -- do a molecular dynamics run using default options."
1857 msgstr ""
1858 "> mol_dyn -- bëj një ekzekutim të forcës lëvizëse të molekulës duke përdorur "
1859 "opsionet e parazgjedhura."
1860
1861 #: ../src/project.cpp:944
1862 msgid ""
1863 "> random_search <cycles> <optsteps> -- perform a random conformational "
1864 "search."
1865 msgstr ""
1866 "> hulumtim_i rastësishëm <cycles> <optsteps> -- kryej një hulumtim të "
1867 "rastësishëm strukturorë."
1868
1869 #: ../src/project.cpp:945
1870 msgid ""
1871 "> systematic_search <divisions> <optsteps> -- perform a systematic "
1872 "conformational search."
1873 msgstr ""
1874 "> hulumtim_i rregullt <division> <optsteps> -- kryej një hulumtim të "
1875 "rregullt strukturorë."
1876
1877 #: ../src/project.cpp:946
1878 msgid ""
1879 "> montecarlo_search <init_cycles> <simul_cycles> <optsteps> -- perform a "
1880 "MonteCarlo search."
1881 msgstr ""
1882 "> hulumtim_montecarlo <init_cycles> <simuli_cycles> <optsteps> -- kryej një "
1883 "hulumtim MonteCarlo."
1884
1885 #: ../src/project.cpp:948
1886 msgid ""
1887 "> make_plot1 A B C D <div> <start_ang> <end_ang> <optsteps> -- create a 1D "
1888 "energy vs. torsion plot."
1889 msgstr ""
1890 "> bëj_vizatim1 A B C D <div> <start_ang> <end_ang> <optsteps> -- krijo një "
1891 "energji 1D kundër vizatimit të përdredhjes."
1892
1893 #: ../src/project.cpp:949
1894 msgid ""
1895 "> make_plot2 A B C D <div> <start_ang> <end_ang> I J K L <div> <start_ang> "
1896 "<end_ang> <optsteps> -- create a 2D energy vs. torsions plot."
1897 msgstr ""
1898 "> bëj_vizatim2 A B C D <div> <start_ang> <end_ang> I J K L <div> <start_ang> "
1899 "<end_ang> <optsteps> -- ktijo një energji 2D kundër vizatimit të përdredhjes."
1900
1901 #: ../src/project.cpp:951
1902 msgid ""
1903 "> population_analysis_ESP -- determine atomic charges using an ESP fit (for "
1904 "QM methods only)."
1905 msgstr ""
1906 "> analiza_e popullatës_ESP -- përckton ngarkesën atomike duke përdorur "
1907 "përshtatjen ESP (vetëm për metodën QM)."
1908
1909 #: ../src/project.cpp:953
1910 msgid ""
1911 "> transition_state_search <delta_e> <initial_fc> -- perform a transition "
1912 "state search (for QM methods only)."
1913 msgstr ""
1914 "> hulumtim_për gjendjen_e tranzicionit <delta_e> <initial_fc> -- kryej një "
1915 "hulumtim të gjendjes së tranzicionit. (vetëm për metodat QM)."
1916
1917 #: ../src/project.cpp:954
1918 msgid ""
1919 "> stationary_state_search <steps> -- perform a search for a structure with "
1920 "no forces."
1921 msgstr ""
1922 "> hulumtim_për gjendjen_e palëvizshme <steps> -- kryej një hulumtim pë një "
1923 "strukturë pa forcë."
1924
1925 #: ../src/project.cpp:956
1926 msgid ""
1927 "> set_current_orbital <orbital_index> -- set the current orbtal index for "
1928 "plotting the orbitals."
1929 msgstr ""
1930 "> vendos_orbitale_aktuale <orbital_index> -- vendos treguesin aktual të "
1931 "orbitales për vizatimin e orbitaleve."
1932
1933 #: ../src/project.cpp:958
1934 msgid "> update_chains -- detect polymer chains using sequence builder."
1935 msgstr ""
1936 "> përditëso_zinxhirët -- zbulo zinxhirë polimer duke përdorur ndërtuesin e "
1937 "vargëzimeve."
1938
1939 #: ../src/project.cpp:959
1940 msgid "> build_amino <sequence> (helix/strand) -- amino acid sequence builder."
1941 msgstr ""
1942 "> ndërto_amino <sequence> (spirale/fije floku) -- ndërtues i vargëzimeve të "
1943 "amino acideve."
1944
1945 #: ../src/project.cpp:960
1946 msgid "> build_nucleic <sequence> -- nucleic acid sequence builder."
1947 msgstr ""
1948 "> ndërto_nukleike <sequence> -- ndërtues i vargëzimeve të acidit nukleik."
1949
1950 #: ../src/project.cpp:962
1951 #, fuzzy
1952 msgid "> orient <crdset> -- orient the system in the XYZ coordinate system."
1953 msgstr "> oriento <crdset> -- oriento sistemin."
1954
1955 #: ../src/project.cpp:964
1956 msgid ""
1957 "> solvate_box <x-hdim> <y-hdim> <z-hdim> (<density> <filename> (export)) -- "
1958 "setup a solvation box."
1959 msgstr ""
1960 "> kutia_shpërbërëse <x-hdim> <y-hdim> <z-hdim> (<density> <filename> "
1961 "(eksport)) -- parametrizo një kuti për shpërbërje."
1962
1963 #: ../src/project.cpp:965
1964 msgid ""
1965 "> solvate_sphere <rad_solute> <rad_solvent> (<density> <filename>) -- setup "
1966 "a solvation sphere."
1967 msgstr ""
1968 "> shpërbëj sferën <rad_solute> <rad_solvent> (<density> <filename>) -- "
1969 "parametrizo një sferë pë shpërbërje."
1970
1971 #: ../src/project.cpp:967
1972 msgid "> set_formal_charge <index> <charge> -- set formal charges to atoms."
1973 msgstr ""
1974 "> vendos_ngarkesë_formale <index> <charge> -- vendos ngarkesa formale në "
1975 "atome."
1976
1977 #: ../src/project.cpp:969
1978 msgid ""
1979 "> evaluate_Bfact -- evaluate B-factors for selected atoms (a trajectory file "
1980 "must be open)."
1981 msgstr ""
1982 "> vlerëso_Bfakt -- vlerëso B-faktorë për atomet e përzgjedhura (skedari i "
1983 "trajektores duhet tëjetë i hapur)."
1984
1985 #: ../src/project.cpp:970
1986 msgid ""
1987 "> evaluate_diffconst <dt> -- evaluate diffusion constants for selected atoms "
1988 "(a trajectory file must be open, dt = time difference between frames [fs])."
1989 msgstr ""
1990 "> vlerëso_difkonst <dt> -- vlerëso konstantat e difuzionit për atomet e "
1991 "përzgjedhura (një skedar i trajektores duhet të jetë i hapur, dt = dallim "
1992 "kohor mes kornizave [fs])."
1993
1994 #: ../src/project.cpp:1010
1995 msgid "Added a new object : light ("
1996 msgstr "U shtua një objekt i ri : dritë ("
1997
1998 #: ../src/project.cpp:1011
1999 msgid "local"
2000 msgstr "i lokalizuar"
2001
2002 #: ../src/project.cpp:1011
2003 msgid "global"
2004 msgstr "global"
2005
2006 #: ../src/project.cpp:1012
2007 msgid "directional"
2008 msgstr "i drejtuar"
2009
2010 #: ../src/project.cpp:1012
2011 msgid "spotlight"
2012 msgstr "ndriçim"
2013
2014 #: ../src/project.cpp:1041
2015 msgid "ERROR : add plane : unknown value function "
2016 msgstr "GABIM : shto plan : funksioni i vlerës së panjohur"
2017
2018 #: ../src/project.cpp:1055
2019 msgid "ERROR : add plane : unknown colour function "
2020 msgstr "GABIM : shto plan : funksioni i ngjyrës së panjohur"
2021
2022 #: ../src/project.cpp:1091
2023 msgid "Added a new object : plane ("
2024 msgstr "U shtu një objekt i ri : plan ("
2025
2026 #: ../src/project.cpp:1119
2027 msgid "ERROR : add volrend : unknown value function "
2028 msgstr "GABIM : shto volrend : funksioni i vlerës së panjohur "
2029
2030 #: ../src/project.cpp:1133
2031 msgid "ERROR : add volrend : unknown colour function "
2032 msgstr "GABIM : shto volrend : funksioni i ngjyrës së panjohur"
2033
2034 #: ../src/project.cpp:1166
2035 msgid "Added a new object : volrend ("
2036 msgstr "U shtua një objekt i ri : volrend ("
2037
2038 #: ../src/project.cpp:1199
2039 msgid "ERROR : add surf1 : unknown value function 1 "
2040 msgstr "GABIM : shto surf1 : funksioni 1 i vlerës së panjohur "
2041
2042 #: ../src/project.cpp:1214
2043 msgid "ERROR : add surf1 : unknown value function 2 "
2044 msgstr "GABIM : shto surf1 : funksioni 2 i vlerës së panjohur"
2045
2046 #: ../src/project.cpp:1228
2047 msgid "ERROR : add surf1 : unknown colour function "
2048 msgstr "GABIM : shto surf1 : funksioni i ngjyrës së panjohur"
2049
2050 #: ../src/project.cpp:1277
2051 msgid "Added a new object : surf1 ("
2052 msgstr "U shtua një objekt i ri : surf1 ("
2053
2054 #: ../src/project.cpp:1314
2055 msgid "ERROR : add surf2 : unknown value function 1 "
2056 msgstr "GABIM : shto surf2 : funksioni i 1 i vlerës së panjohur"
2057
2058 #: ../src/project.cpp:1329
2059 msgid "ERROR : add surf2 : unknown value function 2 "
2060 msgstr "GABIM : shto surf2 : funksioni 2 i vlerës së panjohur"
2061
2062 #: ../src/project.cpp:1343
2063 msgid "ERROR : add surf2 : unknown colour function 1 "
2064 msgstr "GABIM : shto surf2 : funksioni 1 i ngjyrës së panjohur"
2065
2066 #: ../src/project.cpp:1357
2067 msgid "ERROR : add surf2 : unknown colour function 2 "
2068 msgstr "GABIM : shto surf2: funksioni 2 i ngjyrës së panjohur "
2069
2070 #: ../src/project.cpp:1417
2071 msgid "Added a new object : surf2 ("
2072 msgstr "U shtua një objekt i ri : surf2 ("
2073
2074 #: ../src/project.cpp:1423
2075 msgid "ERROR : could not process command \"add\" for parameter "
2076 msgstr "GABIM : nuk mund të përpunojë komandën \"shto\" për paramertat"
2077
2078 #: ../src/project.cpp:1575
2079 msgid "Sorry, this is for QM models only!"
2080 msgstr "Kërkojmë falje, kjo është vetëm për modelet QM!"
2081
2082 #: ../src/project.cpp:1622
2083 msgid "The current orbital is now "
2084 msgstr "Orbitalja aktuale tani është "
2085
2086 #: ../src/project.cpp:1667 ../src/project.cpp:1702
2087 msgid "built a sequence : "
2088 msgstr "ndërtoi një vargëzim : "
2089
2090 #: ../src/project.cpp:1715
2091 msgid "maximum dimensions:"
2092 msgstr "dimenzione maksimale:"
2093
2094 #: ../src/project.cpp:1817
2095 msgid "Sorry, atom not found!"
2096 msgstr "Kërkojmë falje, nuk u gjet atomi!"
2097
2098 #: ../src/project.cpp:1843
2099 msgid "ERROR : Unknown command : "
2100 msgstr "GABIM : Komandë e panjohur : "
2101
2102 #: ../src/project.cpp:1844
2103 msgid "The \"help\" command will give more information about command strings."
2104 msgstr ""
2105 "Komanda \"ndihmë\" do të japë më shumë informacione rreth vargjeve "
2106 "komanduese. "
2107
2108 #: ../src/project.cpp:1871
2109 msgid "local lights = "
2110 msgstr "dritë e lokalizuar = "
2111
2112 #: ../src/project.cpp:1871 ../src/project.cpp:1878
2113 msgid "on"
2114 msgstr "e ndezur"
2115
2116 #: ../src/project.cpp:1871 ../src/project.cpp:1878
2117 msgid "off"
2118 msgstr "e çkyqur"
2119
2120 #: ../src/project.cpp:1878
2121 msgid "global lights = "
2122 msgstr "dritë globale = "
2123
2124 #: ../src/project.cpp:3244
2125 msgid "Group information about chains/residues is needed for this operation."
2126 msgstr ""
2127 "Është i nevojshëm informacion grupor rreth zinxhirëve/radikaleve për këtë "
2128 "operacion."
2129
2130 #: ../src/project.cpp:3245
2131 msgid "Is it OK to update group information?"
2132 msgstr "A është në rregull të përditësohet informacioni grupor?"
2133
2134 #: ../src/project.cpp:3259
2135 msgid "Sorry, no chain/residue information available for this atom."
2136 msgstr "Kërkojmë falje, nuk ka në dispozicion informacione për këtë atom."
2137
2138 #: ../src/project.cpp:3278
2139 msgid "selected atom "
2140 msgstr "përzgjedh atom"
2141
2142 #: ../src/project.cpp:3278
2143 msgid " (atomtype = "
2144 msgstr "(tipi i atomit = "
2145
2146 #: ../src/project.cpp:3290
2147 msgid "selected residue "
2148 msgstr "përzgjedh radikal"
2149
2150 #: ../src/project.cpp:3290
2151 msgid " from chain "
2152 msgstr " nga zinxhiri "
2153
2154 #: ../src/project.cpp:3301
2155 msgid "selected chain "
2156 msgstr "zinxhir i përzgjedhur "
2157
2158 #: ../src/project.cpp:3325
2159 msgid "selected molecule "
2160 msgstr "molekulë e përzgjedhur "
2161
2162 #. this must be OK.
2163 #: ../src/project.cpp:3354
2164 msgid "charge: "
2165 msgstr "ngarkesë: "
2166
2167 #: ../src/project.cpp:3372
2168 msgid "distance: "
2169 msgstr "largësi: "
2170
2171 #: ../src/project.cpp:3394
2172 msgid "angle: "
2173 msgstr "kënd: "
2174
2175 #: ../src/project.cpp:3394
2176 msgid " deg"
2177 msgstr " deg"
2178
2179 #: ../src/project.cpp:3413
2180 msgid "torsion: "
2181 msgstr "përdredhje: "
2182
2183 #: ../src/project.cpp:3413
2184 msgid " deg "
2185 msgstr " deg"
2186
2187 #: ../src/project.cpp:3482
2188 msgid "MW: "
2189 msgstr "MW: "
2190
2191 #: ../src/project.cpp:3559
2192 msgid "ERROR : atom "
2193 msgstr "GABIM : atom "
2194
2195 #: ../src/project.cpp:3559 ../src/project.cpp:3745 ../src/project.cpp:3757
2196 msgid " not found!"
2197 msgstr " nuk u gjet!"
2198
2199 #: ../src/project.cpp:3579
2200 msgid "ERROR : could not find ic.\n"
2201 msgstr "GABIM : nuk mund të gjejë ic.\n"
2202
2203 #: ../src/project.cpp:3597
2204 msgid "ERROR : could not find tor-term.\n"
2205 msgstr "GABIM : nuk mund të gjejë tor-term.\n"
2206
2207 #: ../src/project.cpp:3601
2208 msgid "tor(deg)"
2209 msgstr "tor(deg)"
2210
2211 #: ../src/project.cpp:3601 ../src/project.cpp:3818 ../src/project.cpp:3910
2212 msgid "E(kJ/mol)"
2213 msgstr "E(kJ/mol)"
2214
2215 #: ../src/project.cpp:3652
2216 msgid "tor = "
2217 msgstr "tor = "
2218
2219 #: ../src/project.cpp:3652 ../src/project.cpp:3875
2220 msgid " deg, energy = "
2221 msgstr " deg, energy = "
2222
2223 #: ../src/project.cpp:3652 ../src/project.cpp:3875
2224 msgid " kJ/mol."
2225 msgstr " kJ/mol."
2226
2227 #: ../src/project.cpp:3745
2228 msgid "ERROR : tor1 atom "
2229 msgstr "GABIM : tor1 atom "
2230
2231 #: ../src/project.cpp:3757
2232 msgid "ERROR : tor2 atom "
2233 msgstr "GABIM : tor2 atom "
2234
2235 #: ../src/project.cpp:3777
2236 msgid "ERROR : could not find ic for tor1.\n"
2237 msgstr "GABIM : nuk mund të gjejë ic për tor1.\n"
2238
2239 #: ../src/project.cpp:3784
2240 msgid "ERROR : could not find ic for tor2.\n"
2241 msgstr "GABIM : nuk mund të gjejë ic për tor2.\n"
2242
2243 #: ../src/project.cpp:3807
2244 msgid "ERROR : could not find tor-term for tor1.\n"
2245 msgstr "GABIM : nuk mund të gjejë tor-term për tor1.\n"
2246
2247 #: ../src/project.cpp:3814
2248 msgid "ERROR : could not find tor-term for tor2.\n"
2249 msgstr "GABIM : nuk mund të gjejë tor-term për tor2.\n"
2250
2251 #: ../src/project.cpp:3818
2252 msgid "tor1(deg)"
2253 msgstr "tor1(deg)"
2254
2255 #: ../src/project.cpp:3818
2256 msgid "tor2(deg)"
2257 msgstr "tor2(deg)"
2258
2259 #: ../src/project.cpp:3875
2260 msgid "tor1 = "
2261 msgstr "tor1 = "
2262
2263 #: ../src/project.cpp:3875
2264 msgid " deg, tor2 = "
2265 msgstr " deg, tor2 = "
2266
2267 #: ../src/project.cpp:3900 ../src/project.cpp:3935
2268 msgid "r-energy = "
2269 msgstr "energjia-r = "
2270
2271 #: ../src/project.cpp:3900 ../src/project.cpp:3935
2272 msgid "p-energy = "
2273 msgstr "energjia-p = "
2274
2275 #: ../src/project.cpp:3901 ../src/project.cpp:3936
2276 msgid " is lower "
2277 msgstr " është e ulët "
2278
2279 #: ../src/project.cpp:3940
2280 msgid "READY!"
2281 msgstr "GATI!"
2282
2283 #: ../src/project.cpp:4037
2284 msgid "Starting Stationary State Search "
2285 msgstr "Nisja e Hulumtimit të Gjendjes Stacionare "
2286
2287 #: ../src/project.cpp:4050
2288 msgid "Cycle Gradient Step\n"
2289 msgstr "Cikël Gradient Hap\n"
2290
2291 #: ../src/project.cpp:4065
2292 msgid "the nsteps termination test was passed.\n"
2293 msgstr "u kalua testi përfundimtar i nhapave.\n"
2294
2295 #: ../src/rcpview_wcl.cpp:161
2296 msgid "the tresholds were set to "
2297 msgstr "treshod u vendosën në "
2298
2299 #: ../src/rcpview_wcl.cpp:161
2300 msgid " and "
2301 msgstr " dhe "
2302
2303 #. ################################################################################################
2304 #. eof
2305 #: ../src/res_gtk/gtk_file_export_dialog.glade.h:1
2306 #: ../src/res_gtk/gtk_file_import_dialog.glade.h:1
2307 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:1
2308 msgid "Browse..."
2309 msgstr "Shfleto..."
2310
2311 #: ../src/res_gtk/gtk_file_export_dialog.glade.h:2
2312 msgid "Export File"
2313 msgstr "Eksporto Skedar"
2314
2315 #: ../src/res_gtk/gtk_file_import_dialog.glade.h:2
2316 msgid "Import File"
2317 msgstr "Importo Skedar"
2318
2319 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:1
2320 #, fuzzy
2321 msgid "Delta-E Cutoff:"
2322 msgstr "Ndërprerje e Delat E:"
2323
2324 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:3
2325 msgid "Gradient Cutoff:"
2326 msgstr "Ndërprerje e Gradientit:"
2327
2328 #: ../src/res_gtk/gtk_geomopt_dialog.glade.h:4
2329 msgid "Maximum # of Steps:"
2330 msgstr "# maksimal i Hapave:"
2331
2332 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:2
2333 msgid "Constant-P simulation (allow P-control at simulation stage)"
2334 msgstr "Simulimi i konstantës-P (lejo kontrrollimin e-P në fazën e simulimit)"
2335
2336 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:3
2337 msgid "Constant-T simulation (allow T-control at simulation stage)"
2338 msgstr "Simulimi i konstantës-T (lejo kontrrollimin e-T në fazën e simulimit)"
2339
2340 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:4
2341 msgid "Isothermal compressibility [1/bar] :"
2342 msgstr "Ngjeshmëri Isotermale [1/bar] :"
2343
2344 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:6
2345 msgid "Number of steps : (cooling)"
2346 msgstr "Numri i hapave : (ftohje)"
2347
2348 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:7
2349 msgid "Number of steps : (equilibration)"
2350 msgstr "Numri i hapave : (ekuilibrimi)"
2351
2352 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:8
2353 msgid "Number of steps : (heating)"
2354 msgstr "Numri i hapave : (nxehja)"
2355
2356 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:9
2357 msgid "Number of steps : (simulation)"
2358 msgstr "Numri i hapave : (simulimi)"
2359
2360 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:10
2361 msgid "P relaxation time [fs] :"
2362 msgstr "Kohë pushimi i P [fs] :"
2363
2364 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:11
2365 msgid "Pressure [bar] :"
2366 msgstr "Shtypje [bar] :"
2367
2368 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:12
2369 msgid "T relaxation time [fs] : (equil/simul)"
2370 msgstr "Kohë pushimi T [fs] : (ekul/simul)"
2371
2372 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:13
2373 msgid "T relaxation time [fs] : (heat/cool)"
2374 msgstr "Kohë pushimi T [fs] : (nxemje/ftohje)"
2375
2376 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:14
2377 msgid "Temperature [K] :"
2378 msgstr "Temperatura [K] :"
2379
2380 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:15
2381 msgid "Timestep [fs] :"
2382 msgstr "Hap në kohë [fs] :"
2383
2384 #: ../src/res_gtk/gtk_moldyn_dialog.glade.h:16
2385 msgid "Trajectory File : "
2386 msgstr "Skedar i Trajektores :"
2387
2388 #: ../src/res_gtk/gtk_progress_dialog.glade.h:1
2389 msgid "Background Job"
2390 msgstr "Puna e Sfondit"
2391
2392 #: ../src/res_gtk/gtk_progress_dialog.glade.h:2
2393 msgid "Job Title : "
2394 msgstr "Titulli i punës :"
2395
2396 #: ../src/res_gtk/gtk_setup_dialog.glade.h:1
2397 msgid "<b>Select the Engine Class:</b>"
2398 msgstr "<b>Përzgjedh klasën e veglës:</b>"
2399
2400 #: ../src/res_gtk/gtk_setup_dialog.glade.h:2
2401 msgid "<b>Set the spin multiplicity of the system:</b>"
2402 msgstr "<b>Vendos shumëllojshmërinë e rrotullimit të sistemit:</b>"
2403
2404 #: ../src/res_gtk/gtk_setup_dialog.glade.h:3
2405 msgid "<b>Set the total charge of the system:</b>"
2406 msgstr "<b>Vendos ngarkesën e plotë të sistemit:</b>"
2407
2408 #: ../src/res_gtk/gtk_setup_dialog.glade.h:4
2409 msgid "Enable atomtype/parameter exceptions (AMBER FF)."
2410 msgstr "Aktivizo përjashtimet e tipit të atomit/parametrave (AMBER FF)."
2411
2412 #: ../src/res_gtk/gtk_setup_dialog.glade.h:6
2413 msgid "MM/SF"
2414 msgstr "MM/SF"
2415
2416 #: ../src/res_gtk/gtk_setup_dialog.glade.h:7
2417 msgid "QM/MM"
2418 msgstr "QM/MM"
2419
2420 #: ../src/res_gtk/gtk_setup_dialog.glade.h:8
2421 msgid "Setup"
2422 msgstr "Parametrizo"
2423
2424 #: ../src/res_gtk/gtk_setup_dialog.glade.h:9
2425 msgid "Spin Multiplicity:"
2426 msgstr "Rrotullo shumëllojshmërinë:"
2427
2428 #: ../src/res_gtk/gtk_setup_dialog.glade.h:10
2429 msgid "Total Charge:"
2430 msgstr "Ngarkesa totale:"
2431
2432 #: ../src/res_gtk/gtk_setup_dialog.glade.h:11
2433 msgid "all MM"
2434 msgstr "të gjitha MM"
2435
2436 #: ../src/res_gtk/gtk_setup_dialog.glade.h:12
2437 msgid "all QM"
2438 msgstr "të gjitha "
2439
2440 #: ../src/res_gtk/gtk_setup_dialog.glade.h:13
2441 msgid "all SF"
2442 msgstr "të gjitha SF"
2443
2444 #: ../src/res_gtk/gtk_setup_dialog.glade.h:14
2445 msgid "this is under construction and DISABLED currently!"
2446 msgstr "është në ndërtim e sipër dhe aktualisht e ÇAKTIVIZUAR!"
2447
2448 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:1
2449 msgid "Relaxed Separation :"
2450 msgstr "Ndarje e lehtësuar :"
2451
2452 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:2
2453 msgid "Stereo Displacement :"
2454 msgstr "Stereo Largim i vendosjes :"
2455
2456 #: ../src/res_gtk/gtk_stereo_dialog.glade.h:3
2457 msgid "Stereo View Settings"
2458 msgstr "Parametra për Stereo Pamje"
2459
2460 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:1
2461 msgid "Begin"
2462 msgstr "Fillo"
2463
2464 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:2
2465 msgid "End"
2466 msgstr "Përfundo"
2467
2468 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:3
2469 msgid "Play"
2470 msgstr "Luaj"
2471
2472 #: ../src/res_gtk/gtk_trajview_dialog.glade.h:4
2473 msgid "Trajectory Viewer"
2474 msgstr "Shikues i trajektores"
2475
2476 #~ msgid "Import File "
2477 #~ msgstr "Importo Skedar "
2478
2479 #~ msgid "av is not empty!?!"
2480 #~ msgstr "av nuk është e zbrazët!?!"
2481
2482 #~ msgid "ac_stor_wcl::StoreAC(1) ; bad cset_sz."
2483 #~ msgstr "ac_stor_wcl::Ruaj në kujtesëAC(1) ; cset_sz e keqe."
2484
2485 #~ msgid "ac_stor_wcl::StoreAC(2) ; bad cset_sz."
2486 #~ msgstr "ac_stor_wcl::Ruaj në kujtesëAC(2) ; cset_sz e keqe."
2487
2488 #~ msgid "d"
2489 #~ msgstr "Vizato"
2490
2491 #~ msgid "e"
2492 #~ msgstr "Fshij"
2493
2494 #~ msgid "s"
2495 #~ msgstr "Përzgjeth"
2496
2497 #~ msgid "z"
2498 #~ msgstr "Zmadho"
2499
2500 #~ msgid "c"
2501 #~ msgstr "Prerje"
2502
2503 #~ msgid "t"
2504 #~ msgstr "TransferoXY"
2505
2506 #~ msgid "tz"
2507 #~ msgstr "TransferoZ"
2508
2509 #~ msgid "oz"
2510 #~ msgstr "OrbitZ"
2511
2512 #~ msgid "r"
2513 #~ msgstr "RrotulloXY"
2514
2515 #~ msgid "rz"
2516 #~ msgstr "RrotulloZ"
2517
2518 #~ msgid "m"
2519 #~ msgstr "Mat"
2520
2521 #~ msgid "draw\n"
2522 #~ msgstr "vizato\n"
2523
2524 #~ msgid "erase\n"
2525 #~ msgstr "fshij\n"
2526
2527 #~ msgid "select\n"
2528 #~ msgstr "përzgjedh\n"
2529
2530 #~ msgid "zoom\n"
2531 #~ msgstr "zmadho\n"
2532
2533 #~ msgid "clip\n"
2534 #~ msgstr "prit\n"
2535
2536 #~ msgid ""
2537 #~ "trans\n"
2538 #~ "XY"
2539 #~ msgstr ""
2540 #~ "trans\n"
2541 #~ "XY"
2542
2543 #~ msgid ""
2544 #~ "trans\n"
2545 #~ "Z"
2546 #~ msgstr ""
2547 #~ "trans\n"
2548 #~ "Z"
2549
2550 #~ msgid ""
2551 #~ "orbit\n"
2552 #~ "XY"
2553 #~ msgstr ""
2554 #~ "orbit\n"
2555 #~ "XY"
2556
2557 #~ msgid ""
2558 #~ "orbit\n"
2559 #~ "Z"
2560 #~ msgstr ""
2561 #~ "orbit\n"
2562 #~ "Z"
2563
2564 #~ msgid ""
2565 #~ "rotate\n"
2566 #~ "XY"
2567 #~ msgstr ""
2568 #~ "rrotullo\n"
2569 #~ "XY"
2570
2571 #~ msgid ""
2572 #~ "rotate\n"
2573 #~ "Z"
2574 #~ msgstr ""
2575 #~ "rrotullo\n"
2576 #~ "Z"
2577
2578 #~ msgid "measure\n"
2579 #~ msgstr "mat\n"
2580
2581 #~ msgid "el"
2582 #~ msgstr "Element"
2583
2584 #~ msgid "bt"
2585 #~ msgstr "Lidhje"
2586
2587 #~ msgid "su"
2588 #~ msgstr "Bani pyetje"
2589
2590 #~ msgid "element\n"
2591 #~ msgstr "element\n"
2592
2593 #~ msgid ""
2594 #~ "bond\n"
2595 #~ "type"
2596 #~ msgstr ""
2597 #~ "tipi\n"
2598 #~ "i lidhjes"
2599
2600 #~ msgid "setup\n"
2601 #~ msgstr "parametrizo\n"
2602
2603 #~ msgid "_Help"
2604 #~ msgstr "_Ndihmë"
2605
2606 #~ msgid "<control>N"
2607 #~ msgstr "<control>N"
2608
2609 #~ msgid "New file"
2610 #~ msgstr "Skedar i ri"
2611
2612 #~ msgid "<control>O"
2613 #~ msgstr "<control>O"
2614
2615 #~ msgid "<control>S"
2616 #~ msgstr "<control>S"
2617
2618 #~ msgid "<control>C"
2619 #~ msgstr "<control>C"
2620
2621 #~ msgid "<control>H"
2622 #~ msgstr "<control>H"
2623
2624 #~ msgid "<control>A"
2625 #~ msgstr "<control>A"
2626
2627 #~ msgid "View the Copyright notices"
2628 #~ msgstr "Shiko njoftimet për të drejtën e autorit"
2629
2630 #~ msgid "<control>D"
2631 #~ msgstr "<control>D"
2632
2633 #~ msgid "<control>U"
2634 #~ msgstr "<control>U"
2635
2636 #~ msgid "Error Loading Icon: %s\n"
2637 #~ msgstr "Gabim gjatë ngarkimit të ikonës: %s\n"
2638
2639 #~ msgid "gtk_app::AttachDetachView() : no wnd!"
2640 #~ msgstr "gkt_app::Bashkangjit Ndaj Pamje() : pa wnd!"
2641
2642 #~ msgid "gtk_app::AttachDetachView() ; unknown wcl class."
2643 #~ msgstr "gkt_app::Bashkangjit Ndaj Pamje() ; klasë e panjohur e wcl."
2644
2645 #~ msgid "PrintToLog : "
2646 #~ msgstr "Printo Për t'u Loguar :"
2647
2648 #~ msgid "ERROR : gtk_app::CameraRemoved() failed."
2649 #~ msgstr "GABIM : Dështoi gtk_app::U largua aparati për fotografim()."
2650
2651 #~ msgid "ERROR : gtk_app::LightAdded() failed."
2652 #~ msgstr "GABIM : Dështoi gtk_app::Drita e shtuar()."
2653
2654 #~ msgid "gtk_app::LightAdded() : bad cast!"
2655 #~ msgstr "gtk_app::Dritë e shtuar() : hedhje e keqe!"
2656
2657 #~ msgid "ERROR : gtk_app::LightRemoved() failed."
2658 #~ msgstr "GABIM : dështoi gtk_app::Dritë e larguar()."
2659
2660 #~ msgid "ERROR : gtk_app::GraphicsClientAdded() failed."
2661 #~ msgstr "GABIM ; dështoi gtk_app::Shtimi i klientit të graqfiqeve()."
2662
2663 #~ msgid "gtk_app::GraphicsClientAdded() : bad cast!"
2664 #~ msgstr "gtk_app::Shtimi i klientit të grafiqeve() : hedhje e keqe!"
2665
2666 #~ msgid "a graphics client"
2667 #~ msgstr "klient i grafiqeve"
2668
2669 #~ msgid "ERROR : gtk_app::GraphicsClientRemoved() failed."
2670 #~ msgstr "GABIM : dështoi gtk_app::Largimi i klientit të grafiqeve()."
2671
2672 #~ msgid "called gtk_app::PlottingClientAdded()"
2673 #~ msgstr "e quajtur gtk_app::Shtimi i klientit të vizatimit()"
2674
2675 #~ msgid "a plotting client"
2676 #~ msgstr "një klient i vizatimit"
2677
2678 #~ msgid "called gtk_app::PlottingClientRemoved()"
2679 #~ msgstr "e quajtur gtk_app::LArgim i klientit të vizatimit()"
2680
2681 #~ msgid "ERROR : gtk_app::PlottingClientRemoved() failed."
2682 #~ msgstr "GABIM : dështoi gtk_app::Largimi i klientit të vizatimit()."
2683
2684 #~ msgid "ERROR : gtk_project_view::ObjectRemoved() failed."
2685 #~ msgstr "GABIM : dështoi gtk_pamja_e projektit::Largimi i objekteve()"
2686
2687 #~ msgid "ERROR : gtk_app::viewsobjs_SetCurrent() failed."
2688 #~ msgstr "GABIM : dështoi gtk_app::shikimi i punës_Vendos aktualen()."
2689
2690 #~ msgid "ERROR : gtk_app::viewsobjs_Delete() failed."
2691 #~ msgstr "GABIM : dështoi gtk_app::pamje e punës_Hiq()."
2692
2693 #~ msgid "ERROR : gtk_project_view::ChainsEventHandler2() failed."
2694 #~ msgstr ""
2695 #~ "GABIM : dështoi gtk_pamja_e projektit::Manovruesi 2 i ngjarjeve Zinxhir()."
2696
2697 #~ msgid "ERROR : gtk_project_view::AtomUpdateItem() failed."
2698 #~ msgstr ""
2699 #~ "GABIM : dështoi gtk_pamja_e projektit::Artikull i përditësimit të atomit"
2700 #~ "()."
2701
2702 #~ msgid "ERROR : gtk_project_view::AtomRemoved() failed."
2703 #~ msgstr "GABIM : dështoi gtk_pamja_e projektit::Largimi i atomeve()."
2704
2705 #~ msgid "ERROR : gtk_project_view::AtomsEventHandler1() failed."
2706 #~ msgstr ""
2707 #~ "GABIM : dështoi gtk_pamja_e projektit::Manovruesi 1 i ngjarjeve të atomeve"
2708 #~ "()."
2709
2710 #~ msgid "ERROR : gtk_project_view::atoms_ToggleLocked() failed."
2711 #~ msgstr ""
2712 #~ "GABIM : dështoi gtk_pamja_e projektit::atome_Ndryshimi i gjendjes i "
2713 #~ "bllokuar()."
2714
2715 #~ msgid "true"
2716 #~ msgstr "e saktë"
2717
2718 #~ msgid "false"
2719 #~ msgstr "jo e saktë"
2720
2721 #~ msgid "ERROR : gtk_project_view::BondUpdateItem() failed."
2722 #~ msgstr ""
2723 #~ "GABIM : dështoi gtk_pamja_e projektit::Artikull I përditësimit të lidhjeve"
2724 #~ "()."
2725
2726 #~ msgid "ERROR : gtk_project_view::BondRemoved() failed."
2727 #~ msgstr "GABIM : dështoi gtk_pamje_e projektit::Largimi i lidhjeve()."
2728
2729 #~ msgid "ERROR : gtk_project_view::BondsEventHandler1() failed."
2730 #~ msgstr ""
2731 #~ "GABIM : gtk_pamja_e projektit::Manovruesi 1 e ngjarjes së lidhjeve()."
2732
2733 #~ msgid "draw skipped ; counter = "
2734 #~ msgstr "numërues i nxituar i vizatimit ; = "
2735
2736 #~ msgid "draw state is "
2737 #~ msgstr "gjendja e vizatimit është"
2738
2739 #~ msgid "erase skipped ; counter = "
2740 #~ msgstr "numërues i nxituar i fshirjes ; = "
2741
2742 #~ msgid "erase state is "
2743 #~ msgstr "gjendja e fshirjes është "
2744
2745 #~ msgid "select skipped ; counter = "
2746 #~ msgstr "numërues i nxituar për përzgjedhje ; = "
2747
2748 #~ msgid "select state is "
2749 #~ msgstr "gjendja e përzgjedhjes është"
2750
2751 #~ msgid "zoom skipped ; counter = "
2752 #~ msgstr "numërues i nxituar i zmadhimit ; = "
2753
2754 #~ msgid "zoom state is "
2755 #~ msgstr "gjendja e zmadhimit është"
2756
2757 #~ msgid "clipping skipped ; counter = "
2758 #~ msgstr "numërues i nxituar i prerjes ; = "
2759
2760 #~ msgid "clipping state is "
2761 #~ msgstr "gjendja e prerjes është"
2762
2763 #~ msgid "transl_xy skipped ; counter = "
2764 #~ msgstr "numërues i nxituar i transl_xy ; = "
2765
2766 #~ msgid "transl_xy state is "
2767 #~ msgstr "gjendja e transl_xy është"
2768
2769 #~ msgid "transl_z skipped ; counter = "
2770 #~ msgstr "numërues i nxituar itransl_z ; = "
2771
2772 #~ msgid "transl_z state is "
2773 #~ msgstr "gjendja e transl_z është"
2774
2775 #~ msgid "orbit_xy skipped ; counter = "
2776 #~ msgstr "numërues i nxituar iorbit_xy ; = "
2777
2778 #~ msgid "orbit_xy state is "
2779 #~ msgstr "gjendja e orbit_xy është"
2780
2781 #~ msgid "orbit_z skipped ; counter = "
2782 #~ msgstr "numërues i nxituar iorbit_z ; = "
2783
2784 #~ msgid "orbit_z state is "
2785 #~ msgstr "gjendja e orbit_z është"
2786
2787 #~ msgid "rotate_xy skipped ; counter = "
2788 #~ msgstr "numërues i nxituar i rrotullimit_xy ; = "
2789
2790 #~ msgid "rotate_xy state is "
2791 #~ msgstr "gjendja e rrotullimit_xy është"
2792
2793 #~ msgid "rotate_z skipped ; counter = "
2794 #~ msgstr "numërues i nxituar i rrotullimit_z ; ="
2795
2796 #~ msgid "rotate_z state is "
2797 #~ msgstr "gjendja e rrotullimit_z është"
2798
2799 #~ msgid "measure skipped ; counter = "
2800 #~ msgstr "numërues i nxituar për matje ; ="
2801
2802 #~ msgid "measure state is "
2803 #~ msgstr "gjendja e matjes është"
2804
2805 #~ msgid "ghemical-"
2806 #~ msgstr "ghemical-"
2807
2808 #~ msgid "ERROR : could not read glade XML file : "
2809 #~ msgstr "GABIM : nuk mund të lexojë glade skedarin XML :"
2810
2811 #~ msgid "<control>I"
2812 #~ msgstr "<control>I"
2813
2814 #~ msgid "<control>E"
2815 #~ msgstr "<kontrol>E"
2816
2817 #~ msgid "Compute a single-point energy"
2818 #~ msgstr "Njehso energjinë një pikëshe"
2819
2820 #~ msgid "Do a geometry optimization run"
2821 #~ msgstr "Bëj një ekzekutim të optimizimit të gjeometrisë"
2822
2823 #~ msgid "Do a molecular dynamics run"
2824 #~ msgstr "Bëj një ekzekutim të forcës lëvizëse molekulare"
2825
2826 #~ msgid "Do a random conformational search"
2827 #~ msgstr "Bëj një hulumtim strukturorë të rastësishëm"
2828
2829 #~ msgid "Do a Monte Carlo type conformational search"
2830 #~ msgstr "Bëj një hulumtim të tipit Monte Carlo"
2831
2832 #~ msgid "...todo..."
2833 #~ msgstr "...për të bërë..."
2834
2835 #~ msgid "UnderConstruction ; RS ; Set Formal Charge"
2836 #~ msgstr "Në ndërtim ; RS ; Vendos ngarkesë formale"
2837
2838 #~ msgid "UnderConstruction ; RS ; make RS"
2839 #~ msgstr "Në ndërtim ; RS ; bëj RS"
2840
2841 #~ msgid "UnderConstruction ; RS ; cycle RS"
2842 #~ msgstr "Në ndërtim ; RS ; ciklo RS"
2843
2844 #~ msgid "Building ggv menu failed : %s"
2845 #~ msgstr "Dështoi ndërtimi i menysë ggv : %s"
2846
2847 #~ msgid ""
2848 #~ "FIXME : superimpose conflicts with openbabel?\n"
2849 #~ "g++ (GCC) 3.3.5 (Debian 1:3.3.5-13) 20050701\n"
2850 #~ "compiler says superimpose is undeclared???"
2851 #~ msgstr ""
2852 #~ "MË RREGULLO : mbivendos konflikte me openbabel?\n"
2853 #~ "përpiluesi g++ (GCC) 3.3.5 (Debian 1:3.3.5-13) 20050701\n"
2854 #~ " tregon se mbivendosja nuk është e shpallur???"
2855
2856 #~ msgid "gtk_project::GetClient() failed!"
2857 #~ msgstr "dështoi gtk_projekti::Merr klient() !"
2858
2859 #~ msgid "now returning from gtk_project::GeomOptGetParam()."
2860 #~ msgstr "tani kthehu nga gtk_projekti::GeomOptGetParam()."
2861
2862 #~ msgid "now returning from gtk_project::MolDynGetParam()."
2863 #~ msgstr "tani kthehuni nga gtk_projekti::MolDynGetParam()."
2864
2865 #~ msgid "gtk_project::DestroyGraphicsWnd() : bad cast."
2866 #~ msgstr "gtk_projekti::ShkatërroGrafiqeWnd() : hedhje e keqe."
2867
2868 #~ msgid "gtk_project::DestroyPlottingWnd() : bad cast."
2869 #~ msgstr "gtk_projekti::ShkatërroVizatiminWnd() : hedhje e keqe."
2870
2871 #~ msgid "not implemented..."
2872 #~ msgstr "nuk është e zbatuar..."
2873
2874 #~ msgid ""
2875 #~ "BUG: Bad cast was detected at setup_dialog ctor.\n"
2876 #~ "The program will terminate."
2877 #~ msgstr ""
2878 #~ "VIRUS: Hedhja e keqe u zbulua në dialogun_e parametrizimit ctor.\n"
2879 #~ "Programi do të përfundojë."
2880
2881 #~ msgid "BUG: Invalid current page at setup_dialog::handler_ButtonOK()."
2882 #~ msgstr ""
2883 #~ "VIRUS: faqe aktuale e pavlefshme në dialogun_e parametrizimit::"
2884 #~ "mbajtës_ButonOK()."
2885
2886 #~ msgid "callEXIT : cannot report SFmode!"
2887 #~ msgstr "thirrDALJE : nuk mund të raportojë mënyrën SF!"
2888
2889 #~ msgid "Open Project File"
2890 #~ msgstr "Hap skedarin e projektit"
2891
2892 #~ msgid "Save Project File"
2893 #~ msgstr "Ruaj skedarin e projektit"
2894
2895 #~ msgid "BUG: file_save_dialog::OkEvent() failed."
2896 #~ msgstr "VIRUS: dështoi dialogu_për ruajtjen_e skedarit::OkNgjarje()."
2897
2898 #~ msgid "Save Graphics File - ps"
2899 #~ msgstr "Ruaj skedarin grafik - ps"
2900
2901 #~ msgid "BUG: file_save_graphics_dialog::OkEvent() failed."
2902 #~ msgstr "VIRUS: dështoi dialogu_grafik_për ruajtjen_e skedarëve::OkNgjarj()."
2903
2904 #~ msgid "Open Trajectory File - traj"
2905 #~ msgstr "Hap Skedarin e Trajektores -traj"
2906
2907 #~ msgid "trying to open \""
2908 #~ msgstr "bëj përpjekje për ta hapur \""
2909
2910 #~ msgid "Import File - Brookhaven PDB/ENT"
2911 #~ msgstr "Importo Skedarin- Brookhaven PDB/ENT "
2912
2913 #~ msgid "OK"
2914 #~ msgstr "OK"
2915
2916 #~ msgid "handler_Destroy() : ref = "
2917 #~ msgstr "mbajtës_Shkatërro() : ref = "
2918
2919 #~ msgid "ERROR : gtk_wnd dtor ; removal from iv failed!"
2920 #~ msgstr "GABIM : gtk_wnd dtor ; dështoi largimi nga iv!"
2921
2922 #~ msgid "gtk_wnd::RealizeHandler() : iv_Find() failed!"
2923 #~ msgstr "Dështoi gtk_wnd::Mbajtës i realizuar() : iv_Gjej() !"
2924
2925 #~ msgid "gtk_wnd::RealizeHandler() : gdk_gl_drawable_make_current() failed.\n"
2926 #~ msgstr ""
2927 #~ "gtk_wnd::Mbajtës i realizuar() :dështoi gdk_gl_bëje_aktuale_të "
2928 #~ "vizatueshmen() .\n"
2929
2930 #~ msgid "gtk_wnd::ButtonHandler() : iv_Find() failed!"
2931 #~ msgstr "dështoi gtk_wnd::Mbajtës i butonit() : iv_Gjej() !"
2932
2933 #~ msgid "ExposeHandler ; NOT REALIZED!!!"
2934 #~ msgstr "Trego mabjtësin ; NUK U REALIZUA!!!"
2935
2936 #~ msgid "ExposeHandler ; NOT INITIALIZED!!!"
2937 #~ msgstr "Trego mbajtësin ; NUK U REALIZUA!!!"
2938
2939 #~ msgid "gtk_wnd::ExposeHandler() : gdk_gl_drawable_make_current() failed.\n"
2940 #~ msgstr ""
2941 #~ "gtk_wnd::Trego mabjtësin() :dështoi gdk_gl_bëj_aktuale_të vizatueshmen"
2942 #~ "() .\n"
2943
2944 #~ msgid "ButtonHandler ; NOT REALIZED!!!"
2945 #~ msgstr "Mbajtësi i butonit ; NUK U REALIZUA!!!"
2946
2947 #~ msgid "gtk_wnd::MotionNotifyHandler() : iv_Find() failed!"
2948 #~ msgstr "dështoi gtk_wnd::Mbajtës për lajmërimin e lëvizjes() iv_Gjej() !"
2949
2950 #~ msgid "WARNING ; a mouse-button-up event was lost!"
2951 #~ msgstr "PARALAJMËRIM ; u humb ngjarja e butonit të sipërm të miut!"
2952
2953 #~ msgid "iv_Find() failed at gtk_wnd::ConfigureHandler()."
2954 #~ msgstr "dështoi iv_Gjej() në gtk_wnd::Konfiguro Mbajtësin()."
2955
2956 #~ msgid "gtk_wnd::SetCurrent() : gdk_gl_drawable_make_current() failed.\n"
2957 #~ msgstr ""
2958 #~ "gtk_wnd::Vendos aktualen() :dështoi gdk_gl_bëj_aktuale_të vuzaturshmen"
2959 #~ "() .\n"
2960
2961 #~ msgid "ERROR : gtk_wnd::TitleChanged() called for an unlinked window."
2962 #~ msgstr ""
2963 #~ "GABIM : gtk_wnd::Titull i ndryshuar() i thirrur për një dritare jo në "
2964 #~ "linjë."
2965
2966 #~ msgid ""
2967 #~ "BUG: The chain type is not correct (\"amino_acid\").\n"
2968 #~ "The program will terminate."
2969 #~ msgstr ""
2970 #~ "VIRUS: Tipi i zinxhirit nuk është i saktë (\"amino_acid\".\n"
2971 #~ "Programi do të përfundojë."
2972
2973 #~ msgid ""
2974 #~ "BUG: Tried to create a ribbon with less than 3 residues.\n"
2975 #~ "The program will terminate."
2976 #~ msgstr ""
2977 #~ "VIRUS: Përpiqet të krijojë një ribbon me më pak se 3 radikale.\n"
2978 #~ "Programi do të përfundojë."
2979
2980 #~ msgid "ribbon : failed to use susf."
2981 #~ msgstr "ribbon : dështoi përdorimi i susf."
2982
2983 #~ msgid "ERROR : search of C_alpha 2 failed."
2984 #~ msgstr "GABIM : dështoi hulumtimi për C_alfa 2."
2985
2986 #~ msgid "ERROR : search of C_alpha 1 failed."
2987 #~ msgstr "GABIM : dështoi hulumtimi për C_alfa 1."
2988
2989 #~ msgid "ERROR : search of c_carboxyl failed."
2990 #~ msgstr "GABIM : dështoi hulumtimi për c_karboksil."
2991
2992 #~ msgid "oglview_wcl::UpdateWnd() : skipped!"
2993 #~ msgstr "olgview_wcl::PërditësoWnd() : e kapërcyer!"
2994
2995 #~ msgid "invalid s1 passed to plot1d_view!"
2996 #~ msgstr "s1 jo e vlefshme e kaluar në pamje_të vizatimit2d!"
2997
2998 #~ msgid "invalid sv passed to plot1d_view!"
2999 #~ msgstr "sv jo e vlefshme e kaluar në pamje_të vizatimit1d!"
3000
3001 #~ msgid "invalid s1 passed to plot2d_view!"
3002 #~ msgstr "s1 jo e vlefshme e kaluar në pamje_të vizatimit2d!"
3003
3004 #~ msgid "invalid s2 passed to plot2d_view!"
3005 #~ msgstr "s2 jo e vlefshme e kaluar në pamje_të vizatimit2d!"
3006
3007 #~ msgid "invalid sv passed to plot2d_view!"
3008 #~ msgstr "sv jo e vlefshme e kaluar në pamje_të vizatimit2d!"
3009
3010 #~ msgid "callEXIT : pangofont_wcl::ogl_InitPangoFont() failed."
3011 #~ msgstr "thirrDALJE : dështoi pangofon_wcl::ogl_InitPangoFont() ."
3012
3013 #~ msgid "WARNING : pangofont_wcl::ogl_InitPangoFont() is already called."
3014 #~ msgstr "PARALAMËRIM : tashë quhet pangofont_wcl_::ogl_InitPangoFont() ."
3015
3016 #~ msgid "object_vector not empty!"
3017 #~ msgstr "vecktori_i objektit nuk është e zbrazët!"
3018
3019 #~ msgid "plotting_view_vector not empty!"
3020 #~ msgstr "vektori_për shikimin_e vizatimit nuk është i zbrazët!"
3021
3022 #~ msgid "graphics_view_vector not empty!"
3023 #~ msgstr "vektori_për shikimin_e grafiqeve nuk është i zbrazët!"
3024
3025 #~ msgid "bond_list not empty!"
3026 #~ msgstr "lista_e lidhjeve nuk është e zbrazët!"
3027
3028 #~ msgid "atom_list not empty!"
3029 #~ msgstr "lista_e atomeve nuk është e zbrazët!"
3030
3031 #~ msgid "project::GetProjectFileName() : buffer overflow!"
3032 #~ msgstr ""
3033 #~ "projekti::Merr Emrin e skedarit të Projektit() : zbatim i tejmbushur!"
3034
3035 #~ msgid "project::GetFullProjectFileName() : buffer overflow!"
3036 #~ msgstr ""
3037 #~ "projekti::Merr emër të plotë të skedarti të projektit() : zbatim i "
3038 #~ "tejmbushur!"
3039
3040 #~ msgid "WARNING : bad index at project::RemoveGraphicsClient()."
3041 #~ msgstr ""
3042 #~ "PARALAJMËRIM : tregues i keq në projektin::Largo Klientin e Grafiqeve() ."
3043
3044 #~ msgid "WARNING : bad index at project::RemovePlottingClient()."
3045 #~ msgstr ""
3046 #~ "PARALAJMËRIM : tregues i keq në projektin::Largo Klientin e Vizatimit() ."
3047
3048 #~ msgid "WARNING!!! donHmc/accHmc mismatch"
3049 #~ msgstr "PARALAJMËRIM!!! donHmc/accHmc mismatch"
3050
3051 #~ msgid "ERROR!!! ca_S_2x has an odd size."
3052 #~ msgstr "GABIM!!! ca_S_2x ka një madhësi të çuditshme."
3053
3054 #~ msgid "ERROR!!! cx_S_2x has an odd size."
3055 #~ msgstr "GABIM!!! cx_S_2x ka një madhësi të çuditshme."
3056
3057 #~ msgid "WARNING!!! mc_H_don/mc_H_acc mismatch"
3058 #~ msgstr "PARALAJMËRIM!!! mc_H_don/mc_H_acc mismatch"
3059
3060 #~ msgid "WARNING!!! mc_S_don/mc_S_acc mismatch"
3061 #~ msgstr "PARALAJMËRIM!!! mc_S_don/mc_S_acc mismatch"
3062
3063 #~ msgid "BUG: project::EraseEvent()."
3064 #~ msgstr "VIRUS: projekti::Fshij Ngjarje()."
3065
3066 #~ msgid "fatal error! atom #1 not found."
3067 #~ msgstr "gabim fatal! nuk u gjet atomi #1."
3068
3069 #~ msgid "fatal error! atom #2 not found."
3070 #~ msgstr "gabim fatal! atomi #2 nuk u gjet."
0 SUBDIRS = res_gtk
1
2 bin_PROGRAMS = ghemical
3
4 ##ghemical_LDADD = -lfoo_extra
5
6 ghemical_SOURCES = \
7 appdefine.h \
8 local_i18n.h \
9 color.h fileio.cpp \
10 filetrans.h filetrans.cpp \
11 custom_app.h custom_app.cpp \
12 custom_camera.h custom_camera.cpp \
13 custom_lights.h custom_lights.cpp \
14 project.h project.cpp \
15 spline.h spline.cpp \
16 \
17 pangofont_wcl.h pangofont_wcl.cpp \
18 \
19 oglview_wcl.h oglview_wcl.cpp \
20 \
21 ac_stor_wcl.h ac_stor_wcl.cpp \
22 p1dview_wcl.h p1dview_wcl.cpp \
23 p2dview_wcl.h p2dview_wcl.cpp \
24 eldview_wcl.h eldview_wcl.cpp \
25 rcpview_wcl.h rcpview_wcl.cpp \
26 gpcview_wcl.h gpcview_wcl.cpp \
27 \
28 ogl_plane.h ogl_plane.cpp \
29 ogl_surface.h ogl_surface.cpp \
30 ogl_ribbon.h ogl_ribbon.cpp \
31 \
32 \
33 \
34 gtk_simple_dialogs.h gtk_simple_dialogs.cpp \
35 gtk_glade_dialog.h gtk_glade_dialog.cpp \
36 gtk_file_export_dialog.h gtk_file_export_dialog.cpp \
37 gtk_file_import_dialog.h gtk_file_import_dialog.cpp \
38 gtk_geomopt_dialog.h gtk_geomopt_dialog.cpp \
39 gtk_moldyn_dialog.h gtk_moldyn_dialog.cpp \
40 gtk_progress_dialog.h gtk_progress_dialog.cpp \
41 gtk_setup_dialog.h gtk_setup_dialog.cpp \
42 gtk_stereo_dialog.h gtk_stereo_dialog.cpp \
43 gtk_trajview_dialog.h gtk_trajview_dialog.cpp \
44 \
45 gtk_wnd.h gtk_wnd.cpp \
46 gtk_oglview_wnd.h gtk_oglview_wnd.cpp \
47 gtk_p1dview_wnd.h gtk_p1dview_wnd.cpp \
48 gtk_p2dview_wnd.h gtk_p2dview_wnd.cpp \
49 gtk_eldview_wnd.h gtk_eldview_wnd.cpp \
50 gtk_rcpview_wnd.h gtk_rcpview_wnd.cpp \
51 gtk_gpcview_wnd.h gtk_gpcview_wnd.cpp \
52 \
53 gtk_app.h gtk_app.cpp \
54 gtk_project.h gtk_project.cpp \
55 gtk_main.h gtk_main.cpp
56
57 AM_CPPFLAGS = -DLOCALE_DIR=\""$(datadir)/locale"\"
58
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16
17 VPATH = @srcdir@
18 pkgdatadir = $(datadir)/@PACKAGE@
19 pkgincludedir = $(includedir)/@PACKAGE@
20 pkglibdir = $(libdir)/@PACKAGE@
21 pkglibexecdir = $(libexecdir)/@PACKAGE@
22 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
23 install_sh_DATA = $(install_sh) -c -m 644
24 install_sh_PROGRAM = $(install_sh) -c
25 install_sh_SCRIPT = $(install_sh) -c
26 INSTALL_HEADER = $(INSTALL_DATA)
27 transform = $(program_transform_name)
28 NORMAL_INSTALL = :
29 PRE_INSTALL = :
30 POST_INSTALL = :
31 NORMAL_UNINSTALL = :
32 PRE_UNINSTALL = :
33 POST_UNINSTALL = :
34 build_triplet = @build@
35 host_triplet = @host@
36 bin_PROGRAMS = ghemical$(EXEEXT)
37 subdir = src
38 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
39 $(srcdir)/ghemicalconfig.h.in
40 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
41 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
42 $(top_srcdir)/configure.ac
43 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
44 $(ACLOCAL_M4)
45 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
46 CONFIG_HEADER = ghemicalconfig.h
47 CONFIG_CLEAN_FILES =
48 CONFIG_CLEAN_VPATH_FILES =
49 am__installdirs = "$(DESTDIR)$(bindir)"
50 PROGRAMS = $(bin_PROGRAMS)
51 am_ghemical_OBJECTS = fileio.$(OBJEXT) filetrans.$(OBJEXT) \
52 custom_app.$(OBJEXT) custom_camera.$(OBJEXT) \
53 custom_lights.$(OBJEXT) project.$(OBJEXT) spline.$(OBJEXT) \
54 pangofont_wcl.$(OBJEXT) oglview_wcl.$(OBJEXT) \
55 ac_stor_wcl.$(OBJEXT) p1dview_wcl.$(OBJEXT) \
56 p2dview_wcl.$(OBJEXT) eldview_wcl.$(OBJEXT) \
57 rcpview_wcl.$(OBJEXT) gpcview_wcl.$(OBJEXT) \
58 ogl_plane.$(OBJEXT) ogl_surface.$(OBJEXT) ogl_ribbon.$(OBJEXT) \
59 gtk_simple_dialogs.$(OBJEXT) gtk_glade_dialog.$(OBJEXT) \
60 gtk_file_export_dialog.$(OBJEXT) \
61 gtk_file_import_dialog.$(OBJEXT) gtk_geomopt_dialog.$(OBJEXT) \
62 gtk_moldyn_dialog.$(OBJEXT) gtk_progress_dialog.$(OBJEXT) \
63 gtk_setup_dialog.$(OBJEXT) gtk_stereo_dialog.$(OBJEXT) \
64 gtk_trajview_dialog.$(OBJEXT) gtk_wnd.$(OBJEXT) \
65 gtk_oglview_wnd.$(OBJEXT) gtk_p1dview_wnd.$(OBJEXT) \
66 gtk_p2dview_wnd.$(OBJEXT) gtk_eldview_wnd.$(OBJEXT) \
67 gtk_rcpview_wnd.$(OBJEXT) gtk_gpcview_wnd.$(OBJEXT) \
68 gtk_app.$(OBJEXT) gtk_project.$(OBJEXT) gtk_main.$(OBJEXT)
69 ghemical_OBJECTS = $(am_ghemical_OBJECTS)
70 ghemical_LDADD = $(LDADD)
71 DEFAULT_INCLUDES = -I.@am__isrc@
72 depcomp = $(SHELL) $(top_srcdir)/depcomp
73 am__depfiles_maybe = depfiles
74 am__mv = mv -f
75 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
76 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
77 LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
78 --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
79 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
80 CXXLD = $(CXX)
81 CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
82 --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
83 $(LDFLAGS) -o $@
84 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
85 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
86 LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
87 --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
88 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
89 CCLD = $(CC)
90 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
91 --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
92 $(LDFLAGS) -o $@
93 SOURCES = $(ghemical_SOURCES)
94 DIST_SOURCES = $(ghemical_SOURCES)
95 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
96 html-recursive info-recursive install-data-recursive \
97 install-dvi-recursive install-exec-recursive \
98 install-html-recursive install-info-recursive \
99 install-pdf-recursive install-ps-recursive install-recursive \
100 installcheck-recursive installdirs-recursive pdf-recursive \
101 ps-recursive uninstall-recursive
102 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
103 distclean-recursive maintainer-clean-recursive
104 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
105 $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
106 distdir
107 ETAGS = etags
108 CTAGS = ctags
109 DIST_SUBDIRS = $(SUBDIRS)
110 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
111 am__relativize = \
112 dir0=`pwd`; \
113 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
114 sed_rest='s,^[^/]*/*,,'; \
115 sed_last='s,^.*/\([^/]*\)$$,\1,'; \
116 sed_butlast='s,/*[^/]*$$,,'; \
117 while test -n "$$dir1"; do \
118 first=`echo "$$dir1" | sed -e "$$sed_first"`; \
119 if test "$$first" != "."; then \
120 if test "$$first" = ".."; then \
121 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
122 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
123 else \
124 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
125 if test "$$first2" = "$$first"; then \
126 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
127 else \
128 dir2="../$$dir2"; \
129 fi; \
130 dir0="$$dir0"/"$$first"; \
131 fi; \
132 fi; \
133 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
134 done; \
135 reldir="$$dir2"
136 ACLOCAL = @ACLOCAL@
137 ALL_LINGUAS = @ALL_LINGUAS@
138 AMTAR = @AMTAR@
139 APPRELEASEDATE = @APPRELEASEDATE@
140 APPVERSION = @APPVERSION@
141 AR = @AR@
142 AUTOCONF = @AUTOCONF@
143 AUTOHEADER = @AUTOHEADER@
144 AUTOMAKE = @AUTOMAKE@
145 AWK = @AWK@
146 CATALOGS = @CATALOGS@
147 CATOBJEXT = @CATOBJEXT@
148 CC = @CC@
149 CCDEPMODE = @CCDEPMODE@
150 CFLAGS = @CFLAGS@
151 CPP = @CPP@
152 CPPFLAGS = @CPPFLAGS@
153 CXX = @CXX@
154 CXXCPP = @CXXCPP@
155 CXXDEPMODE = @CXXDEPMODE@
156 CXXFLAGS = @CXXFLAGS@
157 CYGPATH_W = @CYGPATH_W@
158 DATADIRNAME = @DATADIRNAME@
159 DEFS = @DEFS@
160 DEPDIR = @DEPDIR@
161 DSYMUTIL = @DSYMUTIL@
162 DUMPBIN = @DUMPBIN@
163 ECHO_C = @ECHO_C@
164 ECHO_N = @ECHO_N@
165 ECHO_T = @ECHO_T@
166 EGREP = @EGREP@
167 EXEEXT = @EXEEXT@
168 FGREP = @FGREP@
169 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
170 GMOFILES = @GMOFILES@
171 GMSGFMT = @GMSGFMT@
172 GREP = @GREP@
173 GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
174 GTHREAD_LIBS = @GTHREAD_LIBS@
175 GTK_CFLAGS = @GTK_CFLAGS@
176 GTK_LIBS = @GTK_LIBS@
177 INSTALL = @INSTALL@
178 INSTALL_DATA = @INSTALL_DATA@
179 INSTALL_PROGRAM = @INSTALL_PROGRAM@
180 INSTALL_SCRIPT = @INSTALL_SCRIPT@
181 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
182 INSTOBJEXT = @INSTOBJEXT@
183 INTLLIBS = @INTLLIBS@
184 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
185 INTLTOOL_MERGE = @INTLTOOL_MERGE@
186 INTLTOOL_PERL = @INTLTOOL_PERL@
187 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
188 LD = @LD@
189 LDFLAGS = @LDFLAGS@
190 LIBGHEMICAL_CFLAGS = @LIBGHEMICAL_CFLAGS@
191 LIBGHEMICAL_LIBS = @LIBGHEMICAL_LIBS@
192 LIBOBJS = @LIBOBJS@
193 LIBS = @LIBS@
194 LIBTOOL = @LIBTOOL@
195 LIPO = @LIPO@
196 LN_S = @LN_S@
197 LTLIBOBJS = @LTLIBOBJS@
198 MAKEINFO = @MAKEINFO@
199 MKDIR_P = @MKDIR_P@
200 MKINSTALLDIRS = @MKINSTALLDIRS@
201 MSGFMT = @MSGFMT@
202 MSGFMT_OPTS = @MSGFMT_OPTS@
203 MSGMERGE = @MSGMERGE@
204 NM = @NM@
205 NMEDIT = @NMEDIT@
206 OBJDUMP = @OBJDUMP@
207 OBJEXT = @OBJEXT@
208 OPENBABEL_CFLAGS = @OPENBABEL_CFLAGS@
209 OPENBABEL_LIBS = @OPENBABEL_LIBS@
210 OTOOL = @OTOOL@
211 OTOOL64 = @OTOOL64@
212 PACKAGE = @PACKAGE@
213 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
214 PACKAGE_NAME = @PACKAGE_NAME@
215 PACKAGE_STRING = @PACKAGE_STRING@
216 PACKAGE_TARNAME = @PACKAGE_TARNAME@
217 PACKAGE_URL = @PACKAGE_URL@
218 PACKAGE_VERSION = @PACKAGE_VERSION@
219 PATH_SEPARATOR = @PATH_SEPARATOR@
220 PKG_CONFIG = @PKG_CONFIG@
221 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
222 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
223 POFILES = @POFILES@
224 POSUB = @POSUB@
225 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
226 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
227 RANLIB = @RANLIB@
228 SED = @SED@
229 SET_MAKE = @SET_MAKE@
230 SHELL = @SHELL@
231 STRIP = @STRIP@
232 USE_NLS = @USE_NLS@
233 VERSION = @VERSION@
234 XGETTEXT = @XGETTEXT@
235 abs_builddir = @abs_builddir@
236 abs_srcdir = @abs_srcdir@
237 abs_top_builddir = @abs_top_builddir@
238 abs_top_srcdir = @abs_top_srcdir@
239 ac_ct_CC = @ac_ct_CC@
240 ac_ct_CXX = @ac_ct_CXX@
241 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
242 am__include = @am__include@
243 am__leading_dot = @am__leading_dot@
244 am__quote = @am__quote@
245 am__tar = @am__tar@
246 am__untar = @am__untar@
247 bindir = @bindir@
248 build = @build@
249 build_alias = @build_alias@
250 build_cpu = @build_cpu@
251 build_os = @build_os@
252 build_vendor = @build_vendor@
253 builddir = @builddir@
254 datadir = @datadir@
255 datarootdir = @datarootdir@
256 docdir = @docdir@
257 dvidir = @dvidir@
258 exec_prefix = @exec_prefix@
259 host = @host@
260 host_alias = @host_alias@
261 host_cpu = @host_cpu@
262 host_os = @host_os@
263 host_vendor = @host_vendor@
264 htmldir = @htmldir@
265 includedir = @includedir@
266 infodir = @infodir@
267 install_sh = @install_sh@
268 libdir = @libdir@
269 libexecdir = @libexecdir@
270 localedir = @localedir@
271 localstatedir = @localstatedir@
272 lt_ECHO = @lt_ECHO@
273 mandir = @mandir@
274 mkdir_p = @mkdir_p@
275 oldincludedir = @oldincludedir@
276 pdfdir = @pdfdir@
277 prefix = @prefix@
278 program_transform_name = @program_transform_name@
279 psdir = @psdir@
280 sbindir = @sbindir@
281 sharedstatedir = @sharedstatedir@
282 srcdir = @srcdir@
283 sysconfdir = @sysconfdir@
284 target_alias = @target_alias@
285 top_build_prefix = @top_build_prefix@
286 top_builddir = @top_builddir@
287 top_builddir_ = @top_builddir_@
288 top_srcdir = @top_srcdir@
289 SUBDIRS = res_gtk
290 ghemical_SOURCES = \
291 appdefine.h \
292 local_i18n.h \
293 color.h fileio.cpp \
294 filetrans.h filetrans.cpp \
295 custom_app.h custom_app.cpp \
296 custom_camera.h custom_camera.cpp \
297 custom_lights.h custom_lights.cpp \
298 project.h project.cpp \
299 spline.h spline.cpp \
300 \
301 pangofont_wcl.h pangofont_wcl.cpp \
302 \
303 oglview_wcl.h oglview_wcl.cpp \
304 \
305 ac_stor_wcl.h ac_stor_wcl.cpp \
306 p1dview_wcl.h p1dview_wcl.cpp \
307 p2dview_wcl.h p2dview_wcl.cpp \
308 eldview_wcl.h eldview_wcl.cpp \
309 rcpview_wcl.h rcpview_wcl.cpp \
310 gpcview_wcl.h gpcview_wcl.cpp \
311 \
312 ogl_plane.h ogl_plane.cpp \
313 ogl_surface.h ogl_surface.cpp \
314 ogl_ribbon.h ogl_ribbon.cpp \
315 \
316 \
317 \
318 gtk_simple_dialogs.h gtk_simple_dialogs.cpp \
319 gtk_glade_dialog.h gtk_glade_dialog.cpp \
320 gtk_file_export_dialog.h gtk_file_export_dialog.cpp \
321 gtk_file_import_dialog.h gtk_file_import_dialog.cpp \
322 gtk_geomopt_dialog.h gtk_geomopt_dialog.cpp \
323 gtk_moldyn_dialog.h gtk_moldyn_dialog.cpp \
324 gtk_progress_dialog.h gtk_progress_dialog.cpp \
325 gtk_setup_dialog.h gtk_setup_dialog.cpp \
326 gtk_stereo_dialog.h gtk_stereo_dialog.cpp \
327 gtk_trajview_dialog.h gtk_trajview_dialog.cpp \
328 \
329 gtk_wnd.h gtk_wnd.cpp \
330 gtk_oglview_wnd.h gtk_oglview_wnd.cpp \
331 gtk_p1dview_wnd.h gtk_p1dview_wnd.cpp \
332 gtk_p2dview_wnd.h gtk_p2dview_wnd.cpp \
333 gtk_eldview_wnd.h gtk_eldview_wnd.cpp \
334 gtk_rcpview_wnd.h gtk_rcpview_wnd.cpp \
335 gtk_gpcview_wnd.h gtk_gpcview_wnd.cpp \
336 \
337 gtk_app.h gtk_app.cpp \
338 gtk_project.h gtk_project.cpp \
339 gtk_main.h gtk_main.cpp
340
341 AM_CPPFLAGS = -DLOCALE_DIR=\""$(datadir)/locale"\"
342 all: ghemicalconfig.h
343 $(MAKE) $(AM_MAKEFLAGS) all-recursive
344
345 .SUFFIXES:
346 .SUFFIXES: .cpp .lo .o .obj
347 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
348 @for dep in $?; do \
349 case '$(am__configure_deps)' in \
350 *$$dep*) \
351 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
352 && { if test -f $@; then exit 0; else break; fi; }; \
353 exit 1;; \
354 esac; \
355 done; \
356 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
357 $(am__cd) $(top_srcdir) && \
358 $(AUTOMAKE) --gnu src/Makefile
359 .PRECIOUS: Makefile
360 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
361 @case '$?' in \
362 *config.status*) \
363 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
364 *) \
365 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
366 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
367 esac;
368
369 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
370 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
371
372 $(top_srcdir)/configure: $(am__configure_deps)
373 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
374 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
375 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
376 $(am__aclocal_m4_deps):
377
378 ghemicalconfig.h: stamp-h1
379 @if test ! -f $@; then \
380 rm -f stamp-h1; \
381 $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
382 else :; fi
383
384 stamp-h1: $(srcdir)/ghemicalconfig.h.in $(top_builddir)/config.status
385 @rm -f stamp-h1
386 cd $(top_builddir) && $(SHELL) ./config.status src/ghemicalconfig.h
387 $(srcdir)/ghemicalconfig.h.in: $(am__configure_deps)
388 ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
389 rm -f stamp-h1
390 touch $@
391
392 distclean-hdr:
393 -rm -f ghemicalconfig.h stamp-h1
394 install-binPROGRAMS: $(bin_PROGRAMS)
395 @$(NORMAL_INSTALL)
396 test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
397 @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
398 for p in $$list; do echo "$$p $$p"; done | \
399 sed 's/$(EXEEXT)$$//' | \
400 while read p p1; do if test -f $$p || test -f $$p1; \
401 then echo "$$p"; echo "$$p"; else :; fi; \
402 done | \
403 sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
404 -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
405 sed 'N;N;N;s,\n, ,g' | \
406 $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
407 { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
408 if ($$2 == $$4) files[d] = files[d] " " $$1; \
409 else { print "f", $$3 "/" $$4, $$1; } } \
410 END { for (d in files) print "f", d, files[d] }' | \
411 while read type dir files; do \
412 if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
413 test -z "$$files" || { \
414 echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
415 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
416 } \
417 ; done
418
419 uninstall-binPROGRAMS:
420 @$(NORMAL_UNINSTALL)
421 @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
422 files=`for p in $$list; do echo "$$p"; done | \
423 sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
424 -e 's/$$/$(EXEEXT)/' `; \
425 test -n "$$list" || exit 0; \
426 echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
427 cd "$(DESTDIR)$(bindir)" && rm -f $$files
428
429 clean-binPROGRAMS:
430 @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
431 echo " rm -f" $$list; \
432 rm -f $$list || exit $$?; \
433 test -n "$(EXEEXT)" || exit 0; \
434 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
435 echo " rm -f" $$list; \
436 rm -f $$list
437 ghemical$(EXEEXT): $(ghemical_OBJECTS) $(ghemical_DEPENDENCIES)
438 @rm -f ghemical$(EXEEXT)
439 $(CXXLINK) $(ghemical_OBJECTS) $(ghemical_LDADD) $(LIBS)
440
441 mostlyclean-compile:
442 -rm -f *.$(OBJEXT)
443
444 distclean-compile:
445 -rm -f *.tab.c
446
447 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ac_stor_wcl.Po@am__quote@
448 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/custom_app.Po@am__quote@
449 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/custom_camera.Po@am__quote@
450 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/custom_lights.Po@am__quote@
451 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eldview_wcl.Po@am__quote@
452 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileio.Po@am__quote@
453 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filetrans.Po@am__quote@
454 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpcview_wcl.Po@am__quote@
455 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_app.Po@am__quote@
456 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_eldview_wnd.Po@am__quote@
457 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_file_export_dialog.Po@am__quote@
458 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_file_import_dialog.Po@am__quote@
459 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_geomopt_dialog.Po@am__quote@
460 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_glade_dialog.Po@am__quote@
461 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_gpcview_wnd.Po@am__quote@
462 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_main.Po@am__quote@
463 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_moldyn_dialog.Po@am__quote@
464 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_oglview_wnd.Po@am__quote@
465 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_p1dview_wnd.Po@am__quote@
466 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_p2dview_wnd.Po@am__quote@
467 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_progress_dialog.Po@am__quote@
468 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_project.Po@am__quote@
469 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_rcpview_wnd.Po@am__quote@
470 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_setup_dialog.Po@am__quote@
471 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_simple_dialogs.Po@am__quote@
472 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_stereo_dialog.Po@am__quote@
473 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_trajview_dialog.Po@am__quote@
474 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtk_wnd.Po@am__quote@
475 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ogl_plane.Po@am__quote@
476 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ogl_ribbon.Po@am__quote@
477 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ogl_surface.Po@am__quote@
478 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oglview_wcl.Po@am__quote@
479 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/p1dview_wcl.Po@am__quote@
480 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/p2dview_wcl.Po@am__quote@
481 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pangofont_wcl.Po@am__quote@
482 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/project.Po@am__quote@
483 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rcpview_wcl.Po@am__quote@
484 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spline.Po@am__quote@
485
486 .cpp.o:
487 @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
488 @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
489 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
490 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
491 @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
492
493 .cpp.obj:
494 @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
495 @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
496 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
497 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
498 @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
499
500 .cpp.lo:
501 @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
502 @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
503 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
504 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
505 @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
506
507 mostlyclean-libtool:
508 -rm -f *.lo
509
510 clean-libtool:
511 -rm -rf .libs _libs
512
513 # This directory's subdirectories are mostly independent; you can cd
514 # into them and run `make' without going through this Makefile.
515 # To change the values of `make' variables: instead of editing Makefiles,
516 # (1) if the variable is set in `config.status', edit `config.status'
517 # (which will cause the Makefiles to be regenerated when you run `make');
518 # (2) otherwise, pass the desired values on the `make' command line.
519 $(RECURSIVE_TARGETS):
520 @fail= failcom='exit 1'; \
521 for f in x $$MAKEFLAGS; do \
522 case $$f in \
523 *=* | --[!k]*);; \
524 *k*) failcom='fail=yes';; \
525 esac; \
526 done; \
527 dot_seen=no; \
528 target=`echo $@ | sed s/-recursive//`; \
529 list='$(SUBDIRS)'; for subdir in $$list; do \
530 echo "Making $$target in $$subdir"; \
531 if test "$$subdir" = "."; then \
532 dot_seen=yes; \
533 local_target="$$target-am"; \
534 else \
535 local_target="$$target"; \
536 fi; \
537 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
538 || eval $$failcom; \
539 done; \
540 if test "$$dot_seen" = "no"; then \
541 $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
542 fi; test -z "$$fail"
543
544 $(RECURSIVE_CLEAN_TARGETS):
545 @fail= failcom='exit 1'; \
546 for f in x $$MAKEFLAGS; do \
547 case $$f in \
548 *=* | --[!k]*);; \
549 *k*) failcom='fail=yes';; \
550 esac; \
551 done; \
552 dot_seen=no; \
553 case "$@" in \
554 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
555 *) list='$(SUBDIRS)' ;; \
556 esac; \
557 rev=''; for subdir in $$list; do \
558 if test "$$subdir" = "."; then :; else \
559 rev="$$subdir $$rev"; \
560 fi; \
561 done; \
562 rev="$$rev ."; \
563 target=`echo $@ | sed s/-recursive//`; \
564 for subdir in $$rev; do \
565 echo "Making $$target in $$subdir"; \
566 if test "$$subdir" = "."; then \
567 local_target="$$target-am"; \
568 else \
569 local_target="$$target"; \
570 fi; \
571 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
572 || eval $$failcom; \
573 done && test -z "$$fail"
574 tags-recursive:
575 list='$(SUBDIRS)'; for subdir in $$list; do \
576 test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
577 done
578 ctags-recursive:
579 list='$(SUBDIRS)'; for subdir in $$list; do \
580 test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
581 done
582
583 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
584 list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
585 unique=`for i in $$list; do \
586 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
587 done | \
588 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
589 END { if (nonempty) { for (i in files) print i; }; }'`; \
590 mkid -fID $$unique
591 tags: TAGS
592
593 TAGS: tags-recursive $(HEADERS) $(SOURCES) ghemicalconfig.h.in $(TAGS_DEPENDENCIES) \
594 $(TAGS_FILES) $(LISP)
595 set x; \
596 here=`pwd`; \
597 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
598 include_option=--etags-include; \
599 empty_fix=.; \
600 else \
601 include_option=--include; \
602 empty_fix=; \
603 fi; \
604 list='$(SUBDIRS)'; for subdir in $$list; do \
605 if test "$$subdir" = .; then :; else \
606 test ! -f $$subdir/TAGS || \
607 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
608 fi; \
609 done; \
610 list='$(SOURCES) $(HEADERS) ghemicalconfig.h.in $(LISP) $(TAGS_FILES)'; \
611 unique=`for i in $$list; do \
612 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
613 done | \
614 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
615 END { if (nonempty) { for (i in files) print i; }; }'`; \
616 shift; \
617 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
618 test -n "$$unique" || unique=$$empty_fix; \
619 if test $$# -gt 0; then \
620 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
621 "$$@" $$unique; \
622 else \
623 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
624 $$unique; \
625 fi; \
626 fi
627 ctags: CTAGS
628 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) ghemicalconfig.h.in $(TAGS_DEPENDENCIES) \
629 $(TAGS_FILES) $(LISP)
630 list='$(SOURCES) $(HEADERS) ghemicalconfig.h.in $(LISP) $(TAGS_FILES)'; \
631 unique=`for i in $$list; do \
632 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
633 done | \
634 $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
635 END { if (nonempty) { for (i in files) print i; }; }'`; \
636 test -z "$(CTAGS_ARGS)$$unique" \
637 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
638 $$unique
639
640 GTAGS:
641 here=`$(am__cd) $(top_builddir) && pwd` \
642 && $(am__cd) $(top_srcdir) \
643 && gtags -i $(GTAGS_ARGS) "$$here"
644
645 distclean-tags:
646 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
647
648 distdir: $(DISTFILES)
649 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
650 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
651 list='$(DISTFILES)'; \
652 dist_files=`for file in $$list; do echo $$file; done | \
653 sed -e "s|^$$srcdirstrip/||;t" \
654 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
655 case $$dist_files in \
656 */*) $(MKDIR_P) `echo "$$dist_files" | \
657 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
658 sort -u` ;; \
659 esac; \
660 for file in $$dist_files; do \
661 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
662 if test -d $$d/$$file; then \
663 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
664 if test -d "$(distdir)/$$file"; then \
665 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
666 fi; \
667 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
668 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
669 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
670 fi; \
671 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
672 else \
673 test -f "$(distdir)/$$file" \
674 || cp -p $$d/$$file "$(distdir)/$$file" \
675 || exit 1; \
676 fi; \
677 done
678 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
679 if test "$$subdir" = .; then :; else \
680 test -d "$(distdir)/$$subdir" \
681 || $(MKDIR_P) "$(distdir)/$$subdir" \
682 || exit 1; \
683 fi; \
684 done
685 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
686 if test "$$subdir" = .; then :; else \
687 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
688 $(am__relativize); \
689 new_distdir=$$reldir; \
690 dir1=$$subdir; dir2="$(top_distdir)"; \
691 $(am__relativize); \
692 new_top_distdir=$$reldir; \
693 echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
694 echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
695 ($(am__cd) $$subdir && \
696 $(MAKE) $(AM_MAKEFLAGS) \
697 top_distdir="$$new_top_distdir" \
698 distdir="$$new_distdir" \
699 am__remove_distdir=: \
700 am__skip_length_check=: \
701 am__skip_mode_fix=: \
702 distdir) \
703 || exit 1; \
704 fi; \
705 done
706 check-am: all-am
707 check: check-recursive
708 all-am: Makefile $(PROGRAMS) ghemicalconfig.h
709 installdirs: installdirs-recursive
710 installdirs-am:
711 for dir in "$(DESTDIR)$(bindir)"; do \
712 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
713 done
714 install: install-recursive
715 install-exec: install-exec-recursive
716 install-data: install-data-recursive
717 uninstall: uninstall-recursive
718
719 install-am: all-am
720 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
721
722 installcheck: installcheck-recursive
723 install-strip:
724 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
725 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
726 `test -z '$(STRIP)' || \
727 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
728 mostlyclean-generic:
729
730 clean-generic:
731
732 distclean-generic:
733 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
734 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
735
736 maintainer-clean-generic:
737 @echo "This command is intended for maintainers to use"
738 @echo "it deletes files that may require special tools to rebuild."
739 clean: clean-recursive
740
741 clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
742
743 distclean: distclean-recursive
744 -rm -rf ./$(DEPDIR)
745 -rm -f Makefile
746 distclean-am: clean-am distclean-compile distclean-generic \
747 distclean-hdr distclean-tags
748
749 dvi: dvi-recursive
750
751 dvi-am:
752
753 html: html-recursive
754
755 html-am:
756
757 info: info-recursive
758
759 info-am:
760
761 install-data-am:
762
763 install-dvi: install-dvi-recursive
764
765 install-dvi-am:
766
767 install-exec-am: install-binPROGRAMS
768
769 install-html: install-html-recursive
770
771 install-html-am:
772
773 install-info: install-info-recursive
774
775 install-info-am:
776
777 install-man:
778
779 install-pdf: install-pdf-recursive
780
781 install-pdf-am:
782
783 install-ps: install-ps-recursive
784
785 install-ps-am:
786
787 installcheck-am:
788
789 maintainer-clean: maintainer-clean-recursive
790 -rm -rf ./$(DEPDIR)
791 -rm -f Makefile
792 maintainer-clean-am: distclean-am maintainer-clean-generic
793
794 mostlyclean: mostlyclean-recursive
795
796 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
797 mostlyclean-libtool
798
799 pdf: pdf-recursive
800
801 pdf-am:
802
803 ps: ps-recursive
804
805 ps-am:
806
807 uninstall-am: uninstall-binPROGRAMS
808
809 .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
810 ctags-recursive install-am install-strip tags-recursive
811
812 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
813 all all-am check check-am clean clean-binPROGRAMS \
814 clean-generic clean-libtool ctags ctags-recursive distclean \
815 distclean-compile distclean-generic distclean-hdr \
816 distclean-libtool distclean-tags distdir dvi dvi-am html \
817 html-am info info-am install install-am install-binPROGRAMS \
818 install-data install-data-am install-dvi install-dvi-am \
819 install-exec install-exec-am install-html install-html-am \
820 install-info install-info-am install-man install-pdf \
821 install-pdf-am install-ps install-ps-am install-strip \
822 installcheck installcheck-am installdirs installdirs-am \
823 maintainer-clean maintainer-clean-generic mostlyclean \
824 mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
825 pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
826 uninstall-binPROGRAMS
827
828
829 # Tell versions [3.59,3.63) of GNU make to not export all variables.
830 # Otherwise a system limit (for SysV at least) may be exceeded.
831 .NOEXPORT:
0 // AC_STOR_WCL.CPP
1
2 // Copyright (C) 2006 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ac_stor_wcl.h"
21
22 #include "project.h"
23 #include "custom_app.h"
24
25 /*################################################################################################*/
26
27 ac_stor_wcl::ac_stor_wcl(ogl_camera * cam) :
28 pangofont_wcl(cam)
29 {
30 }
31
32 ac_stor_wcl::~ac_stor_wcl(void)
33 {
34 for (int i = 0;i < (int) acv.size();i++)
35 {
36 if (acv[i] != NULL)
37 {
38 delete[] acv[i];
39 acv[i] = NULL;
40 }
41 }
42 }
43
44 int ac_stor_wcl::StoreAC(engine * eng)
45 {
46 if (eng == NULL) return NOT_DEFINED;
47
48 if (!acv.size()) // is this the 1st set???
49 {
50 if (av.size() != 0)
51 {
52 assertion_failed(__FILE__, __LINE__, "av is not empty.");
53 }
54
55 atom ** atmtab = eng->GetSetup()->GetAtoms();
56 for (int i = 0;i < eng->GetSetup()->GetAtomCount();i++)
57 {
58 av.push_back(atmtab[i]);
59 }
60 }
61 else
62 {
63 if (av.size() != eng->GetSetup()->GetAtomCount())
64 {
65 assertion_failed(__FILE__, __LINE__, "av.size() is bad.");
66 }
67 }
68
69 float * newXYZ = new float[av.size() * 3];
70
71 // store the atom coordinates for later viewing...
72 // just assume that the atoms are not re-ordered.
73 // the number of atoms is stored and checked.
74
75 for (int i = 0;i < (int) av.size() * 3;i++)
76 {
77 newXYZ[i] = eng->ReadCRD(i);
78 }
79
80 int retval = (int) acv.size();
81 acv.push_back(newXYZ);
82
83 return retval;
84 }
85
86 int ac_stor_wcl::StoreAC(model * mdl, int cset)
87 {
88 if (mdl == NULL) return NOT_DEFINED;
89
90 if (!acv.size()) // is this the 1st set???
91 {
92 if (av.size() != 0)
93 {
94 assertion_failed(__FILE__, __LINE__, "av is not empty.");
95 }
96
97 atom ** atmtab = mdl->GetCurrentSetup()->GetAtoms();
98 for (int i = 0;i < mdl->GetCurrentSetup()->GetAtomCount();i++)
99 {
100 av.push_back(atmtab[i]);
101 }
102 }
103 else
104 {
105 if (av.size() != mdl->GetCurrentSetup()->GetAtomCount())
106 {
107 assertion_failed(__FILE__, __LINE__, "av.size() is bad.");
108 }
109 }
110
111 float * newXYZ = new float[av.size() * 3];
112
113 // store the atom coordinates for later viewing...
114 // just assume that the atoms are not re-ordered.
115 // the number of atoms is stored and checked.
116
117 for (int i = 0;i < (int) av.size();i++)
118 {
119 const fGL * xyz = av[i]->GetCRD(cset);
120
121 newXYZ[i * 3 + 0] = xyz[0];
122 newXYZ[i * 3 + 1] = xyz[1];
123 newXYZ[i * 3 + 2] = xyz[2];
124 }
125
126 int retval = (int) acv.size();
127 acv.push_back(newXYZ);
128
129 return retval;
130 }
131
132 void ac_stor_wcl::ShowAC(int index)
133 {
134 if (index < 0 || index >= (int) acv.size()) return;
135
136 project * prj = custom_app::GetAppC()->GetPrj();
137
138 if (acv[index] != NULL && av.size() == prj->GetCurrentSetup()->GetAtomCount())
139 {
140 for (int i = 0;i < (int) av.size();i++)
141 {
142 const float x = acv[index][i * 3 + 0];
143 const float y = acv[index][i * 3 + 1];
144 const float z = acv[index][i * 3 + 2];
145
146 const int cset = 0; // ???
147
148 av[i]->SetCRD(cset, x, y, z);
149 }
150
151 prj->UpdateAllGraphicsViews();
152
153 // also make sure that if user calculates any results, the new structure will be used!
154 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
155
156 prj->GetCurrentSetup()->DiscardCurrentEngine();
157 }
158 }
159
160 /*################################################################################################*/
161
162 // eof
0 // AC_STOR_WCL.H : a wcl that stores atom coordinates (base class for plots).
1
2 // Copyright (C) 2006 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ghemicalconfig2.h"
21
22 #ifndef AC_STOR_WCL_H
23 #define AC_STOR_WCL_H
24
25 #include <ghemical/engine.h>
26 #include "pangofont_wcl.h"
27
28 /*################################################################################################*/
29
30 class ac_stor_wcl :
31 public pangofont_wcl
32 {
33 private:
34
35 vector<atom *> av;
36 vector<float *> acv;
37
38 public:
39
40 ac_stor_wcl(ogl_camera *);
41 virtual ~ac_stor_wcl(void);
42
43 int StoreAC(engine *);
44 int StoreAC(model *, int);
45
46 void ShowAC(int);
47 };
48
49 /*################################################################################################*/
50
51 #endif // AC_STOR_WCL_H
52
53 // eof
0 // APPDEFINE.H : just some macros #defined here...
1
2 // Copyright (C) 1998 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef APPDEFINE_H
21 #define APPDEFINE_H
22
23 //#include "ghemicalconfig2.h"
24
25 /*################################################################################################*/
26
27 #define GLNAME_LIGHT 0x0001
28 #define GLNAME_OBJECT 0x0002
29
30 #define GLNAME_MODEL_DEPENDENT 0xFF00 // all these events are forwarded...
31
32 #define GLNAME_MD_TYPE1 (GLNAME_MODEL_DEPENDENT | 0x01)
33 #define GLNAME_MD_TYPE2 (GLNAME_MODEL_DEPENDENT | 0x02)
34
35 /*################################################################################################*/
36
37 #define RENDER_NOTHING 0x00
38 #define RENDER_WIREFRAME 0x01
39 #define RENDER_BALL_AND_STICK 0x02
40 #define RENDER_VAN_DER_WAALS 0x03
41 #define RENDER_ACCESSIBLE 0x04
42 #define RENDER_CYLINDERS 0x05
43
44 #define LABEL_NOTHING 0x00
45 #define LABEL_INDEX 0x01
46 #define LABEL_F_CHARGE 0x02
47 #define LABEL_P_CHARGE 0x03
48 #define LABEL_ELEMENT 0x04
49 #define LABEL_BUILDER_ID 0x05
50 #define LABEL_ATOMTYPE 0x06
51 #define LABEL_BONDTYPE 0x10
52 #define LABEL_RESIDUE 0x20
53 #define LABEL_SEC_STRUCT 0x21
54
55 /*################################################################################################*/
56
57 #endif // APPDEFINE_H
58
59 // eof
0 // COLOR.H : some common (inline-)functions for color selections.
1
2 // Copyright (C) 1999 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef COLOR_H
21 #define COLOR_H
22
23 //#include "ghemicalconfig2.h"
24
25 /*################################################################################################*/
26
27 #include <ghemical/typedef.h>
28
29 class engine; // engine.h
30
31 /*################################################################################################*/
32
33 // these should be done generic, to give any desired color range...
34 // these should be done generic, to give any desired color range...
35 // these should be done generic, to give any desired color range...
36
37 void GetRBRange1(fGL, fGL, fGL *);
38 void GetRBRange2(fGL, fGL, fGL *);
39
40 void GetRedColor(fGL, fGL, fGL *);
41 void GetGreenColor(fGL, fGL, fGL *);
42 void GetBlueColor(fGL, fGL, fGL *);
43
44 fGL GetUnity(engine *, fGL *, fGL *);
45
46 /*################################################################################################*/
47
48 /** A color function: white -> red -> green -> blue -> white, constant alpha.
49 This is best suited for opaque/transparent planes...
50 */
51 inline void GetRBRange1(fGL value1, fGL alpha1, fGL * rgb)
52 {
53 fGL value2 = fabs(value1);
54
55 if (value2 < 1.0)
56 {
57 if (value1 < 0.0)
58 {
59 rgb[0] = 0.0;
60 rgb[2] = value2;
61 }
62 else
63 {
64 rgb[0] = value2;
65 rgb[2] = 0.0;
66 }
67
68 rgb[1] = 1.0 - value2;
69 rgb[3] = alpha1;
70 }
71 else
72 {
73 value2 = 1.0 - 1.0 / value2;
74
75 if (value1 < 0.0)
76 {
77 rgb[0] = value2;
78 rgb[2] = 1.0;
79 }
80 else
81 {
82 rgb[0] = 1.0;
83 rgb[2] = value2;
84 }
85
86 rgb[1] = value2;
87 rgb[3] = alpha1;
88 }
89 }
90
91 /** A color function: white -> red -> [SHARP CHANGE] -> blue -> white, variable alpha.
92 This is best suited for transparent objects (volume rendering)...
93 */
94 inline void GetRBRange2(fGL value1, fGL alpha1, fGL * rgb)
95 {
96 fGL value2 = fabs(value1);
97
98 fGL alpha2 = alpha1 * value2;
99 if (alpha2 > 1.0) alpha2 = 1.0;
100
101 if (value2 < 1.0)
102 {
103 if (value1 < 0.0)
104 {
105 rgb[0] = 0.0;
106 rgb[2] = 1.0;
107 }
108 else
109 {
110 rgb[0] = 1.0;
111 rgb[2] = 0.0;
112 }
113
114 rgb[1] = 0.0;
115 rgb[3] = alpha2;
116 }
117 else
118 {
119 value2 = 1.0 - 1.0 / value2;
120
121 if (value1 < 0.0)
122 {
123 rgb[0] = value2;
124 rgb[2] = 1.0;
125 }
126 else
127 {
128 rgb[0] = 1.0;
129 rgb[2] = value2;
130 }
131
132 rgb[1] = value2;
133 rgb[3] = alpha2;
134 }
135 }
136
137 inline void GetRedColor(fGL value, fGL alpha, fGL * rgb)
138 {
139 rgb[0] = value;
140 rgb[1] = rgb[2] = 0.0;
141
142 rgb[3] = alpha;
143 }
144
145 inline void GetGreenColor(fGL value, fGL alpha, fGL * rgb)
146 {
147 rgb[1] = value;
148 rgb[0] = rgb[2] = 0.0;
149
150 rgb[3] = alpha;
151 }
152
153 inline void GetBlueColor(fGL value, fGL alpha, fGL * rgb)
154 {
155 rgb[2] = value;
156 rgb[0] = rgb[1] = 0.0;
157
158 rgb[3] = alpha;
159 }
160
161 inline fGL GetUnity(engine *, fGL *, fGL *)
162 {
163 return 1.0;
164 }
165
166 /*################################################################################################*/
167
168 #endif // COLOR_H
169
170 // eof
0 // CUSTOM_APP.CPP
1
2 // Copyright (C) 2006 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "custom_app.h"
21
22 #include "local_i18n.h"
23
24 #include <stdlib.h> // the definition for NULL...
25
26 /*################################################################################################*/
27
28 project * custom_app::prj = NULL;
29
30 custom_app::mtool custom_app::current_mouse_tool = custom_app::mtOrbitXY;
31 custom_app::select_mode custom_app::current_select_mode = custom_app::smAtom;
32
33 custom_app::custom_app(void) :
34 base_app()
35 {
36 }
37
38 custom_app::~custom_app(void)
39 {
40 }
41
42 void custom_app::SetNewProject(void)
43 {
44 // just reset the custom camera counter...
45 // this is for graphical user interface only.
46
47 custom_camera::ccam_counter = 0;
48 }
49
50 custom_app * custom_app::GetAppC(void)
51 {
52 return dynamic_cast<custom_app *>(base_app::GetAppB());
53 }
54
55 project * custom_app::GetPrj(void)
56 {
57 return prj;
58 }
59
60 custom_app::mtool custom_app::GetCurrentMouseTool(void)
61 {
62 return current_mouse_tool;
63 }
64
65 custom_app::select_mode custom_app::GetCurrentSelectMode(void)
66 {
67 return current_select_mode;
68 }
69
70 void custom_app::AddCamera(ogl_camera * cam)
71 {
72 base_app::AddCamera(cam);
73
74 custom_camera * ccam = dynamic_cast<custom_camera *>(cam);
75 if (ccam != NULL) CameraAdded(ccam);
76 }
77
78 bool custom_app::RemoveCamera(ogl_camera * cam)
79 {
80 bool success = base_app::RemoveCamera(cam);
81
82 if (success)
83 {
84 custom_camera * ccam = dynamic_cast<custom_camera *>(cam);
85 if (ccam != NULL) CameraRemoved(ccam);
86 }
87
88 return success;
89 }
90
91 bool custom_app::AddGlobalLight(ogl_light * light)
92 {
93 bool success = base_app::AddGlobalLight(light);
94
95 if (success)
96 {
97 LightAdded(light);
98 project::selected_object = light;
99 cout << _("Added global light.") << endl;
100 }
101
102 return success;
103 }
104
105 bool custom_app::AddLocalLight(ogl_light * light, ogl_camera * cam)
106 {
107 bool success = base_app::AddLocalLight(light, cam);
108
109 if (success)
110 {
111 LightAdded(light);
112 project::selected_object = light;
113 cout << _("Added local light.") << endl;
114 }
115
116 return success;
117 }
118
119 bool custom_app::RemoveLight(ogl_dummy_object * light)
120 {
121 int n1 = IsLight(light);
122 if (n1 < 0) return false;
123
124 LightRemoved((ogl_light *) light);
125
126 base_app::RemoveLight(light);
127
128 return true;
129 }
130
131 bool custom_app::SelectLight(const ogl_dummy_object * obj)
132 {
133 int n1 = IsLight(obj);
134 if (n1 < 0) return false;
135
136 prj->selected_object = light_vector[n1];
137
138 return true;
139 }
140
141 /*################################################################################################*/
142
143 // eof
0 // CUSTOM_APP.H : write a short description here.
1
2 // Copyright (C) 2006 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 //#include "config.h"
21
22 #ifndef CUSTOM_APP_H
23 #define CUSTOM_APP_H
24
25 class custom_app;
26
27 class ogl_camera; // liboglappth/ogl_camera.h
28 class color_mode; // libghemical/model.h
29
30 #include <oglappth/base_app.h>
31
32 #include "project.h"
33 #include "oglview_wcl.h"
34
35 #include <vector>
36 using namespace std;
37
38 /*################################################################################################*/
39
40 class custom_app :
41 public base_app
42 {
43 public:
44
45 enum mtool
46 {
47 mtDraw,
48 mtErase,
49 mtSelect,
50 mtZoom,
51 mtClipping,
52 mtTranslateXY,
53 mtTranslateZ,
54 mtOrbitXY,
55 mtOrbitZ,
56 mtRotateXY,
57 mtRotateZ,
58 mtMeasure
59 };
60
61 enum select_mode { smAtom, smResidue, smChain, smMolecule };
62
63 protected:
64
65 static project * prj; // SetNewProject() must access this...
66
67 static mtool current_mouse_tool;
68 static select_mode current_select_mode;
69
70 // friends...
71 // ^^^^^^^^^^
72 friend class project;
73
74 friend class gtk_project;
75
76 friend class w32_project;
77 friend class w32_tb_button;
78
79 public:
80
81 custom_app(void);
82 virtual ~custom_app(void);
83
84 protected:
85
86 virtual void SetNewProject(void);
87
88 public:
89
90 static custom_app * GetAppC(void);
91 static project * GetPrj(void);
92
93 static mtool GetCurrentMouseTool(void);
94 static select_mode GetCurrentSelectMode(void);
95
96 virtual void Message(const char *) = 0;
97 virtual void WarningMessage(const char *) = 0;
98 virtual void ErrorMessage(const char *) = 0;
99
100 virtual bool Question(const char *) = 0;
101 virtual void PrintToLog(const char *) = 0;
102
103 // camera/light-related methods (shared with base_app):
104 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
105
106 void AddCamera(ogl_camera *); // virtual
107 bool RemoveCamera(ogl_camera *); // virtual
108
109 bool AddGlobalLight(ogl_light *); // virtual
110 bool AddLocalLight(ogl_light *, ogl_camera *); // virtual
111 bool RemoveLight(ogl_dummy_object *); // virtual
112
113 bool SelectLight(const ogl_dummy_object *);
114
115 // here is the former project_view stuff...
116 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
117
118 virtual void UpdateAllWindowTitles(void) = 0;
119
120 protected:
121
122 virtual void CameraAdded(custom_camera *) = 0;
123 virtual void CameraRemoved(custom_camera *) = 0;
124
125 virtual void LightAdded(ogl_light *) = 0;
126 virtual void LightRemoved(ogl_light *) = 0;
127
128 virtual void GraphicsClientAdded(oglview_wcl *) = 0;
129 virtual void GraphicsClientRemoved(oglview_wcl *) = 0;
130
131 virtual void PlottingClientAdded(base_wcl *) = 0;
132 virtual void PlottingClientRemoved(base_wcl *) = 0;
133
134 virtual void ObjectAdded(ogl_smart_object *) = 0;
135 virtual void ObjectRemoved(ogl_smart_object *) = 0;
136
137 virtual void BuildChainsView() = 0;
138 virtual void ClearChainsView() = 0;
139
140 virtual void AtomAdded(atom *) = 0;
141 virtual void AtomUpdateItem(atom *) = 0; ///< updates the properties of an existing object.
142 virtual void AtomRemoved(atom *) = 0;
143
144 virtual void BondAdded(bond *) = 0;
145 virtual void BondUpdateItem(bond *) = 0; ///< updates the properties of an existing object.
146 virtual void BondRemoved(bond *) = 0;
147 };
148
149 /*################################################################################################*/
150
151 #endif // CUSTOM_APP_H
152
153 // eof
0 // CUSTOM_CAMERA.CPP
1
2 // Copyright (C) 2006 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "custom_camera.h" // config.h is here -> we get ENABLE-macros here...
21
22 //#include "base_app.h"
23
24 #include <sstream>
25 using namespace std;
26
27 /*################################################################################################*/
28
29 int custom_camera::ccam_counter = 0;
30
31 custom_camera::custom_camera(const ogl_object_location & p1, GLfloat p2, project * p3) :
32 ogl_camera(p1, p2)
33 {
34 prj = p3;
35
36 ccam_index = ++ccam_counter;
37 wcl_counter = 0;
38 }
39
40 custom_camera::~custom_camera(void)
41 {
42 }
43
44 /*################################################################################################*/
45
46 // eof
0 // CUSTOM_CAMERA.H : an extended ogl_camera class.
1
2 // Copyright (C) 2006 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef CUSTOM_CAMERA_H
21 #define CUSTOM_CAMERA_H
22
23 class ghemical_camera;
24
25 /*################################################################################################*/
26
27 #include <ghemical/typedef.h>
28 #include <oglappth/ogl_camera.h>
29
30 #include "project.h"
31
32 /*################################################################################################*/
33
34 class custom_camera :
35 public ogl_camera
36 {
37 protected:
38
39 project * prj;
40
41 int ccam_index;
42 int wcl_counter;
43
44 static int ccam_counter;
45
46 friend class oglview_wcl;
47 friend class custom_app;
48
49 public:
50
51 custom_camera(const ogl_object_location &, GLfloat, project *);
52 ~custom_camera(void);
53
54 int GetCCamI(void) { return ccam_index; }
55 };
56
57 /*################################################################################################*/
58
59 #endif // CUSTOM_CAMERA_H
60
61 // eof
0 // CUSTOM_LIGHTS.CPP
1
2 // Copyright (C) 2006 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "custom_lights.h" // config.h is here -> we get ENABLE-macros here...
21
22 #include <sstream>
23 using namespace std;
24
25 #include "appdefine.h"
26
27 #include <oglappth/base_app.h>
28
29 /*################################################################################################*/
30
31 #define SHADE_ANGLE (22.5 / 180.0 * M_PI)
32
33 rendered_spot_light::rendered_spot_light(const ogl_object_location & p1, const ogl_light_components & p2, GLfloat p3, GLfloat p4) :
34 ogl_spot_light(p1, p2, p3, p4)
35 {
36 my_glname = base_app::GetAppB()->RegisterGLName((ogl_dummy_object *) this);
37 }
38
39 rendered_spot_light::~rendered_spot_light(void)
40 {
41 // todo : unregister my_glname!!!
42 }
43
44 void rendered_spot_light::Render(void)
45 {
46 GLfloat r1 = tan(SHADE_ANGLE) * size;
47 GLfloat tmp1 = 1.0 / (sin(SHADE_ANGLE) + 1.0);
48 GLfloat tmp2 = 1.2 * size;
49
50 GLfloat r2 = (1.0 - tmp1) * tmp2;
51 GLfloat r3 = tmp1 * tmp2;
52
53 glPushName(GLNAME_LIGHT);
54 glPushName(my_glname);
55
56 glPushMatrix(); SetModelView();
57
58 if (cutoff < 180.0)
59 {
60 glPushMatrix();
61 glTranslatef(0.0, 0.0, -r3);
62 glBegin(GL_TRIANGLES);
63
64 for (int n1 = 0;n1 < 8;n1++)
65 {
66 if (n1 & 1) glColor3fv(shade1);
67 else glColor3fv(shade2);
68
69 GLfloat ang1 = M_PI * (GLfloat) n1 / 4.0;
70 GLfloat ang2 = M_PI * (GLfloat) (n1 + 1) / 4.0;
71
72 glVertex3f(r1 * cos(ang1), r1 * sin(ang1), size);
73 glVertex3f(r1 * cos(ang2), r1 * sin(ang2), size);
74 glVertex3f(0.0, 0.0, 0.0);
75 }
76
77 glEnd(); // GL_TRIANGLES
78 glPopMatrix();
79 }
80
81 if (glIsEnabled((GLenum) number)) glColor3fv(bulb_on);
82 else glColor3fv(bulb_off);
83
84 GLUquadricObj * qo = gluNewQuadric();
85 gluQuadricDrawStyle(qo, (GLenum) GLU_FILL);
86 gluSphere(qo, 0.95 * r2, 8, 4);
87 gluDeleteQuadric(qo);
88
89 glPopMatrix();
90
91 glPopName();
92 glPopName();
93 }
94
95 /*################################################################################################*/
96
97 // eof
0 // CUSTOM_LIGHTS.H : extended ogl_light classes.
1
2 // Copyright (C) 2006 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef CUSTOM_LIGHTS_H
21 #define CUSTOM_LIGHTS_H
22
23 class rendered_spot_light;
24
25 /*################################################################################################*/
26
27 #include <ghemical/typedef.h>
28 #include <oglappth/ogl_lights.h>
29
30 /*################################################################################################*/
31
32 class rendered_spot_light :
33 public ogl_spot_light
34 {
35 protected:
36
37 iGLu my_glname;
38
39 public:
40
41 rendered_spot_light(const ogl_object_location &, const ogl_light_components & = ogl_light::def_components, GLfloat = ogl_spot_light::def_cutoff, GLfloat = ogl_spot_light::def_exponent);
42 virtual ~rendered_spot_light(void);
43
44 void Render(void); // virtual
45 };
46
47 /*################################################################################################*/
48
49 #endif // CUSTOM_LIGHTS_H
50
51 // eof
0 // ELDVIEW_WCL.CPP
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "eldview_wcl.h"
21
22 #include "custom_app.h"
23
24 #include "local_i18n.h"
25
26 #include <GL/gl.h>
27 #include <GL/glu.h>
28
29 #include <sstream>
30 using namespace std;
31
32 /*################################################################################################*/
33
34 eldview_wcl::eldview_wcl(void) :
35 pangofont_wcl(new ogl_camera(ogl_ol_static(), 1.0))
36 {
37 cam->ortho = true;
38
39 cam->update_vdim = false;
40 vdim[0] = 0.75; // X-scaling
41
42 cam->GetLD()->crd[0] = 0.65; // X-centering
43
44 //const ogl_obj_loc_data * d = cam->GetSafeLD();
45 //cout << "cam crd = " << d->crd[0] << " " << d->crd[1] << " " << d->crd[2] << endl;
46 //cout << "cam zdir = { " << d->zdir << " }" << endl << "cam ydir = { " << d->ydir << " }" << endl;
47
48 reset_needed = true;
49 SetCenterAndScale();
50 }
51
52 eldview_wcl::~eldview_wcl(void)
53 {
54 // problem : lifetime of the camera object needs to be longer than
55 // lifetime of this object since it is needed at the base class dtor.
56 // solution : ask the base class to do the cleanup work for us...
57
58 delete_cam_plz = true;
59 }
60
61 void eldview_wcl::SetCenterAndScale(void)
62 {
63 project * prj = custom_app::GetAppC()->GetPrj();
64 engine * eng = prj->GetCurrentSetup()->GetCurrentEngine();
65
66 setup1_qm * su1 = dynamic_cast<setup1_qm *>(prj->GetCurrentSetup());
67 bool nonQM = (!su1);
68
69 if (!eng || nonQM)
70 {
71 cam->GetLD()->crd[1] = 0.0; // center
72 vdim[1] = 1.0; // scale
73
74 reset_needed = true; // failed...
75 }
76 else
77 {
78 f64 mine = eng->GetOrbitalEnergy(0);
79 f64 maxe = eng->GetOrbitalEnergy(eng->GetOrbitalCount() - 1);
80
81 // above we assumed that the first orbital has lowest and the last orbital has highest energy...
82 // above we assumed that the first orbital has lowest and the last orbital has highest energy...
83 // above we assumed that the first orbital has lowest and the last orbital has highest energy...
84
85 cam->GetLD()->crd[1] = (mine + maxe) / 2.0; // center
86 vdim[1] = (maxe - mine) * 0.75; // scale
87
88 reset_needed = false; // success!!!
89 }
90 }
91
92 void eldview_wcl::ButtonEvent(int x, int y)
93 {
94 mouseinfo::latest_x = x;
95 mouseinfo::latest_y = y;
96 }
97
98 void eldview_wcl::MotionEvent(int x, int y)
99 {
100 int dy = mouseinfo::latest_y - y;
101
102 if (custom_app::GetCurrentMouseTool() == custom_app::mtZoom)
103 {
104 vdim[1] += mouseinfo::dist_sensitivity * vdim[1] * (float) dy / (float) GetWnd()->GetHeight();
105 GetWnd()->RequestUpdate(false);
106 }
107
108 if (custom_app::GetCurrentMouseTool() == custom_app::mtTranslateXY)
109 {
110 cam->GetLD()->crd[1] -= 2.0 * vdim[1] * (float) dy / (float) GetWnd()->GetHeight();
111 GetWnd()->RequestUpdate(false);
112 }
113
114 mouseinfo::latest_x = x;
115 mouseinfo::latest_y = y;
116 }
117
118 void eldview_wcl::UpdateWnd(void)
119 {
120 base_wnd * wnd = GetWnd();
121 if (!wnd || wnd->GetWidth() < 0 || !cam) return;
122
123 if (reset_needed) SetCenterAndScale();
124
125 wnd->SetCurrent();
126 cam->RenderScene(wnd, false, false);
127 }
128
129 void eldview_wcl::InitGL(void)
130 {
131 // all classes that inherit pangofont_wcl must call ogl_InitPangoFont()!!!
132 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
133
134 ogl_InitPangoFont("courier 12");
135 }
136
137 void eldview_wcl::RenderGL(rmode)
138 {
139 base_wnd * wnd = GetWnd();
140 if (!wnd || wnd->GetWidth() < 0 || !cam) return;
141
142 const GLfloat label_color[3] = { 1.0, 1.0, 1.0 };
143
144 glInitNames();
145
146 project * prj = custom_app::GetAppC()->GetPrj();
147 engine * eng = prj->GetCurrentSetup()->GetCurrentEngine();
148
149 setup1_qm * su1 = dynamic_cast<setup1_qm *>(prj->GetCurrentSetup());
150 bool nonQM = (!su1);
151
152 if (!eng || nonQM)
153 {
154 reset_needed = true;
155
156 glColor3f(label_color[0], label_color[1], label_color[2]);
157
158 GLfloat xpos;
159 GLfloat ypos;
160
161 const char * txt1 = _("No data available,");
162 xpos = (wnd->GetWidth() - ogl_GetStringWidth(txt1)) / 2.0;
163 ypos = (wnd->GetHeight() - 24) / 2.0 + 14;
164 ogl_WriteString2D(txt1, xpos, ypos);
165
166 const char * txt2 = (nonQM ? _("must be a QM model!") : _("please calculate energy!"));
167 xpos = (wnd->GetWidth() - ogl_GetStringWidth(txt2)) / 2.0;
168 ypos = (wnd->GetHeight() - 24) / 2.0 - 14;
169 ogl_WriteString2D(txt2, xpos, ypos);
170 }
171 else
172 {
173 const GLfloat fontsize = 10.0;
174
175 const GLfloat center = cam->GetLD()->crd[1];
176 const GLfloat scale = vdim[1];
177
178 const GLfloat one_pixel_height = scale / (GLfloat) wnd->GetHeight();
179
180 const GLfloat diagram_line_thickness = 2.0;
181 const GLfloat diagram_triangle_height = 45.0;
182 const GLfloat diagram_triangle_width = 0.075;
183
184 // the functions: GetOrbitalCount(), GetOrbitalEnergy(), need to separate between
185 // alpha and beta electrons. also a simple way to determine occupation (and whether
186 // is alpha/beta) is needed. THIS PLOT IS FOR RHF SYSTEMS ONLY!!!!!!!!!!!!!!!!!!!!
187
188 // gather the degenerate energy levels (del) into groups...
189
190 const GLfloat del_tolerance = 0.001;
191 int * del_first = new int[eng->GetOrbitalCount()];
192
193 del_first[0] = 0; int dd = 1;
194 while (dd < eng->GetOrbitalCount())
195 {
196 int ind_first = del_first[dd - 1];
197
198 GLfloat ene_first = eng->GetOrbitalEnergy(ind_first);
199 GLfloat ene_current = eng->GetOrbitalEnergy(dd);
200
201 if (ene_current - ene_first < del_tolerance)
202 {
203 del_first[dd] = ind_first; // belongs to the previous set.
204 }
205 else
206 {
207 del_first[dd] = dd; // is the first of a new set.
208 }
209
210 dd++;
211 }
212
213 int * del_count = new int[eng->GetOrbitalCount()];
214 for (dd = 0;dd < eng->GetOrbitalCount();dd++) del_count[dd] = 0;
215
216 dd = 0; int first = 0;
217 while (dd < eng->GetOrbitalCount()) // calculate the group sizes...
218 {
219 if (del_first[dd] != del_first[first]) first = dd;
220 del_count[first]++;
221 dd++;
222 }
223
224 dd = 0; first = 0;
225 while (dd < eng->GetOrbitalCount()) // ...and copy them to all group members.
226 {
227 if (del_first[dd] != del_first[first]) first = dd;
228 if (first != dd) del_count[dd] = del_count[first];
229 dd++;
230 }
231
232 // render...
233
234 for (int n1 = 0;n1 < eng->GetOrbitalCount();n1++)
235 {
236 GLfloat energy = eng->GetOrbitalEnergy(n1);
237
238 GLfloat width = 1.0 / (fGL) del_count[n1];
239 GLfloat left = 0.0 + (fGL) (n1 - del_first[n1]) * width;
240 GLfloat right = 0.0 + (fGL) (n1 - del_first[n1] + 1) * width;
241
242 // draw the line...
243 // draw the line...
244 // draw the line...
245
246 glColor3f(0.0, 1.0, 0.0); // green
247 glBegin(GL_QUADS);
248
249 glVertex3f(right - 0.05 * width, energy, 0.1);
250 glVertex3f(left + 0.05 * width, energy, 0.1);
251 glVertex3f(left + 0.05 * width, energy + one_pixel_height * diagram_line_thickness, 0.1);
252 glVertex3f(right - 0.05 * width, energy + one_pixel_height * diagram_line_thickness, 0.1);
253
254 glEnd();
255
256 // draw the electrons...
257 // draw the electrons...
258 // draw the electrons...
259
260 if (n1 < eng->GetElectronCount() / 2)
261 {
262 glColor3f(1.0, 1.0, 0.0); // yellow
263 glBegin(GL_TRIANGLES);
264
265 glVertex3f(left + 0.3 * width - diagram_triangle_width, energy - one_pixel_height * diagram_triangle_height / 3.0, 0.0);
266 glVertex3f(left + 0.3 * width, energy + one_pixel_height * diagram_triangle_height / 1.5, 0.0);
267 glVertex3f(left + 0.3 * width + diagram_triangle_width, energy - one_pixel_height * diagram_triangle_height / 3.0, 0.0);
268
269 glVertex3f(right - 0.3 * width - diagram_triangle_width, energy + one_pixel_height * diagram_triangle_height / 3.0, 0.0);
270 glVertex3f(right - 0.3 * width, energy - one_pixel_height * diagram_triangle_height / 1.5, 0.0);
271 glVertex3f(right - 0.3 * width + diagram_triangle_width, energy + one_pixel_height * diagram_triangle_height / 3.0, 0.0);
272
273 glEnd();
274 }
275
276 // print out the text...
277 // print out the text...
278 // print out the text...
279
280 glColor3f(label_color[0], label_color[1], label_color[2]);
281
282 GLfloat xpos;
283 GLfloat ypos;
284
285 ostringstream str;
286 str << "i = " << n1 << " e = " << energy << ends;
287
288 xpos = 10.0;
289 ypos = (0.5 + (energy - center) / (scale * 2.0)) * wnd->GetHeight() - fontsize / 2.0;
290 ypos += (fGL) (n1 - del_first[n1]) * fontsize;
291
292 ogl_WriteString2D(str.str().c_str(), xpos, ypos);
293 }
294
295 delete[] del_first;
296 delete[] del_count;
297 }
298 }
299
300 /*################################################################################################*/
301
302 // eof
0 // ELDVIEW_WCL.H : write a short description here...
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ghemicalconfig2.h"
21
22 #ifndef ELDVIEW_WCL_H
23 #define ELDVIEW_WCL_H
24
25 #include "pangofont_wcl.h"
26
27 /*################################################################################################*/
28
29 class eldview_wcl :
30 public pangofont_wcl
31 {
32 protected:
33
34 bool reset_needed;
35
36 public:
37
38 eldview_wcl(void);
39 virtual ~eldview_wcl(void);
40
41 void SetCenterAndScale(void);
42
43 void ButtonEvent(int, int); // virtual
44 void MotionEvent(int, int); // virtual
45
46 void UpdateWnd(void); // virtual
47
48 void InitGL(void); // virtual
49 void RenderGL(rmode); // virtual
50 };
51
52 /*################################################################################################*/
53
54 #endif // ELDVIEW_WCL_H
55
56 // eof
0 // FILEIO.CPP
1
2 // Copyright (C) 1998 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "project.h"
21
22 #include <oglappth/base_app.h>
23
24 #include <ghemical/engine.h>
25
26 #include <ghemical/eng1_qm.h>
27 #include <ghemical/eng1_mm.h>
28 #include <ghemical/eng1_sf.h>
29
30 #include <ghemical/eng2_qm_mm.h>
31
32 #include <cstring>
33 #include <iomanip>
34 #include <sstream>
35 using namespace std;
36
37 //#define VERBOSE // un-comment this to enable debug-messages...
38
39 static char my_num_locale[32] = "C"; // the locale string returned by setlocale() are stored here...
40
41 /*################################################################################################*/
42
43 bool ReadGPR_OLD(project & prj, istream & file, bool, bool)
44 {
45 static const char message[] = "Hmmm. It seems that we are trying to read a VERY OLD version of this file.\nIt's not possible to verify the type and version of the file, so this\noperation may fail. Are you sure you wish to try (Y/N) ??? ";
46
47 base_app * app = base_app::GetAppB();
48 bool result = app->Question(message);
49 if (!result) return false;
50
51 vector<atom *> tmp1; i32s tmp2[2]; char tmp3; fGL tmp4[3];
52
53 char buffer[1024];
54
55 #ifdef VERBOSE
56 cout << "model::ReadStream_OLD() : starting file input." << endl;
57 #endif // VERBOSE
58
59 while (file.peek() != 'E')
60 {
61 file >> tmp2[0] >> tmp2[1];
62 file >> tmp4[0] >> tmp4[1] >> tmp4[2] >> tmp2[0]; file.get();
63
64 element el = element(tmp2[1]);
65 atom newatom(el, tmp4, prj.GetCRDSetCount());
66 prj.AddAtom_lg(newatom); tmp1.push_back(& prj.GetLastAtom());
67
68 for (i32s n1 = 0;n1 < tmp2[0];n1++)
69 {
70 file >> tmp2[1] >> tmp3;
71 if (tmp2[1] < (i32s) tmp1.size())
72 {
73 bond newbond(tmp1[tmp2[1]], tmp1[tmp1.size() - 1], bondtype(tmp3));
74 prj.AddBond(newbond);
75 }
76 }
77
78 file.getline(buffer, sizeof(buffer));
79 }
80
81 return true;
82 }
83
84 bool ReadGPR_v100(project & prj, istream & file, bool selected, bool skipheader)
85 {
86 char buffer[1024];
87
88 if (!skipheader)
89 {
90 // first we have to identify the file version, and then call the matching function,
91 // if necessary. the very first file format did not use the "!Section" idea, so
92 // we must skip the test if no such traces are seen...
93
94 int version;
95 if (file.peek() != '!') version = -1;
96 else
97 {
98 // now we expect to see "!Header" section.
99 // next we will check the file type and version information...
100
101 file >> buffer; // read "!Header".
102 file >> buffer; // read the file type.
103 file >> version; // read the version number;
104
105 file.getline(buffer, sizeof(buffer));
106 }
107
108 // now look at the version number, and pick a correct function if needed.
109
110 /* if (version < 100) return ReadGPR_OLD(prj, file, selected, true);
111 else if (version > 100)
112 {
113 static const char message[] = "Ooops. It seems that we are trying to read a FUTURE version of this file.\nIt's not sure if we can handle that. Are you sure you wish to try (Y/N) ??? ";
114 bool result = prj.Question(message); if (!result) return false;
115 } */
116 }
117
118 // the "!Header" section is now processed,
119 // and the actual file input begins!!!
120
121 #ifdef VERBOSE
122 cout << "model::ReadStream() : starting file input." << endl;
123 #endif // VERBOSE
124
125 i32u crd_set_counter = 0;
126 vector<atom *> ar_vector;
127
128 // now we just read the sections, until we hit into "!End"-section and leave the loop...
129
130 while (true)
131 {
132 file >> buffer; // read the section string.
133
134 if (!strcmp(buffer, "!End")) break; // handle "!End" section.
135 else if (!strcmp(buffer, "!Info")) // handle "!Info" section.
136 {
137 int n1; file >> n1;
138
139 int n2 = n1 - prj.GetCRDSetCount();
140 if (n2 > 0)
141 {
142 i32u n3 = prj.GetCRDSetCount(); prj.PushCRDSets((i32u) n2);
143 for (i32u n4 = n3;n4 < prj.GetCRDSetCount();n4++) prj.SetCRDSetVisible(n4, true);
144 }
145
146 #ifdef VERBOSE
147 cout << "handled \"!Info\" section, added " << n2 << " coordinate sets." << endl;
148 #endif // VERBOSE
149
150 file.getline(buffer, sizeof(buffer));
151
152 // TODO : read coordinate set descriptions (if there are some)...
153 // TODO : read coordinate set descriptions (if there are some)...
154 // TODO : read coordinate set descriptions (if there are some)...
155 }
156 else if (!strcmp(buffer, "!Atoms")) // handle "!Atoms" section.
157 {
158 file.getline(buffer, sizeof(buffer));
159
160 #ifdef VERBOSE
161 cout << "found \"!Atoms\" section..." << endl;
162 #endif // VERBOSE
163
164 while (file.peek() != '!')
165 {
166 i32u n1; file >> n1; // id number
167 i32s n2; file >> n2; // atomic number
168
169 #ifdef VERBOSE
170 if (n1 != ar_vector.size()) cout << "WARNING : bad atom id numbers!!!" << endl;
171 #endif // VERBOSE
172
173 element tmp_element(n2);
174 atom newatom(tmp_element, NULL, prj.GetCRDSetCount());
175
176 if (selected) newatom.flags |= ATOMFLAG_USER_SELECTED;
177
178 prj.AddAtom_lg(newatom);
179
180 ar_vector.push_back(& prj.GetLastAtom());
181
182 file.getline(buffer, sizeof(buffer));
183 }
184 }
185 else if (!strcmp(buffer, "!Bonds")) // handle "!Bonds" section.
186 {
187 file.getline(buffer, sizeof(buffer));
188
189 #ifdef VERBOSE
190 cout << "found \"!Bonds\" section..." << endl;
191 #endif // VERBOSE
192
193 while (file.peek() != '!')
194 {
195 i32u id1; file >> id1; // 1st id number
196 i32u id2; file >> id2; // 2nd id number
197
198 char bt; file >> bt; // bond type
199
200 #ifdef VERBOSE
201 if (id1 >= ar_vector.size()) cout << "WARNING : bad atom id numbers!!!" << endl;
202 if (id2 >= ar_vector.size()) cout << "WARNING : bad atom id numbers!!!" << endl;
203 #endif // VERBOSE
204
205 bondtype tmp_bondtype(bt);
206 bond newbond(ar_vector[id1], ar_vector[id2], tmp_bondtype);
207 prj.AddBond(newbond);
208
209 file.getline(buffer, sizeof(buffer));
210 }
211 }
212 else if (!strcmp(buffer, "!Coord")) // handle "!Coord" section.
213 {
214 file.getline(buffer, sizeof(buffer));
215
216 #ifdef VERBOSE
217 cout << "found \"!Coord\" section..." << endl;
218 if (crd_set_counter >= prj.GetCRDSetCount()) cout << "ERROR : too many crd-sets!!!" << endl;
219 #endif // VERBOSE
220
221 while (file.peek() != '!')
222 {
223 i32u n1; file >> n1; // id number
224
225 fGL xcrd; file >> xcrd; // x-coordinate
226 fGL ycrd; file >> ycrd; // y-coordinate
227 fGL zcrd; file >> zcrd; // z-coordinate
228
229 #ifdef VERBOSE
230 if (n1 >= ar_vector.size()) cout << "ERROR : bad atom id numbers!!!" << endl;
231 #endif // VERBOSE
232
233 atom * ar = ar_vector[n1];
234 ar->SetCRD(crd_set_counter, xcrd, ycrd, zcrd);
235
236 file.getline(buffer, sizeof(buffer));
237 }
238
239 crd_set_counter++;
240 }
241 else if (!strcmp(buffer, "!Charges")) // handle "!Charges" section.
242 {
243 file.getline(buffer, sizeof(buffer));
244
245 #ifdef VERBOSE
246 cout << "found \"!Charges\" section..." << endl;
247 #endif // VERBOSE
248
249 while (file.peek() != '!')
250 {
251 i32u n1; file >> n1; // id number
252 f64 n2; file >> n2; // charge
253
254 #ifdef VERBOSE
255 if (n1 >= ar_vector.size()) cout << "WARNING : bad atom id numbers!!!" << endl;
256 #endif // VERBOSE
257
258 atom * ar = ar_vector[n1];
259 ar->charge = n2;
260
261 file.getline(buffer, sizeof(buffer));
262 }
263 }
264 else // handle an unknown section...
265 {
266 file.getline(buffer, sizeof(buffer));
267
268 while (file.peek() != '!')
269 {
270 file.getline(buffer, sizeof(buffer));
271 }
272 }
273 }
274
275 return true;
276 }
277
278 bool ReadGPR_v110(project & prj, istream & file, bool selected, bool skipheader)
279 {
280 char buffer[1024];
281
282 if (!skipheader)
283 {
284 // first we have to identify the file version, and then call the matching function,
285 // if necessary. the very first file format did not use the "!Section" idea, so
286 // we must skip the test if no such traces are seen...
287
288 int version;
289 if (file.peek() != '!') version = -1;
290 else
291 {
292 // now we expect to see "!Header" section.
293 // next we will check the file type and version information...
294
295 file >> buffer; // read "!Header".
296 file >> buffer; // read the file type.
297 file >> version; // read the version number;
298
299 file.getline(buffer, sizeof(buffer));
300 }
301
302 // now look at the version number, and pick a correct function if needed.
303
304 /* if (version < 110 && version >= 100) return ReadGPR_v100(prj, file, selected, true);
305 else if (version < 100) return ReadGPR_OLD(prj, file, selected, true);
306 else if (version > current_version_number)
307 {
308 static const char message[] = "Ooops. It seems that we are trying to read a FUTURE version of this file.\nIt's not sure if we can handle that. Are you sure you wish to try (Y/N) ??? ";
309 bool result = prj.Question(message); if (!result) return false;
310 } */
311 }
312
313 // the "!Header" section is now processed,
314 // and the actual file input begins!!!
315
316 #ifdef VERBOSE
317 cout << "model::ReadStream() : starting file input." << endl;
318 #endif // VERBOSE
319
320 prj.ReplaceCurrentSetup(new setup1_mm(& prj));
321
322 char su_cn[16] = "unknown"; // the setup class classname.
323 i32s engid = NOT_DEFINED; // the engine class ID.
324
325 i32u crd_set_counter = 0;
326 vector<atom *> ar_vector;
327 vector<bond *> br_vector;
328
329 // now we just read the sections, until we hit into "!End"-section and leave the loop...
330
331 while (true)
332 {
333 file >> buffer; // read the section string.
334
335 if (!strcmp(buffer, "!End")) break; // handle "!End" section.
336 else if (!strcmp(buffer, "!Info")) // handle "!Info" section.
337 {
338 i32s n1; file >> n1; // number of crd-sets
339 file >> su_cn; // the setup class classname.
340 file >> engid; // the engine class ID.
341
342 int n2 = n1 - prj.GetCRDSetCount();
343 if (n2 > 0)
344 {
345 i32u n3 = prj.GetCRDSetCount(); prj.PushCRDSets((i32u) n2);
346 for (i32u n4 = n3;n4 < prj.GetCRDSetCount();n4++) prj.SetCRDSetVisible(n4, true);
347 }
348
349 #ifdef VERBOSE
350 cout << "handled \"!Info\" section, added " << n2 << " coordinate sets." << endl;
351 cout << "classname = " << su_cn << " engid = " << engid << " - changing setup to these later." << endl;
352 #endif // VERBOSE
353
354 file.getline(buffer, sizeof(buffer));
355
356 // TODO : read coordinate set descriptions (if there are some)...
357 // TODO : read coordinate set descriptions (if there are some)...
358 // TODO : read coordinate set descriptions (if there are some)...
359 }
360 else if (!strcmp(buffer, "!Atoms")) // handle "!Atoms" section.
361 {
362 file.getline(buffer, sizeof(buffer));
363
364 #ifdef VERBOSE
365 cout << "found \"!Atoms\" section..." << endl;
366 #endif // VERBOSE
367
368 while (file.peek() != '!')
369 {
370 i32u n1; file >> n1; // id number
371 i32s n2; file >> n2; // atomic number
372 i32u n3; file >> n3; // the flags
373
374 if (n1 != ar_vector.size()) cout << "WARNING : atom id number mismatch!!!" << endl;
375
376 element tmp_element(n2);
377 atom newatom(tmp_element, NULL, prj.GetCRDSetCount());
378
379 newatom.flags = n3;
380 if (selected) newatom.flags |= ATOMFLAG_USER_SELECTED;
381
382 prj.AddAtom_lg(newatom);
383
384 ar_vector.push_back(& prj.GetLastAtom());
385
386 file.getline(buffer, sizeof(buffer));
387 }
388 }
389 else if (!strcmp(buffer, "!Bonds")) // handle "!Bonds" section.
390 {
391 file.getline(buffer, sizeof(buffer));
392
393 #ifdef VERBOSE
394 cout << "found \"!Bonds\" section..." << endl;
395 #endif // VERBOSE
396
397 while (file.peek() != '!')
398 {
399 i32u id1; file >> id1; // 1st id number
400 i32u id2; file >> id2; // 2nd id number
401
402 char bt; file >> bt; // bond type
403
404 if (id1 >= ar_vector.size()) { cout << "ERROR : invalid atom id number!!!" << endl; exit(EXIT_FAILURE); }
405 if (id2 >= ar_vector.size()) { cout << "ERROR : invalid atom id number!!!" << endl; exit(EXIT_FAILURE); }
406
407 bondtype tmp_bondtype(bt);
408 bond newbond(ar_vector[id1], ar_vector[id2], tmp_bondtype);
409 prj.AddBond(newbond);
410
411 br_vector.push_back(& prj.GetLastBond());
412
413 file.getline(buffer, sizeof(buffer));
414 }
415 }
416 else if (!strcmp(buffer, "!Coord")) // handle "!Coord" section.
417 {
418 file.getline(buffer, sizeof(buffer));
419
420 #ifdef VERBOSE
421 cout << "found \"!Coord\" section..." << endl;
422 if (crd_set_counter >= prj.GetCRDSetCount()) { cout << "ERROR : too many crd-sets!!!" << endl; exit(EXIT_FAILURE); }
423 #endif // VERBOSE
424
425 while (file.peek() != '!')
426 {
427 i32u n1; file >> n1; // id number
428
429 fGL xcrd; file >> xcrd; // x-coordinate
430 fGL ycrd; file >> ycrd; // y-coordinate
431 fGL zcrd; file >> zcrd; // z-coordinate
432
433 if (n1 >= ar_vector.size()) { cout << "ERROR : invalid atom id number!!!" << endl; exit(EXIT_FAILURE); }
434
435 atom * ar = ar_vector[n1];
436 ar->SetCRD(crd_set_counter, xcrd, ycrd, zcrd);
437
438 file.getline(buffer, sizeof(buffer));
439 }
440
441 crd_set_counter++;
442 }
443 else if (!strcmp(buffer, "!Charges")) // handle "!Charges" section.
444 {
445 file.getline(buffer, sizeof(buffer));
446
447 #ifdef VERBOSE
448 cout << "found \"!Charges\" section..." << endl;
449 #endif // VERBOSE
450
451 while (file.peek() != '!')
452 {
453 i32u n1; file >> n1; // id number
454 f64 n2; file >> n2; // charge
455
456 if (n1 >= ar_vector.size()) { cout << "ERROR : invalid atom id number!!!" << endl; exit(EXIT_FAILURE); }
457
458 atom * ar = ar_vector[n1];
459 ar->charge = n2;
460
461 file.getline(buffer, sizeof(buffer));
462 }
463 }
464 else // handle an unknown section...
465 {
466 file.getline(buffer, sizeof(buffer));
467
468 while (file.peek() != '!')
469 {
470 file.getline(buffer, sizeof(buffer));
471 }
472 }
473 }
474
475 // change the current_setup and current_eng using the settings from file.
476 // try to find a new setup class; if no success use the setup1_mm as a default.
477
478 setup * newsu = NULL;
479
480 if (!newsu && !strcmp(setup1_qm::static_GetClassName(), su_cn)) newsu = new setup1_qm(& prj);
481 if (!newsu && !strcmp(setup1_mm::static_GetClassName(), su_cn)) newsu = new setup1_mm(& prj);
482 //if (!newsu && !strcmp(setup1_sf::static_GetClassName(), su_cn)) newsu = new setup1_sf(& prj, false);
483
484 if (!newsu && !strcmp(setup2_qm_mm::static_GetClassName(), su_cn)) newsu = new setup2_qm_mm(& prj);
485
486 if (!newsu)
487 {
488 prj.WarningMessage("did not find a matching setup");
489 newsu = new setup1_mm(& prj);
490 }
491
492 prj.ReplaceCurrentSetup(newsu);
493
494 // now try to set a correct value for current_eng_index
495
496 i32u index = 0;
497 while (index < prj.GetCurrentSetup()->GetEngineCount())
498 {
499 i32u id = prj.GetCurrentSetup()->GetEngineIDNumber(index);
500 if (id == (i32u) engid) break;
501
502 index++;
503 }
504
505 if (index == prj.GetCurrentSetup()->GetEngineCount())
506 {
507 prj.WarningMessage("did not find a matching engid");
508 index = 0;
509 }
510
511 prj.GetCurrentSetup()->SetCurrEngIndex(index);
512
513 // ok, we are ready now!
514
515 return true;
516 }
517
518 /*################################################################################################*/
519
520 bool ReadGPR(project & prj, istream & file, bool selected, bool skipheader)
521 {
522 const int current_version_number = 111; // version number multiplied by 100 -> int.
523 char buffer[1024];
524
525 // store the current (numeric) locale into my_num_locale,
526 // and switch into the "C" numeric locale...
527
528 strcpy(my_num_locale, setlocale(LC_NUMERIC, NULL));
529 setlocale(LC_NUMERIC, "C");
530
531 if (!skipheader)
532 {
533 // first we have to identify the file version, and then call the matching function,
534 // if necessary. the very first file format did not use the "!Section" idea, so
535 // we must skip the test if no such traces are seen...
536
537 int version;
538 if (file.peek() != '!') version = -1;
539 else
540 {
541 // now we expect to see "!Header" section.
542 // next we will check the file type and version information...
543
544 file >> buffer; // read "!Header".
545 file >> buffer; // read the file type.
546 file >> version; // read the version number;
547
548 file.getline(buffer, sizeof(buffer));
549 }
550
551 // now look at the version number, and pick a correct function if needed.
552
553 if (version == 110)
554 {
555 bool result = ReadGPR_v110(prj, file, selected, true);
556
557 // change the original locale back...
558 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
559 setlocale(LC_NUMERIC, my_num_locale);
560
561 return result;
562 }
563 if (version < 110 && version >= 100)
564 {
565 bool result = ReadGPR_v100(prj, file, selected, true);
566
567 // change the original locale back...
568 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
569 setlocale(LC_NUMERIC, my_num_locale);
570
571 return result;
572 }
573 else if (version < 100)
574 {
575 bool result = ReadGPR_OLD(prj, file, selected, true);
576
577 // change the original locale back...
578 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
579 setlocale(LC_NUMERIC, my_num_locale);
580
581 return result;
582 }
583 else if (version > current_version_number)
584 {
585 static const char message[] = "Ooops. It seems that we are trying to read a FUTURE version of this file.\nIt's not sure if we can handle that. Are you sure you wish to try (Y/N) ??? ";
586
587 base_app * app = base_app::GetAppB();
588 bool result = app->Question(message);
589 if (!result)
590 {
591 // change the original locale back...
592 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
593 setlocale(LC_NUMERIC, my_num_locale);
594
595 return false;
596 }
597 }
598 }
599
600 // the "!Header" section is now processed,
601 // and the actual file input begins!!!
602
603 #ifdef VERBOSE
604 cout << "model::ReadStream() : starting file input." << endl;
605 #endif // VERBOSE
606
607 prj.ReplaceCurrentSetup(new setup1_mm(& prj));
608
609 char su_cn[16] = "unknown"; // the setup class classname.
610 i32s engid = NOT_DEFINED; // the engine class ID.
611
612 i32u crd_set_counter = 0;
613 vector<atom *> ar_vector;
614 vector<bond *> br_vector;
615
616 // now we just read the sections, until we hit into "!End"-section and leave the loop...
617
618 while (true)
619 {
620 file >> buffer; // read the section string.
621
622 if (!strcmp(buffer, "!End")) break; // handle "!End" section.
623 else if (!strcmp(buffer, "!Info")) // handle "!Info" section.
624 {
625 i32s n1; file >> n1; // number of crd-sets
626 file >> su_cn; // the setup class classname.
627 file >> engid; // the engine class ID.
628
629 int n2 = n1 - prj.GetCRDSetCount();
630 if (n2 > 0)
631 {
632 i32u n3 = prj.GetCRDSetCount(); prj.PushCRDSets((i32u) n2);
633 for (i32u n4 = n3;n4 < prj.GetCRDSetCount();n4++) prj.SetCRDSetVisible(n4, true);
634 }
635
636 #ifdef VERBOSE
637 cout << "handled \"!Info\" section, added " << n2 << " coordinate sets." << endl;
638 cout << "classname = " << su_cn << " engid = " << engid << " - changing setup to these later." << endl;
639 #endif // VERBOSE
640
641 file.getline(buffer, sizeof(buffer));
642
643 // TODO : read coordinate set descriptions (if there are some)...
644 // TODO : read coordinate set descriptions (if there are some)...
645 // TODO : read coordinate set descriptions (if there are some)...
646 }
647 else if (!strcmp(buffer, "!Atoms")) // handle "!Atoms" section.
648 {
649 file.getline(buffer, sizeof(buffer));
650
651 #ifdef VERBOSE
652 cout << "found \"!Atoms\" section..." << endl;
653 #endif // VERBOSE
654
655 while (file.peek() != '!')
656 {
657 i32u n1; file >> n1; // id number
658 i32s n2; file >> n2; // atomic number
659 i32s n3; file >> n3; // formal charge
660 i32u n4; file >> n4; // the flags
661
662 if (n1 != ar_vector.size()) cout << "WARNING : atom id number mismatch!!!" << endl;
663
664 element tmp_element(n2);
665 atom newatom(tmp_element, NULL, prj.GetCRDSetCount());
666 newatom.formal_charge = n3;
667
668 newatom.flags = (n4 & 0xFF); // skip internal...
669 if (selected) newatom.flags |= ATOMFLAG_USER_SELECTED;
670
671 prj.AddAtom_lg(newatom);
672
673 ar_vector.push_back(& prj.GetLastAtom());
674
675 file.getline(buffer, sizeof(buffer));
676 }
677 }
678 else if (!strcmp(buffer, "!Bonds")) // handle "!Bonds" section.
679 {
680 file.getline(buffer, sizeof(buffer));
681
682 #ifdef VERBOSE
683 cout << "found \"!Bonds\" section..." << endl;
684 #endif // VERBOSE
685
686 while (file.peek() != '!')
687 {
688 i32u id1; file >> id1; // 1st id number
689 i32u id2; file >> id2; // 2nd id number
690
691 char bt; file >> bt; // bond type
692
693 if (id1 >= ar_vector.size()) { cout << "ERROR : invalid atom id number!!!" << endl; exit(EXIT_FAILURE); }
694 if (id2 >= ar_vector.size()) { cout << "ERROR : invalid atom id number!!!" << endl; exit(EXIT_FAILURE); }
695
696 bondtype tmp_bondtype(bt);
697 bond newbond(ar_vector[id1], ar_vector[id2], tmp_bondtype);
698 prj.AddBond(newbond);
699
700 br_vector.push_back(& prj.GetLastBond());
701
702 file.getline(buffer, sizeof(buffer));
703 }
704 }
705 else if (!strcmp(buffer, "!Coord")) // handle "!Coord" section.
706 {
707 file.getline(buffer, sizeof(buffer));
708
709 #ifdef VERBOSE
710 cout << "found \"!Coord\" section..." << endl;
711 if (crd_set_counter >= prj.GetCRDSetCount()) { cout << "ERROR : too many crd-sets!!!" << endl; exit(EXIT_FAILURE); }
712 #endif // VERBOSE
713
714 while (file.peek() != '!')
715 {
716 i32u n1; file >> n1; // id number
717
718 fGL xcrd; file >> xcrd; // x-coordinate
719 fGL ycrd; file >> ycrd; // y-coordinate
720 fGL zcrd; file >> zcrd; // z-coordinate
721
722 if (n1 >= ar_vector.size()) { cout << "ERROR : invalid atom id number!!!" << endl; exit(EXIT_FAILURE); }
723
724 atom * ar = ar_vector[n1];
725 ar->SetCRD(crd_set_counter, xcrd, ycrd, zcrd);
726
727 file.getline(buffer, sizeof(buffer));
728 }
729
730 crd_set_counter++;
731 }
732 else if (!strcmp(buffer, "!PartialCharges")) // handle "!PartialCharges" section.
733 {
734 file.getline(buffer, sizeof(buffer));
735
736 #ifdef VERBOSE
737 cout << "found \"!PartialCharges\" section..." << endl;
738 #endif // VERBOSE
739
740 while (file.peek() != '!')
741 {
742 i32u n1; file >> n1; // id number
743 f64 n2; file >> n2; // charge
744
745 if (n1 >= ar_vector.size()) { cout << "ERROR : invalid atom id number!!!" << endl; exit(EXIT_FAILURE); }
746
747 atom * ar = ar_vector[n1];
748 ar->charge = n2;
749
750 file.getline(buffer, sizeof(buffer));
751 }
752 }
753 else // handle an unknown section...
754 {
755 file.getline(buffer, sizeof(buffer));
756
757 while (file.peek() != '!')
758 {
759 file.getline(buffer, sizeof(buffer));
760 }
761 }
762 }
763
764 // change the current_setup and current_eng using the settings from file.
765 // try to find a new setup class; if no success use the setup1_mm as a default.
766
767 setup * newsu = NULL;
768
769 if (!newsu && !strcmp(setup1_qm::static_GetClassName(), su_cn)) newsu = new setup1_qm(& prj);
770 if (!newsu && !strcmp(setup1_mm::static_GetClassName(), su_cn)) newsu = new setup1_mm(& prj);
771 //if (!newsu && !strcmp(setup1_sf::static_GetClassName(), su_cn)) newsu = new setup1_sf(& prj, false);
772
773 if (!newsu && !strcmp(setup2_qm_mm::static_GetClassName(), su_cn)) newsu = new setup2_qm_mm(& prj);
774
775 if (!newsu)
776 {
777 prj.WarningMessage("did not find a matching setup");
778 newsu = new setup1_mm(& prj);
779 }
780
781 prj.ReplaceCurrentSetup(newsu);
782
783 // now try to set a correct value for current_eng_index
784
785 i32u index = 0;
786 while (index < prj.GetCurrentSetup()->GetEngineCount())
787 {
788 i32u id = prj.GetCurrentSetup()->GetEngineIDNumber(index);
789 if (id == (i32u) engid) break;
790
791 index++;
792 }
793
794 if (index == prj.GetCurrentSetup()->GetEngineCount())
795 {
796 prj.WarningMessage("did not find a matching engid");
797 index = 0;
798 }
799
800 prj.GetCurrentSetup()->SetCurrEngIndex(index);
801
802 // change the original locale back...
803 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
804 setlocale(LC_NUMERIC, my_num_locale);
805
806 // ok, we are ready now!
807
808 return true;
809 }
810
811 /*################################################################################################*/
812 /*################################################################################################*/
813 /*################################################################################################*/
814
815 void WriteGPR_v100(project & prj, ostream & file)
816 {
817 const int current_version_number = 100; // version number multiplied by 100 -> int.
818
819 // store the current (numeric) locale into my_num_locale,
820 // and switch into the "C" numeric locale...
821
822 strcpy(my_num_locale, setlocale(LC_NUMERIC, NULL));
823 setlocale(LC_NUMERIC, "C");
824
825 file << "!Header ";
826 file << prj.GetProjectFileNameExtension() << " ";
827 file << current_version_number << endl;
828
829 // the "!Header" section is now processed, and the actual file output begins!!!
830 // the "!Header" section is now processed, and the actual file output begins!!!
831 // the "!Header" section is now processed, and the actual file output begins!!!
832
833 // write "!Info" section. write the number of coordinate sets,
834 // which should match to the number of "!Coord"-sections later in the file.
835
836 file << "!Info ";
837 file << prj.GetCRDSetCount() << endl;
838
839 // write "!Atoms" section. write the number of atoms,
840 // which should match to the number of records in this section.
841
842 file << "!Atoms ";
843 file << prj.GetAtomCount() << endl;
844
845 prj.UpdateIndex(); // this will update the "index"-records...
846
847 iter_al it1 = prj.GetAtomsBegin();
848 while (it1 != prj.GetAtomsEnd())
849 {
850 file << (* it1).index << " ";
851 file << (* it1).el.GetAtomicNumber() << " ";
852
853 file << endl;
854 it1++;
855 }
856
857 // write "!Bonds" section. write the number of bonds,
858 // which should match to the number of records in this section.
859
860 file << "!Bonds ";
861 file << prj.GetBondCount() << endl;
862
863 iter_bl it2 = prj.GetBondsBegin();
864 while (it2 != prj.GetBondsEnd())
865 {
866 file << (* it2).atmr[0]->index << " ";
867 file << (* it2).atmr[1]->index << " ";
868
869 file << (* it2).bt.GetSymbol1() << " ";
870
871 file << endl;
872 it2++;
873 }
874
875 // write the "!Coord" sections...
876
877 for (i32u n1 = 0;n1 < prj.GetCRDSetCount();n1++)
878 {
879 file << "!Coord" << endl;
880
881 it1 = prj.GetAtomsBegin();
882 while (it1 != prj.GetAtomsEnd())
883 {
884 const fGL * cdata = (* it1).GetCRD(n1);
885
886 file << (* it1).index << " ";
887
888 file << cdata[0] << " ";
889 file << cdata[1] << " ";
890 file << cdata[2] << " ";
891
892 file << endl;
893 it1++;
894 }
895 }
896
897 // write the !Charges section.
898
899 file << "!Charges" << endl;
900
901 it1 = prj.GetAtomsBegin();
902 while (it1 != prj.GetAtomsEnd())
903 {
904 file << (* it1).index << " ";
905 file << (* it1).charge;
906
907 file << endl;
908 it1++;
909 }
910
911 // write "!End" section.
912
913 file << "!End" << endl;
914
915 // change the original locale back...
916 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
917 setlocale(LC_NUMERIC, my_num_locale);
918 }
919
920 /*################################################################################################*/
921
922 // WHAT WE NEED TO ADD WHEN WE CHANGE THE FORMAT NEXT TIME:
923 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
924 // [just add your ideas here]
925 //
926 // need to write the mol/chn/res/atm id numbers into files?!?!?!
927 // see model::UpdateGroups() for more info; most relates to SF models and Identify/Ribbon stuff...
928
929 void WriteGPR(project & prj, ostream & file)
930 {
931 //////////////////////////////////////////////////////////////////////////
932 /*prj.Message("\
933 PLEASE NOTE : This file format is EXPERIMENTAL!\n\n\
934 This file format is NOT compatible with OpenBabel-1.100.2.\n\
935 Please use the File/Export to generate OpenBabel-compatible files.");*/
936 //////////////////////////////////////////////////////////////////////////
937
938 const int current_version_number = 111; // version number multiplied by 100 -> int.
939
940 // store the current (numeric) locale into my_num_locale,
941 // and switch into the "C" numeric locale...
942
943 strcpy(my_num_locale, setlocale(LC_NUMERIC, NULL));
944 setlocale(LC_NUMERIC, "C");
945
946 // write "!Header" section. this is for file-format definition purposes.
947
948 file << "!Header "; file << "gpr ";
949 file << current_version_number << endl;
950
951 // write "!Info" section. write the number of coordinate sets,
952 // which should match to the number of "!Coord"-sections later in the file.
953 // also write the ClassName and current EngineID of the setup object that we use now.
954 // the above only saves the most primitive setup information; need to add !Setup section later???
955 // the above only saves the most primitive setup information; need to add !Setup section later???
956 // the above only saves the most primitive setup information; need to add !Setup section later???
957
958 file << "!Info ";
959 file << prj.GetCRDSetCount() << " ";
960 file << prj.GetCurrentSetup()->GetClassName_lg() << " ";
961 file << prj.GetCurrentSetup()->GetEngineIDNumber(prj.GetCurrentSetup()->GetCurrEngIndex()) << endl; // these values might change in future versions?!?!?!
962
963 // write "!Atoms" section. write the number of atoms,
964 // which should match to the number of records in this section.
965
966 file << "!Atoms ";
967 file << prj.GetAtomCount() << endl;
968
969 prj.UpdateIndex(); // this will update the "index"-records...
970
971 iter_al it1 = prj.GetAtomsBegin();
972 while (it1 != prj.GetAtomsEnd())
973 {
974 file << (* it1).index << " "; // unsigned ints.
975
976 file << (* it1).el.GetAtomicNumber() << " "; // signed ints; can be -1 for dummy atoms!
977
978 file.setf(ios::showpos);
979 file << (* it1).formal_charge << " "; // signed ints; SHOW THE SIGN!!!
980 file.unsetf(ios::showpos);
981
982 i32u tmpflags = (* it1).flags & 0xFF;
983 file << tmpflags << " "; // unsigned ints; limited on range 0 <-> 255.
984
985 // what else should we print here ?!?!?!?
986 // what else should we print here ?!?!?!?
987 // what else should we print here ?!?!?!?
988
989 file << endl;
990 it1++;
991 }
992
993 // write "!Bonds" section. write the number of bonds,
994 // which should match to the number of records in this section.
995
996 file << "!Bonds ";
997 file << prj.GetBondCount() << endl;
998
999 iter_bl it2 = prj.GetBondsBegin();
1000 while (it2 != prj.GetBondsEnd())
1001 {
1002 file << (* it2).atmr[0]->index << " "; // unsigned ints.
1003 file << (* it2).atmr[1]->index << " "; // unsigned ints.
1004 file << (* it2).bt.GetSymbol1() << " "; // single characters.
1005
1006 // what else should we print here ?!?!?!?
1007
1008 file << endl;
1009 it2++;
1010 }
1011
1012 // write the "!Coord" sections...
1013 // TODO : write visible-flag and set descriptions (if there are some), for example:
1014 // 0 1 "1st coordinate set is this one, and it's visible"
1015 // 1 1 "2nd set looks like this!, and it's also visible"
1016 // 2 0 "this 3rd set is not visible"
1017
1018 for (i32u n1 = 0;n1 < prj.GetCRDSetCount();n1++)
1019 {
1020 file << "!Coord" << endl;
1021
1022 it1 = prj.GetAtomsBegin();
1023 while (it1 != prj.GetAtomsEnd())
1024 {
1025 const fGL * cdata = (* it1).GetCRD(n1);
1026
1027 file << (* it1).index << " ";
1028 file.setf(ios::showpos);
1029 file << setprecision(15) << cdata[0] << " ";
1030 file << setprecision(15) << cdata[1] << " ";
1031 file << setprecision(15) << cdata[2] << " ";
1032 file.unsetf(ios::showpos);
1033
1034 file << endl;
1035 it1++;
1036 }
1037 }
1038
1039 // write the !PartialCharges section.
1040
1041 file << "!PartialCharges" << endl;
1042
1043 it1 = prj.GetAtomsBegin();
1044 while (it1 != prj.GetAtomsEnd())
1045 {
1046 file << (* it1).index << " ";
1047 file.setf(ios::showpos);
1048 file << setprecision(15) << (* it1).charge;
1049 file.unsetf(ios::showpos);
1050
1051 file << endl;
1052 it1++;
1053 }
1054
1055 // write "!End" section.
1056
1057 file << "!End" << endl;
1058
1059 // change the original locale back...
1060 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1061 setlocale(LC_NUMERIC, my_num_locale);
1062 }
1063
1064 /*################################################################################################*/
1065
1066 // eof
0 // FILETRANS.CPP : Handle import/export through use of the Babel external lib.
1
2 // Copyright (C) 2000 Geoffrey Hutchison.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "filetrans.h"
21
22 #ifdef ENABLE_OPENBABEL
23
24 #include <ghemical/libghemicaldefine.h>
25
26 #include "project.h"
27
28 #include <fstream>
29 #include <sstream>
30 using namespace std;
31
32 // Babel lib includes
33 // ^^^^^^^^^^^^^^^^^^
34
35 #include <openbabel/mol.h>
36 #include <openbabel/obutil.h>
37 #include <openbabel/data.h>
38 #include <openbabel/typer.h>
39 #include <openbabel/obconversion.h>
40
41 using namespace std;
42 using namespace OpenBabel;
43
44 #ifndef FORMAT_PATH
45 #define FORMAT_PATH (char *) project::appdata_path
46 #endif // FORMAT_PATH
47
48 namespace OpenBabel
49 {
50 extern OBAromaticTyper aromtyper;
51 extern OBAtomTyper atomtyper;
52 extern OBElementTable etab;
53 extern OBTypeTable ettab;
54 extern OBChainsParser chainsparser;
55 extern OBIsotopeTable isotab;
56 }
57
58 /*################################################################################################*/
59
60 // Constructor
61 // Requires: None
62 // Provides: import, export vectors for future use
63 file_trans::file_trans()
64 {
65 format_record current;
66
67 // it seems that under Open Babel these objects (aromtyper, atomtyper,
68 // extab, etab, ttab) are global, so here we could initialize them
69 // multiple times is case we create multiple file_trans objects.
70 // could this be risky and/or problematic??? 2001-05-28 TH
71
72 // Certainly not risky -- the objects track whether they have been
73 // initialized. It may or may not be problematic in terms of running
74 // the library multiple times, but debugging should show that.
75
76 // But this actually shouldn't be necessary -- since Ghemical isn't
77 // building and installing Open Babel itself. Instead, let the library
78 // find its own data files! -GRH 2005-09-27
79
80 //aromtyper.SetReadDirectory(FORMAT_PATH); // aromatic typer
81 //aromtyper.SetEnvironmentVariable("GHEMICAL_DIR");
82 //atomtyper.SetReadDirectory(FORMAT_PATH); // atom typer
83 //atomtyper.SetEnvironmentVariable("GHEMICAL_DIR");
84 //etab.SetReadDirectory(FORMAT_PATH);
85 //etab.SetEnvironmentVariable("GHEMICAL_DIR");
86 //ttab.SetReadDirectory(FORMAT_PATH);
87 //ttab.SetEnvironmentVariable("GHEMICAL_DIR");
88 //isotab.SetReadDirectory(FORMAT_PATH);
89 //isotab.SetEnvironmentVariable("GHEMICAL_DIR");
90
91 OBConversion conv;
92 Formatpos pos;
93 OBFormat * pFormat;
94 const char * str = NULL;
95 while(OBConversion::GetNextFormat(pos,str,pFormat))
96 {
97 if ((pFormat->Flags() & NOTWRITABLE) && (pFormat->Flags() & NOTREADABLE)) continue;
98
99 current.format = pFormat;
100 std::string tempDescription(pFormat->Description());
101
102 current.description = tempDescription.substr(0, tempDescription.find('\n'));
103
104 if ( !(pFormat->Flags() & NOTREADABLE) ) imports.push_back(current);
105 if ( !(pFormat->Flags() & NOTWRITABLE) ) exports.push_back(current);
106 }
107
108 // the rest is for compatibility part...
109 // the rest is for compatibility part...
110 // the rest is for compatibility part...
111
112 obm = NULL;
113 prj = NULL;
114
115 name_tag_count = -1;
116 tagtab = NULL;
117 }
118
119 file_trans::~file_trans()
120 {
121 // we will delete the OBMol and name tags!!!
122
123 if (obm != NULL) delete obm;
124 if (tagtab != NULL) delete[] tagtab;
125 }
126
127 // Import
128 // Requires: filename (for typing) and an istream to read
129 // Provides:
130 int file_trans::Import(const char *filename, istream &input, ostream &output)
131 {
132 OBConversion conv;
133 OBFormat * inFormat = conv.FormatFromExt(filename);
134 if (inFormat == NULL) return -1; // cannot find that format
135
136 OBFormat * outFormat = conv.FindFormat("gpr"); // GHEMICAL
137
138 if (! conv.SetInAndOutFormats(inFormat, outFormat) ) return -1; // cannot read/write these formats
139
140 conv.Convert(&input, &output);
141 return(0);
142 }
143
144 int file_trans::Export(const char *filename, istream &input, ostream &output)
145 {
146 OBConversion conv;
147 OBFormat * inFormat = conv.FindFormat("gpr"); // GHEMICAL
148 OBFormat * outFormat = conv.FormatFromExt(filename);
149
150 if (outFormat == NULL) return -1; // cannot write that format
151
152 if (! conv.SetInAndOutFormats(inFormat, outFormat) ) return -1; // cannot read/write these formats
153
154 conv.Convert(&input, &output);
155 return(0);
156 }
157
158 bool file_trans::CanImport(const char *filename)
159 {
160 OBConversion conv;
161 OBFormat * pFormat = conv.FormatFromExt(filename);
162 bool canRead = ( pFormat && !(pFormat->Flags() & NOTREADABLE) );
163 return canRead;
164 }
165
166 bool file_trans::CanExport(const char *filename)
167 {
168 OBConversion conv;
169 OBFormat * pFormat = conv.FormatFromExt(filename);
170 bool canWrite = ( pFormat && !(pFormat->Flags() & NOTWRITABLE) );
171 return canWrite;
172 }
173
174 string file_trans::GetExportDescription(unsigned int index)
175 {
176 string temp;
177 if (index < exports.size())
178 temp = exports[index].description;
179 return temp;
180 }
181
182 string file_trans::GetImportDescription(unsigned int index)
183 {
184 string temp;
185 if (index < imports.size())
186 temp = imports[index].description;
187 return temp;
188 }
189
190 // Import
191 // Requires: filename, a type and an istream to read
192 // Provides: an imported file using Babel
193 int file_trans::Import(const char *filename, unsigned int type, istream &input, ostream &output)
194 {
195 OBConversion conv;
196 OBFormat * inFormat;
197
198 if (type < imports.size()) inFormat = imports[type].format;
199 else
200 {
201 inFormat = conv.FormatFromExt(filename);
202 if (inFormat == NULL) return -1; // cannot find that format
203 }
204
205 OBFormat * outFormat = conv.FindFormat("gpr"); // GHEMICAL
206
207 if (! conv.SetInAndOutFormats(inFormat, outFormat) ) return -1; // cannot read/write these formats
208
209 conv.Convert(&input, &output);
210 return(0);
211 }
212
213 // Export
214 // Requires: filename, a type and an istream to read
215 // Provides: an exported file using Babel
216 int file_trans::Export(const char *filename, unsigned int type, istream &input, ostream &output)
217 {
218 OBConversion conv;
219 OBFormat * outFormat;
220
221 if (type < exports.size()) outFormat = exports[type].format;
222 else
223 {
224 OBFormat * outFormat = conv.FormatFromExt(filename);
225 if (outFormat == NULL) return -1; // cannot write that format
226 }
227
228 OBFormat * inFormat = conv.FindFormat("gpr"); // GHEMICAL
229
230 if (! conv.SetInAndOutFormats(inFormat, outFormat) ) return -1; // cannot read/write these formats
231
232 conv.Convert(&input, &output);
233 return(0);
234 }
235
236 /*################*/
237 /*################*/
238
239 OBMol * file_trans::Copy(project * p1, iter_al p2, iter_al p3)
240 {
241 prj = p1; obm = new OBMol(); itb = p2; ite = p3;
242
243 // count the atoms and reserve memory for the name tags.
244 // count the atoms and reserve memory for the name tags.
245 // count the atoms and reserve memory for the name tags.
246
247 name_tag_count = 0;
248 for (iter_al it1 = itb;it1 != ite;it1++)
249 {
250 name_tag_count++;
251 }
252
253 tagtab = new atom_name_tag[name_tag_count];
254
255 // copy the atoms/bonds to OBMol...
256
257 obm->BeginModify();
258
259 // copy the atoms.
260
261 int tag_counter = 0;
262 for (iter_al it1 = itb;it1 != ite;it1++)
263 {
264 OBAtom * oba = obm->NewAtom();
265 oba->SetAtomicNum((* it1).el.GetAtomicNumber());
266
267 const fGL * cdata = (* it1).GetCRD(0);
268 float xcrd = cdata[0] * 10.0;
269 float ycrd = cdata[1] * 10.0;
270 float zcrd = cdata[2] * 10.0;
271
272 oba->SetVector(xcrd, ycrd, zcrd);
273
274 // now set the "name tag" for this atom...
275 // now set the "name tag" for this atom...
276 // now set the "name tag" for this atom...
277
278 tagtab[tag_counter].atmr = & (* it1);
279 tagtab[tag_counter].oba = oba;
280 tag_counter++;
281 }
282
283 // copy the bonds.
284
285 // WE ASSUME HERE THAT ATOM ITERATORS COVER THE WHOLE SYSTEM!!!
286 // WE ASSUME HERE THAT ATOM ITERATORS COVER THE WHOLE SYSTEM!!!
287 // WE ASSUME HERE THAT ATOM ITERATORS COVER THE WHOLE SYSTEM!!!
288 prj->UpdateIndex();
289
290 for (iter_bl it1 = prj->GetBondsBegin();it1 != prj->GetBondsEnd();it1++)
291 {
292 i32s ind1 = (* it1).atmr[0]->index + 1;
293 i32s ind2 = (* it1).atmr[1]->index + 1;
294
295 i32s bt;
296 switch ((* it1).bt.GetValue())
297 {
298 case BONDTYPE_SINGLE: bt = 1; break;
299 case BONDTYPE_DOUBLE: bt = 2; break;
300 case BONDTYPE_TRIPLE: bt = 3; break;
301 case BONDTYPE_CNJGTD: bt = 5; break;
302 default: bt = 1;
303 }
304
305 obm->AddBond(ind1, ind2, bt);
306 }
307
308 // ok, it's ready!
309
310 obm->EndModify();
311 return obm;
312 }
313
314 OBMol * file_trans::CopyMolecule(project *, int)
315 {
316 return NULL;
317 }
318
319 OBMol * file_trans::CopyAll(project * prj)
320 {
321 return Copy(prj, prj->GetAtomsBegin(), prj->GetAtomsEnd());
322 }
323
324 void file_trans::Synchronize(void)
325 {
326 // create a new tagtab for the current situation (for bonds)...
327
328 atom_name_tag * tagtab2 = new atom_name_tag[obm->NumAtoms()];
329
330 for (i32u n1 = 1;n1 <= obm->NumAtoms();n1++)
331 {
332 OBAtom * oba = obm->GetAtom(n1);
333 atom * atmr = NULL;
334
335 // try to find the matching name tag; if you find it, get it and remove the original.
336
337 for (i32s n2 = 0;n2 < name_tag_count;n2++)
338 {
339 if (tagtab[n2].oba != oba) continue;
340
341 // match found!!!
342 // match found!!!
343 // match found!!!
344
345 atmr = tagtab[n2].atmr;
346 tagtab[n2].atmr = NULL;
347 tagtab[n2].oba = NULL;
348 break;
349 }
350
351 // if atmr is still NULL, we did not have a matching tag -> this must be a new atom!
352 // otherwise, we have this pair of corresponding objects and we can synchronize.
353
354 if (!atmr)
355 {
356 element el(oba->GetAtomicNum());
357
358 fGL crd[3] =
359 {
360 oba->GetX() / 10.0,
361 oba->GetY() / 10.0,
362 oba->GetZ() / 10.0
363 };
364
365 atom newatom(el, crd, prj->GetCRDSetCount());
366 prj->AddAtom_lg(newatom); atmr = & prj->GetLastAtom();
367
368 // this seems to crash -> disabled!!!!!!!!!!
369 // atmr->charge = oba->GetPartialCharge();
370 }
371 else
372 {
373 atmr->el = element(oba->GetAtomicNum());
374 atmr->SetCRD(0, oba->GetX() / 10.0, oba->GetY() / 10.0, oba->GetZ() / 10.0);
375
376 // this seems to crash -> disabled!!!!!!!!!!
377 // atmr->charge = oba->GetPartialCharge();
378 }
379
380 // save the new tagtab entry...
381
382 tagtab2[n1 - 1].atmr = atmr;
383 tagtab2[n1 - 1].oba = oba;
384 }
385
386 // in the above loop, we discarded the name tags that had corresponding atoms.
387 // so if there still are name tags left, it means we should remove those atoms!
388 // removing atoms will also remove bonds connected to them automagically...
389
390 for (i32s n1 = 0;n1 < name_tag_count;n1++)
391 {
392 if (!tagtab[n1].atmr) continue;
393
394 // ok, remove this atom.
395 // ok, remove this atom.
396 // ok, remove this atom.
397
398 iter_al it1 = itb;
399 while (it1 != ite) if (& (* it1) == tagtab[n1].atmr) break;
400 if (it1 == itb)
401 {
402 assertion_failed(__FILE__, __LINE__, "iterator lost!");
403 }
404
405 tagtab[n1].atmr = NULL;
406 tagtab[n1].oba = NULL;
407
408 prj->RemoveAtom(it1);
409 }
410
411 // now we should have the atoms in sync; do the same for bonds.
412 // for each OBBond, find or create the equivalent, and check the type.
413 // we assume that for a pair of atoms, there is no more than 1 bond!!!
414
415 for (i32u n1 = 0;n1 < obm->NumBonds();n1++)
416 {
417 OBBond * obb = obm->GetBond(n1);
418 i32u ind1 = obb->GetBeginAtomIdx() - 1;
419 i32u ind2 = obb->GetEndAtomIdx() - 1;
420
421 atom * atmr1 = tagtab2[ind1].atmr;
422 atom * atmr2 = tagtab2[ind2].atmr;
423
424 bond * bndr = NULL;
425
426 for (iter_bl it1 = prj->GetBondsBegin();it1 != prj->GetBondsEnd();it1++)
427 {
428 bool match = false;
429 if ((* it1).atmr[0] == atmr1 && (* it1).atmr[1] == atmr2) match = true;
430 if ((* it1).atmr[1] == atmr1 && (* it1).atmr[0] == atmr2) match = true;
431 if (!match) continue;
432
433 // match found; mark it and check the bondtype.
434 // match found; mark it and check the bondtype.
435 // match found; mark it and check the bondtype.
436
437 bndr = & (* it1);
438
439 i32s bt;
440 switch (obb->GetBO())
441 {
442 case 1: bt = BONDTYPE_SINGLE; break;
443 case 2: bt = BONDTYPE_DOUBLE; break;
444 case 3: bt = BONDTYPE_TRIPLE; break;
445 default: bt = BONDTYPE_CNJGTD;
446 }
447
448 if (obb->IsAromatic()) bt = BONDTYPE_CNJGTD;
449
450 bndr->bt = bondtype(bt);
451
452 break;
453 }
454
455 // if there were no match, then create the bond!
456
457 if (!bndr)
458 {
459 i32s bt;
460 switch (obb->GetBO())
461 {
462 case 1: bt = BONDTYPE_SINGLE; break;
463 case 2: bt = BONDTYPE_DOUBLE; break;
464 case 3: bt = BONDTYPE_TRIPLE; break;
465 default: bt = BONDTYPE_CNJGTD;
466 }
467
468 if (obb->IsAromatic()) bt = BONDTYPE_CNJGTD;
469
470 bond newbond(atmr1, atmr2, bondtype(bt));
471 prj->AddBond(newbond);
472 }
473 }
474
475 // get rid of the new tagtab...
476
477 delete[] tagtab2;
478 }
479
480 #endif // ENABLE_OPENBABEL
481
482 /*################################################################################################*/
483
484 // eof
0 // FILETRANS.H : Handle import/export through use of the Babel external lib.
1
2 // Copyright (C) 2000 Geoffrey Hutchison.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef FILETRANS_H
21 #define FILETRANS_H
22
23 #include "ghemicalconfig2.h" // ENABLE_OPENBABEL
24
25 #ifdef ENABLE_OPENBABEL
26
27 /*################################################################################################*/
28
29 #include "project.h"
30
31 // OpenBabel includes...
32 // OpenBabel includes...
33 // OpenBabel includes...
34
35 #include <openbabel/mol.h>
36 #include <openbabel/obconversion.h>
37 using namespace OpenBabel;
38
39 #include <string>
40 #include <vector>
41 #include <iostream>
42 #include <fstream>
43 using namespace std;
44
45 /*################################################################################################*/
46
47 typedef struct
48 {
49 atom * atmr;
50 OBAtom * oba;
51 } atom_name_tag;
52
53 typedef struct
54 {
55 string description;
56 OBFormat * format;
57 } format_record;
58
59 class file_trans
60 {
61 private:
62
63 vector<format_record> imports;
64 vector<format_record> exports;
65
66 int name_tag_count;
67 atom_name_tag * tagtab;
68 project * prj; OBMol * obm;
69 iter_al itb; iter_al ite;
70
71 public:
72
73 file_trans();
74 virtual ~file_trans();
75
76 // these expect to be passed the filename to pick the file format
77 int Import(const char *, istream &, ostream &);
78 int Export(const char *, istream &, ostream &);
79
80 // these check whether the format picked by the filename are valid
81 bool CanImport(const char *);
82 bool CanExport(const char *);
83
84 // Get a listing of the number of valid import/export types
85 unsigned int NumImports() { return imports.size(); }
86 unsigned int NumExports() { return exports.size(); }
87
88 // Get the description associated with this type
89 string GetExportDescription(unsigned int);
90 string GetImportDescription(unsigned int);
91
92 // These take the unsigned int as a format specifier
93 int Import(const char *, unsigned int, istream &, ostream &);
94 int Export(const char *, unsigned int, istream &, ostream &);
95
96 // some Babel compatibility methods:
97 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
98
99 /// This takes a pair of atom list iterators, and copies all atoms/bonds in this range to OBMol.
100 OBMol * Copy(project *, iter_al, iter_al);
101
102 /// This will copy a molecule (defined by the index) to OBMol.
103 OBMol * CopyMolecule(project *, int);
104
105 /// This will copy everything in this project to OBMol.
106 OBMol * CopyAll(project *);
107
108 /// This will syncronize the project and the OBMol.
109 void Synchronize(void);
110 };
111
112 /*################################################################################################*/
113
114 #endif // ENABLE_OPENBABEL
115 #endif // FILETRANS_H
116
117 // eof
0 /* src/ghemicalconfig.h.in. Generated from configure.ac by autoheader. */
1
2 /* Where the data files are ; set in the configure.ac */
3 #undef APPDATA_PATH
4
5 /* This is the releasedate of ghemical--it is set in the configure.ac */
6 #undef APPRELEASEDATE
7
8 /* This is the version of ghemical to be built--it is set in the configure.ac
9 */
10 #undef APPVERSION
11
12 /* Define if you are building a GTK2 application */
13 #undef ENABLE_GTK
14
15 /* always defined to indicate that i18n is enabled */
16 #undef ENABLE_NLS
17
18 /* Define if you are building a version that interfaces directly with
19 OpenBabel */
20 #undef ENABLE_OPENBABEL
21
22 /* Define if you are building a multithreaded application */
23 #undef ENABLE_THREADS
24
25 /* Package name for internationalization */
26 #undef GETTEXT_PACKAGE
27
28 /* Define to 1 if you have the `bind_textdomain_codeset' function. */
29 #undef HAVE_BIND_TEXTDOMAIN_CODESET
30
31 /* Define to 1 if you have the `dcgettext' function. */
32 #undef HAVE_DCGETTEXT
33
34 /* Define to 1 if you have the <dlfcn.h> header file. */
35 #undef HAVE_DLFCN_H
36
37 /* Define if the GNU gettext() function is already present or preinstalled. */
38 #undef HAVE_GETTEXT
39
40 /* Define to 1 if you have the <GL/glu.h> header file. */
41 #undef HAVE_GL_GLU_H
42
43 /* Define to 1 if you have the <GL/gl.h> header file. */
44 #undef HAVE_GL_GL_H
45
46 /* Define to 1 if you have the <inttypes.h> header file. */
47 #undef HAVE_INTTYPES_H
48
49 /* Define if your <locale.h> file defines LC_MESSAGES. */
50 #undef HAVE_LC_MESSAGES
51
52 /* Define to 1 if you have the `m' library (-lm). */
53 #undef HAVE_LIBM
54
55 /* Define to 1 if you have the <locale.h> header file. */
56 #undef HAVE_LOCALE_H
57
58 /* Define to 1 if you have the <memory.h> header file. */
59 #undef HAVE_MEMORY_H
60
61 /* Define to 1 if you have the <stdint.h> header file. */
62 #undef HAVE_STDINT_H
63
64 /* Define to 1 if you have the <stdlib.h> header file. */
65 #undef HAVE_STDLIB_H
66
67 /* Define to 1 if you have the <strings.h> header file. */
68 #undef HAVE_STRINGS_H
69
70 /* Define to 1 if you have the <string.h> header file. */
71 #undef HAVE_STRING_H
72
73 /* Define to 1 if you have the <sys/stat.h> header file. */
74 #undef HAVE_SYS_STAT_H
75
76 /* Define to 1 if you have the <sys/types.h> header file. */
77 #undef HAVE_SYS_TYPES_H
78
79 /* Define to 1 if you have the <unistd.h> header file. */
80 #undef HAVE_UNISTD_H
81
82 /* Define to the sub-directory in which libtool stores uninstalled libraries.
83 */
84 #undef LT_OBJDIR
85
86 /* Name of package */
87 #undef PACKAGE
88
89 /* Define to the address where bug reports for this package should be sent. */
90 #undef PACKAGE_BUGREPORT
91
92 /* Define to the full name of this package. */
93 #undef PACKAGE_NAME
94
95 /* Define to the full name and version of this package. */
96 #undef PACKAGE_STRING
97
98 /* Define to the one symbol short name of this package. */
99 #undef PACKAGE_TARNAME
100
101 /* Define to the home page for this package. */
102 #undef PACKAGE_URL
103
104 /* Define to the version of this package. */
105 #undef PACKAGE_VERSION
106
107 /* Define to 1 if you have the ANSI C header files. */
108 #undef STDC_HEADERS
109
110 /* Version number of package */
111 #undef VERSION
112
113 /* Define to empty if `const' does not conform to ANSI C. */
114 #undef const
115
116 /* Define to `__inline__' or `__inline' if that's what the C compiler
117 calls it, or to nothing if 'inline' is not supported under any name. */
118 #ifndef __cplusplus
119 #undef inline
120 #endif
0 // GPCVIEW_WCL.CPP
1
2 // Copyright (C) 2006 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gpcview_wcl.h"
21
22 /*################################################################################################*/
23
24 gpcview_wcl::gpcview_wcl(void) :
25 pangofont_wcl(new ogl_camera(ogl_ol_static(), 1.0))
26 {
27 }
28
29 gpcview_wcl::~gpcview_wcl(void)
30 {
31 // problem : lifetime of the camera object needs to be longer than
32 // lifetime of this object since it is needed at the base class dtor.
33 // solution : ask the base class to do the cleanup work for us...
34
35 delete_cam_plz = true;
36 }
37
38 void gpcview_wcl::ButtonEvent(int, int)
39 {
40 }
41
42 void gpcview_wcl::MotionEvent(int, int)
43 {
44 }
45
46 void gpcview_wcl::UpdateWnd(void)
47 {
48 base_wnd * wnd = GetWnd();
49 if (!wnd || wnd->GetWidth() < 0 || !cam) return;
50
51 wnd->SetCurrent();
52 cam->RenderScene(wnd, false, false);
53 }
54
55 void gpcview_wcl::InitGL(void)
56 {
57 // all classes that inherit pangofont_wcl must call ogl_InitPangoFont()!!!
58 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
59
60 ogl_InitPangoFont("courier 12");
61 }
62
63 void gpcview_wcl::RenderGL(rmode)
64 {
65 }
66
67 /*################################################################################################*/
68
69 // eof
0 // GPCVIEW_WCL.H : generic protein chain view client class.
1
2 // Copyright (C) 2006 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ghemicalconfig2.h"
21
22 #ifndef GPCVIEW_WCL_H
23 #define GPCVIEW_WCL_H
24
25 #include "pangofont_wcl.h"
26
27 /*################################################################################################*/
28
29 class gpcview_wcl :
30 public pangofont_wcl
31 {
32 protected:
33
34 public:
35
36 gpcview_wcl(void);
37 virtual ~gpcview_wcl(void);
38
39 void ButtonEvent(int, int); // virtual
40 void MotionEvent(int, int); // virtual
41
42 void UpdateWnd(void); // virtual
43
44 void InitGL(void); // virtual
45 void RenderGL(rmode); // virtual
46 };
47
48 /*################################################################################################*/
49
50 #endif // GPCVIEW_WCL_H
51
52 // eof
0 // GTK_APP.CPP
1
2 // Copyright (C) 2003 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_app.h"
21
22 #include <ghemical/notice.h>
23
24 #include "gtk_setup_dialog.h"
25
26 #include <ghemical/utility.h>
27
28 #ifndef WIN32
29 #include <X11/Xlib.h> // DisplayString()
30 #endif // WIN32
31
32 #include "res_gtk/draw.xpm"
33 #include "res_gtk/erase.xpm"
34 #include "res_gtk/select.xpm"
35 #include "res_gtk/zoom.xpm"
36 #include "res_gtk/clipping.xpm"
37 #include "res_gtk/transl_xy.xpm"
38 #include "res_gtk/transl_z.xpm"
39 #include "res_gtk/orbit_xy.xpm"
40 #include "res_gtk/orbit_z.xpm"
41 #include "res_gtk/rotate_xy.xpm"
42 #include "res_gtk/rotate_z.xpm"
43 #include "res_gtk/measure.xpm"
44
45 #include "res_gtk/element.xpm"
46 #include "res_gtk/bondtype.xpm"
47 #include "res_gtk/setup.xpm"
48
49 #include "gtk_wnd.h"
50
51 #include "local_i18n.h"
52
53 #include <cstring>
54 #include <sstream>
55 using namespace std;
56
57 /*################################################################################################*/
58
59 const char * tb_mousetool_labels[] =
60 #ifdef USE_SHORT_TOOLBAR_LABELS
61 // http://library.gnome.org/devel/glib/stable/glib-I18N.html
62 // what about using Q_() ; tbl_s|d = toolbarlabel_short_d ??? need to cut away the prefix?
63 // 2009-04-16 ; THERE IS NO NEED TO TRANSLATE THESE AT ALL ; just use the translated tooltips...
64 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
65 {
66 "d", "e", "s", "z", "c",
67 "t", "tz", "o", "oz", "r",
68 "rz", "m", NULL
69 };
70 #else // USE_SHORT_TOOLBAR_LABELS
71 {
72 "draw\n", "erase\n", "select\n", "zoom\n", "clip\n",
73 "trans\nXY", "trans\nZ", "orbit\nXY", "orbit\nZ", "rotate\nXY",
74 "rotate\nZ", "measure\n", NULL
75 };
76 #endif // USE_SHORT_TOOLBAR_LABELS
77
78 const char * tb_shortcut_labels[] =
79 #ifdef USE_SHORT_TOOLBAR_LABELS
80 {
81 "el", "bt", "su", NULL
82 };
83 #else // USE_SHORT_TOOLBAR_LABELS
84 {
85 "element\n", "bond\ntype", "setup\n", NULL
86 };
87 #endif // USE_SHORT_TOOLBAR_LABELS
88
89 GtkActionEntry gtk_app::entries1[] =
90 {
91 { "FileMenu", NULL, N_("File") },
92 { "HelpMenu", NULL, N_("Help") },
93
94 { "New", GTK_STOCK_NEW, N_("New"), NULL, N_("Create a new file."), (GCallback) gtk_app::mainmenu_FileNew }, //<control>N
95 { "Open", GTK_STOCK_OPEN, N_("Open"), NULL, N_("Open an existing file."), (GCallback) gtk_app::mainmenu_FileOpen }, //<control>O
96 { "SaveAs", GTK_STOCK_OPEN, N_("Save as..."), NULL, N_("Save a file."), (GCallback) gtk_app::mainmenu_FileSaveAs }, //<control>S
97 { "Close", GTK_STOCK_QUIT, N_("Close"), NULL, N_("Quit the program."), (GCallback) gtk_app::mainmenu_FileClose }, //<control>C
98
99 { "Help", GTK_STOCK_HELP, N_("Contents"), NULL, N_("View the User's Manual."), (GCallback) gtk_app::mainmenu_HelpHelp }, //<control>H
100 { "About", GTK_STOCK_ABOUT, N_("About"), NULL, N_("Information about this program."), (GCallback) gtk_app::mainmenu_HelpAbout }, //<control>A
101
102 // the rest are toolbar actions...
103 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
104
105 { "Element", "MY_ELEMENT_ICON", tb_shortcut_labels[0], NULL, N_("Set the current element."), (GCallback) gtk_app::maintb_dial_Element },
106 { "BondType", "MY_BONDTYPE_ICON", tb_shortcut_labels[1], NULL, N_("Set the current bondtype."), (GCallback) gtk_app::maintb_dial_BondType },
107 { "Setup", "MY_SETUP_ICON", tb_shortcut_labels[2], NULL, N_("Setup or change the comp.chem. method in use."), (GCallback) gtk_app::maintb_dial_Setup }
108 };
109
110 GtkToggleActionEntry gtk_app::entries2[] =
111 {
112 { "Draw", "MY_DRAW_ICON", tb_mousetool_labels[0], NULL, N_("Draw ; add atoms and bonds to the model."), (GCallback) gtk_app::maintb_tool_Draw, FALSE },
113 { "Erase", "MY_ERASE_ICON", tb_mousetool_labels[1], NULL, N_("Erase ; remove atoms and bonds from the model."), (GCallback) gtk_app::maintb_tool_Erase, FALSE },
114 { "Select", "MY_SELECT_ICON", tb_mousetool_labels[2], NULL, N_("Select ; make selections in the model, and also select objects."), (GCallback) gtk_app::maintb_tool_Select, FALSE },
115 { "Zoom", "MY_ZOOM_ICON", tb_mousetool_labels[3], NULL, N_("Zoom ; zoom the view."), (GCallback) gtk_app::maintb_tool_Zoom, FALSE },
116 { "Clip", "MY_CLIPPING_ICON", tb_mousetool_labels[4], NULL, N_("Clipping ; set the near and far clipping planes for graphics rendering."), (GCallback) gtk_app::maintb_tool_Clipping, FALSE },
117 { "TransXY", "MY_TRANSL_XY_ICON", tb_mousetool_labels[5], NULL, N_("TranslateXY ; translate the camera or a selected object in XY-direction."), (GCallback) gtk_app::maintb_tool_TranslateXY, FALSE },
118 { "TransZ", "MY_TRANSL_Z_ICON", tb_mousetool_labels[6], NULL, N_("TranslateZ ; translate the camera or a selected object in Z-direction."), (GCallback) gtk_app::maintb_tool_TranslateZ, FALSE },
119 { "OrbXY", "MY_ORBIT_XY_ICON", tb_mousetool_labels[7], NULL, N_("OrbitXY ; orbit the camera or a selected object around the focus point in XY-direction."), (GCallback) gtk_app::maintb_tool_OrbitXY, TRUE },
120 { "OrbZ", "MY_ORBIT_Z_ICON", tb_mousetool_labels[8], NULL, N_("OrbitZ ; orbit the camera or a selected object around the focus point in Z-direction."), (GCallback) gtk_app::maintb_tool_OrbitZ, FALSE },
121 { "RotXY", "MY_ROTATE_XY_ICON", tb_mousetool_labels[9], NULL, N_("RotateXY ; turn the camera or a selected object in XY-direction."), (GCallback) gtk_app::maintb_tool_RotateXY, FALSE },
122 { "RotZ", "MY_ROTATE_Z_ICON", tb_mousetool_labels[10], NULL, N_("RotateZ ; turn the camera or a selected object in Z-direction."), (GCallback) gtk_app::maintb_tool_RotateZ, FALSE },
123 { "Measure", "MY_MEASURE_ICON", tb_mousetool_labels[11], NULL, N_("Measure ; measure distances, angles and torsions."), (GCallback) gtk_app::maintb_tool_Measure, FALSE },
124 };
125
126 const char * gtk_app::ui_description =
127 "<ui>"
128 " <menubar name='MainMenu'>"
129 " <menu action='FileMenu'>"
130 " <menuitem action='New'/>"
131 " <menuitem action='Open'/>"
132 " <separator/>"
133 " <menuitem action='SaveAs'/>"
134 " <separator/>"
135 " <menuitem action='Close'/>"
136 " </menu>"
137 " <menu action='HelpMenu'>"
138 " <menuitem action='Help'/>"
139 " <menuitem action='About'/>"
140 " </menu>"
141 " </menubar>"
142 " <toolbar name='MainTB'>"
143 " <placeholder name='MainTools'>"
144 " <separator/>"
145 " <toolitem name='dr' action='Draw'/>"
146 " <toolitem name='er' action='Erase'/>"
147 " <toolitem name='se' action='Select'/>"
148 " <toolitem name='zm' action='Zoom'/>"
149 " <toolitem name='cp' action='Clip'/>"
150 " <toolitem name='tt' action='TransXY'/>"
151 " <toolitem name='tz' action='TransZ'/>"
152 " <toolitem name='oo' action='OrbXY'/>"
153 " <toolitem name='oz' action='OrbZ'/>"
154 " <toolitem name='rr' action='RotXY'/>"
155 " <toolitem name='rz' action='RotZ'/>"
156 " <toolitem name='ms' action='Measure'/>"
157 " <separator/>"
158 " <toolitem name='el' action='Element'/>"
159 " <toolitem name='bt' action='BondType'/>"
160 " <separator/>"
161 " <toolitem name='su' action='Setup'/>"
162 " <separator/>"
163 " </placeholder>"
164 " </toolbar>"
165 "</ui>";
166
167 GtkUIManager * gtk_app::ui_manager = NULL;
168
169 GtkWidget * gtk_app::main_window = NULL;
170 GtkWidget * gtk_app::main_vbox = NULL;
171
172 GtkWidget * gtk_app::main_menubar = NULL;
173 GtkWidget * gtk_app::main_toolbar = NULL;
174
175 GtkWidget * gtk_app::mtb_mtool_draw = NULL;
176 GtkWidget * gtk_app::mtb_mtool_erase = NULL;
177 GtkWidget * gtk_app::mtb_mtool_select = NULL;
178 GtkWidget * gtk_app::mtb_mtool_zoom = NULL;
179 GtkWidget * gtk_app::mtb_mtool_clipping = NULL;
180 GtkWidget * gtk_app::mtb_mtool_translate_xy = NULL;
181 GtkWidget * gtk_app::mtb_mtool_translate_z = NULL;
182 GtkWidget * gtk_app::mtb_mtool_orbit_xy = NULL;
183 GtkWidget * gtk_app::mtb_mtool_orbit_z = NULL;
184 GtkWidget * gtk_app::mtb_mtool_rotate_xy = NULL;
185 GtkWidget * gtk_app::mtb_mtool_rotate_z = NULL;
186 GtkWidget * gtk_app::mtb_mtool_measure = NULL;
187
188 GtkWidget * gtk_app::paned_widget = NULL;
189
190 GtkWidget * gtk_app::notebook_widget = NULL;
191
192 GtkTextBuffer * gtk_app::txt_buffer = NULL;
193 GtkTextMark * gtk_app::end_mark = NULL;
194
195 GtkWidget * gtk_app::scroll_widget = NULL;
196 GtkWidget * gtk_app::txt_widget = NULL;
197
198 GtkWidget * gtk_app::pv_view_widget = NULL;
199 GtkWidget * gtk_app::pv_label_widget = NULL;
200
201 // the views/objects-menu...
202 // ^^^^^^^^^^^^^^^^^^^^^^^^^
203
204 GtkActionEntry gtk_app::pv_viewsobjs_entries[] =
205 {
206 { "viewsobjs_SetCurrent", NULL, N_("Set to Current Object"), NULL, N_("Set this object to Current Object"), (GCallback) gtk_app::viewsobjs_SetCurrent },
207 { "viewsobjs_Delete", NULL, N_("Delete Object/View"), NULL, N_("Delete this object or view"), (GCallback) gtk_app::viewsobjs_Delete },
208 };
209
210 const char * gtk_app::pv_viewsobjs_ui_description =
211 "<ui>"
212 " <popup name='gpvViewsObjsMenu'>"
213 " <menuitem action='viewsobjs_SetCurrent'/>"
214 " <separator/>"
215 " <menuitem action='viewsobjs_Delete'/>"
216 " </popup>"
217 "</ui>";
218
219 // the chains-menu...
220 // ^^^^^^^^^^^^^^^^^^
221
222 GtkActionEntry gtk_app::pv_chains_entries[] =
223 {
224 { "chains_UpdateView", NULL, N_("Update View"), NULL, N_("Rebuild the chains info for this view"), (GCallback) gtk_app::chains_UpdateView },
225 { "chains_SelectItem", NULL, N_("Select Item"), NULL, N_("Select/unselect this chain/residue"), (GCallback) gtk_app::chains_SelectItem },
226 };
227
228 const char * gtk_app::pv_chains_ui_description =
229 "<ui>"
230 " <popup name='gpvChainsMenu'>"
231 " <menuitem action='chains_UpdateView'/>"
232 " <separator/>"
233 " <menuitem action='chains_SelectItem'/>"
234 " </popup>"
235 "</ui>";
236
237 // the atoms-menu...
238 // ^^^^^^^^^^^^^^^^^
239
240 GtkActionEntry gtk_app::pv_atoms_entries[] =
241 {
242 { "atoms_SelectAtom", NULL, N_("Select Atom"), NULL, N_("Select/unselect this atom"), (GCallback) gtk_app::atoms_SelectAtom },
243 };
244
245 const char * gtk_app::pv_atoms_ui_description =
246 "<ui>"
247 " <popup name='gpvAtomsMenu'>"
248 " <menuitem action='atoms_SelectAtom'/>"
249 " </popup>"
250 "</ui>";
251
252 // the bonds-menu...
253 // ^^^^^^^^^^^^^^^^^
254
255 GtkActionEntry gtk_app::pv_bonds_entries[] =
256 {
257 { "bonds_SelectBond", NULL, N_("Select Bond"), NULL, N_("Select/unselect this bond"), (GCallback) gtk_app::bonds_SelectBond },
258 };
259
260 const char * gtk_app::pv_bonds_ui_description =
261 "<ui>"
262 " <popup name='gpvBondsMenu'>"
263 " <menuitem action='bonds_SelectBond'/>"
264 " </popup>"
265 "</ui>";
266
267 // end of pv-pages.
268 // ^^^^^^^^^^^^^^^^
269
270 gtk_app::gtk_app(void) :
271 custom_app()
272 {
273 // register some new stock icons...
274 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
275
276 GtkIconFactory * icon_factory = gtk_icon_factory_new();
277 GtkIconSet * icon_set; GdkPixbuf * pixbuf; GtkIconSource * icon_source;
278 const int num_icons = 12 + 3;
279
280 const char ** icondata[num_icons] =
281 {
282 (const char **) draw_xpm,
283 (const char **) erase_xpm,
284 (const char **) select_xpm,
285 (const char **) zoom_xpm,
286 (const char **) clipping_xpm,
287 (const char **) transl_xy_xpm,
288 (const char **) transl_z_xpm,
289 (const char **) orbit_xy_xpm,
290 (const char **) orbit_z_xpm,
291 (const char **) rotate_xy_xpm,
292 (const char **) rotate_z_xpm,
293 (const char **) measure_xpm,
294
295 (const char **) element_xpm,
296 (const char **) bondtype_xpm,
297 (const char **) setup_xpm
298 };
299
300 const char * icon_id[num_icons] =
301 {
302 "MY_DRAW_ICON",
303 "MY_ERASE_ICON",
304 "MY_SELECT_ICON",
305 "MY_ZOOM_ICON",
306 "MY_CLIPPING_ICON",
307 "MY_TRANSL_XY_ICON",
308 "MY_TRANSL_Z_ICON",
309 "MY_ORBIT_XY_ICON",
310 "MY_ORBIT_Z_ICON",
311 "MY_ROTATE_XY_ICON",
312 "MY_ROTATE_Z_ICON",
313 "MY_MEASURE_ICON",
314
315 "MY_ELEMENT_ICON",
316 "MY_BONDTYPE_ICON",
317 "MY_SETUP_ICON"
318 };
319
320 for (int ii = 0;ii < num_icons;ii++)
321 {
322 pixbuf = gdk_pixbuf_new_from_xpm_data(icondata[ii]);
323 icon_set = gtk_icon_set_new_from_pixbuf(pixbuf);
324
325 icon_source = gtk_icon_source_new();
326 gtk_icon_source_set_pixbuf(icon_source, pixbuf);
327 gtk_icon_set_add_source(icon_set, icon_source);
328 gtk_icon_source_free (icon_source);
329
330 gtk_icon_factory_add(icon_factory, icon_id[ii], icon_set);
331 gtk_icon_set_unref (icon_set);
332 }
333
334 gtk_icon_factory_add_default(icon_factory);
335
336 // create the main window...
337 // ^^^^^^^^^^^^^^^^^^^^^^^^^
338
339 main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
340
341 gtk_window_set_default_size(GTK_WINDOW(main_window), 845, 640);
342
343 gchar * tmp_title = g_strconcat(_("Ghemical"), " ", APPVERSION, NULL );
344 gtk_window_set_title(GTK_WINDOW(main_window), tmp_title);
345 free(tmp_title); tmp_title = NULL;
346
347 ostringstream icon_fn;
348 icon_fn << project::appdata_path << DIR_SEPARATOR << APPVERSION << DIR_SEPARATOR << "pixmaps" << DIR_SEPARATOR << "ghemical.png" << ends;
349 pixbuf = gdk_pixbuf_new_from_file(icon_fn.str().c_str(), NULL);
350 if (pixbuf == NULL) printf(_("ERROR : Icon loading failed : %s\n"), icon_fn.str().c_str());
351 else gtk_window_set_icon(GTK_WINDOW(main_window), pixbuf);
352
353 gtk_container_set_border_width(GTK_CONTAINER(main_window), 1);
354
355 g_signal_connect(G_OBJECT(main_window), "delete_event", G_CALLBACK(gtk_app::DeleteEventHandler), NULL);
356 g_signal_connect(G_OBJECT(main_window), "destroy", G_CALLBACK(gtk_app::DestroyHandler), NULL);
357
358 main_vbox = gtk_vbox_new(FALSE, 0);
359 gtk_container_set_border_width(GTK_CONTAINER(main_vbox), 1);
360 gtk_container_add(GTK_CONTAINER(main_window), main_vbox);
361
362 // add the user interface elements...
363 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
364
365 GtkActionGroup * action_group1 = gtk_action_group_new("MainWindowActions");
366 gtk_action_group_set_translation_domain(action_group1, GETTEXT_PACKAGE);
367 gtk_action_group_add_actions(action_group1, entries1, G_N_ELEMENTS(entries1), NULL);
368
369 GtkActionGroup * action_group2 = gtk_action_group_new("MouseToolToggleActions");
370 gtk_action_group_set_translation_domain(action_group2, GETTEXT_PACKAGE);
371 gtk_action_group_add_toggle_actions(action_group2, entries2, G_N_ELEMENTS(entries2), NULL);
372
373 ui_manager = gtk_ui_manager_new();
374 gtk_ui_manager_insert_action_group(ui_manager, action_group1, 0);
375 gtk_ui_manager_insert_action_group(ui_manager, action_group2, 0);
376
377 GError * error = NULL;
378 if (!gtk_ui_manager_add_ui_from_string(ui_manager, ui_description, -1, & error))
379 {
380 g_message(_("ERROR : Building main menu failed : %s"), error->message);
381 g_error_free(error); exit(EXIT_FAILURE);
382 }
383
384 // todo : tooltips do not appear to the main menu?!?!?
385 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
386 // but they DO appear in the toolbar??? TOOLTIPS NEEDED FOR I18N!!!
387 // gedit shows tooltips in the statusbar. at GtkUIManager documentation
388 // "connect-proxy" -signal is defined which may have something to do with this.
389
390 main_menubar = gtk_ui_manager_get_widget(ui_manager, "/MainMenu");
391 gtk_box_pack_start(GTK_BOX(main_vbox), main_menubar, FALSE, FALSE, 0);
392
393 main_toolbar = gtk_ui_manager_get_widget(ui_manager, "/MainTB");
394 gtk_box_pack_start(GTK_BOX(main_vbox), main_toolbar, FALSE, FALSE, 0);
395
396 mtb_mtool_draw = gtk_ui_manager_get_widget(ui_manager, "/MainTB/MainTools/dr");
397 mtb_mtool_erase = gtk_ui_manager_get_widget(ui_manager, "/MainTB/MainTools/er");
398 mtb_mtool_select = gtk_ui_manager_get_widget(ui_manager, "/MainTB/MainTools/se");
399 mtb_mtool_zoom = gtk_ui_manager_get_widget(ui_manager, "/MainTB/MainTools/zm");
400 mtb_mtool_clipping = gtk_ui_manager_get_widget(ui_manager, "/MainTB/MainTools/cp");
401 mtb_mtool_translate_xy = gtk_ui_manager_get_widget(ui_manager, "/MainTB/MainTools/tt");
402 mtb_mtool_translate_z = gtk_ui_manager_get_widget(ui_manager, "/MainTB/MainTools/tz");
403 mtb_mtool_orbit_xy = gtk_ui_manager_get_widget(ui_manager, "/MainTB/MainTools/oo");
404 mtb_mtool_orbit_z = gtk_ui_manager_get_widget(ui_manager, "/MainTB/MainTools/oz");
405 mtb_mtool_rotate_xy = gtk_ui_manager_get_widget(ui_manager, "/MainTB/MainTools/rr");
406 mtb_mtool_rotate_z = gtk_ui_manager_get_widget(ui_manager, "/MainTB/MainTools/rz");
407 mtb_mtool_measure = gtk_ui_manager_get_widget(ui_manager, "/MainTB/MainTools/ms");
408
409 paned_widget = gtk_vpaned_new();
410
411 notebook_widget = gtk_notebook_new();
412
413 txt_widget = gtk_text_view_new();
414 gtk_text_view_set_editable(GTK_TEXT_VIEW(txt_widget), false);
415
416 txt_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(txt_widget));
417 GtkTextIter txt_iter; gtk_text_buffer_get_end_iter(txt_buffer, & txt_iter);
418 end_mark = gtk_text_buffer_create_mark(txt_buffer, NULL, & txt_iter, FALSE); // right_gravity!
419
420 scroll_widget = gtk_scrolled_window_new(NULL, NULL);
421 gtk_container_add(GTK_CONTAINER(scroll_widget), GTK_WIDGET(txt_widget));
422
423 gtk_widget_show(txt_widget);
424
425 gtk_paned_add1(GTK_PANED(paned_widget), GTK_WIDGET(notebook_widget));
426 gtk_paned_add2(GTK_PANED(paned_widget), GTK_WIDGET(scroll_widget));
427
428 gtk_box_pack_start(GTK_BOX(main_vbox), paned_widget, TRUE, TRUE, 0);
429
430 gtk_widget_show(notebook_widget);
431 gtk_widget_show(scroll_widget);
432
433 gtk_widget_show(paned_widget);
434
435 InitPV(); // build and show the project_view...
436
437 // show the widgets and enter in the main loop.
438 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
439
440 gtk_widget_show(main_menubar);
441 gtk_widget_show(main_toolbar);
442
443 gtk_widget_show(main_vbox);
444 gtk_widget_show(main_window);
445
446 // set a new default project.
447 // ^^^^^^^^^^^^^^^^^^^^^^^^^^
448
449 SetNewProject();
450
451 // when leaving this stage, the program
452 // will (soon) enter in the main loop...
453 }
454
455 gtk_app::~gtk_app(void)
456 {
457 // need to release memory etc...
458 }
459
460 gtk_app * gtk_app::GetAppX(void)
461 {
462 base_app * app = base_app::GetAppB();
463 if (app != NULL) return dynamic_cast<gtk_app *>(app);
464 else return new gtk_app();
465 }
466
467 gtk_project * gtk_app::GetPrjX(void)
468 {
469 project * p = custom_app::GetPrj();
470 if (!p) return NULL;
471
472 gtk_project * gp = dynamic_cast<gtk_project *>(p);
473 return gp;
474 }
475
476 void gtk_app::AttachDetachView(base_wcl * wcl)
477 {
478 // this is a gtk-notebook-related special feature,
479 // so it will duplicate some functionality from the
480 // generic implementations (project-class???).
481
482 // so also see these:
483 // ^^^^^^^^^^^^^^^^^^
484 // project::AddGraphicsClient()
485 // project::RemoveGraphicsClient()
486
487 base_wnd * wndB = wcl->GetWnd();
488 gtk_wnd * wndX = dynamic_cast<gtk_wnd *>(wndB);
489
490 if (wndB == NULL || wndX == NULL)
491 {
492 assertion_failed(__FILE__, __LINE__, "no wnd!");
493 }
494
495 bool detached = !wndX->IsDetached();
496 wndX = NULL; // no longer needed...
497
498 // unlink the old window, and destroy it.
499 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
500
501 wcl->UnlinkWnd();
502
503 // then create a new window, and link it.
504 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
505 // determine the window class using the client...
506
507 if (dynamic_cast<oglview_wcl *>(wcl) != NULL)
508 {
509 GetPrj()->DestroyGraphicsWnd(wndB);
510 wndB = NULL;
511
512 wndB = GetPrj()->CreateGraphicsWnd(detached);
513 }
514 else
515 {
516 GetPrj()->DestroyPlottingWnd(wndB);
517 wndB = NULL;
518
519 // handle the various plotting wnd types here...
520
521 if (dynamic_cast<p1dview_wcl *>(wcl) != NULL) wndB = GetPrj()->CreatePlot1DWnd(detached);
522 else if (dynamic_cast<p2dview_wcl *>(wcl) != NULL) wndB = GetPrj()->CreatePlot2DWnd(detached);
523 else if (dynamic_cast<eldview_wcl *>(wcl) != NULL) wndB = GetPrj()->CreateEnergyLevelDiagramWnd(detached);
524 else if (dynamic_cast<rcpview_wcl *>(wcl) != NULL) wndB = GetPrj()->CreateReactionCoordinatePlotWnd(detached);
525 else if (dynamic_cast<gpcview_wcl *>(wcl) != NULL) wndB = GetPrj()->CreateGenericProteinChainWnd(detached);
526 else
527 {
528 assertion_failed(__FILE__, __LINE__, "wcl class unknown.");
529 }
530 }
531
532 wcl->LinkWnd(wndB);
533
534 UpdateAllWindowTitles(); // attach/detach status texts...
535 }
536
537 void gtk_app::SetTransientForMainWnd(GtkWindow * other_window)
538 {
539 gtk_window_set_transient_for(other_window, GTK_WINDOW(main_window));
540 }
541
542 void gtk_app::AddTabToNB(GtkWidget * widget, GtkWidget * label)
543 {
544 gtk_notebook_append_page(GTK_NOTEBOOK(notebook_widget), widget, label);
545
546 // activate the last page ; makes the new view visible.
547 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
548
549 gtk_notebook_set_page(GTK_NOTEBOOK(notebook_widget), -1);
550 }
551
552 void gtk_app::RemoveTabFromNB(GtkWidget * widget)
553 {
554 gint page = gtk_notebook_page_num(GTK_NOTEBOOK(notebook_widget), widget);
555 gtk_notebook_remove_page(GTK_NOTEBOOK(notebook_widget), page);
556 }
557
558 void gtk_app::SetTabTitleNB(GtkWidget * widget, GtkWidget * label)
559 {
560 gtk_notebook_set_tab_label(GTK_NOTEBOOK(notebook_widget), widget, label);
561 }
562
563 void gtk_app::InitPV(void)
564 {
565 pv_label_widget = gtk_label_new(_("project view"));
566
567 pv_view_widget = gtk_notebook_new();
568 gtk_widget_set_size_request(pv_view_widget, 640, 400); // minimum size...
569
570 GtkCellRenderer * renderer;
571 GtkTreeViewColumn * column;
572
573 GtkActionGroup * action_group = NULL;
574 GError * error = NULL;
575
576 // "views/objects"-page
577
578 pv_viewsobjs_store = gtk_tree_store_new (2, G_TYPE_STRING, G_TYPE_STRING);
579 pv_viewsobjs_widget = gtk_tree_view_new_with_model(GTK_TREE_MODEL(pv_viewsobjs_store));
580 gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(pv_viewsobjs_widget), TRUE); // optional : draw the stripes to background.
581
582 renderer = gtk_cell_renderer_text_new(); // ??? (string)
583 column = gtk_tree_view_column_new_with_attributes(_("Object"), renderer, "text", 0, NULL);
584 gtk_tree_view_append_column(GTK_TREE_VIEW(pv_viewsobjs_widget), column);
585
586 renderer = gtk_cell_renderer_text_new(); // ??? (string)
587 column = gtk_tree_view_column_new_with_attributes(_("Sub-Objects"), renderer, "text", 1, NULL);
588 gtk_tree_view_append_column(GTK_TREE_VIEW(pv_viewsobjs_widget), column);
589
590 pv_viewsobjs_label = gtk_label_new(_("Views/Objects"));
591 pv_viewsobjs_sw = gtk_scrolled_window_new (NULL, NULL);
592 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(pv_viewsobjs_sw), GTK_SHADOW_ETCHED_IN); // optional : ???
593 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(pv_viewsobjs_sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
594 gtk_container_add(GTK_CONTAINER(pv_viewsobjs_sw), pv_viewsobjs_widget);
595 gtk_notebook_append_page(GTK_NOTEBOOK(pv_view_widget), pv_viewsobjs_sw, pv_viewsobjs_label);
596 action_group = gtk_action_group_new("gpvViewsObjsActions");
597 gtk_action_group_set_translation_domain(action_group, GETTEXT_PACKAGE);
598 gtk_action_group_add_actions(action_group, pv_viewsobjs_entries, G_N_ELEMENTS(pv_viewsobjs_entries), GTK_WIDGET(pv_view_widget));
599 gtk_ui_manager_insert_action_group(gtk_app::GetUIManager(), action_group, 0);
600 error = NULL;
601 if (!gtk_ui_manager_add_ui_from_string(gtk_app::GetUIManager(), pv_viewsobjs_ui_description, -1, & error))
602 {
603 g_message(_("ERROR : Building Views/Objects menu in project view failed : %s"), error->message);
604 g_error_free(error); exit(EXIT_FAILURE);
605 }
606 pv_viewsobjs_menu = gtk_ui_manager_get_widget(gtk_app::GetUIManager(), "/gpvViewsObjsMenu");
607 g_signal_connect_swapped(GTK_OBJECT(pv_viewsobjs_widget), "button_press_event", G_CALLBACK(ViewsObjsPopupHandler), GTK_WIDGET(pv_viewsobjs_widget));
608 gtk_widget_show(pv_viewsobjs_widget);
609 gtk_widget_show(pv_viewsobjs_label);
610 gtk_widget_show(pv_viewsobjs_sw);
611
612 // "chains"-page
613
614 pv_chains_store = gtk_tree_store_new (5, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
615 pv_chains_widget = gtk_tree_view_new_with_model(GTK_TREE_MODEL(pv_chains_store));
616 gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(pv_chains_widget), TRUE); // optional : draw the stripes to background.
617
618 renderer = gtk_cell_renderer_text_new(); // chain_info (string)
619 column = gtk_tree_view_column_new_with_attributes(_("Chain Description"), renderer, "text", 0, NULL);
620 gtk_tree_view_append_column(GTK_TREE_VIEW(pv_chains_widget), column);
621
622 renderer = gtk_cell_renderer_text_new(); // res_num (string)
623 column = gtk_tree_view_column_new_with_attributes(_("Residue Number"), renderer, "text", 1, NULL);
624 gtk_tree_view_append_column(GTK_TREE_VIEW(pv_chains_widget), column);
625
626 renderer = gtk_cell_renderer_text_new(); // res_id (string)
627 column = gtk_tree_view_column_new_with_attributes(_("Residue ID"), renderer, "text", 2, NULL);
628 gtk_tree_view_append_column(GTK_TREE_VIEW(pv_chains_widget), column);
629
630 renderer = gtk_cell_renderer_text_new(); // res_state1 (string)
631 column = gtk_tree_view_column_new_with_attributes(_("Sec-Str State"), renderer, "text", 3, NULL);
632 gtk_tree_view_append_column(GTK_TREE_VIEW(pv_chains_widget), column);
633
634 renderer = gtk_cell_renderer_text_new(); // res_state2 (string)
635 column = gtk_tree_view_column_new_with_attributes(_("Protonation State"), renderer, "text", 4, NULL);
636 gtk_tree_view_append_column(GTK_TREE_VIEW(pv_chains_widget), column);
637
638 pv_chains_label = gtk_label_new(_("Chains"));
639 pv_chains_sw = gtk_scrolled_window_new (NULL, NULL);
640 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(pv_chains_sw), GTK_SHADOW_ETCHED_IN); // optional : ???
641 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(pv_chains_sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
642 gtk_container_add(GTK_CONTAINER(pv_chains_sw), pv_chains_widget);
643 gtk_notebook_append_page(GTK_NOTEBOOK(pv_view_widget), pv_chains_sw, pv_chains_label);
644 action_group = gtk_action_group_new("gpvChainsActions");
645 gtk_action_group_set_translation_domain(action_group, GETTEXT_PACKAGE);
646 gtk_action_group_add_actions(action_group, pv_chains_entries, G_N_ELEMENTS(pv_chains_entries), GTK_WIDGET(pv_view_widget));
647 gtk_ui_manager_insert_action_group(gtk_app::GetUIManager(), action_group, 0);
648 error = NULL;
649 if (!gtk_ui_manager_add_ui_from_string(gtk_app::GetUIManager(), pv_chains_ui_description, -1, & error))
650 {
651 g_message(_("ERROR : Building Chains menu in project view failed : %s"), error->message);
652 g_error_free(error); exit(EXIT_FAILURE);
653 }
654 pv_chains_menu = gtk_ui_manager_get_widget(gtk_app::GetUIManager(), "/gpvChainsMenu");
655 g_signal_connect_swapped(GTK_OBJECT(pv_chains_widget), "button_press_event", G_CALLBACK(ChainsPopupHandler), GTK_WIDGET(pv_chains_widget));
656 gtk_widget_show(pv_chains_widget);
657 gtk_widget_show(pv_chains_label);
658 gtk_widget_show(pv_chains_sw);
659
660 // "atoms"-page
661
662 pv_atoms_store = gtk_list_store_new (3, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_BOOLEAN);
663 pv_atoms_widget = gtk_tree_view_new_with_model(GTK_TREE_MODEL(pv_atoms_store));
664 gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(pv_atoms_widget), TRUE); // optional : draw the stripes to background.
665
666 renderer = gtk_cell_renderer_text_new(); // index1
667 column = gtk_tree_view_column_new_with_attributes(_("Atom Index"), renderer, "text", 0, NULL);
668 gtk_tree_view_append_column(GTK_TREE_VIEW(pv_atoms_widget), column);
669
670 renderer = gtk_cell_renderer_text_new(); // element
671 column = gtk_tree_view_column_new_with_attributes(_("Element"), renderer, "text", 1, NULL);
672 gtk_tree_view_append_column(GTK_TREE_VIEW(pv_atoms_widget), column);
673
674 renderer = gtk_cell_renderer_toggle_new(); // locked
675 g_object_set(renderer, "activatable", TRUE, NULL);
676 g_signal_connect(GTK_OBJECT(renderer), "toggled", G_CALLBACK(atoms_ToggleLocked), (gpointer *) pv_atoms_store);
677 column = gtk_tree_view_column_new_with_attributes(_("Locked"), renderer, "active", 2, NULL);
678 gtk_tree_view_append_column(GTK_TREE_VIEW(pv_atoms_widget), column);
679
680 pv_atoms_label = gtk_label_new(_("Atoms"));
681 pv_atoms_sw = gtk_scrolled_window_new (NULL, NULL);
682 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(pv_atoms_sw), GTK_SHADOW_ETCHED_IN); // optional : ???
683 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(pv_atoms_sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
684 gtk_container_add(GTK_CONTAINER(pv_atoms_sw), pv_atoms_widget);
685 gtk_notebook_append_page(GTK_NOTEBOOK(pv_view_widget), pv_atoms_sw, pv_atoms_label);
686 action_group = gtk_action_group_new("gpvAtomsActions");
687 gtk_action_group_set_translation_domain(action_group, GETTEXT_PACKAGE);
688 gtk_action_group_add_actions(action_group, pv_atoms_entries, G_N_ELEMENTS(pv_atoms_entries), GTK_WIDGET(pv_view_widget));
689 gtk_ui_manager_insert_action_group(gtk_app::GetUIManager(), action_group, 0);
690 error = NULL;
691 if (!gtk_ui_manager_add_ui_from_string(gtk_app::GetUIManager(), pv_atoms_ui_description, -1, & error))
692 {
693 g_message(_("ERROR : Building Atoms menu in project view failed : %s"), error->message);
694 g_error_free(error); exit(EXIT_FAILURE);
695 }
696 pv_atoms_menu = gtk_ui_manager_get_widget(gtk_app::GetUIManager(), "/gpvAtomsMenu");
697 g_signal_connect_swapped(GTK_OBJECT(pv_atoms_widget), "button_press_event", G_CALLBACK(AtomsPopupHandler), GTK_WIDGET(pv_atoms_widget));
698 gtk_widget_show(pv_atoms_widget);
699 gtk_widget_show(pv_atoms_label);
700 gtk_widget_show(pv_atoms_sw);
701
702 // "bonds"-page
703
704 pv_bonds_store = gtk_list_store_new (3, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_STRING);
705 pv_bonds_widget = gtk_tree_view_new_with_model(GTK_TREE_MODEL(pv_bonds_store));
706 gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(pv_bonds_widget), TRUE); // optional : draw the stripes to background.
707
708 renderer = gtk_cell_renderer_text_new(); // index1
709 column = gtk_tree_view_column_new_with_attributes(_("Atom Index #1"), renderer, "text", 0, NULL);
710 gtk_tree_view_append_column(GTK_TREE_VIEW(pv_bonds_widget), column);
711
712 renderer = gtk_cell_renderer_text_new(); // index2
713 column = gtk_tree_view_column_new_with_attributes(_("Atom Index #2"), renderer, "text", 1, NULL);
714 gtk_tree_view_append_column(GTK_TREE_VIEW(pv_bonds_widget), column);
715
716 renderer = gtk_cell_renderer_text_new(); // bondtype
717 column = gtk_tree_view_column_new_with_attributes(_("BondType"), renderer, "text", 2, NULL);
718 gtk_tree_view_append_column(GTK_TREE_VIEW(pv_bonds_widget), column);
719
720 pv_bonds_label = gtk_label_new(_("Bonds"));
721 pv_bonds_sw = gtk_scrolled_window_new (NULL, NULL);
722 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(pv_bonds_sw), GTK_SHADOW_ETCHED_IN); // optional : ???
723 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(pv_bonds_sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
724 gtk_container_add(GTK_CONTAINER(pv_bonds_sw), pv_bonds_widget);
725 gtk_notebook_append_page(GTK_NOTEBOOK(pv_view_widget), pv_bonds_sw, pv_bonds_label);
726 action_group = gtk_action_group_new("gpvBondsActions");
727 gtk_action_group_set_translation_domain(action_group, GETTEXT_PACKAGE);
728 gtk_action_group_add_actions(action_group, pv_bonds_entries, G_N_ELEMENTS(pv_bonds_entries), GTK_WIDGET(pv_view_widget));
729 gtk_ui_manager_insert_action_group(gtk_app::GetUIManager(), action_group, 0);
730 error = NULL;
731 if (!gtk_ui_manager_add_ui_from_string(gtk_app::GetUIManager(), pv_bonds_ui_description, -1, & error))
732 {
733 g_message(_("ERROR : Building Bonds menu in project view failed : %s"), error->message);
734 g_error_free(error); exit(EXIT_FAILURE);
735 }
736 pv_bonds_menu = gtk_ui_manager_get_widget(gtk_app::GetUIManager(), "/gpvBondsMenu");
737 g_signal_connect_swapped(GTK_OBJECT(pv_bonds_widget), "button_press_event", G_CALLBACK(BondsPopupHandler), GTK_WIDGET(pv_bonds_widget));
738 gtk_widget_show(pv_bonds_widget);
739 gtk_widget_show(pv_bonds_label);
740 gtk_widget_show(pv_bonds_sw);
741
742 // ready...
743 // ready...
744 // ready...
745
746 gtk_notebook_append_page(GTK_NOTEBOOK(notebook_widget), pv_view_widget, pv_label_widget);
747
748 gtk_widget_show(GTK_WIDGET(pv_view_widget));
749 gtk_widget_show(GTK_WIDGET(pv_label_widget));
750 }
751
752 void gtk_app::SetNewProject(void)
753 {
754 if (prj != NULL)
755 {
756 prj->ClearAll();
757 delete prj; prj = NULL;
758 }
759
760 custom_app::SetNewProject();
761 gtk_project * tmpprj = new gtk_project();
762
763 prj = tmpprj;
764 tmpprj->DoSafeStart();
765 }
766
767 gboolean gtk_app::DeleteEventHandler(GtkWidget * widget, GdkEvent * event, gpointer data)
768 {
769 if (project::background_job_running) return TRUE; // protect the model-data during background jobs...
770
771 bool quit = sQuestion(_("Are you sure that you\nwant to quit the program?"));
772 if (quit) return FALSE; else return TRUE;
773 }
774
775 void gtk_app::DestroyHandler(GtkWidget * widget, gpointer data)
776 {
777 prj->ClearAll();
778 delete prj; prj = NULL;
779
780 gtk_main_quit();
781 }
782
783 // Print the message (no problems).
784 void gtk_app::sMessage(const char * msg)
785 {
786 GtkWidget * message_dialog = gtk_message_dialog_new(NULL,
787 GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s", msg);
788
789 gtk_dialog_run(GTK_DIALOG(message_dialog));
790 gtk_widget_destroy(message_dialog);
791 }
792
793 // Print the message (lower severity).
794 void gtk_app::sWarningMessage(const char * msg)
795 {
796 GtkWidget * message_dialog = gtk_message_dialog_new(NULL,
797 GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_OK, "%s", msg);
798
799 gtk_dialog_run(GTK_DIALOG(message_dialog));
800 gtk_widget_destroy(message_dialog);
801 }
802
803 // Print the message (higher severity).
804 void gtk_app::sErrorMessage(const char * msg)
805 {
806 GtkWidget * message_dialog = gtk_message_dialog_new(NULL,
807 GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s", msg);
808
809 gtk_dialog_run(GTK_DIALOG(message_dialog));
810 gtk_widget_destroy(message_dialog);
811 }
812
813 // Print the message and wait for a yes/no response.
814 bool gtk_app::sQuestion(const char * msg)
815 {
816 GtkWidget * question_dialog = gtk_message_dialog_new(NULL,
817 GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "%s", msg);
818
819 gint response = gtk_dialog_run(GTK_DIALOG(question_dialog));
820 gtk_widget_destroy(question_dialog);
821
822 switch (response)
823 {
824 case GTK_RESPONSE_YES:
825 return true;
826
827 default:
828 return false;
829 }
830 }
831
832 #define MSG_BUFF_SZ 65536
833
834 void gtk_app::sPrintToLog(const char * msg)
835 {
836 if (strlen(msg) > MSG_BUFF_SZ)
837 {
838 cout << _("gtk_app::sPrintToLog() : message is too long!") << endl;
839 return;
840 }
841
842 static char msgbuff[MSG_BUFF_SZ];
843 strcpy(msgbuff, msg);
844
845 GtkTextIter txt_iter;
846 gtk_text_buffer_get_iter_at_mark(txt_buffer, & txt_iter, end_mark);
847
848 gtk_text_buffer_insert(txt_buffer, & txt_iter, msgbuff, -1);
849
850 gtk_text_view_scroll_mark_onscreen(GTK_TEXT_VIEW(txt_widget), end_mark);
851
852 cout << "PrintToLog : " << msg;
853 }
854
855 void gtk_app::Message(const char * msg)
856 {
857 sMessage(msg);
858 }
859
860 void gtk_app::WarningMessage(const char * msg)
861 {
862 sWarningMessage(msg);
863 }
864
865 void gtk_app::ErrorMessage(const char * msg)
866 {
867 sErrorMessage(msg);
868 }
869
870 bool gtk_app::Question(const char * msg)
871 {
872 return sQuestion(msg);
873 }
874
875 void gtk_app::PrintToLog(const char * msg)
876 {
877 sPrintToLog(msg);
878 }
879
880 void gtk_app::UpdateAllWindowTitles(void)
881 {
882 list<pv_viewsobjs_record *>::iterator it = pv_viewsobjs_data.begin();
883 while (it != pv_viewsobjs_data.end())
884 {
885 if ((* it)->refV2 != NULL)
886 {
887 base_wcl * wcl = (* it)->refV2;
888
889 ostringstream vts; // view title stream (in PV)
890 ostringstream wts; // window title stream
891
892 oglview_wcl * oglwcl = dynamic_cast<oglview_wcl *>(wcl);
893 if (oglwcl != NULL)
894 {
895 gtk_wnd * wnd = dynamic_cast<gtk_wnd *>(oglwcl->GetWnd());
896
897 vts << _("window ") << oglwcl->my_wnd_number;
898 vts << (wnd->IsDetached() ? _(" (detached)") : _(" (attached)")) << ends;
899
900 wts << _("cam ") << oglwcl->GetCCam()->GetCCamI() << " ";
901 wts << _("wnd ") << oglwcl->my_wnd_number;
902 wts << (wnd->IsDetached() ? _(" (detached)") : "") << ends;
903
904 oglwcl->SetTitle(wts.str().c_str());
905 }
906 else
907 {
908 // it's a plotting client...
909 // ^^^^^^^^^^^^^^^^^^^^^^^^^
910
911 bool has_name = false;
912
913 if (dynamic_cast<ac_stor_wcl *>(wcl) != NULL)
914 {
915 if (dynamic_cast<p1dview_wcl *>(wcl) != NULL)
916 {
917 if (dynamic_cast<rcpview_wcl *>(wcl) != NULL)
918 {
919 has_name = true;
920 vts << _("RC plot view") << ends;
921 wts << _("RC plot view") << ends;
922 }
923 else
924 {
925 has_name = true;
926 vts << _("1D plot view") << ends;
927 wts << _("1D plot view") << ends;
928 }
929 }
930 else if (dynamic_cast<p2dview_wcl *>(wcl) != NULL)
931 {
932 has_name = true;
933 vts << _("2D plot view") << ends;
934 wts << _("2D plot view") << ends;
935 }
936 }
937 else if (dynamic_cast<eldview_wcl *>(wcl) != NULL)
938 {
939 has_name = true;
940 vts << _("energy-level diagram view") << ends;
941 wts << _("energy-level diagram view") << ends;
942 }
943 else if (dynamic_cast<gpcview_wcl *>(wcl) != NULL)
944 {
945 has_name = true;
946 vts << _("generic protein chain view") << ends;
947 wts << _("generic protein chain view") << ends;
948 }
949
950 if (!has_name)
951 {
952 vts << _("<unknown view>") << ends;
953 wts << _("<unknown view>") << ends;
954 }
955
956 wcl->SetTitle(wts.str().c_str());
957 }
958
959 gtk_tree_store_set(pv_viewsobjs_store, & (* it)->iter, 0, vts.str().c_str(), 1, FALSE, -1);
960 }
961
962 it++;
963 }
964 }
965
966 void gtk_app::CameraAdded(custom_camera * p1)
967 {
968 pv_viewsobjs_record * vo_rec = new pv_viewsobjs_record;
969
970 vo_rec->owner = NULL;
971 vo_rec->refV1 = p1;
972 vo_rec->refV2 = NULL;
973 vo_rec->refO = NULL;
974
975 gtk_tree_store_append(pv_viewsobjs_store, & vo_rec->iter, NULL);
976 pv_viewsobjs_data.push_back(vo_rec);
977
978 ostringstream name;
979 name << _("camera ") << p1->GetCCamI() << ends;
980 const char * name_str = name.str().c_str();
981
982 gtk_tree_store_set(pv_viewsobjs_store, & vo_rec->iter, 0, name_str, 1, FALSE, -1);
983 }
984
985 void gtk_app::CameraRemoved(custom_camera * p1)
986 {
987 list<pv_viewsobjs_record *>::iterator it = pv_viewsobjs_data.begin();
988 while (it != pv_viewsobjs_data.end()) { if ((* it)->refV1 == (ogl_dummy_object *) p1) break; else it++; }
989
990 if (it == pv_viewsobjs_data.end())
991 {
992 assertion_failed(__FILE__, __LINE__, "object not found.");
993 }
994
995 gtk_tree_store_remove(pv_viewsobjs_store, & (* it)->iter);
996
997 pv_viewsobjs_data.erase(it);
998 delete (* it);
999 }
1000
1001 void gtk_app::LightAdded(ogl_light * p1)
1002 {
1003 bool is_local_light = (p1->owner != NULL);
1004 if (is_local_light)
1005 {
1006 list<pv_viewsobjs_record *>::iterator it = pv_viewsobjs_data.begin();
1007 while (it != pv_viewsobjs_data.end()) { if ((* it)->refV1 == (ogl_dummy_object *) p1->owner) break; else it++; }
1008
1009 if (it == pv_viewsobjs_data.end())
1010 {
1011 assertion_failed(__FILE__, __LINE__, "owner not found.");
1012 }
1013
1014 custom_camera * ccam = dynamic_cast<custom_camera *>(p1->owner);
1015 if (!ccam)
1016 {
1017 assertion_failed(__FILE__, __LINE__, "ccam cast failed.");
1018 }
1019
1020 pv_viewsobjs_record * vo_rec = new pv_viewsobjs_record;
1021
1022 vo_rec->owner = ccam;
1023 vo_rec->refV1 = p1;
1024 vo_rec->refV2 = NULL;
1025 vo_rec->refO = NULL;
1026
1027 gtk_tree_store_append(pv_viewsobjs_store, & vo_rec->iter, & (* it)->iter);
1028 pv_viewsobjs_data.push_back(vo_rec);
1029
1030 const char * object_name = p1->GetObjectName();
1031
1032 gtk_tree_store_set(pv_viewsobjs_store, & vo_rec->iter, 0, object_name, 1, FALSE, -1);
1033
1034 // expand the newly created row...
1035
1036 GtkTreePath * path = gtk_tree_model_get_path(GTK_TREE_MODEL(pv_viewsobjs_store), & vo_rec->iter);
1037 gtk_tree_view_expand_to_path(GTK_TREE_VIEW(pv_viewsobjs_widget), path);
1038 gtk_tree_path_free(path);
1039 }
1040 else
1041 {
1042 pv_viewsobjs_record * vo_rec = new pv_viewsobjs_record;
1043
1044 vo_rec->owner = NULL;
1045 vo_rec->refV1 = p1;
1046 vo_rec->refV2 = NULL;
1047 vo_rec->refO = NULL;
1048
1049 gtk_tree_store_append(pv_viewsobjs_store, & vo_rec->iter, NULL);
1050 pv_viewsobjs_data.push_back(vo_rec);
1051
1052 const char * object_name = p1->GetObjectName();
1053
1054 gtk_tree_store_set(pv_viewsobjs_store, & vo_rec->iter, 0, object_name, 1, FALSE, -1);
1055 }
1056 }
1057
1058 void gtk_app::LightRemoved(ogl_light * p1)
1059 {
1060 list<pv_viewsobjs_record *>::iterator it = pv_viewsobjs_data.begin();
1061 while (it != pv_viewsobjs_data.end()) { if ((* it)->refV1 == (ogl_dummy_object *) p1) break; else it++; }
1062
1063 if (it == pv_viewsobjs_data.end())
1064 {
1065 assertion_failed(__FILE__, __LINE__, "object not found.");
1066 }
1067
1068 gtk_tree_store_remove(pv_viewsobjs_store, & (* it)->iter);
1069
1070 pv_viewsobjs_data.erase(it);
1071 delete (* it);
1072 }
1073
1074 void gtk_app::GraphicsClientAdded(oglview_wcl * p1)
1075 {
1076 list<pv_viewsobjs_record *>::iterator it = pv_viewsobjs_data.begin();
1077 while (it != pv_viewsobjs_data.end()) { if ((* it)->refV1 == (ogl_dummy_object *) p1->GetCam()) break; else it++; }
1078
1079 if (it == pv_viewsobjs_data.end())
1080 {
1081 assertion_failed(__FILE__, __LINE__, "camera not found.");
1082 }
1083
1084 custom_camera * ccam = dynamic_cast<custom_camera *>(p1->GetCam());
1085 if (!ccam)
1086 {
1087 assertion_failed(__FILE__, __LINE__, "ccam cast failed.");
1088 }
1089
1090 pv_viewsobjs_record * vo_rec = new pv_viewsobjs_record;
1091
1092 vo_rec->owner = ccam;
1093 vo_rec->refV1 = NULL;
1094 vo_rec->refV2 = p1;
1095 vo_rec->refO = NULL;
1096
1097 gtk_tree_store_append(pv_viewsobjs_store, & vo_rec->iter, & (* it)->iter);
1098 pv_viewsobjs_data.push_back(vo_rec);
1099
1100 const char * object_name = "a graphics client ; THIS IS NEVER DISPLAYED?";
1101
1102 gtk_tree_store_set(pv_viewsobjs_store, & vo_rec->iter, 0, object_name, 1, FALSE, -1);
1103
1104 // expand the newly created row...
1105
1106 GtkTreePath * path = gtk_tree_model_get_path(GTK_TREE_MODEL(pv_viewsobjs_store), & vo_rec->iter);
1107 gtk_tree_view_expand_to_path(GTK_TREE_VIEW(pv_viewsobjs_widget), path);
1108 gtk_tree_path_free(path);
1109 }
1110
1111 void gtk_app::GraphicsClientRemoved(oglview_wcl * p1)
1112 {
1113 list<pv_viewsobjs_record *>::iterator it = pv_viewsobjs_data.begin();
1114 while (it != pv_viewsobjs_data.end()) { if ((* it)->refV2 == (base_wcl *) p1) break; else it++; }
1115
1116 if (it == pv_viewsobjs_data.end())
1117 {
1118 assertion_failed(__FILE__, __LINE__, "object not found.");
1119 }
1120
1121 gtk_tree_store_remove(pv_viewsobjs_store, & (* it)->iter);
1122
1123 pv_viewsobjs_data.erase(it);
1124 delete (* it);
1125 }
1126
1127 void gtk_app::PlottingClientAdded(base_wcl * p1)
1128 {
1129 //cout << "called gtk_app::PlottingClientAdded()" << endl;
1130 //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1131 pv_viewsobjs_record * vo_rec = new pv_viewsobjs_record;
1132
1133 vo_rec->owner = NULL;
1134 vo_rec->refV1 = NULL;
1135 vo_rec->refV2 = p1;
1136 vo_rec->refO = NULL;
1137
1138 gtk_tree_store_append(pv_viewsobjs_store, & vo_rec->iter, NULL);
1139 pv_viewsobjs_data.push_back(vo_rec);
1140
1141 const char * object_name = "a plotting client ; THIS IS NEVER DISPLAYED?";
1142
1143 gtk_tree_store_set(pv_viewsobjs_store, & vo_rec->iter, 0, object_name, 1, FALSE, -1);
1144 }
1145
1146 void gtk_app::PlottingClientRemoved(base_wcl * p1)
1147 {
1148 //cout << "called gtk_app::PlottingClientRemoved()" << endl;
1149 //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1150 list<pv_viewsobjs_record *>::iterator it = pv_viewsobjs_data.begin();
1151 while (it != pv_viewsobjs_data.end()) { if ((* it)->refV2 == (base_wcl *) p1) break; else it++; }
1152
1153 if (it == pv_viewsobjs_data.end())
1154 {
1155 assertion_failed(__FILE__, __LINE__, "object not found.");
1156 }
1157
1158 gtk_tree_store_remove(pv_viewsobjs_store, & (* it)->iter);
1159
1160 pv_viewsobjs_data.erase(it);
1161 delete (* it);
1162 }
1163
1164 void gtk_app::ObjectAdded(ogl_smart_object * p1)
1165 {
1166 pv_viewsobjs_record * vo_rec = new pv_viewsobjs_record;
1167
1168 vo_rec->owner = NULL;
1169 vo_rec->refV1 = NULL;
1170 vo_rec->refV2 = NULL;
1171 vo_rec->refO = p1;
1172
1173 gtk_tree_store_append(pv_viewsobjs_store, & vo_rec->iter, NULL);
1174 pv_viewsobjs_data.push_back(vo_rec);
1175
1176 const char * object_name = p1->GetObjectName();
1177
1178 gtk_tree_store_set(pv_viewsobjs_store, & vo_rec->iter, 0, object_name, 1, FALSE, -1);
1179 }
1180
1181 void gtk_app::ObjectRemoved(ogl_smart_object * p1)
1182 {
1183 list<pv_viewsobjs_record *>::iterator it = pv_viewsobjs_data.begin();
1184 while (it != pv_viewsobjs_data.end()) { if ((* it)->refO == p1) break; else it++; }
1185
1186 if (it == pv_viewsobjs_data.end())
1187 {
1188 assertion_failed(__FILE__, __LINE__, "object_not_found.");
1189 }
1190
1191 gtk_tree_store_remove(pv_viewsobjs_store, & (* it)->iter);
1192
1193 pv_viewsobjs_data.erase(it);
1194 delete (* it);
1195 }
1196
1197 gint gtk_app::ViewsObjsPopupHandler(GtkWidget * widget, GdkEvent * event)
1198 {
1199 if (project::background_job_running) return TRUE; // protect the model-data during background jobs...
1200
1201 if (event->type == GDK_BUTTON_PRESS)
1202 {
1203 GdkEventButton * event_button = (GdkEventButton *) event;
1204 if (event_button->button == 3)
1205 {
1206 GtkMenu * menu = GTK_MENU(gtk_app::GetAppX()->pv_viewsobjs_menu);
1207 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, event_button->button, event_button->time);
1208 return TRUE;
1209 }
1210 }
1211
1212 return FALSE;
1213 }
1214
1215 void gtk_app::viewsobjs_SetCurrent(GtkWidget * widget, gpointer data)
1216 {
1217 gtk_app * app = gtk_app::GetAppX();
1218
1219 // assume that tsel is in mode GTK_SELECTION_SINGLE (as it seems to be); this is the simplest case...
1220 // here the equivalence test of GtkTreeIter is a bit uncertain... need to test any other records???
1221
1222 GtkTreeSelection * tsel = gtk_tree_view_get_selection(GTK_TREE_VIEW(app->pv_viewsobjs_widget));
1223 GtkTreeModel * tm = gtk_tree_view_get_model(GTK_TREE_VIEW(app->pv_viewsobjs_widget));
1224 GtkTreeIter iter;
1225
1226 bool has_item = gtk_tree_selection_get_selected(tsel, & tm, & iter);
1227 if (has_item)
1228 {
1229 list<pv_viewsobjs_record *>::iterator it = app->pv_viewsobjs_data.begin();
1230 while (it != app->pv_viewsobjs_data.end()) { if ((* it)->iter.user_data == iter.user_data) break; else it++; }
1231
1232 if (it == app->pv_viewsobjs_data.end())
1233 {
1234 cout << "ERROR : gtk_app::viewsobjs_SetCurrent() failed." << endl;
1235 exit(EXIT_FAILURE);
1236 }
1237
1238 bool is_light = ((* it)->refV1 != NULL && dynamic_cast<ogl_light *>((* it)->refV1) != NULL);
1239 bool is_obj = ((* it)->refO != NULL);
1240
1241 if (is_light)
1242 {
1243 gtk_app::GetPrjX()->selected_object = (* it)->refV1;
1244
1245 ostringstream mstr;
1246 mstr << _("Object ") << gtk_app::GetPrjX()->selected_object->GetObjectName() << _(" is set to current object.") << endl << ends;
1247 gtk_app::GetPrjX()->PrintToLog(mstr.str().c_str());
1248 }
1249 else if (is_obj)
1250 {
1251 gtk_app::GetPrjX()->selected_object = (* it)->refO;
1252
1253 ostringstream mstr;
1254 mstr << _("Object ") << gtk_app::GetPrjX()->selected_object->GetObjectName() << _(" is set to current object.") << endl << ends;
1255 gtk_app::GetPrjX()->PrintToLog(mstr.str().c_str());
1256 }
1257 else gtk_app::GetPrjX()->Message(_("Sorry, this operation is not yet implemented."));
1258 }
1259 }
1260
1261 void gtk_app::viewsobjs_Delete(GtkWidget *, gpointer data)
1262 {
1263 gtk_app * app = gtk_app::GetAppX();
1264
1265 // assume that tsel is in mode GTK_SELECTION_SINGLE (as it seems to be); this is the simplest case...
1266 // here the equivalence test of GtkTreeIter is a bit uncertain... need to test any other records???
1267
1268 GtkTreeSelection * tsel = gtk_tree_view_get_selection(GTK_TREE_VIEW(app->pv_viewsobjs_widget));
1269 GtkTreeModel * tm = gtk_tree_view_get_model(GTK_TREE_VIEW(app->pv_viewsobjs_widget));
1270 GtkTreeIter iter;
1271
1272 bool has_item = gtk_tree_selection_get_selected(tsel, & tm, & iter);
1273 if (has_item)
1274 {
1275 list<pv_viewsobjs_record *>::iterator it = app->pv_viewsobjs_data.begin();
1276 while (it != app->pv_viewsobjs_data.end()) { if ((* it)->iter.user_data == iter.user_data) break; else it++; }
1277
1278 if (it == app->pv_viewsobjs_data.end())
1279 {
1280 assertion_failed(__FILE__, __LINE__, "object not found.");
1281 }
1282
1283 bool is_light = ((* it)->refV1 != NULL && dynamic_cast<ogl_light *>((* it)->refV1) != NULL);
1284 bool is_view = ((* it)->refV2 != NULL);
1285 bool is_obj = ((* it)->refO != NULL);
1286
1287 if (is_light)
1288 {
1289 ostringstream mstr;
1290 mstr << _("Object ") << (* it)->refV1->GetObjectName() << _(" is deleted.") << endl << ends;
1291 gtk_app::GetPrjX()->PrintToLog(mstr.str().c_str());
1292
1293 if (project::selected_object == (* it)->refV1) project::selected_object = NULL;
1294 base_app::GetAppB()->RemoveLight((* it)->refV1);
1295
1296 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
1297 }
1298 else if (is_view)
1299 {
1300 base_wcl * wcl = (* it)->refV2;
1301 oglview_wcl * oglwcl = dynamic_cast<oglview_wcl *>(wcl);
1302
1303 if (oglwcl != NULL)
1304 {
1305 gtk_app::GetPrjX()->RemoveGraphicsClient(oglwcl, false);
1306 }
1307 else
1308 {
1309 gtk_app::GetPrjX()->RemovePlottingClient(wcl);
1310 }
1311 }
1312 else if (is_obj)
1313 {
1314 ostringstream mstr;
1315 mstr << _("Object ") << (* it)->refO->GetObjectName() << _(" is deleted.") << endl << ends;
1316 gtk_app::GetPrjX()->PrintToLog(mstr.str().c_str());
1317
1318 if (project::selected_object == (* it)->refO) project::selected_object = NULL;
1319 gtk_app::GetPrjX()->RemoveObject((* it)->refO);
1320
1321 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
1322 }
1323 else gtk_app::GetPrjX()->Message(_("Sorry, this operation is not yet implemented."));
1324 }
1325 }
1326
1327 void gtk_app::BuildChainsView(void)
1328 {
1329 if (pv_chains_data.size() != 0)
1330 {
1331 ClearChainsView();
1332 }
1333
1334 if (gtk_app::GetPrjX()->GetCI() != NULL)
1335 {
1336 vector<chn_info> & ci_vector = (* gtk_app::GetPrjX()->GetCI());
1337
1338 for (i32u n1 = 0;n1 < ci_vector.size();n1++)
1339 {
1340 pv_chains_record * c_rec1 = new pv_chains_record;
1341 c_rec1->c_r_ind = (n1 << 16) + 0xFFFF; gtk_tree_store_append(pv_chains_store, & c_rec1->iter, NULL);
1342
1343 pv_chains_data.push_back(c_rec1);
1344
1345 ostringstream cis;
1346
1347 // if (ci_vector[n1].description... // this is not implemented at the moment...
1348
1349 // show chain index 1,2,3,... to user ; it is 0,1,2,... internally!
1350 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1351
1352 cis << _("chain #") << (n1 + 1) << " (";
1353
1354 switch (ci_vector[n1].GetType())
1355 {
1356 case chn_info::amino_acid: cis << "AA"; break;
1357 case chn_info::nucleic_acid: cis << "NA"; break;
1358 default: cis << "??";
1359 }
1360 cis << _(" chain).") << ends;
1361
1362 gtk_tree_store_set(pv_chains_store, & c_rec1->iter, 0, cis.str().c_str(), 1, FALSE, 2, FALSE, 3, FALSE, 4, FALSE, -1);
1363
1364 const char * seq1_buff = ci_vector[n1].GetSequence1();
1365 for (i32s n2 = 0;n2 < ci_vector[n1].GetLength();n2++)
1366 {
1367 pv_chains_record * c_rec2 = new pv_chains_record;
1368 c_rec2->c_r_ind = (n1 << 16) + n2; gtk_tree_store_append(pv_chains_store, & c_rec2->iter, & c_rec1->iter);
1369
1370 pv_chains_data.push_back(c_rec2);
1371
1372 // show residue index 1,2,3,... to user ; it is 0,1,2,... internally!
1373 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1374
1375 ostringstream rns;
1376 rns << (n2 + 1) << ends;
1377
1378 char res_id[8] = "?";
1379 res_id[0] = seq1_buff[n2];
1380
1381 gtk_tree_store_set(pv_chains_store, & c_rec2->iter, 0, FALSE, 1, rns.str().c_str(), 2, res_id, 3, "???", 4, "???", -1);
1382 }
1383 }
1384 }
1385 }
1386
1387 void gtk_app::ClearChainsView(void)
1388 {
1389 list<pv_chains_record *>::iterator it;
1390
1391 it = pv_chains_data.begin(); // first remove the residue records...
1392 while (it != pv_chains_data.end()) // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1393 {
1394 if (((* it)->c_r_ind & 0xFFFF) != 0xFFFF)
1395 {
1396 gtk_tree_store_remove(pv_chains_store, & (* it)->iter);
1397
1398 delete (* it);
1399 pv_chains_data.erase(it);
1400
1401 it = pv_chains_data.begin();
1402 }
1403
1404 it++;
1405 }
1406
1407 it = pv_chains_data.begin(); // ...and then the chain records!
1408 while (it != pv_chains_data.end()) // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1409 {
1410 gtk_tree_store_remove(pv_chains_store, & (* it)->iter);
1411
1412 delete (* it);
1413 pv_chains_data.erase(it);
1414
1415 it = pv_chains_data.begin();
1416 }
1417 }
1418
1419 gint gtk_app::ChainsPopupHandler(GtkWidget * widget, GdkEvent * event)
1420 {
1421 if (project::background_job_running) return TRUE; // protect the model-data during background jobs...
1422
1423 if (event->type == GDK_BUTTON_PRESS)
1424 {
1425 GdkEventButton * event_button = (GdkEventButton *) event;
1426 if (event_button->button == 3)
1427 {
1428 GtkMenu * menu = GTK_MENU(gtk_app::GetAppX()->pv_chains_menu);
1429 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, event_button->button, event_button->time);
1430 return TRUE;
1431 }
1432 }
1433
1434 return FALSE;
1435 }
1436
1437 void gtk_app::chains_UpdateView(GtkWidget *, gpointer data)
1438 {
1439 gtk_app * app = gtk_app::GetAppX();
1440
1441 // update the data only if it's necessary ; there might be some extra info stored in the chains data!
1442 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1443
1444 if (gtk_app::GetPrjX()->GetCI() == NULL)
1445 {
1446 gtk_app::GetPrjX()->UpdateChains();
1447 }
1448 }
1449
1450 void gtk_app::chains_SelectItem(GtkWidget *, gpointer data)
1451 {
1452 gtk_app * app = gtk_app::GetAppX();
1453
1454 // assume that tsel is in mode GTK_SELECTION_SINGLE (as it seems to be); this is the simplest case...
1455 // here the equivalence test of GtkTreeIter is a bit uncertain... need to test any other records???
1456
1457 GtkTreeSelection * tsel = gtk_tree_view_get_selection(GTK_TREE_VIEW(app->pv_chains_widget));
1458 GtkTreeModel * tm = gtk_tree_view_get_model(GTK_TREE_VIEW(app->pv_chains_widget));
1459 GtkTreeIter iter;
1460
1461 bool has_item = gtk_tree_selection_get_selected(tsel, & tm, & iter);
1462 if (has_item)
1463 {
1464 list<pv_chains_record *>::iterator it = app->pv_chains_data.begin();
1465 while (it != app->pv_chains_data.end()) { if ((* it)->iter.user_data == iter.user_data) break; else it++; }
1466
1467 if (it == app->pv_chains_data.end())
1468 {
1469 assertion_failed(__FILE__, __LINE__, "object not found.");
1470 }
1471
1472 i32s c_ind = ((* it)->c_r_ind >> 16);
1473 i32s r_ind = ((* it)->c_r_ind & 0xFFFF);
1474
1475 iter_al c_rng[2]; gtk_app::GetPrjX()->GetRange(1, c_ind, c_rng);
1476
1477 if (r_ind == 0xFFFF) // select chain
1478 {
1479 for (iter_al iter = c_rng[0]; iter != c_rng[1];iter++)
1480 {
1481 (* iter).flags |= ATOMFLAG_USER_SELECTED;
1482 }
1483 }
1484 else // select residue
1485 {
1486 iter_al r_rng[2]; gtk_app::GetPrjX()->GetRange(2, c_rng, r_ind, r_rng);
1487
1488 for (iter_al iter = r_rng[0]; iter != r_rng[1];iter++)
1489 {
1490 (* iter).flags |= ATOMFLAG_USER_SELECTED;
1491 }
1492 }
1493
1494 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
1495 }
1496 }
1497
1498 void gtk_app::AtomAdded(atom * p1)
1499 {
1500 pv_atoms_record * a_rec = new pv_atoms_record;
1501 a_rec->ref = p1; gtk_list_store_append(pv_atoms_store, & a_rec->iter);
1502
1503 pv_atoms_data.push_back(a_rec);
1504
1505 AtomUpdateItem(p1);
1506 }
1507
1508 void gtk_app::AtomUpdateItem(atom * p1)
1509 {
1510 list<pv_atoms_record *>::iterator it = pv_atoms_data.begin();
1511 while (it != pv_atoms_data.end()) { if ((* it)->ref == p1) break; else it++; }
1512
1513 if (it == pv_atoms_data.end())
1514 {
1515 assertion_failed(__FILE__, __LINE__, "object not found.");
1516 }
1517
1518 // show atom index 1,2,3,... to user ; it is 0,1,2,... internally!
1519 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1520
1521 const i32s atmi = (p1->index + 1);
1522 const char * ele = p1->el.GetSymbol();
1523 const bool locked = p1->flags & ATOMFLAG_USER_LOCKED;
1524
1525 gtk_list_store_set(pv_atoms_store, & (* it)->iter, 0, atmi, 1, ele, 2, locked, -1);
1526 }
1527
1528 void gtk_app::AtomRemoved(atom * p1)
1529 {
1530 list<pv_atoms_record *>::iterator it = pv_atoms_data.begin();
1531 while (it != pv_atoms_data.end()) { if ((* it)->ref == p1) break; else it++; }
1532
1533 if (it == pv_atoms_data.end())
1534 {
1535 assertion_failed(__FILE__, __LINE__, "object not found.");
1536 }
1537
1538 gtk_list_store_remove(pv_atoms_store, & (* it)->iter);
1539
1540 delete (* it);
1541 pv_atoms_data.erase(it);
1542 }
1543
1544 gint gtk_app::AtomsPopupHandler(GtkWidget * widget, GdkEvent * event)
1545 {
1546 if (project::background_job_running) return TRUE; // protect the model-data during background jobs...
1547
1548 if (event->type == GDK_BUTTON_PRESS)
1549 {
1550 GdkEventButton * event_button = (GdkEventButton *) event;
1551 if (event_button->button == 3)
1552 {
1553 GtkMenu * menu = GTK_MENU(gtk_app::GetAppX()->pv_atoms_menu);
1554 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, event_button->button, event_button->time);
1555 return TRUE;
1556 }
1557 }
1558
1559 return FALSE;
1560 }
1561
1562 void gtk_app::atoms_SelectAtom(GtkWidget *, gpointer data)
1563 {
1564 gtk_app * app = gtk_app::GetAppX();
1565
1566 // assume that tsel is in mode GTK_SELECTION_SINGLE (as it seems to be); this is the simplest case...
1567 // here the equivalence test of GtkTreeIter is a bit uncertain... need to test any other records???
1568
1569 GtkTreeSelection * tsel = gtk_tree_view_get_selection(GTK_TREE_VIEW(app->pv_atoms_widget));
1570 GtkTreeModel * tm = gtk_tree_view_get_model(GTK_TREE_VIEW(app->pv_atoms_widget));
1571 GtkTreeIter iter;
1572
1573 bool has_item = gtk_tree_selection_get_selected(tsel, & tm, & iter);
1574 if (has_item)
1575 {
1576 list<pv_atoms_record *>::iterator it = app->pv_atoms_data.begin();
1577 while (it != app->pv_atoms_data.end()) { if ((* it)->iter.user_data == iter.user_data) break; else it++; }
1578
1579 if (it == app->pv_atoms_data.end())
1580 {
1581 assertion_failed(__FILE__, __LINE__, "object not found.");
1582 }
1583
1584 (* it)->ref->flags ^= ATOMFLAG_USER_SELECTED;
1585 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
1586 }
1587 }
1588
1589 gint gtk_app::atoms_ToggleLocked(GtkWidget * widget, gchar * path, gpointer * data)
1590 {
1591 gtk_app * app = gtk_app::GetAppX();
1592
1593 GtkTreeIter iter;
1594 if (!gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(data), &iter, path))
1595 {
1596 assertion_failed(__FILE__, __LINE__, "iter search failed.");
1597 }
1598
1599 list<pv_atoms_record *>::iterator it = app->pv_atoms_data.begin();
1600 while (it != app->pv_atoms_data.end())
1601 {
1602 if ((* it)->iter.user_data == iter.user_data) break;
1603 else it++;
1604 }
1605
1606 if (it == app->pv_atoms_data.end())
1607 {
1608 assertion_failed(__FILE__, __LINE__, "object not found.");
1609 }
1610
1611 atom * p1 = (* it)->ref;
1612 p1->SetLocked(!(p1->GetLocked()));
1613 gtk_list_store_set(GTK_LIST_STORE(data), &iter, 2, p1->GetLocked(), -1);
1614
1615 app->AtomUpdateItem(p1); // make the list show the updated information...
1616
1617 printf(_("Atom locking changed : %s\n"), p1->GetLocked() ? _("yes") : _("no"));
1618 return FALSE;
1619 }
1620
1621 void gtk_app::BondAdded(bond * p1)
1622 {
1623 pv_bonds_record * b_rec = new pv_bonds_record;
1624 b_rec->ref = p1; gtk_list_store_append(pv_bonds_store, & b_rec->iter);
1625
1626 pv_bonds_data.push_back(b_rec);
1627
1628 BondUpdateItem(p1);
1629 }
1630
1631 void gtk_app::BondUpdateItem(bond * p1)
1632 {
1633 list<pv_bonds_record *>::iterator it = pv_bonds_data.begin();
1634 while (it != pv_bonds_data.end()) { if ((* it)->ref == p1) break; else it++; }
1635
1636 if (it == pv_bonds_data.end())
1637 {
1638 assertion_failed(__FILE__, __LINE__, "object not found.");
1639 }
1640
1641 const char * bt_strings[4] =
1642 {
1643 _("Conjugated"),
1644 _("Single"),
1645 _("Double"),
1646 _("Triple")
1647 };
1648
1649 // show atom index 1,2,3,... to user ; it is 0,1,2,... internally!
1650 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1651
1652 const i32s atmi1 = (p1->atmr[0]->index + 1);
1653 const i32s atmi2 = (p1->atmr[1]->index + 1);
1654 const char * btype = bt_strings[p1->bt.GetValue()];
1655
1656 gtk_list_store_set(pv_bonds_store, & (* it)->iter, 0, atmi1, 1, atmi2, 2, btype, -1);
1657 }
1658
1659 void gtk_app::BondRemoved(bond * p1)
1660 {
1661 list<pv_bonds_record *>::iterator it = pv_bonds_data.begin();
1662 while (it != pv_bonds_data.end()) { if ((* it)->ref == p1) break; else it++; }
1663
1664 if (it == pv_bonds_data.end())
1665 {
1666 assertion_failed(__FILE__, __LINE__, "object not found.");
1667 }
1668
1669 gtk_list_store_remove(pv_bonds_store, & (* it)->iter);
1670
1671 delete (* it);
1672 pv_bonds_data.erase(it);
1673 }
1674
1675 gint gtk_app::BondsPopupHandler(GtkWidget * widget, GdkEvent * event)
1676 {
1677 if (project::background_job_running) return TRUE; // protect the model-data during background jobs...
1678
1679 if (event->type == GDK_BUTTON_PRESS)
1680 {
1681 GdkEventButton * event_button = (GdkEventButton *) event;
1682 if (event_button->button == 3)
1683 {
1684 GtkMenu * menu = GTK_MENU(gtk_app::GetAppX()->pv_bonds_menu);
1685 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, event_button->button, event_button->time);
1686 return TRUE;
1687 }
1688 }
1689
1690 return FALSE;
1691 }
1692
1693 void gtk_app::bonds_SelectBond(GtkWidget *, gpointer data)
1694 {
1695 gtk_app * app = gtk_app::GetAppX();
1696
1697 // assume that tsel is in mode GTK_SELECTION_SINGLE (as it seems to be); this is the simplest case...
1698 // here the equivalence test of GtkTreeIter is a bit uncertain... need to test any other records???
1699
1700 GtkTreeSelection * tsel = gtk_tree_view_get_selection(GTK_TREE_VIEW(app->pv_bonds_widget));
1701 GtkTreeModel * tm = gtk_tree_view_get_model(GTK_TREE_VIEW(app->pv_bonds_widget));
1702 GtkTreeIter iter;
1703
1704 bool has_item = gtk_tree_selection_get_selected(tsel, & tm, & iter);
1705 if (has_item)
1706 {
1707 list<pv_bonds_record *>::iterator it = app->pv_bonds_data.begin();
1708 while (it != app->pv_bonds_data.end()) { if ((* it)->iter.user_data == iter.user_data) break; else it++; }
1709
1710 if (it == app->pv_bonds_data.end())
1711 {
1712 assertion_failed(__FILE__, __LINE__, "object not found.");
1713 }
1714
1715 bool both_selected = (((* it)->ref->atmr[0]->flags & ATOMFLAG_USER_SELECTED) && ((* it)->ref->atmr[1]->flags & ATOMFLAG_USER_SELECTED));
1716 if (!both_selected) // select...
1717 {
1718 (* it)->ref->atmr[0]->flags |= ATOMFLAG_USER_SELECTED;
1719 (* it)->ref->atmr[1]->flags |= ATOMFLAG_USER_SELECTED;
1720 }
1721 else // un-select...
1722 {
1723 (* it)->ref->atmr[0]->flags &= (~ATOMFLAG_USER_SELECTED);
1724 (* it)->ref->atmr[1]->flags &= (~ATOMFLAG_USER_SELECTED);
1725 }
1726
1727 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
1728 }
1729 }
1730
1731 // the toolbar-button callbacks start here ; the toolbar-button callbacks start here
1732 // the toolbar-button callbacks start here ; the toolbar-button callbacks start here
1733 // the toolbar-button callbacks start here ; the toolbar-button callbacks start here
1734
1735 static int toggle_event_ignore_counter = 0;
1736 void gtk_app::HandleToggleButtons(custom_app::mtool old_mt)
1737 {
1738 // a static event counter is set up and used so that a cascade of button events is prevented.
1739 // the same thing could be done by disabling/enabling the callbacks in GTK, but this is simpler.
1740
1741 gboolean state = TRUE;
1742 if (old_mt != current_mouse_tool) state = FALSE;
1743
1744 if (old_mt == custom_app::mtDraw)
1745 {
1746 toggle_event_ignore_counter++;
1747 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_draw), state);
1748 }
1749
1750 if (old_mt == custom_app::mtErase)
1751 {
1752 toggle_event_ignore_counter++;
1753 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_erase), state);
1754 }
1755
1756 if (old_mt == custom_app::mtSelect)
1757 {
1758 toggle_event_ignore_counter++;
1759 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_select), state);
1760 }
1761
1762 if (old_mt == custom_app::mtZoom)
1763 {
1764 toggle_event_ignore_counter++;
1765 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_zoom), state);
1766 }
1767
1768 if (old_mt == custom_app::mtClipping)
1769 {
1770 toggle_event_ignore_counter++;
1771 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_clipping), state);
1772 }
1773
1774 if (old_mt == custom_app::mtTranslateXY)
1775 {
1776 toggle_event_ignore_counter++;
1777 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_translate_xy), state);
1778 }
1779
1780 if (old_mt == custom_app::mtTranslateZ)
1781 {
1782 toggle_event_ignore_counter++;
1783 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_translate_z), state);
1784 }
1785
1786 if (old_mt == custom_app::mtOrbitXY)
1787 {
1788 toggle_event_ignore_counter++;
1789 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_orbit_xy), state);
1790 }
1791
1792 if (old_mt == custom_app::mtOrbitZ)
1793 {
1794 toggle_event_ignore_counter++;
1795 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_orbit_z), state);
1796 }
1797
1798 if (old_mt == custom_app::mtRotateXY)
1799 {
1800 toggle_event_ignore_counter++;
1801 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_rotate_xy), state);
1802 }
1803
1804 if (old_mt == custom_app::mtRotateZ)
1805 {
1806 toggle_event_ignore_counter++;
1807 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_rotate_z), state);
1808 }
1809
1810 if (old_mt == custom_app::mtMeasure)
1811 {
1812 toggle_event_ignore_counter++;
1813 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_measure), state);
1814 }
1815 }
1816
1817 void gtk_app::maintb_tool_Draw(gpointer p1, guint p2, GtkWidget * p3)
1818 {
1819 if (toggle_event_ignore_counter > 0)
1820 {
1821 cout << "DEBUG : draw skipped ; counter = " << toggle_event_ignore_counter << endl;
1822 toggle_event_ignore_counter--;
1823 }
1824 else
1825 {
1826 cout << "DEBUG : draw state is " << gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_draw)) << endl;
1827
1828 custom_app::mtool old_mt = custom_app::current_mouse_tool;
1829 custom_app::current_mouse_tool = custom_app::mtDraw;
1830 HandleToggleButtons(old_mt);
1831 }
1832 }
1833
1834 void gtk_app::maintb_tool_Erase(gpointer, guint, GtkWidget *)
1835 {
1836 if (toggle_event_ignore_counter > 0)
1837 {
1838 cout << "DEBUG : erase skipped ; counter = " << toggle_event_ignore_counter << endl;
1839 toggle_event_ignore_counter--;
1840 }
1841 else
1842 {
1843 cout << "DEBUG : erase state is " << gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_erase)) << endl;
1844
1845 custom_app::mtool old_mt = custom_app::current_mouse_tool;
1846 custom_app::current_mouse_tool = custom_app::mtErase;
1847 HandleToggleButtons(old_mt);
1848 }
1849 }
1850
1851 void gtk_app::maintb_tool_Select(gpointer, guint, GtkWidget *)
1852 {
1853 if (toggle_event_ignore_counter > 0)
1854 {
1855 cout << "DEBUG : select skipped ; counter = " << toggle_event_ignore_counter << endl;
1856 toggle_event_ignore_counter--;
1857 }
1858 else
1859 {
1860 cout << "DEBUG : select state is " << gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_select)) << endl;
1861
1862 custom_app::mtool old_mt = custom_app::current_mouse_tool;
1863 custom_app::current_mouse_tool = custom_app::mtSelect;
1864 HandleToggleButtons(old_mt);
1865 }
1866 }
1867
1868 void gtk_app::maintb_tool_Zoom(gpointer, guint, GtkWidget *)
1869 {
1870 if (toggle_event_ignore_counter > 0)
1871 {
1872 cout << "DEBUG : zoom skipped ; counter = " << toggle_event_ignore_counter << endl;
1873 toggle_event_ignore_counter--;
1874 }
1875 else
1876 {
1877 cout << "DEBUG : zoom state is " << gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_zoom)) << endl;
1878
1879 custom_app::mtool old_mt = custom_app::current_mouse_tool;
1880 custom_app::current_mouse_tool = custom_app::mtZoom;
1881 HandleToggleButtons(old_mt);
1882 }
1883 }
1884
1885 void gtk_app::maintb_tool_Clipping(gpointer, guint, GtkWidget *)
1886 {
1887 if (toggle_event_ignore_counter > 0)
1888 {
1889 cout << "DEBUG : clipping skipped ; counter = " << toggle_event_ignore_counter << endl;
1890 toggle_event_ignore_counter--;
1891 }
1892 else
1893 {
1894 cout << "DEBUG : clipping state is " << gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_clipping)) << endl;
1895
1896 custom_app::mtool old_mt = custom_app::current_mouse_tool;
1897 custom_app::current_mouse_tool = custom_app::mtClipping;
1898 HandleToggleButtons(old_mt);
1899 }
1900 }
1901
1902 void gtk_app::maintb_tool_TranslateXY(gpointer, guint, GtkWidget *)
1903 {
1904 if (toggle_event_ignore_counter > 0)
1905 {
1906 cout << "DEBUG : transl_xy skipped ; counter = " << toggle_event_ignore_counter << endl;
1907 toggle_event_ignore_counter--;
1908 }
1909 else
1910 {
1911 cout << "DEBUG : transl_xy state is " << gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_translate_xy)) << endl;
1912
1913 custom_app::mtool old_mt = custom_app::current_mouse_tool;
1914 custom_app::current_mouse_tool = custom_app::mtTranslateXY;
1915 HandleToggleButtons(old_mt);
1916 }
1917 }
1918
1919 void gtk_app::maintb_tool_TranslateZ(gpointer, guint, GtkWidget *)
1920 {
1921 if (toggle_event_ignore_counter > 0)
1922 {
1923 cout << "DEBUG : transl_z skipped ; counter = " << toggle_event_ignore_counter << endl;
1924 toggle_event_ignore_counter--;
1925 }
1926 else
1927 {
1928 cout << "DEBUG : transl_z state is " << gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_translate_z)) << endl;
1929
1930 custom_app::mtool old_mt = custom_app::current_mouse_tool;
1931 custom_app::current_mouse_tool = custom_app::mtTranslateZ;
1932 HandleToggleButtons(old_mt);
1933 }
1934 }
1935
1936 void gtk_app::maintb_tool_OrbitXY(gpointer, guint, GtkWidget *)
1937 {
1938 if (toggle_event_ignore_counter > 0)
1939 {
1940 cout << "DEBUG : orbit_xy skipped ; counter = " << toggle_event_ignore_counter << endl;
1941 toggle_event_ignore_counter--;
1942 }
1943 else
1944 {
1945 cout << "DEBUG : orbit_xy state is " << gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_orbit_xy)) << endl;
1946
1947 custom_app::mtool old_mt = custom_app::current_mouse_tool;
1948 custom_app::current_mouse_tool = custom_app::mtOrbitXY;
1949 HandleToggleButtons(old_mt);
1950 }
1951 }
1952
1953 void gtk_app::maintb_tool_OrbitZ(gpointer, guint, GtkWidget *)
1954 {
1955 if (toggle_event_ignore_counter > 0)
1956 {
1957 cout << "DEBUG : orbit_z skipped ; counter = " << toggle_event_ignore_counter << endl;
1958 toggle_event_ignore_counter--;
1959 }
1960 else
1961 {
1962 cout << "DEBUG : orbit_z state is " << gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_orbit_z)) << endl;
1963
1964 custom_app::mtool old_mt = custom_app::current_mouse_tool;
1965 custom_app::current_mouse_tool = custom_app::mtOrbitZ;
1966 HandleToggleButtons(old_mt);
1967 }
1968 }
1969
1970 void gtk_app::maintb_tool_RotateXY(gpointer, guint, GtkWidget *)
1971 {
1972 if (toggle_event_ignore_counter > 0)
1973 {
1974 cout << "DEBUG : rotate_xy skipped ; counter = " << toggle_event_ignore_counter << endl;
1975 toggle_event_ignore_counter--;
1976 }
1977 else
1978 {
1979 cout << "DEBUG : rotate_xy state is " << gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_rotate_xy)) << endl;
1980
1981 custom_app::mtool old_mt = custom_app::current_mouse_tool;
1982 custom_app::current_mouse_tool = custom_app::mtRotateXY;
1983 HandleToggleButtons(old_mt);
1984 }
1985 }
1986
1987 void gtk_app::maintb_tool_RotateZ(gpointer, guint, GtkWidget *)
1988 {
1989 if (toggle_event_ignore_counter > 0)
1990 {
1991 cout << "DEBUG : rotate_z skipped ; counter = " << toggle_event_ignore_counter << endl;
1992 toggle_event_ignore_counter--;
1993 }
1994 else
1995 {
1996 cout << "DEBUG : rotate_z state is " << gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_rotate_z)) << endl;
1997
1998 custom_app::mtool old_mt = custom_app::current_mouse_tool;
1999 custom_app::current_mouse_tool = custom_app::mtRotateZ;
2000 HandleToggleButtons(old_mt);
2001 }
2002 }
2003
2004 void gtk_app::maintb_tool_Measure(gpointer, guint, GtkWidget *)
2005 {
2006 if (toggle_event_ignore_counter > 0)
2007 {
2008 cout << "DEBUG : measure skipped ; counter = " << toggle_event_ignore_counter << endl;
2009 toggle_event_ignore_counter--;
2010 }
2011 else
2012 {
2013 cout << "DEBUG : measure state is " << gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(mtb_mtool_measure)) << endl;
2014
2015 custom_app::mtool old_mt = custom_app::current_mouse_tool;
2016 custom_app::current_mouse_tool = custom_app::mtMeasure;
2017 HandleToggleButtons(old_mt);
2018 }
2019 }
2020
2021 void gtk_app::maintb_dial_Element(gpointer, guint, GtkWidget *)
2022 {
2023 new gtk_element_dialog(); // will call delete itself...
2024 }
2025
2026 void gtk_app::maintb_dial_BondType(gpointer, guint, GtkWidget *)
2027 {
2028 new gtk_bondtype_dialog(); // will call delete itself...
2029 }
2030
2031 void gtk_app::maintb_dial_Setup(gpointer, guint, GtkWidget *)
2032 {
2033 if (project::background_job_running) return; // protect the model-data during background jobs...
2034
2035 new gtk_setup_dialog(GetPrjX()); // will call delete itself...
2036 }
2037
2038 // the main-menu callbacks start here ; the main-menu callbacks start here
2039 // the main-menu callbacks start here ; the main-menu callbacks start here
2040 // the main-menu callbacks start here ; the main-menu callbacks start here
2041
2042 void gtk_app::mainmenu_FileNew(gpointer, guint, GtkWidget *)
2043 {
2044 if (project::background_job_running) return; // protect the model-data during background jobs...
2045
2046 GetAppX()->SetNewProject();
2047 }
2048
2049 void gtk_app::mainmenu_FileOpen(gpointer, guint, GtkWidget *)
2050 {
2051 if (project::background_job_running) return; // protect the model-data during background jobs...
2052
2053 new gtk_file_open_dialog(GetPrjX()); // will call delete itself...
2054 }
2055
2056 void gtk_app::mainmenu_FileSaveAs(gpointer, guint, GtkWidget *)
2057 {
2058 if (project::background_job_running) return; // protect the model-data during background jobs...
2059
2060 new gtk_file_save_dialog(GetPrjX()); // will call delete itself...
2061 }
2062
2063 void gtk_app::mainmenu_FileClose(gpointer, guint, GtkWidget *)
2064 {
2065 if (project::background_job_running) return; // protect the model-data during background jobs...
2066
2067 // gtk_signal_emit_by_name(GTK_OBJECT(main_window), "delete_event");
2068 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2069 // the above is an "elegant" solution but it segfaults ; why???
2070 // in below the same stuff is done "manually".
2071
2072 if (!DeleteEventHandler(NULL, NULL, NULL)) gtk_widget_destroy(main_window);
2073 }
2074
2075 void gtk_app::mainmenu_HelpHelp(gpointer, guint, GtkWidget *)
2076 {
2077 ostringstream str; str << "mozilla ";
2078 str << project::appdata_path << DIR_SEPARATOR;
2079 str << project::appversion << DIR_SEPARATOR;
2080 str << "user-docs/index.html &" << ends;
2081
2082 cout << _("Displaying the User's Manual using the following command:") << endl;
2083 cout << str.str().c_str() << endl;
2084
2085 system(str.str().c_str());
2086 }
2087
2088 void gtk_app::mainmenu_HelpAbout(gpointer, guint, GtkWidget *)
2089 {
2090 ostringstream about_str;
2091
2092 about_str << _("Ghemical-") << APPVERSION << _(" released on ") << APPRELEASEDATE << endl;
2093 about_str << " " << endl;
2094 about_str << _("For more information please visit:") << endl;
2095 about_str << WEBSITE << endl;
2096 about_str << " " << endl;
2097
2098 // leave some lines out to keep the dialog size smaller...
2099 for (i32s n1 = 0;n1 < 16;n1++) about_str << get_copyright_notice_line(n1) << endl;
2100
2101 about_str << " " << endl;
2102 about_str << _("Authors:") << endl;
2103 about_str << "\t\t" << "Tommi Hassinen" << endl;
2104 about_str << "\t\t" << "Geoff Hutchison" << endl;
2105 about_str << "\t\t" << "Mike Cruz" << endl;
2106 about_str << "\t\t" << "Michael Banck" << endl;
2107 about_str << "\t\t" << "Christopher Rowley" << endl;
2108 about_str << "\t\t" << "Jean Brefort" << endl;
2109 about_str << "\t\t" << "Daniel Leidert" << endl;
2110 about_str << "\t\t" << "Vlado Peshov" << endl;
2111
2112 about_str << ends;
2113
2114 static char about[2048];
2115 strcpy(about, about_str.str().c_str());
2116
2117 prj->Message(about);
2118 }
2119
2120 /*################################################################################################*/
2121
2122 // eof
0 // GTK_APP.H : a GTK2 application class.
1
2 // Copyright (C) 2003 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef GTK_APP_H
21 #define GTK_APP_H
22
23 #include "ghemicalconfig2.h"
24
25 struct pv_views_objs_record;
26 struct pv_chains_record;
27 struct pv_atoms_record;
28 struct pv_bonds_record;
29
30 #include <glib.h>
31 #include <unistd.h>
32
33 #include "custom_app.h"
34 #include "gtk_project.h"
35
36 // uncomment this if you wish to have the traditional short toolbar labels.
37 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
38 #define USE_SHORT_TOOLBAR_LABELS
39
40 /*################################################################################################*/
41
42 struct pv_viewsobjs_record
43 {
44 custom_camera * owner; ///< this is non-NULL for child items.
45
46 ogl_dummy_object * refV1; ///< for camera/light-type objects.
47 base_wcl * refV2; ///< for view/client-type objects.
48
49 ogl_smart_object * refO; ///< for object-type objects.
50
51 GtkTreeIter iter;
52 };
53
54 struct pv_chains_record
55 {
56 i32s c_r_ind;
57 GtkTreeIter iter;
58 };
59
60 struct pv_atoms_record
61 {
62 atom * ref;
63 GtkTreeIter iter;
64 };
65
66 struct pv_bonds_record
67 {
68 bond * ref;
69 GtkTreeIter iter;
70 };
71
72 class gtk_app :
73 public custom_app
74 {
75 protected:
76
77 static GtkActionEntry entries1[];
78 static GtkToggleActionEntry entries2[];
79 static const char * ui_description;
80
81 static GtkUIManager * ui_manager;
82
83 static GtkWidget * main_window;
84 static GtkWidget * main_vbox;
85
86 static GtkWidget * main_menubar;
87 static GtkWidget * main_toolbar;
88
89 static GtkWidget * mtb_mtool_draw;
90 static GtkWidget * mtb_mtool_erase;
91 static GtkWidget * mtb_mtool_select;
92 static GtkWidget * mtb_mtool_zoom;
93 static GtkWidget * mtb_mtool_clipping;
94 static GtkWidget * mtb_mtool_translate_xy;
95 static GtkWidget * mtb_mtool_translate_z;
96 static GtkWidget * mtb_mtool_orbit_xy;
97 static GtkWidget * mtb_mtool_orbit_z;
98 static GtkWidget * mtb_mtool_rotate_xy;
99 static GtkWidget * mtb_mtool_rotate_z;
100 static GtkWidget * mtb_mtool_measure;
101
102 // here is the former gtk_project stuff...
103 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
104
105 static GtkWidget * paned_widget;
106
107 static GtkWidget * notebook_widget;
108
109 static GtkTextBuffer * txt_buffer;
110 static GtkTextMark * end_mark;
111
112 static GtkWidget * scroll_widget;
113 static GtkWidget * txt_widget;
114
115 // here is the former gtk_project_view stuff...
116 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
117
118 static GtkActionEntry pv_viewsobjs_entries[];
119 static const char * pv_viewsobjs_ui_description;
120
121 static GtkActionEntry pv_chains_entries[];
122 static const char * pv_chains_ui_description;
123
124 static GtkActionEntry pv_atoms_entries[];
125 static const char * pv_atoms_ui_description;
126
127 static GtkActionEntry pv_bonds_entries[];
128 static const char * pv_bonds_ui_description;
129
130 static GtkWidget * pv_view_widget;
131 static GtkWidget * pv_label_widget;
132
133 list<pv_viewsobjs_record *> pv_viewsobjs_data;
134 GtkTreeStore * pv_viewsobjs_store;
135 GtkWidget * pv_viewsobjs_widget;
136 GtkWidget * pv_viewsobjs_label;
137 GtkWidget * pv_viewsobjs_menu;
138 GtkWidget * pv_viewsobjs_sw;
139
140 list<pv_chains_record *> pv_chains_data;
141 GtkTreeStore * pv_chains_store;
142 GtkWidget * pv_chains_widget;
143 GtkWidget * pv_chains_label;
144 GtkWidget * pv_chains_menu;
145 GtkWidget * pv_chains_sw;
146
147 list<pv_atoms_record *> pv_atoms_data;
148 GtkListStore * pv_atoms_store;
149 GtkWidget * pv_atoms_widget;
150 GtkWidget * pv_atoms_label;
151 GtkWidget * pv_atoms_menu;
152 GtkWidget * pv_atoms_sw;
153
154 list<pv_bonds_record *> pv_bonds_data;
155 GtkListStore * pv_bonds_store;
156 GtkWidget * pv_bonds_widget;
157 GtkWidget * pv_bonds_label;
158 GtkWidget * pv_bonds_menu;
159 GtkWidget * pv_bonds_sw;
160
161 // friends...
162 // ^^^^^^^^^^
163 friend class gtk_file_open_dialog;
164
165 private:
166
167 // the constructor is private so that only a single instance
168 // of the class can be created (by calling GetGtkApp()).
169
170 gtk_app(void);
171
172 public:
173
174 ~gtk_app(void);
175
176 static gtk_app * GetAppX(void);
177 static gtk_project * GetPrjX(void);
178
179 void AttachDetachView(base_wcl *);
180 void SetTransientForMainWnd(GtkWindow *);
181
182 void AddTabToNB(GtkWidget *, GtkWidget *);
183 void RemoveTabFromNB(GtkWidget *);
184
185 void SetTabTitleNB(GtkWidget *, GtkWidget *);
186
187 protected:
188
189 void InitPV(void);
190
191 void SetNewProject(void); // virtual
192
193 static gboolean DeleteEventHandler(GtkWidget *, GdkEvent *, gpointer);
194 static void DestroyHandler(GtkWidget *, gpointer);
195
196 public:
197
198 static void sMessage(const char *);
199 static void sWarningMessage(const char *);
200 static void sErrorMessage(const char *);
201
202 static bool sQuestion(const char *);
203 static void sPrintToLog(const char *);
204
205 void Message(const char *); // virtual
206 void WarningMessage(const char *); // virtual
207 void ErrorMessage(const char *); // virtual
208
209 bool Question(const char *); // virtual
210 void PrintToLog(const char *); // virtual
211
212 static GtkUIManager * GetUIManager(void) { return ui_manager; }
213 static GtkWidget * GetMainWindow(void) { return main_window; }
214
215 void UpdateAllWindowTitles(void); // virtual
216
217 void CameraAdded(custom_camera *); // virtual
218 void CameraRemoved(custom_camera *); // virtual
219
220 void LightAdded(ogl_light *); // virtual
221 void LightRemoved(ogl_light *); // virtual
222
223 void GraphicsClientAdded(oglview_wcl *); // virtual
224 void GraphicsClientRemoved(oglview_wcl *); // virtual
225
226 void PlottingClientAdded(base_wcl *); // virtual
227 void PlottingClientRemoved(base_wcl *); // virtual
228
229 void ObjectAdded(ogl_smart_object *); // virtual
230 void ObjectRemoved(ogl_smart_object *); // virtual
231
232 static gint ViewsObjsPopupHandler(GtkWidget *, GdkEvent *);
233 static void viewsobjs_SetCurrent(GtkWidget *, gpointer);
234 static void viewsobjs_Delete(GtkWidget *, gpointer);
235
236 void BuildChainsView(void); // virtual
237 void ClearChainsView(void); // virtual
238 static gint ChainsPopupHandler(GtkWidget *, GdkEvent *);
239 static void chains_UpdateView(GtkWidget *, gpointer);
240 static void chains_SelectItem(GtkWidget *, gpointer);
241
242 void AtomAdded(atom *); // virtual
243 void AtomUpdateItem(atom *); // virtual
244 void AtomRemoved(atom *); // virtual
245 static gint AtomsPopupHandler(GtkWidget *, GdkEvent *);
246 static void atoms_SelectAtom(GtkWidget *, gpointer);
247 static gint atoms_ToggleLocked(GtkWidget *, gchar *, gpointer *);
248
249 void BondAdded(bond *); // virtual
250 void BondUpdateItem(bond *); // virtual
251 void BondRemoved(bond *); // virtual
252 static gint BondsPopupHandler(GtkWidget *, GdkEvent *);
253 static void bonds_SelectBond(GtkWidget *, gpointer);
254
255 // the toolbar-button callbacks start here ; the toolbar-button callbacks start here
256 // the toolbar-button callbacks start here ; the toolbar-button callbacks start here
257 // the toolbar-button callbacks start here ; the toolbar-button callbacks start here
258
259 static void HandleToggleButtons(custom_app::mtool);
260 static void maintb_tool_Draw(gpointer, guint, GtkWidget *);
261 static void maintb_tool_Erase(gpointer, guint, GtkWidget *);
262 static void maintb_tool_Select(gpointer, guint, GtkWidget *);
263 static void maintb_tool_Zoom(gpointer, guint, GtkWidget *);
264 static void maintb_tool_Clipping(gpointer, guint, GtkWidget *);
265 static void maintb_tool_TranslateXY(gpointer, guint, GtkWidget *);
266 static void maintb_tool_TranslateZ(gpointer, guint, GtkWidget *);
267 static void maintb_tool_OrbitXY(gpointer, guint, GtkWidget *);
268 static void maintb_tool_OrbitZ(gpointer, guint, GtkWidget *);
269 static void maintb_tool_RotateXY(gpointer, guint, GtkWidget *);
270 static void maintb_tool_RotateZ(gpointer, guint, GtkWidget *);
271 static void maintb_tool_Measure(gpointer, guint, GtkWidget *);
272
273 static void maintb_dial_Element(gpointer, guint, GtkWidget *);
274 static void maintb_dial_BondType(gpointer, guint, GtkWidget *);
275 static void maintb_dial_Setup(gpointer, guint, GtkWidget *);
276
277 // the main-menu callbacks start here ; the main-menu callbacks start here
278 // the main-menu callbacks start here ; the main-menu callbacks start here
279 // the main-menu callbacks start here ; the main-menu callbacks start here
280
281 static void mainmenu_FileNew(gpointer, guint, GtkWidget *);
282 static void mainmenu_FileOpen(gpointer, guint, GtkWidget *);
283 static void mainmenu_FileSaveAs(gpointer, guint, GtkWidget *);
284 static void mainmenu_FileClose(gpointer, guint, GtkWidget *);
285
286 static void mainmenu_HelpHelp(gpointer, guint, GtkWidget *);
287 static void mainmenu_HelpAbout(gpointer, guint, GtkWidget *);
288 };
289
290 /*################################################################################################*/
291
292 #endif // GTK_APP_H
293
294 // eof
0 // GTK_ELDVIEW_WND.CPP
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_eldview_wnd.h"
21
22 #include "eldview_wcl.h"
23 #include "gtk_app.h"
24
25 #include "local_i18n.h"
26
27 /*################################################################################################*/
28
29 GtkActionEntry gtk_eldview_wnd::entries[] =
30 {
31 { "AttachDetachELD", NULL, N_("Attach/Detach This View"), NULL, N_("Select whether this view is attached or in an independent window"), (GCallback) gtk_eldview_wnd::popup_AttachDetach },
32 { "DeleteViewELD", NULL, N_("Delete View"), NULL, N_("Delete this view"), (GCallback) gtk_eldview_wnd::popup_DeleteView }
33 };
34
35 const char * gtk_eldview_wnd::ui_description =
36 "<ui>"
37 " <popup name='geldvMenu'>"
38 " <menuitem action='AttachDetachELD'/>"
39 " <separator/>"
40 " <menuitem action='DeleteViewELD'/>"
41 " </popup>"
42 "</ui>";
43
44 gtk_eldview_wnd::gtk_eldview_wnd(bool det_flag) :
45 gtk_wnd(det_flag)
46 {
47 GtkActionGroup * action_group = gtk_action_group_new("geldvActions");
48 gtk_action_group_set_translation_domain(action_group, GETTEXT_PACKAGE);
49 gtk_action_group_add_actions(action_group, entries, G_N_ELEMENTS(entries), GTK_WIDGET(view_widget));
50
51 gtk_ui_manager_insert_action_group(gtk_app::GetUIManager(), action_group, 0);
52
53 GError * error = NULL;
54 if (!gtk_ui_manager_add_ui_from_string(gtk_app::GetUIManager(), ui_description, -1, & error))
55 {
56 g_message(_("ERROR : Building popup-menu for gtk_eldview_wnd failed : %s"), error->message);
57 g_error_free(error); exit(EXIT_FAILURE);
58 }
59
60 // set gtk_view::popupmenu so that gtk_ogl_view::ButtonHandler() will display it...
61 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62
63 popupmenu = gtk_ui_manager_get_widget(gtk_app::GetUIManager(), "/geldvMenu");
64 }
65
66 gtk_eldview_wnd::~gtk_eldview_wnd(void)
67 {
68 }
69
70 // here are the popup menu callbacks:
71 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
72
73 void gtk_eldview_wnd::popup_AttachDetach(GtkWidget *, gpointer data)
74 {
75 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
76 eldview_wcl * wcl = dynamic_cast<eldview_wcl *>(wnd->GetClient());
77
78 gtk_app::GetAppX()->AttachDetachView(wcl);
79 }
80
81 void gtk_eldview_wnd::popup_DeleteView(GtkWidget *, gpointer data)
82 {
83 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
84 eldview_wcl * wcl = dynamic_cast<eldview_wcl *>(wnd->GetClient());
85
86 gtk_app::GetPrjX()->RemovePlottingClient(wcl);
87 }
88
89 /*################################################################################################*/
90
91 // eof
0 // GTK_ELDVIEW_WND.H : write a short description here...
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ghemicalconfig2.h"
21
22 #ifndef GTK_ELDVIEW_WND_H
23 #define GTK_ELDVIEW_WND_H
24
25 #include "gtk_wnd.h"
26
27 /*################################################################################################*/
28
29 class gtk_eldview_wnd :
30 public gtk_wnd
31 {
32 private:
33
34 static GtkActionEntry entries[];
35 static const char * ui_description;
36
37 public:
38
39 gtk_eldview_wnd(bool);
40 ~gtk_eldview_wnd(void);
41
42 static void popup_AttachDetach(GtkWidget *, gpointer);
43 static void popup_DeleteView(GtkWidget *, gpointer);
44 };
45
46 /*################################################################################################*/
47
48 #endif // GTK_ELDVIEW_WND_H
49
50 // eof
0 // GTK_FILE_EXPORT_DIALOG.CPP
1
2 // Copyright (C) 2002 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_file_export_dialog.h"
21
22 #include "filetrans.h"
23
24 #include "local_i18n.h"
25
26 #include <gtk/gtk.h>
27
28 #include <sstream>
29 #include <iostream>
30 using namespace std;
31
32 /*################################################################################################*/
33
34 gtk_file_export_dialog::gtk_file_export_dialog(gtk_project * p1) :
35 gtk_glade_dialog("glade/gtk_file_export_dialog.glade")
36 {
37 prj = p1;
38
39 dialog = glade_xml_get_widget(xml, "file_export_dialog");
40 if (dialog == NULL) { cout << _("file_export_dialog : glade_xml_get_widget() failed!!!") << endl; return; }
41
42 // initialize the widgets...
43
44 entry_trajfile = glade_xml_get_widget(xml, "entry_filename");
45 button_browse = glade_xml_get_widget(xml, "button_browse");
46 file_selector = NULL;
47
48 GtkWidget * optmenu = glade_xml_get_widget(xml, "optionmenu1");
49 GtkWidget * submenu = gtk_menu_new(); GtkWidget * item;
50
51 item = gtk_menu_item_new_with_label(_("Automatic")); // insert item "automatic"...
52 gtk_widget_show(item); gtk_menu_append(GTK_MENU(submenu), item);
53
54 #ifdef ENABLE_OPENBABEL
55
56 file_trans ft;
57 for (unsigned int i = 0;i < ft.NumExports();i++) // insert other items...
58 {
59 item = gtk_menu_item_new_with_label((char *) ft.GetExportDescription(i).c_str());
60 gtk_widget_show(item); gtk_menu_append(GTK_MENU(submenu), item);
61 }
62
63 #endif // ENABLE_OPENBABEL
64
65 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), submenu);
66
67 // connect the handlers...
68
69 glade_xml_signal_connect_data(xml, "on_dialog_destroy", (GtkSignalFunc) handler_Destroy, (gpointer) this);
70
71 glade_xml_signal_connect_data(xml, "on_button_ok_clicked", (GtkSignalFunc) handler_ButtonOK, (gpointer) this);
72 glade_xml_signal_connect_data(xml, "on_button_cancel_clicked", (GtkSignalFunc) handler_ButtonCancel, (gpointer) this);
73
74 glade_xml_signal_connect_data(xml, "on_button_browse_clicked", (GtkSignalFunc) handler_ButtonBrowse, (gpointer) this);
75
76 gtk_dialog_run(GTK_DIALOG(dialog)); // MODAL
77 gtk_widget_destroy(dialog); // MODAL
78 }
79
80 gtk_file_export_dialog::~gtk_file_export_dialog(void)
81 {
82 }
83
84 void gtk_file_export_dialog::handler_Destroy(GtkWidget *, gpointer data) // not really needed...
85 {
86 gtk_file_export_dialog * ref = (gtk_file_export_dialog *) data;
87 //cout << "handler_Destroy() : ref = " << ref << endl;
88 }
89
90 void gtk_file_export_dialog::handler_ButtonOK(GtkWidget *, gpointer data)
91 {
92 gtk_file_export_dialog * ref = (gtk_file_export_dialog *) data;
93 //cout << "handler_ButtonOK() : ref = " << ref << endl;
94
95 // do the export...
96 // ^^^^^^^^^^^^^^^^
97
98 GtkWidget * optmenu = glade_xml_get_widget(ref->xml, "optionmenu1");
99 GtkWidget * submenu = gtk_option_menu_get_menu(GTK_OPTION_MENU(optmenu));
100 GtkWidget * item = gtk_menu_get_active(GTK_MENU(submenu));
101 int index = g_list_index(GTK_MENU_SHELL(submenu)->children, item);
102
103 GtkWidget * entry_fn = glade_xml_get_widget(ref->xml, "entry_filename");
104 const gchar * filename = gtk_entry_get_text(GTK_ENTRY(entry_fn));
105
106 #ifdef ENABLE_OPENBABEL
107
108 ref->prj->ExportFile(filename, index);
109 ref->prj->ParseProjectFileNameAndPath(filename);
110 custom_app::GetAppC()->UpdateAllWindowTitles();
111
112 #endif // ENABLE_OPENBABEL
113
114 }
115
116 void gtk_file_export_dialog::handler_ButtonCancel(GtkWidget *, gpointer data) // not really needed...
117 {
118 gtk_file_export_dialog * ref = (gtk_file_export_dialog *) data;
119 //cout << "handler_ButtonCancel() : ref = " << ref << endl;
120 }
121
122 void gtk_file_export_dialog::handler_ButtonBrowse(GtkWidget *, gpointer data)
123 {
124 gtk_file_export_dialog * ref = (gtk_file_export_dialog *) data;
125 //cout << "handler_ButtonBrowse() : ref = " << ref << endl;
126
127 // handle the file selection...
128 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
129
130 ref->file_selector = gtk_file_selection_new(_("Select a filename for export."));
131 g_signal_connect(GTK_FILE_SELECTION(ref->file_selector)->ok_button, "clicked", G_CALLBACK(handler_FileChooser), data);
132
133 g_signal_connect_swapped(GTK_FILE_SELECTION(ref->file_selector)->ok_button, "clicked", G_CALLBACK(gtk_widget_destroy), ref->file_selector);
134 g_signal_connect_swapped(GTK_FILE_SELECTION(ref->file_selector)->cancel_button, "clicked", G_CALLBACK(gtk_widget_destroy), ref->file_selector);
135
136 gtk_dialog_run(GTK_DIALOG(ref->file_selector)); ref->file_selector = NULL;
137 }
138
139 void gtk_file_export_dialog::handler_FileChooser(GtkWidget *, gpointer data)
140 {
141 gtk_file_export_dialog * ref = (gtk_file_export_dialog *) data;
142 //cout << "handler_FileChooser() : ref = " << ref << endl;
143
144 // save the selected filename...
145 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
146
147 const gchar * selected_filename = gtk_file_selection_get_filename(GTK_FILE_SELECTION(ref->file_selector));
148 gtk_entry_set_text(GTK_ENTRY(ref->entry_trajfile), selected_filename);
149 }
150
151 /*################################################################################################*/
152
153 // eof
0 // GTK_FILE_EXPORT_DIALOG.H : write a short description here...
1
2 // Copyright (C) 2002 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef GTK_FILE_EXPORT_DIALOG_H
21 #define GTK_FILE_EXPORT_DIALOG_H
22
23 //#include "ghemicalconfig2.h"
24
25 #include "gtk_glade_dialog.h"
26 #include "gtk_project.h"
27
28 /*################################################################################################*/
29
30 class gtk_file_export_dialog : public gtk_glade_dialog
31 {
32 protected:
33
34 gtk_project * prj;
35 GtkWidget * dialog;
36
37 GtkWidget * entry_trajfile;
38 GtkWidget * button_browse;
39 GtkWidget * file_selector;
40
41 public:
42
43 gtk_file_export_dialog(gtk_project *);
44 ~gtk_file_export_dialog(void);
45
46 static void handler_Destroy(GtkWidget *, gpointer);
47
48 static void handler_ButtonOK(GtkWidget *, gpointer);
49 static void handler_ButtonCancel(GtkWidget *, gpointer);
50
51 static void handler_ButtonBrowse(GtkWidget *, gpointer);
52 static void handler_FileChooser(GtkWidget *, gpointer);
53 };
54
55 /*################################################################################################*/
56
57 #endif // GTK_FILE_EXPORT_DIALOG_H
58
59 // eof
0 // GTK_FILE_IMPORT_DIALOG.CPP
1
2 // Copyright (C) 2002 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_file_import_dialog.h"
21
22 #include "filetrans.h"
23
24 #include "local_i18n.h"
25
26 #include <gtk/gtk.h>
27
28 #include <sstream>
29 #include <iostream>
30 using namespace std;
31
32 /*################################################################################################*/
33
34 gtk_file_import_dialog::gtk_file_import_dialog(gtk_project * p1) :
35 gtk_glade_dialog("glade/gtk_file_import_dialog.glade")
36 {
37 prj = p1;
38
39 dialog = glade_xml_get_widget(xml, "file_import_dialog");
40 if (dialog == NULL) { cout << _("file_import_dialog : glade_xml_get_widget() failed!!!") << endl; return; }
41
42 // initialize the widgets...
43
44 entry_trajfile = glade_xml_get_widget(xml, "entry_filename");
45 button_browse = glade_xml_get_widget(xml, "button_browse");
46 file_selector = NULL;
47
48 GtkWidget * optmenu = glade_xml_get_widget(xml, "optionmenu1");
49 GtkWidget * submenu = gtk_menu_new(); GtkWidget * item;
50
51 item = gtk_menu_item_new_with_label(_("Automatic")); // insert item "automatic"...
52 gtk_widget_show(item); gtk_menu_append(GTK_MENU(submenu), item);
53
54 #ifdef ENABLE_OPENBABEL
55
56 file_trans ft;
57 for (unsigned int i = 0;i < ft.NumImports();i++) // insert other items...
58 {
59 item = gtk_menu_item_new_with_label((char *) ft.GetImportDescription(i).c_str());
60 gtk_widget_show(item); gtk_menu_append(GTK_MENU(submenu), item);
61 }
62
63 #endif // ENABLE_OPENBABEL
64
65 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), submenu);
66
67 // connect the handlers...
68
69 glade_xml_signal_connect_data(xml, "on_dialog_destroy", (GtkSignalFunc) handler_Destroy, (gpointer) this);
70
71 glade_xml_signal_connect_data(xml, "on_button_ok_clicked", (GtkSignalFunc) handler_ButtonOK, (gpointer) this);
72 glade_xml_signal_connect_data(xml, "on_button_cancel_clicked", (GtkSignalFunc) handler_ButtonCancel, (gpointer) this);
73
74 glade_xml_signal_connect_data(xml, "on_button_browse_clicked", (GtkSignalFunc) handler_ButtonBrowse, (gpointer) this);
75
76 gtk_dialog_run(GTK_DIALOG(dialog)); // MODAL
77 gtk_widget_destroy(dialog); // MODAL
78 }
79
80 gtk_file_import_dialog::~gtk_file_import_dialog(void)
81 {
82 }
83
84 void gtk_file_import_dialog::handler_Destroy(GtkWidget *, gpointer data) // not really needed...
85 {
86 gtk_file_import_dialog * ref = (gtk_file_import_dialog *) data;
87 //cout << "handler_Destroy() : ref = " << ref << endl;
88 }
89
90 void gtk_file_import_dialog::handler_ButtonOK(GtkWidget *, gpointer data)
91 {
92 gtk_file_import_dialog * ref = (gtk_file_import_dialog *) data;
93 //cout << "handler_ButtonOK() : ref = " << ref << endl;
94
95 // do the import...
96 // ^^^^^^^^^^^^^^^^
97
98 GtkWidget * optmenu = glade_xml_get_widget(ref->xml, "optionmenu1");
99 GtkWidget * submenu = gtk_option_menu_get_menu(GTK_OPTION_MENU(optmenu));
100 GtkWidget * item = gtk_menu_get_active(GTK_MENU(submenu));
101 int index = g_list_index(GTK_MENU_SHELL(submenu)->children, item);
102
103 GtkWidget * entry_fn = glade_xml_get_widget(ref->xml, "entry_filename");
104 const gchar * filename = gtk_entry_get_text(GTK_ENTRY(entry_fn));
105
106 #ifdef ENABLE_OPENBABEL
107
108 ref->prj->ImportFile(filename, index);
109 ref->prj->ParseProjectFileNameAndPath(filename);
110 custom_app::GetAppC()->UpdateAllWindowTitles();
111
112 #endif // ENABLE_OPENBABEL
113
114 ref->prj->CenterCRDSet(0, true);
115 ref->prj->UpdateAllGraphicsViews();
116 }
117
118 void gtk_file_import_dialog::handler_ButtonCancel(GtkWidget *, gpointer data) // not really needed...
119 {
120 gtk_file_import_dialog * ref = (gtk_file_import_dialog *) data;
121 //cout << "handler_ButtonCancel() : ref = " << ref << endl;
122 }
123
124 void gtk_file_import_dialog::handler_ButtonBrowse(GtkWidget *, gpointer data)
125 {
126 gtk_file_import_dialog * ref = (gtk_file_import_dialog *) data;
127 //cout << "handler_ButtonBrowse() : ref = " << ref << endl;
128
129 // handle the file selection...
130 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
131
132 ref->file_selector = gtk_file_selection_new(_("Select a file to import."));
133 g_signal_connect(GTK_FILE_SELECTION(ref->file_selector)->ok_button, "clicked", G_CALLBACK(handler_FileChooser), data);
134
135 g_signal_connect_swapped(GTK_FILE_SELECTION(ref->file_selector)->ok_button, "clicked", G_CALLBACK(gtk_widget_destroy), ref->file_selector);
136 g_signal_connect_swapped(GTK_FILE_SELECTION(ref->file_selector)->cancel_button, "clicked", G_CALLBACK(gtk_widget_destroy), ref->file_selector);
137
138 gtk_dialog_run(GTK_DIALOG(ref->file_selector)); ref->file_selector = NULL;
139 }
140
141 void gtk_file_import_dialog::handler_FileChooser(GtkWidget *, gpointer data)
142 {
143 gtk_file_import_dialog * ref = (gtk_file_import_dialog *) data;
144 //cout << "handler_FileChooser() : ref = " << ref << endl;
145
146 // save the selected filename...
147 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
148
149 const gchar * selected_filename = gtk_file_selection_get_filename(GTK_FILE_SELECTION(ref->file_selector));
150 gtk_entry_set_text(GTK_ENTRY(ref->entry_trajfile), selected_filename);
151 }
152
153 /*################################################################################################*/
154
155 // eof
0 // GTK_FILE_IMPORT_DIALOG.H : write a short description here...
1
2 // Copyright (C) 2002 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef GTK_FILE_IMPORT_DIALOG_H
21 #define GTK_FILE_IMPORT_DIALOG_H
22
23 //#include "ghemicalconfig2.h"
24
25 #include "gtk_glade_dialog.h"
26 #include "gtk_project.h"
27
28 /*################################################################################################*/
29
30 class gtk_file_import_dialog : public gtk_glade_dialog
31 {
32 protected:
33
34 gtk_project * prj;
35 GtkWidget * dialog;
36
37 GtkWidget * entry_trajfile;
38 GtkWidget * button_browse;
39 GtkWidget * file_selector;
40
41 public:
42
43 gtk_file_import_dialog(gtk_project *);
44 ~gtk_file_import_dialog(void);
45
46 static void handler_Destroy(GtkWidget *, gpointer);
47
48 static void handler_ButtonOK(GtkWidget *, gpointer);
49 static void handler_ButtonCancel(GtkWidget *, gpointer);
50
51 static void handler_ButtonBrowse(GtkWidget *, gpointer);
52 static void handler_FileChooser(GtkWidget *, gpointer);
53 };
54
55 /*################################################################################################*/
56
57 #endif // GTK_FILE_IMPORT_DIALOG_H
58
59 // eof
0 // GTK_GEOMOPT_DIALOG.CPP
1
2 // Copyright (C) 2002 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_geomopt_dialog.h"
21
22 #include "local_i18n.h"
23
24 #include <gtk/gtk.h>
25
26 #include <sstream>
27 #include <iostream>
28 using namespace std;
29
30 /*################################################################################################*/
31
32 gtk_geomopt_dialog::gtk_geomopt_dialog(geomopt_param * p1) :
33 gtk_glade_dialog("glade/gtk_geomopt_dialog.glade")
34 {
35 param = p1;
36
37 dialog = glade_xml_get_widget(xml, "geomopt_dialog");
38 if (dialog == NULL)
39 {
40 cout << _("WARNING : geomopt_dialog : glade_xml_get_widget() failed!!!") << endl;
41 return;
42 }
43
44 // initialize the widgets...
45
46 entry_nsteps = glade_xml_get_widget(xml, "entry_nsteps");
47 entry_grad = glade_xml_get_widget(xml, "entry_grad");
48 entry_delta_e = glade_xml_get_widget(xml, "entry_delta_e");
49
50 ostringstream str;
51
52 str << param->treshold_nsteps << ends;
53 gtk_entry_set_text(GTK_ENTRY(entry_nsteps), str.str().c_str());
54
55 str.str(""); // blank it...
56
57 str << param->treshold_grad << ends;
58 gtk_entry_set_text(GTK_ENTRY(entry_grad), str.str().c_str());
59
60 str.str(""); // blank it...
61
62 str << param->treshold_delta_e << ends;
63 gtk_entry_set_text(GTK_ENTRY(entry_delta_e), str.str().c_str());
64
65 // connect the handlers...
66
67 glade_xml_signal_connect_data(xml, "on_dialog_destroy", (GtkSignalFunc) handler_Destroy, (gpointer) this);
68
69 glade_xml_signal_connect_data(xml, "on_button_ok_clicked", (GtkSignalFunc) handler_ButtonOK, (gpointer) this);
70 glade_xml_signal_connect_data(xml, "on_button_cancel_clicked", (GtkSignalFunc) handler_ButtonCancel, (gpointer) this);
71
72 gtk_dialog_run(GTK_DIALOG(dialog)); // MODAL
73 gtk_widget_destroy(dialog); // MODAL
74 }
75
76 gtk_geomopt_dialog::~gtk_geomopt_dialog(void)
77 {
78 }
79
80 void gtk_geomopt_dialog::handler_Destroy(GtkWidget *, gpointer data) // not really needed...
81 {
82 gtk_geomopt_dialog * ref = (gtk_geomopt_dialog *) data;
83 //cout << "handler_Destroy() : ref = " << ref << endl;
84 }
85
86 void gtk_geomopt_dialog::handler_ButtonOK(GtkWidget *, gpointer data)
87 {
88 gtk_geomopt_dialog * ref = (gtk_geomopt_dialog *) data;
89 //cout << "handler_ButtonOK() : ref = " << ref << endl;
90
91 // read the user's settings from widgets...
92 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
93
94 GtkWidget * cb_nsteps = glade_xml_get_widget(ref->xml, "checkbutton_nsteps");
95 GtkWidget * cb_grad = glade_xml_get_widget(ref->xml, "checkbutton_grad");
96 GtkWidget * cb_delta_e = glade_xml_get_widget(ref->xml, "checkbutton_delta_e");
97
98 const gchar * buffer;
99
100 ref->param->enable_nsteps = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cb_nsteps));
101 buffer = gtk_entry_get_text(GTK_ENTRY(ref->entry_nsteps));
102 istringstream istr1(buffer);
103 istr1 >> ref->param->treshold_nsteps;
104
105 ref->param->enable_grad = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cb_grad));
106 buffer = gtk_entry_get_text(GTK_ENTRY(ref->entry_grad));
107 istringstream istr2(buffer);
108 istr2 >> ref->param->treshold_grad;
109
110 ref->param->enable_delta_e = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cb_delta_e));
111 buffer = gtk_entry_get_text(GTK_ENTRY(ref->entry_delta_e));
112 istringstream istr3(buffer);
113 istr3 >> ref->param->treshold_delta_e;
114
115 if (!ref->param->enable_nsteps && !ref->param->enable_grad && !ref->param->enable_delta_e)
116 {
117 ref->param->enable_nsteps = true;
118 cout << "WARNING: all termination tests were disabled!!! the nsteps test is forced." << endl;
119 }
120
121 ref->param->Confirm();
122 }
123
124 void gtk_geomopt_dialog::handler_ButtonCancel(GtkWidget *, gpointer data) // not really needed...
125 {
126 gtk_geomopt_dialog * ref = (gtk_geomopt_dialog *) data;
127 //cout << "handler_ButtonCancel() : ref = " << ref << endl;
128 }
129
130 /*################################################################################################*/
131
132 // eof
0 // GTK_GEOMOPT_DIALOG.H : write a short description here...
1
2 // Copyright (C) 2002 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef GTK_GEOMOPT_DIALOG_H
21 #define GTK_GEOMOPT_DIALOG_H
22
23 //#include "ghemicalconfig2.h"
24
25 #include "gtk_glade_dialog.h"
26
27 #include <ghemical/geomopt.h>
28
29 /*################################################################################################*/
30
31 class gtk_geomopt_dialog : public gtk_glade_dialog
32 {
33 protected:
34
35 geomopt_param * param;
36
37 GtkWidget * dialog;
38
39 GtkWidget * entry_nsteps;
40 GtkWidget * entry_grad;
41 GtkWidget * entry_delta_e;
42
43 public:
44
45 gtk_geomopt_dialog(geomopt_param *);
46 ~gtk_geomopt_dialog(void);
47
48 static void handler_Destroy(GtkWidget *, gpointer);
49
50 static void handler_ButtonOK(GtkWidget *, gpointer);
51 static void handler_ButtonCancel(GtkWidget *, gpointer);
52 };
53
54 /*################################################################################################*/
55
56 #endif // GTK_GEOMOPT_DIALOG_H
57
58 // eof
0 // GTK_GLADE_DIALOG.CPP
1
2 // Copyright (C) 2002 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_glade_dialog.h"
21
22 #include "project.h"
23
24 #include <sstream>
25 #include <iostream>
26 using namespace std;
27
28 /*################################################################################################*/
29
30 gtk_glade_dialog::gtk_glade_dialog(const char * xmlfile)
31 {
32 ostringstream str;
33 str << project::appdata_path << DIR_SEPARATOR << project::appversion << DIR_SEPARATOR << xmlfile << ends;
34
35 xml = glade_xml_new(str.str().c_str(), NULL, NULL);
36
37 if (xml == NULL)
38 {
39 ostringstream msg;
40 msg << "could not read glade XML file : " << str.str().c_str() << ends;
41 assertion_failed(__FILE__, __LINE__, msg.str().c_str());
42 }
43 }
44
45 gtk_glade_dialog::~gtk_glade_dialog(void)
46 {
47 // need to do anything here to clean the xml object???
48 // need to do anything here to clean the xml object???
49 // need to do anything here to clean the xml object???
50 }
51
52 /*################################################################################################*/
53
54 // eof
0 // GTK_GLADE_DIALOG.H : write a short description here...
1
2 // Copyright (C) 2002 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef GTK_GLADE_DIALOG_H
21 #define GTK_GLADE_DIALOG_H
22
23 //#include "ghemicalconfig2.h"
24
25 #include <glade/glade.h>
26
27 /*################################################################################################*/
28
29 class gtk_glade_dialog
30 {
31 protected:
32
33 GladeXML * xml;
34
35 public:
36
37 gtk_glade_dialog(const char *);
38 virtual ~gtk_glade_dialog(void);
39 };
40
41 /*################################################################################################*/
42
43 #endif // GTK_GLADE_DIALOG_H
44
45 // eof
0 // GTK_GPCVIEW_WND.CPP
1
2 // Copyright (C) 2006 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_gpcview_wnd.h"
21
22 #include "gpcview_wcl.h"
23 #include "gtk_app.h"
24
25 #include "local_i18n.h"
26
27 /*################################################################################################*/
28
29 GtkActionEntry gtk_gpcview_wnd::entries[] =
30 {
31 { "AttachDetachGPC", NULL, N_("Attach/Detach This View"), NULL, N_("Select whether this view is attached or in an independent window"), (GCallback) gtk_gpcview_wnd::popup_AttachDetach },
32 { "DeleteViewGPC", NULL, N_("Delete View"), NULL, N_("Delete this view"), (GCallback) gtk_gpcview_wnd::popup_DeleteView }
33 };
34
35 const char * gtk_gpcview_wnd::ui_description =
36 "<ui>"
37 " <popup name='ggpcvMenu'>"
38 " <menuitem action='AttachDetachGPC'/>"
39 " <separator/>"
40 " <menuitem action='DeleteViewGPC'/>"
41 " </popup>"
42 "</ui>";
43
44 gtk_gpcview_wnd::gtk_gpcview_wnd(bool det_flag) :
45 gtk_wnd(det_flag)
46 {
47 GtkActionGroup * action_group = gtk_action_group_new("ggpcvActions");
48 gtk_action_group_set_translation_domain(action_group, GETTEXT_PACKAGE);
49 gtk_action_group_add_actions(action_group, entries, G_N_ELEMENTS(entries), GTK_WIDGET(view_widget));
50
51 gtk_ui_manager_insert_action_group(gtk_app::GetUIManager(), action_group, 0);
52
53 GError * error = NULL;
54 if (!gtk_ui_manager_add_ui_from_string(gtk_app::GetUIManager(), ui_description, -1, & error))
55 {
56 g_message(_("ERROR : Building popup-menu for gtk_gpcview_wnd failed : %s"), error->message);
57 g_error_free(error); exit(EXIT_FAILURE);
58 }
59
60 // set gtk_view::popupmenu so that gtk_ogl_view::ButtonHandler() will display it...
61 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62
63 popupmenu = gtk_ui_manager_get_widget(gtk_app::GetUIManager(), "/ggpcvMenu");
64 }
65
66 gtk_gpcview_wnd::~gtk_gpcview_wnd(void)
67 {
68 }
69
70 // here are the popup menu callbacks:
71 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
72
73 void gtk_gpcview_wnd::popup_AttachDetach(GtkWidget *, gpointer data)
74 {
75 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
76 gpcview_wcl * wcl = dynamic_cast<gpcview_wcl *>(wnd->GetClient());
77
78 gtk_app::GetAppX()->AttachDetachView(wcl);
79 }
80
81 void gtk_gpcview_wnd::popup_DeleteView(GtkWidget *, gpointer data)
82 {
83 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
84 gpcview_wcl * wcl = dynamic_cast<gpcview_wcl *>(wnd->GetClient());
85
86 gtk_app::GetPrjX()->RemovePlottingClient(wcl);
87 }
88
89 /*################################################################################################*/
90
91 // eof
0 // GTK_GPCVIEW_WND.H : a generic protein chain view GTK-window class.
1
2 // Copyright (C) 2006 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ghemicalconfig2.h"
21
22 #ifndef GTK_GPCVIEW_WND_H
23 #define GTK_GPCVIEW_WND_H
24
25 #include "gtk_wnd.h"
26
27 /*################################################################################################*/
28
29 class gtk_gpcview_wnd :
30 public gtk_wnd
31 {
32 private:
33
34 static GtkActionEntry entries[];
35 static const char * ui_description;
36
37 public:
38
39 gtk_gpcview_wnd(bool);
40 ~gtk_gpcview_wnd(void);
41
42 static void popup_AttachDetach(GtkWidget *, gpointer);
43 static void popup_DeleteView(GtkWidget *, gpointer);
44 };
45
46 /*################################################################################################*/
47
48 #endif // GTK_GPCVIEW_WND_H
49
50 // eof
0 // GTK_MAIN.CPP
1
2 // Copyright (C) 2003 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_main.h"
21
22 #include "ghemicalconfig.h"
23 #include <ghemical/utility.h>
24
25 #include "local_i18n.h"
26
27 #include <gtk/gtk.h>
28 #include <gtk/gtkgl.h>
29 //#include <gdk-pixbuf/gdk-pixbuf-loader.h>
30
31 /*################################################################################################*/
32
33 // define MAIN__ in case mopac7 uses f2c
34 extern "C" { int MAIN__ (void) {return 0;} }
35
36 // the main function.
37 // ^^^^^^^^^^^^^^^^^^
38
39 static gchar * opt_f = NULL;
40 static gchar * opt_i = NULL;
41
42 static GOptionEntry option_entries[] =
43 {
44 { "file=filename", 'f', 0, G_OPTION_ARG_STRING, & opt_f, _("open a file"), NULL },
45 { "import=filename", 'i', 0, G_OPTION_ARG_STRING, & opt_i, _("import a file"), NULL },
46 { NULL }
47 };
48
49 int main(int argc, char ** argv)
50 {
51 GError * error = NULL;
52
53 #ifdef ENABLE_NLS
54 setlocale(LC_ALL, "");
55 bindtextdomain(GETTEXT_PACKAGE, LOCALE_DIR);
56 bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
57 textdomain(GETTEXT_PACKAGE);
58 #endif // ENABLE_NLS
59
60 GOptionContext * option_context = g_option_context_new(_("- a GTK2 molecular modelling program"));
61 g_option_context_add_main_entries(option_context, option_entries, NULL);
62 g_option_context_add_group(option_context, gtk_get_option_group(TRUE));
63 g_option_context_parse(option_context, & argc, & argv, & error);
64
65 #ifdef ENABLE_THREADS
66
67 //g_thread_init(NULL); // original...
68 if (!g_thread_supported()) g_thread_init(NULL); // robertix 2008-04-25
69
70 gdk_threads_init();
71 gdk_threads_enter();
72
73 #endif // ENABLE_THREADS
74
75 gtk_init(& argc, & argv);
76
77 gtk_gl_init(& argc, & argv);
78
79 gint major; gint minor;
80 gdk_gl_query_version (& major, & minor);
81
82 g_print("\n");
83 g_print(_("OpenGL extension version - %d.%d\n"), major, minor);
84
85 #ifndef WIN32
86
87 libghemical_init(LIBDATA_PATH);
88 strcpy(project::appdata_path, APPDATA_PATH);
89
90 #else // WIN32
91
92 gchar * modpath = g_win32_get_package_installation_directory_of_module(NULL);
93
94 //g_print ("modpath = %s\n", modpath);
95
96 // also see: g_win32_locale_filename_from_utf8()
97 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
98 // glib-Windows-Compatibility-Functions.html
99
100 char tmpstr[256]; char * tmploc;
101
102 tmploc = g_stpcpy(tmpstr, modpath);
103 tmploc = g_stpcpy(tmploc, "\\share\\libghemical");
104 libghemical_init(tmpstr);
105
106 tmploc = g_stpcpy(tmpstr, modpath);
107 tmploc = g_stpcpy(tmploc, "\\share\\ghemical");
108 strcpy(project::appdata_path, tmpstr);
109
110 g_free(modpath);
111
112 #endif // WIN32
113
114 singleton_cleaner<gtk_app> app_cleaner;
115 app_cleaner.SetInstance(gtk_app::GetAppX());
116
117 if (opt_f != NULL)
118 {
119 ifstream ifile;
120 ifile.open(opt_f, ios::in);
121 ReadGPR(* gtk_app::GetPrj(), ifile, false);
122 ifile.close();
123
124 //char buffer[256];
125 //prj->ParseProjectFileNameAndPath(filename);
126 //prj->GetProjectFileName(buffer, 256, true);
127 }
128 else if (opt_i != NULL)
129 {
130
131 #ifdef ENABLE_OPENBABEL
132
133 gtk_app::GetPrj()->ImportFile(opt_i, 0);
134
135 //gtk_app::GetPrj()->ParseProjectFileNameAndPath(filename);
136
137 #else // ENABLE_OPENBABEL
138
139 cout << _("Sorry! The file import feature is disabled ; you need to recompile") << endl;
140 cout << _("libghemical with --enable-openbabel option in order to fix this.") << endl;
141 exit(EXIT_FAILURE);
142
143 #endif // ENABLE_OPENBABEL
144
145 }
146
147 gtk_main();
148
149 #ifdef ENABLE_THREADS
150
151 gdk_threads_leave();
152
153 #endif // ENABLE_THREADS
154
155 return 0;
156 }
157
158 /*################################################################################################*/
159
160 // eof
0 // GTK_MAIN.H : main function for the GTK version.
1
2 // Copyright (C) 2003 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef GTK_MAIN_H
21 #define GTK_MAIN_H
22
23 #include "ghemicalconfig2.h"
24
25 #include "gtk_app.h"
26
27 #include <glib.h>
28 #include <unistd.h>
29
30 /*################################################################################################*/
31
32 int main(int, char **);
33
34 /*################################################################################################*/
35
36 #endif // GTK_MAIN_H
37
38 // eof
0 // GTK_MOLDYN_DIALOG.CPP
1
2 // Copyright (C) 2002 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_moldyn_dialog.h"
21
22 #include "local_i18n.h"
23
24 #include <gtk/gtk.h>
25
26 #include <cstring>
27 #include <sstream>
28 #include <iostream>
29 using namespace std;
30
31 /*################################################################################################*/
32
33 gtk_moldyn_dialog::gtk_moldyn_dialog(moldyn_param * p1) :
34 gtk_glade_dialog("glade/gtk_moldyn_dialog.glade")
35 {
36 param = p1;
37
38 dialog = glade_xml_get_widget(xml, "moldyn_dialog");
39 if (dialog == NULL)
40 {
41 cout << _("WARNING : moldyn_dialog : glade_xml_get_widget() failed!!!") << endl;
42 return;
43 }
44
45 // initialize the widgets...
46
47 entry_nsteps_h = glade_xml_get_widget(xml, "entry_nsteps_h");
48 entry_nsteps_e = glade_xml_get_widget(xml, "entry_nsteps_e");
49 entry_nsteps_s = glade_xml_get_widget(xml, "entry_nsteps_s");
50 entry_nsteps_c = glade_xml_get_widget(xml, "entry_nsteps_c");
51 entry_timestep = glade_xml_get_widget(xml, "entry_timestep");
52
53 entry_temperature = glade_xml_get_widget(xml, "entry_temperature");
54 entry_T_rt_hc = glade_xml_get_widget(xml, "entry_T_rt_hc");
55 entry_T_rt_es = glade_xml_get_widget(xml, "entry_T_rt_es");
56
57 entry_pressure = glade_xml_get_widget(xml, "entry_pressure");
58 entry_P_rtime = glade_xml_get_widget(xml, "entry_P_rtime");
59 entry_P_beta = glade_xml_get_widget(xml, "entry_P_beta");
60
61 checkbutton_constant_T = glade_xml_get_widget(xml, "checkbutton_constant_T");
62 checkbutton_constant_P = glade_xml_get_widget(xml, "checkbutton_constant_P");
63 //checkbutton_langevin = glade_xml_get_widget(xml, "checkbutton_langevin"); // REMOVED
64
65 entry_trajfile = glade_xml_get_widget(xml, "entry_trajfile");
66 button_browse = glade_xml_get_widget(xml, "button_browse");
67 file_selector = NULL;
68
69 ostringstream str;
70
71 str << param->nsteps_h << ends;
72 gtk_entry_set_text(GTK_ENTRY(entry_nsteps_h), str.str().c_str());
73
74 str.str(""); // blank it...
75
76 str << param->nsteps_e << ends;
77 gtk_entry_set_text(GTK_ENTRY(entry_nsteps_e), str.str().c_str());
78
79 str.str(""); // blank it...
80
81 str << param->nsteps_s << ends;
82 gtk_entry_set_text(GTK_ENTRY(entry_nsteps_s), str.str().c_str());
83
84 str.str(""); // blank it...
85
86 str << param->nsteps_c << ends;
87 gtk_entry_set_text(GTK_ENTRY(entry_nsteps_c), str.str().c_str());
88
89 str.str(""); // blank it...
90
91 str << param->timestep << ends;
92 gtk_entry_set_text(GTK_ENTRY(entry_timestep), str.str().c_str());
93
94 str.str(""); // blank it...
95
96 str << param->target_T << ends;
97 gtk_entry_set_text(GTK_ENTRY(entry_temperature), str.str().c_str());
98
99 str.str(""); // blank it...
100
101 str << param->T_rtime_hc << ends;
102 gtk_entry_set_text(GTK_ENTRY(entry_T_rt_hc), str.str().c_str());
103
104 str.str(""); // blank it...
105
106 str << param->T_rtime_es << ends;
107 gtk_entry_set_text(GTK_ENTRY(entry_T_rt_es), str.str().c_str());
108
109 str.str(""); // blank it...
110
111 str << param->target_P << ends;
112 gtk_entry_set_text(GTK_ENTRY(entry_pressure), str.str().c_str());
113
114 str.str(""); // blank it...
115
116 str << param->P_rtime << ends;
117 gtk_entry_set_text(GTK_ENTRY(entry_P_rtime), str.str().c_str());
118
119 str.str(""); // blank it...
120
121 str << param->P_beta << ends;
122 gtk_entry_set_text(GTK_ENTRY(entry_P_beta), str.str().c_str());
123
124 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_constant_T), (param->constant_T ? TRUE : FALSE));
125 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_constant_P), (param->constant_P ? TRUE : FALSE));
126 //gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_langevin), (param->langevin ? TRUE : FALSE)); // REMOVED
127
128 gtk_entry_set_text(GTK_ENTRY(entry_trajfile), param->filename);
129
130 // connect the handlers...
131
132 glade_xml_signal_connect_data(xml, "on_dialog_destroy", (GtkSignalFunc) handler_Destroy, (gpointer) this);
133
134 glade_xml_signal_connect_data(xml, "on_button_ok_clicked", (GtkSignalFunc) handler_ButtonOK, (gpointer) this);
135 glade_xml_signal_connect_data(xml, "on_button_cancel_clicked", (GtkSignalFunc) handler_ButtonCancel, (gpointer) this);
136
137 glade_xml_signal_connect_data(xml, "on_button_browse_clicked", (GtkSignalFunc) handler_ButtonBrowse, (gpointer) this);
138
139 gtk_dialog_run(GTK_DIALOG(dialog)); // MODAL
140 gtk_widget_destroy(dialog); // MODAL
141 }
142
143 gtk_moldyn_dialog::~gtk_moldyn_dialog(void)
144 {
145 }
146
147 void gtk_moldyn_dialog::handler_Destroy(GtkWidget *, gpointer data) // not really needed...
148 {
149 gtk_moldyn_dialog * ref = (gtk_moldyn_dialog *) data;
150 //cout << "handler_Destroy() : ref = " << ref << endl;
151 }
152
153 void gtk_moldyn_dialog::handler_ButtonOK(GtkWidget *, gpointer data)
154 {
155 gtk_moldyn_dialog * ref = (gtk_moldyn_dialog *) data;
156 //cout << "handler_ButtonOK() : ref = " << ref << endl;
157
158 // read the user's settings from widgets...
159 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
160
161 const gchar * buffer;
162
163 buffer = gtk_entry_get_text(GTK_ENTRY(ref->entry_nsteps_h));
164 istringstream istr1a(buffer);
165 istr1a >> ref->param->nsteps_h;
166
167 buffer = gtk_entry_get_text(GTK_ENTRY(ref->entry_nsteps_e));
168 istringstream istr1b(buffer);
169 istr1b >> ref->param->nsteps_e;
170
171 buffer = gtk_entry_get_text(GTK_ENTRY(ref->entry_nsteps_s));
172 istringstream istr1c(buffer);
173 istr1c >> ref->param->nsteps_s;
174
175 buffer = gtk_entry_get_text(GTK_ENTRY(ref->entry_nsteps_c));
176 istringstream istr1d(buffer);
177 istr1d >> ref->param->nsteps_c;
178
179 buffer = gtk_entry_get_text(GTK_ENTRY(ref->entry_timestep));
180 istringstream istr2(buffer);
181 istr2 >> ref->param->timestep;
182
183 buffer = gtk_entry_get_text(GTK_ENTRY(ref->entry_temperature));
184 istringstream istr3a(buffer);
185 istr3a >> ref->param->target_T;
186
187 buffer = gtk_entry_get_text(GTK_ENTRY(ref->entry_T_rt_hc));
188 istringstream istr3b(buffer);
189 istr3b >> ref->param->T_rtime_hc;
190
191 buffer = gtk_entry_get_text(GTK_ENTRY(ref->entry_T_rt_es));
192 istringstream istr3c(buffer);
193 istr3c >> ref->param->T_rtime_es;
194
195 buffer = gtk_entry_get_text(GTK_ENTRY(ref->entry_pressure));
196 istringstream istr4a(buffer);
197 istr4a >> ref->param->target_P;
198
199 buffer = gtk_entry_get_text(GTK_ENTRY(ref->entry_P_rtime));
200 istringstream istr4b(buffer);
201 istr4b >> ref->param->P_rtime;
202
203 buffer = gtk_entry_get_text(GTK_ENTRY(ref->entry_P_beta));
204 istringstream istr4c(buffer);
205 istr4c >> ref->param->P_beta;
206
207 ref->param->constant_T = (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ref->checkbutton_constant_T)) == TRUE ? true : false);
208 ref->param->constant_P = (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ref->checkbutton_constant_P)) == TRUE ? true : false);
209 //ref->param->langevin = (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ref->checkbutton_langevin)) == TRUE ? true : false); // REMOVED
210
211 buffer = gtk_entry_get_text(GTK_ENTRY(ref->entry_trajfile));
212 strcpy(ref->param->filename, buffer);
213
214 ref->param->Confirm();
215 }
216
217 void gtk_moldyn_dialog::handler_ButtonCancel(GtkWidget *, gpointer data) // not really needed...
218 {
219 gtk_moldyn_dialog * ref = (gtk_moldyn_dialog *) data;
220 //cout << "handler_ButtonCancel() : ref = " << ref << endl;
221 }
222
223 void gtk_moldyn_dialog::handler_ButtonBrowse(GtkWidget *, gpointer data)
224 {
225 gtk_moldyn_dialog * ref = (gtk_moldyn_dialog *) data;
226 //cout << "handler_ButtonBrowse() : ref = " << ref << endl;
227
228 // handle the file selection...
229 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
230
231 ref->file_selector = gtk_file_selection_new(_("Select a Trajectory File."));
232 g_signal_connect(GTK_FILE_SELECTION(ref->file_selector)->ok_button, "clicked", G_CALLBACK(handler_FileChooser), data);
233
234 g_signal_connect_swapped(GTK_FILE_SELECTION(ref->file_selector)->ok_button, "clicked", G_CALLBACK(gtk_widget_destroy), ref->file_selector);
235 g_signal_connect_swapped(GTK_FILE_SELECTION(ref->file_selector)->cancel_button, "clicked", G_CALLBACK(gtk_widget_destroy), ref->file_selector);
236
237 gtk_dialog_run(GTK_DIALOG(ref->file_selector)); ref->file_selector = NULL;
238 }
239
240 void gtk_moldyn_dialog::handler_FileChooser(GtkWidget *, gpointer data)
241 {
242 gtk_moldyn_dialog * ref = (gtk_moldyn_dialog *) data;
243 //cout << "handler_FileChooser() : ref = " << ref << endl;
244
245 // save the selected filename...
246 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
247
248 const gchar * selected_filename = gtk_file_selection_get_filename(GTK_FILE_SELECTION(ref->file_selector));
249 gtk_entry_set_text(GTK_ENTRY(ref->entry_trajfile), selected_filename);
250 }
251
252 /*################################################################################################*/
253
254 // eof
0 // GTK_MOLDYN_DIALOG.H : write a short description here...
1
2 // Copyright (C) 2002 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef GTK_MOLDYN_DIALOG_H
21 #define GTK_MOLDYN_DIALOG_H
22
23 //#include "ghemicalconfig2.h"
24
25 #include "gtk_glade_dialog.h"
26
27 #include <ghemical/moldyn.h>
28
29 /*################################################################################################*/
30
31 class gtk_moldyn_dialog : public gtk_glade_dialog
32 {
33 protected:
34
35 moldyn_param * param;
36
37 GtkWidget * dialog;
38
39 GtkWidget * entry_nsteps_h;
40 GtkWidget * entry_nsteps_e;
41 GtkWidget * entry_nsteps_s;
42 GtkWidget * entry_nsteps_c;
43 GtkWidget * entry_timestep;
44
45 GtkWidget * entry_temperature;
46 GtkWidget * entry_T_rt_hc;
47 GtkWidget * entry_T_rt_es;
48
49 GtkWidget * entry_pressure;
50 GtkWidget * entry_P_rtime;
51 GtkWidget * entry_P_beta;
52
53 GtkWidget * checkbutton_constant_T;
54 GtkWidget * checkbutton_constant_P;
55 //GtkWidget * checkbutton_langevin; // removed 2008-07-18
56
57 GtkWidget * entry_trajfile;
58 GtkWidget * button_browse;
59 GtkWidget * file_selector;
60
61 public:
62
63 gtk_moldyn_dialog(moldyn_param *);
64 ~gtk_moldyn_dialog(void);
65
66 static void handler_Destroy(GtkWidget *, gpointer);
67
68 static void handler_ButtonOK(GtkWidget *, gpointer);
69 static void handler_ButtonCancel(GtkWidget *, gpointer);
70
71 static void handler_ButtonBrowse(GtkWidget *, gpointer);
72 static void handler_FileChooser(GtkWidget *, gpointer);
73 };
74
75 /*################################################################################################*/
76
77 #endif // GTK_MOLDYN_DIALOG_H
78
79 // eof
0 // GTK_OGLVIEW_WND.CPP
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_oglview_wnd.h"
21
22 #include "oglview_wcl.h"
23 #include "gtk_project.h"
24
25 #include "gtk_simple_dialogs.h"
26
27 #include "local_i18n.h"
28
29 #include <ghemical/utility.h>
30
31 /*################################################################################################*/
32
33 GtkActionEntry gtk_oglview_wnd::entries[] =
34 {
35 { "AttachDetachGV", NULL, N_("Attach/Detach This View"), NULL, N_("Select whether this view is attached or in an independent window"), (GCallback) gtk_oglview_wnd::popup_ViewsAttachDetach },
36
37 { "FileMenu", NULL, N_("File") },
38 // ^^^^^^^^
39 { "Open", GTK_STOCK_OPEN, N_("Open"), NULL, N_("Open a file"), (GCallback) gtk_app::mainmenu_FileOpen },
40 #ifdef ENABLE_OPENBABEL
41 { "Import", GTK_STOCK_OPEN, N_("Import..."), NULL, N_("Import other file formats using libopenbabel"), (GCallback) gtk_project::popup_FileImport },
42 #endif // ENABLE_OPENBABEL
43 { "SaveAs", GTK_STOCK_SAVE, N_("Save as..."), NULL, N_("Save a file"), (GCallback) gtk_app::mainmenu_FileSaveAs },
44 #ifdef ENABLE_OPENBABEL
45 { "Export", GTK_STOCK_SAVE, N_("Export"), NULL, N_("Export other file formats using OpenBabel"), (GCallback) gtk_project::popup_FileExport },
46 #endif // ENABLE_OPENBABEL
47 // { "ExportGraphics", GTK_STOCK_SAVE, N_("Export Graphics"), NULL, N_("Export graphics"), (GCallback) gtk_project::popup_FileExportGraphics },
48 { "Close", GTK_STOCK_QUIT, N_("Close"), NULL, N_("Close the file"), (GCallback) gtk_app::mainmenu_FileClose },
49
50 { "FileExtraMenu", NULL, N_("Extra Tools") },
51 // ^^^^^^^^^^^^^
52 { "FileExtra1", NULL, N_("Import PDB"), NULL, N_("Import a PDB file"), (GCallback) gtk_project::popup_FileExtra1 },
53 // { "FileExtra2", NULL, N_("Import ???"), NULL, N_("Import a ??? file"), (GCallback) gtk_project::popup_FileExtra2 },
54
55 { "SelectMenu", NULL, N_("Select") },
56 // ^^^^^^^^^^
57 { "SelectAll", NULL, N_("Select All"), NULL, N_("Select all atoms"), (GCallback) gtk_project::popup_SelectAll },
58 { "SelectNone", NULL, N_("Select None"), NULL, N_("Select nothing"), (GCallback) gtk_project::popup_SelectNone },
59 { "InvertSelection", NULL, N_("Invert Selection"), NULL, N_("Invert the selection"), (GCallback) gtk_project::popup_InvertSelection },
60 { "HideSelected", NULL, N_("Hide Selected"), NULL, N_("Hide all selected atoms"), (GCallback) gtk_project::popup_HideSelected },
61 { "ShowSelected", NULL, N_("Show Selected"), NULL, N_("Show all selected atoms"), (GCallback) gtk_project::popup_ShowSelected },
62 { "LockSelected", NULL, N_("Lock Selected"), NULL, N_("Lock all selected atoms"), (GCallback) gtk_project::popup_LockSelected },
63 { "UnlockSelected", NULL, N_("Unlock Selected"), NULL, N_("Unlock all selected atoms"), (GCallback) gtk_project::popup_UnlockSelected },
64 { "DeleteSelected", NULL, N_("Delete Selected"), NULL, N_("Delete all selected atoms"), (GCallback) gtk_project::popup_DeleteSelected },
65
66 { "SelectModeMenu", NULL, N_("Selection Mode") },
67 // ^^^^^^^^^^^^^^
68 // todo : convert these into toggle items so that the setting from project is show in each of the graphics views...
69 { "SelectAtoms", NULL, N_("Select Atoms"), NULL, N_("Select single atoms"), (GCallback) gtk_project::popup_SelectModeAtom },
70 { "SelectResidues", NULL, N_("Select Residues"), NULL, N_("Select residues"), (GCallback) gtk_project::popup_SelectModeResidue },
71 { "SelectChains", NULL, N_("Select Chains"), NULL, N_("Select chains"), (GCallback) gtk_project::popup_SelectModeChain },
72 { "SelectMolecules", NULL, N_("Select Molecules"), NULL, N_("Select molecules"), (GCallback) gtk_project::popup_SelectModeMolecule },
73
74 { "RenderMenu", NULL, N_("Render") },
75 // ^^^^^^^^^^
76 // todo : convert these into toggle items so that the local setting is show in each of the graphics views...
77 { "RenderQuickUpdate", NULL, N_("Quick Update Mode"), NULL, N_("Quick Update Mode switches into Wireframe rendering mode when doing interactive work"), (GCallback) gtk_oglview_wnd::popup_RenderQuickUpdate },
78
79 { "RendViewsMenu", NULL, N_("Views") },
80 // ^^^^^^^^^^^^^
81 { "RendViewsDeleteView", NULL, N_("Delete This View"), NULL, N_("Delete this graphics view"), (GCallback) gtk_oglview_wnd::popup_ViewsDeleteView },
82 { "RendViewsPushCRDSet", NULL, N_("Save a CRD-set (experimental)"), NULL, N_("Save a coordinate set"), (GCallback) gtk_oglview_wnd::popup_ViewsPushCRDSet },
83 { "RendViewsSuperimpose", NULL, N_("Superimpose CRD-sets (experimental)"), NULL, N_("Superimpose coordinate sets"), (GCallback) gtk_oglview_wnd::popup_ViewsSuperimpose },
84
85 { "RendViewsCreateMenu", NULL, N_("Create") },
86 // ^^^^^^^^^^^^^^^^^^^
87 { "RendViewsCreateWnd", NULL, N_("New Window"), NULL, N_("Create a new view using the current camera"), (GCallback) gtk_oglview_wnd::popup_ViewsNewWnd },
88 { "RendViewsCreateCam", NULL, N_("New Camera"), NULL, N_("Create a new view using a new camera"), (GCallback) gtk_oglview_wnd::popup_ViewsNewCam },
89 { "RendViewsCreateELD", NULL, N_("Energy-level Diagram"), NULL, N_("Create a new energy-level diagram view"), (GCallback) gtk_project::popup_ViewsNewELD },
90 { "RendViewsCreateSSC", NULL, N_("Secondary Structure Constraints"), NULL, N_("Create a new secondary structure constraints view"), (GCallback) gtk_project::popup_ViewsNewSSC },
91
92 { "RendLightsMenu", NULL, N_("Lights") },
93 // ^^^^^^^^^^^^^^
94 { "RendLightsNewLight", NULL, N_("Create New Light"), NULL, N_("Create a new light object"), (GCallback) gtk_oglview_wnd::popup_LightsNewLight },
95 // todo : convert these into toggle items so that the local setting is show in each of the graphics views...
96 { "RendLightsEnableLocLights", NULL, N_("Enable Local Lights"), NULL, N_("Switch on/off the local light objects"), (GCallback) gtk_oglview_wnd::popup_LightsSwitchLoc },
97 { "RendLightsEnableGlobLights", NULL, N_("Enable Global Lights"), NULL, N_("Switch on/off the global light objects"), (GCallback) gtk_oglview_wnd::popup_LightsSwitchGlob },
98
99 { "RendRenderMenu", NULL, N_("Render Mode") },
100 // ^^^^^^^^^^^^^^
101 // todo : convert these into toggle items so that the local setting is show in each of the graphics views...
102 { "RendRenderBallStick", NULL, N_("Ball & Stick"), NULL, N_("Display atoms and bonds using Ball & Stick mode"), (GCallback) gtk_project::popup_RModeBallStick },
103 { "RendRenderVanDerWaals", NULL, N_("van der Waals"), NULL, N_("Display atoms and bonds using van der Waals mode"), (GCallback) gtk_project::popup_RModeVanDerWaals },
104 { "RendRenderCylinders", NULL, N_("Cylinders"), NULL, N_("Display atoms and bonds using Cylinders mode"), (GCallback) gtk_project::popup_RModeCylinders },
105 { "RendRenderWireframe", NULL, N_("Wireframe"), NULL, N_("Display atoms and bonds using Wireframe mode"), (GCallback) gtk_project::popup_RModeWireframe },
106 { "RendRenderNothing", NULL, N_("Nothing"), NULL, N_("Do not display atoms and bonds"), (GCallback) gtk_project::popup_RModeNothing },
107
108 { "RendColorMenu", NULL, N_("Color Mode") },
109 // ^^^^^^^^^^^^^
110 // todo : convert these into toggle items so that the local setting is show in each of the graphics views...
111 { "RendColorElement", NULL, N_("Element"), NULL, N_("Color atoms and bonds by element"), (GCallback) gtk_project::popup_CModeElement },
112 { "RendColorSecStruct", NULL, N_("Sec-Struct"), NULL, N_("Color atoms and bonds by secondary-structure state"), (GCallback) gtk_project::popup_CModeSecStruct },
113 { "RendColorHydPhob", NULL, N_("Hydrophobicity"), NULL, N_("Color atoms and bonds by hydrophobicity (experimental)"), (GCallback) gtk_project::popup_CModeHydPhob },
114
115 { "RendLabelMenu", NULL, N_("Label Mode") },
116 // ^^^^^^^^^^^^^
117 // todo : convert these into toggle items so that the local setting is show in each of the graphics views...
118 { "RendLabelIndex", NULL, N_("Index"), NULL, N_("Label atoms by atom index"), (GCallback) gtk_project::popup_LModeIndex },
119 { "RendLabelElement", NULL, N_("Element"), NULL, N_("Label atoms by element"), (GCallback) gtk_project::popup_LModeElement },
120 { "RendLabelFCharge", NULL, N_("Formal Charge"), NULL, N_("Label atoms by formal charge"), (GCallback) gtk_project::popup_LModeFCharge },
121 { "RendLabelPCharge", NULL, N_("Partial Charge"), NULL, N_("Label atoms by partial charge"), (GCallback) gtk_project::popup_LModePCharge },
122 { "RendLabelAtomType", NULL, N_("Atom Type"), NULL, N_("Label atoms by atom type"), (GCallback) gtk_project::popup_LModeAtomType },
123 { "RendLabelBuilderID", NULL, N_("Builder ID"), NULL, N_("Label atoms by sequence builder ID"), (GCallback) gtk_project::popup_LModeBuilderID },
124 { "RendLabelBondType", NULL, N_("Bond Type"), NULL, N_("Label bonds by bond type"), (GCallback) gtk_project::popup_LModeBondType },
125 { "RendLabelResidue", NULL, N_("Residue"), NULL, N_("Label by residue"), (GCallback) gtk_project::popup_LModeResidue },
126 { "RendLabelSecStruct", NULL, N_("Sec-Struct"), NULL, N_("Label by secondary structure state"), (GCallback) gtk_project::popup_LModeSecStruct },
127 { "RendLabelNothing", NULL, N_("Nothing"), NULL, N_("Do not show labels"), (GCallback) gtk_project::popup_LModeNothing },
128
129 { "RendProjectionMenu", NULL, N_("Projection") },
130 // ^^^^^^^^^^^^^^^^^^
131 // todo : convert these into toggle items so that the local setting is show in each of the graphics views...
132 { "RendProjOrthographic", NULL, N_("Orthographic"), NULL, N_("Use orthographic projection"), (GCallback) gtk_oglview_wnd::popup_ProjOrthographic },
133 { "RendProjPerspective", NULL, N_("Perspective"), NULL, N_("Use perspective projection"), (GCallback) gtk_oglview_wnd::popup_ProjPerspective },
134 // todo : convert these into toggle items so that the local setting is show in each of the graphics views...
135 // todo : add more color combinations ; red/green red/blue ; any others needed???
136 { "RendProjSterRedBlue", NULL, N_("Red-Blue Stereo"), NULL, N_("Use red-blue stereo mode"), (GCallback) gtk_oglview_wnd::popup_ProjSterRedBlue },
137 { "RendProjSterRelaxed", NULL, N_("Relaxed-Eye Stereo"), NULL, N_("Use relaxed-eye stereo mode"), (GCallback) gtk_oglview_wnd::popup_ProjSterRelaxed },
138
139 { "ObjectsMenu", NULL, N_("Objects") },
140 // ^^^^^^^^^^^
141 { "ObjectsRibbon", NULL, N_("Ribbon"), NULL, N_("Create a Ribbon object for displaying peptides/proteins"), (GCallback) gtk_project::popup_ObjRibbon },
142 { "ObjectsEPlane", NULL, N_("ESP-plane"), NULL, N_("Create an ESP-plane object"), (GCallback) gtk_project::popup_ObjEPlane },
143 { "ObjectsEVolume", NULL, N_("volume-rendered ESP"), NULL, N_("Create a volume-rendered ESP object"), (GCallback) gtk_project::popup_ObjEVolume },
144 { "ObjectsESurface", NULL, N_("ESP-surface"), NULL, N_("Create an ESP-surface object"), (GCallback) gtk_project::popup_ObjESurface },
145 { "ObjectsEVDWSurface", NULL, N_("ESP-colored vdW-surface"), NULL, N_("Create an ESP-colored vdW-surface object"), (GCallback) gtk_project::popup_ObjEVDWSurface },
146 { "ObjectsEDPlane", NULL, N_("Electron density plane"), NULL, N_("Create an Electron density plane object"), (GCallback) gtk_project::popup_ObjEDPlane },
147 { "ObjectsEDSurface", NULL, N_("Electron density surface"), NULL, N_("Create an Electron density surface object"), (GCallback) gtk_project::popup_ObjEDSurface },
148 { "ObjectsMOPlane", NULL, N_("Molecular orbital plane"), NULL, N_("Create a Molecular orbital plane object"), (GCallback) gtk_project::popup_ObjMOPlane },
149 { "ObjectsMOVolume", NULL, N_("Molecular orbital volume"), NULL, N_("Create a Molecular orbital volume object"), (GCallback) gtk_project::popup_ObjMOVolume },
150 { "ObjectsMOSurface", NULL, N_("Molecular orbital surface"), NULL, N_("Create a Molecular orbital surface object"), (GCallback) gtk_project::popup_ObjMOSurface },
151 { "ObjectsMODPlane", NULL, N_("MO-density plane"), NULL, N_("Create an MO-density plane object"), (GCallback) gtk_project::popup_ObjMODPlane },
152 { "ObjectsMODVolume", NULL, N_("MO-density volume"), NULL, N_("Create an MO-density volume object"), (GCallback) gtk_project::popup_ObjMODVolume },
153 { "ObjectsMODSurface", NULL, N_("MO-density surface"), NULL, N_("Create an MO-density surface object"), (GCallback) gtk_project::popup_ObjMODSurface },
154 { "ObjectsDeleteCurrent", NULL, N_("Delete Current Object"), NULL, N_("Delete the currently selected object"), (GCallback) gtk_project::popup_ObjectsDeleteCurrent },
155
156 { "ComputeMenu", NULL, N_("Compute") },
157 // ^^^^^^^^^^^
158 { "CompSetup", NULL, N_("Setup..."), NULL, "Setup or change the comp.chem. method in use", (GCallback) gtk_project::popup_CompSetup },
159 { "CompEnergy", NULL, N_("Energy"), NULL, "Compute a single-point energy", (GCallback) gtk_project::popup_CompEnergy },
160 { "CompGeomOpt", NULL, N_("Geometry Optimization..."), NULL, "Do a geometry optimization run", (GCallback) gtk_project::popup_CompGeomOpt },
161 { "CompMolDyn", NULL, N_("Molecular Dynamics..."), NULL, "Do a molecular dynamics run", (GCallback) gtk_project::popup_CompMolDyn },
162 { "CompRandomSearch", NULL, N_("Random Conformational Search..."), NULL, "Do a random conformational search", (GCallback) gtk_project::popup_CompRandomSearch },
163 { "CompSystematicSearch", NULL, N_("Systematic Conformational Search..."), NULL, "Do a random conformational search", (GCallback) gtk_project::popup_CompSystematicSearch },
164 { "CompMonteCarloSearch", NULL, N_("Monte Carlo Search..."), NULL, "Do a Monte Carlo type conformational search", (GCallback) gtk_project::popup_CompMonteCarloSearch },
165 { "CompTorEnePlot1D", NULL, N_("Plot Energy vs. 1 Torsion Angle..."), NULL, "...todo...", (GCallback) gtk_project::popup_CompTorsionEnergyPlot1D },
166 { "CompTorEnePlot2D", NULL, N_("Plot Energy vs. 2 Torsion Angles..."), NULL, "...todo...", (GCallback) gtk_project::popup_CompTorsionEnergyPlot2D },
167 { "CompPopAnaESP", NULL, N_("Population Analysis (ESP)"), NULL, "...todo...", (GCallback) gtk_project::popup_CompPopAnaElectrostatic },
168 { "CompTransitionSS", NULL, N_("Transition State Search..."), NULL, "...todo...", (GCallback) gtk_project::popup_CompTransitionStateSearch },
169 { "CompStationarySS", NULL, N_("Stationary State Search..."), NULL, "...todo...", (GCallback) gtk_project::popup_CompStationaryStateSearch },
170 { "CompFormula", NULL, N_("Formula"), NULL, "...todo...", (GCallback) gtk_project::popup_CompFormula },
171 { "CompUC_SetFormalCharge", NULL, "UnderConstruction ; RS ; Set Formal Charge", NULL, "...todo...", (GCallback) gtk_project::popup_CompSetFormalCharge },
172 { "CompUC_CreateRS", NULL, "UnderConstruction ; RS ; make RS", NULL, "...todo...", (GCallback) gtk_project::popup_CompCreateRS },
173 { "CompUC_CycleRS", NULL, "UnderConstruction ; RS ; cycle RS", NULL, "...todo...", (GCallback) gtk_project::popup_CompCycleRS },
174
175 { "TrajView", NULL, N_("MD Trajectory Viewer..."), NULL, "...todo...", (GCallback) gtk_project::popup_TrajView },
176 { "SetOrbital", NULL, N_("Set Current Orbital"), NULL, "...todo...", (GCallback) gtk_project::popup_SetOrbital },
177
178 { "BuildMenu", NULL, N_("Build") },
179 // ^^^^^^^^^
180 { "BuildSolvateBox", NULL, N_("Solvate Box..."), NULL, "...todo...", (GCallback) gtk_project::popup_SolvateBox },
181 { "BuildSolvateSphere", NULL, N_("Solvate Sphere..."), NULL, "...todo...", (GCallback) gtk_project::popup_SolvateSphere },
182 { "BuildSeqBuildAmino", NULL, N_("Sequence Builder (amino)..."), NULL, "...todo...", (GCallback) gtk_project::popup_BuilderAmino },
183 { "BuildSeqBuildNucleic", NULL, N_("Sequence Builder (nucleic)..."), NULL, "...todo...", (GCallback) gtk_project::popup_BuilderNucleic },
184 { "BuildCenter", NULL, N_("Center"), NULL, "...todo...", (GCallback) gtk_project::popup_Center },
185 { "BuildClear", NULL, N_("Zap All"), NULL, "...todo...", (GCallback) gtk_project::popup_ClearAll },
186
187 { "BuildHydrogensMenu", NULL, N_("Hydrogens") },
188 // ^^^^^^^^^^^^^^^^^^
189 { "BuildHydrogensAdd", NULL, N_("Add"), NULL, "...todo...", (GCallback) gtk_project::popup_HAdd },
190 { "BuildHydrogensRemove", NULL, N_("Remove"), NULL, "...todo...", (GCallback) gtk_project::popup_HRemove },
191
192 { "EnterCommand", NULL, N_("Enter a Command..."), NULL, "...todo...", (GCallback) gtk_project::popup_EnterCommand },
193 };
194
195 const char * gtk_oglview_wnd::ui_description =
196 "<ui>"
197 " <popup name='ggvMenu'>"
198 " <menuitem action='AttachDetachGV'/>"
199 " <separator/>"
200 " <menu action='FileMenu'>"
201 " <menuitem action='Open'/>"
202 #ifdef ENABLE_OPENBABEL
203 " <menuitem action='Import'/>"
204 #endif // ENABLE_OPENBABEL
205 " <separator/>"
206 " <menuitem action='SaveAs'/>"
207 #ifdef ENABLE_OPENBABEL
208 " <menuitem action='Export'/>"
209 #endif // ENABLE_OPENBABEL
210 //" <menuitem action='ExportGraphics'/>"
211 " <separator/>"
212 " <menu action='FileExtraMenu'>"
213 " <menuitem action='FileExtra1'/>"
214 //" <menuitem action='FileExtra2'/>"
215 " </menu>"
216 " <separator/>"
217 " <menuitem action='Close'/>"
218 " </menu>"
219 " <menu action='SelectMenu'>"
220 " <menuitem action='SelectAll'/>"
221 " <menuitem action='SelectNone'/>"
222 " <separator/>"
223 " <menuitem action='InvertSelection'/>"
224 " <separator/>"
225 " <menu action='SelectModeMenu'>"
226 " <menuitem action='SelectAtoms'/>"
227 " <menuitem action='SelectResidues'/>"
228 " <menuitem action='SelectChains'/>"
229 " <menuitem action='SelectMolecules'/>"
230 " </menu>"
231 " <separator/>"
232 " <menuitem action='HideSelected'/>"
233 " <menuitem action='ShowSelected'/>"
234 " <separator/>"
235 " <menuitem action='LockSelected'/>"
236 " <menuitem action='UnlockSelected'/>"
237 " <separator/>"
238 " <menuitem action='DeleteSelected'/>"
239 " </menu>"
240 " <separator/>"
241 " <menu action='RenderMenu'>"
242 " <menu action='RendViewsMenu'>"
243 " <menu action='RendViewsCreateMenu'>"
244 " <menuitem action='RendViewsCreateWnd'/>"
245 " <menuitem action='RendViewsCreateCam'/>"
246 " <separator/>"
247 " <menuitem action='RendViewsCreateELD'/>"
248 " <menuitem action='RendViewsCreateSSC'/>"
249 " </menu>"
250 " <menuitem action='RendViewsDeleteView'/>"
251 " <separator/>"
252 " <menuitem action='RendViewsPushCRDSet'/>"
253 " <menuitem action='RendViewsSuperimpose'/>"
254 " </menu>"
255 " <menu action='RendLightsMenu'>"
256 " <menuitem action='RendLightsNewLight'/>"
257 " <separator/>"
258 " <menuitem action='RendLightsEnableLocLights'/>"
259 " <menuitem action='RendLightsEnableGlobLights'/>"
260 " </menu>"
261 " <separator/>"
262 " <menu action='RendRenderMenu'>"
263 " <menuitem action='RendRenderBallStick'/>"
264 " <menuitem action='RendRenderVanDerWaals'/>"
265 " <menuitem action='RendRenderCylinders'/>"
266 " <menuitem action='RendRenderWireframe'/>"
267 " <menuitem action='RendRenderNothing'/>"
268 " </menu>"
269 " <menu action='RendColorMenu'>"
270 " <menuitem action='RendColorElement'/>"
271 " <menuitem action='RendColorSecStruct'/>"
272 " <menuitem action='RendColorHydPhob'/>"
273 " </menu>"
274 " <menu action='RendLabelMenu'>"
275 " <menuitem action='RendLabelIndex'/>"
276 " <menuitem action='RendLabelElement'/>"
277 " <menuitem action='RendLabelFCharge'/>"
278 " <menuitem action='RendLabelPCharge'/>"
279 " <menuitem action='RendLabelAtomType'/>"
280 " <menuitem action='RendLabelBuilderID'/>"
281 " <separator/>"
282 " <menuitem action='RendLabelBondType'/>"
283 " <separator/>"
284 " <menuitem action='RendLabelResidue'/>"
285 " <menuitem action='RendLabelSecStruct'/>"
286 " <separator/>"
287 " <menuitem action='RendLabelNothing'/>"
288 " </menu>"
289 " <separator/>"
290 " <menu action='RendProjectionMenu'>"
291 " <menuitem action='RendProjOrthographic'/>"
292 " <menuitem action='RendProjPerspective'/>"
293 " <separator/>"
294 " <menuitem action='RendProjSterRedBlue'/>"
295 " <menuitem action='RendProjSterRelaxed'/>"
296 " </menu>"
297 " <menuitem action='RenderQuickUpdate'/>"
298 " </menu>"
299 " <menu action='ObjectsMenu'>"
300 " <menuitem action='ObjectsRibbon'/>"
301 " <separator/>"
302 " <menuitem action='ObjectsEPlane'/>"
303 " <menuitem action='ObjectsEVolume'/>"
304 " <menuitem action='ObjectsESurface'/>"
305 " <menuitem action='ObjectsEVDWSurface'/>"
306 " <separator/>"
307 " <menuitem action='ObjectsEDPlane'/>"
308 " <menuitem action='ObjectsEDSurface'/>"
309 " <menuitem action='ObjectsMOPlane'/>"
310 " <menuitem action='ObjectsMOVolume'/>"
311 " <menuitem action='ObjectsMOSurface'/>"
312 " <menuitem action='ObjectsMODPlane'/>"
313 " <menuitem action='ObjectsMODVolume'/>"
314 " <menuitem action='ObjectsMODSurface'/>"
315 " <separator/>"
316 " <menuitem action='ObjectsDeleteCurrent'/>"
317 " </menu>"
318 " <separator/>"
319 " <menu action='ComputeMenu'>"
320 " <menuitem action='CompSetup'/>"
321 " <separator/>"
322 " <menuitem action='CompEnergy'/>"
323 " <menuitem action='CompGeomOpt'/>"
324 " <menuitem action='CompMolDyn'/>"
325 " <menuitem action='CompRandomSearch'/>"
326 " <menuitem action='CompSystematicSearch'/>"
327 " <menuitem action='CompMonteCarloSearch'/>"
328 " <separator/>"
329 " <menuitem action='CompTorEnePlot1D'/>"
330 " <menuitem action='CompTorEnePlot2D'/>"
331 " <separator/>"
332 " <menuitem action='CompPopAnaESP'/>"
333 " <menuitem action='CompTransitionSS'/>"
334 " <menuitem action='CompStationarySS'/>"
335 " <separator/>"
336 " <menuitem action='CompFormula'/>"
337 "<menuitem action='CompUC_SetFormalCharge'/>"
338 "<menuitem action='CompUC_CreateRS'/>"
339 "<menuitem action='CompUC_CycleRS'/>"
340 " </menu>"
341 " <menuitem action='TrajView'/>"
342 " <menuitem action='SetOrbital'/>"
343 " <separator/>"
344 " <menu action='BuildMenu'>"
345 " <menu action='BuildHydrogensMenu'>"
346 " <menuitem action='BuildHydrogensAdd'/>"
347 " <menuitem action='BuildHydrogensRemove'/>"
348 " </menu>"
349 " <separator/>"
350 " <menuitem action='BuildSolvateBox'/>"
351 " <menuitem action='BuildSolvateSphere'/>"
352 " <separator/>"
353 " <menuitem action='BuildSeqBuildAmino'/>"
354 " <menuitem action='BuildSeqBuildNucleic'/>"
355 " <separator/>"
356 " <menuitem action='BuildCenter'/>"
357 " <menuitem action='BuildClear'/>"
358 " </menu>"
359 " <separator/>"
360 " <menuitem action='EnterCommand'/>"
361 " </popup>"
362 "</ui>";
363
364 gtk_oglview_wnd::gtk_oglview_wnd(bool det_flag) :
365 gtk_wnd(det_flag)
366 {
367 GtkActionGroup * action_group = gtk_action_group_new("ggvActions");
368 gtk_action_group_set_translation_domain(action_group, GETTEXT_PACKAGE);
369 gtk_action_group_add_actions(action_group, entries, G_N_ELEMENTS(entries), GTK_WIDGET(view_widget));
370
371 // GtkUIManager * ui_manager = gtk_app::GetUIManager(); // does not give us independent menu widgets...
372 GtkUIManager * ui_manager = gtk_ui_manager_new();
373
374 gtk_ui_manager_insert_action_group(ui_manager, action_group, 0);
375
376 GError * error = NULL;
377 if (!gtk_ui_manager_add_ui_from_string(ui_manager, ui_description, -1, & error))
378 {
379 g_message(_("ERROR : Building popup-menu for gtk_oglview_wnd failed : %s"), error->message);
380 g_error_free(error); exit(EXIT_FAILURE);
381 }
382
383 popupmenu = gtk_ui_manager_get_widget(ui_manager, "/ggvMenu");
384
385 my_stereo_dialog = NULL;
386
387 timer_id = 0;
388 }
389
390 gtk_oglview_wnd::~gtk_oglview_wnd(void)
391 {
392 if (my_stereo_dialog != NULL)
393 {
394 delete my_stereo_dialog;
395 my_stereo_dialog = NULL;
396 }
397
398 if (timer_id != 0) SetTimerOFF();
399 }
400
401 bool gtk_oglview_wnd::IsTimerON(void)
402 {
403 return (timer_id != 0);
404 }
405
406 void gtk_oglview_wnd::SetTimerON(int msec)
407 {
408 if (timer_id != 0) SetTimerOFF();
409
410 // G_PRIORITY_HIGH_IDLE = 100
411 // resizing operations = HIGH_IDLE + 10 = 110
412 // redrawing operations = HIGH_IDLE + 20 = 120
413 // G_PRIORITY_DEFAULT_IDLE = 200 = HIGH_IDLE + 100
414
415 const gint priority = G_PRIORITY_HIGH_IDLE + 50;
416 timer_id = g_timeout_add_full(priority, msec, (GSourceFunc) TimerHandler, view_widget, NULL);
417 }
418
419 void gtk_oglview_wnd::SetTimerOFF(void)
420 {
421 if (timer_id != 0)
422 {
423 g_source_remove(timer_id);
424 timer_id = 0;
425 }
426 }
427
428 gboolean gtk_oglview_wnd::TimerHandler(GtkWidget * widget)
429 {
430 gtk_wnd * wnd = iv_Find(widget);
431 if (!wnd) return TRUE;
432
433 oglview_wcl * wcl = dynamic_cast<oglview_wcl *>(wnd->GetClient());
434 if (!wcl) return TRUE;
435
436 GLfloat anim[3] = { wcl->animX, wcl->animY, 0.0 };
437 custom_transformer_client * ctc = custom_app::GetAppC()->GetPrj();
438
439 if (ctc->tc_object_ref != NULL)
440 {
441 ctc->tc_object_ref->OrbitObject(anim, * wcl->GetCam());
442 wnd->RequestUpdate(true);
443 }
444
445 return TRUE;
446 }
447
448 // the popup-menu callbacks start here ; the popup-menu callbacks start here
449 // the popup-menu callbacks start here ; the popup-menu callbacks start here
450 // the popup-menu callbacks start here ; the popup-menu callbacks start here
451
452 void gtk_oglview_wnd::popup_ProjOrthographic(GtkWidget *, gpointer data)
453 {
454 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
455 oglview_wcl * wcl = dynamic_cast<oglview_wcl *>(wnd->GetClient());
456
457 wcl->cam->ortho = true;
458 //wcl->cam->stereo_mode = false;
459 //wcl->cam->stereo_relaxed = false;
460
461 gtk_app::GetPrjX()->UpdateGraphicsViews(wcl->cam);
462 }
463
464 void gtk_oglview_wnd::popup_ProjPerspective(GtkWidget *, gpointer data)
465 {
466 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
467 oglview_wcl * wcl = dynamic_cast<oglview_wcl *>(wnd->GetClient());
468
469 wcl->cam->ortho = false;
470 //wcl->cam->stereo_mode = false;
471 //wcl->cam->stereo_relaxed = false;
472
473 gtk_app::GetPrjX()->UpdateGraphicsViews(wcl->cam);
474 }
475
476 void gtk_oglview_wnd::popup_ProjSterRedBlue(GtkWidget *, gpointer data)
477 {
478 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
479 gtk_oglview_wnd * xwnd = dynamic_cast<gtk_oglview_wnd *>(wnd);
480 oglview_wcl * wcl = dynamic_cast<oglview_wcl *>(wnd->GetClient());
481
482 // this works as a toggle item!!!
483 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
484
485 if (wcl->cam->stereo_mode && !wcl->cam->stereo_relaxed)
486 {
487 wcl->cam->stereo_mode = false; // turn OFF..
488 wcl->cam->stereo_relaxed = false;
489
490 if (xwnd->my_stereo_dialog)
491 {
492 gtk_stereo_dialog * tmpdlg = xwnd->my_stereo_dialog;
493 xwnd->my_stereo_dialog = NULL; // disconnect...
494
495 tmpdlg->CloseDialog();
496 delete tmpdlg;
497 }
498 }
499 else
500 {
501 wcl->cam->stereo_mode = true; // turn ON!!!
502 wcl->cam->stereo_relaxed = false;
503
504 if (!xwnd->my_stereo_dialog) xwnd->my_stereo_dialog = new gtk_stereo_dialog(xwnd);
505 xwnd->my_stereo_dialog->SetScaling(0.25);
506 }
507
508 gtk_app::GetPrjX()->UpdateGraphicsViews(wcl->cam);
509 }
510
511 void gtk_oglview_wnd::popup_ProjSterRelaxed(GtkWidget *, gpointer data)
512 {
513 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
514 gtk_oglview_wnd * xwnd = dynamic_cast<gtk_oglview_wnd *>(wnd);
515 oglview_wcl * wcl = dynamic_cast<oglview_wcl *>(wnd->GetClient());
516
517 // this works as a toggle item!!!
518 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
519
520 if (wcl->cam->stereo_mode && wcl->cam->stereo_relaxed)
521 {
522 wcl->cam->stereo_mode = false; // turn OFF..
523 wcl->cam->stereo_relaxed = false;
524
525 if (xwnd->my_stereo_dialog)
526 {
527 gtk_stereo_dialog * tmpdlg = xwnd->my_stereo_dialog;
528 xwnd->my_stereo_dialog = NULL; // disconnect...
529
530 tmpdlg->CloseDialog();
531 delete tmpdlg;
532 }
533 }
534 else
535 {
536 wcl->cam->stereo_mode = true; // turn ON!!!
537 wcl->cam->stereo_relaxed = true;
538
539 if (!xwnd->my_stereo_dialog) xwnd->my_stereo_dialog = new gtk_stereo_dialog(xwnd);
540 xwnd->my_stereo_dialog->SetScaling(0.50);
541 }
542
543 gtk_app::GetPrjX()->UpdateGraphicsViews(wcl->cam);
544 }
545
546 void gtk_oglview_wnd::popup_RenderQuickUpdate(GtkWidget *, gpointer data)
547 {
548 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
549 oglview_wcl * wcl = dynamic_cast<oglview_wcl *>(wnd->GetClient());
550
551 wcl->quick_update = !wcl->quick_update;
552 }
553
554 void gtk_oglview_wnd::popup_ViewsAttachDetach(GtkWidget *, gpointer data)
555 {
556 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
557 oglview_wcl * wcl = dynamic_cast<oglview_wcl *>(wnd->GetClient());
558
559 gtk_app::GetAppX()->AttachDetachView(wcl);
560 }
561
562 void gtk_oglview_wnd::popup_ViewsNewWnd(GtkWidget *, gpointer data)
563 {
564 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
565 oglview_wcl * wcl = dynamic_cast<oglview_wcl *>(wnd->GetClient());
566
567 bool detached = true;
568
569 gtk_app::GetPrjX()->AddGraphicsClient(wcl->ccam, detached);
570 }
571
572 void gtk_oglview_wnd::popup_ViewsNewCam(GtkWidget *, gpointer data)
573 {
574 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
575 oglview_wcl * wcl = dynamic_cast<oglview_wcl *>(wnd->GetClient());
576
577 bool detached = true;
578
579 gtk_app::GetPrjX()->AddGraphicsClient(NULL, detached);
580 }
581
582 void gtk_oglview_wnd::popup_ViewsDeleteView(GtkWidget *, gpointer data)
583 {
584 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
585 oglview_wcl * wcl = dynamic_cast<oglview_wcl *>(wnd->GetClient());
586
587 gtk_app::GetPrjX()->RemoveGraphicsClient(wcl, false);
588 }
589
590 void gtk_oglview_wnd::popup_ViewsPushCRDSet(GtkWidget *, gpointer data)
591 {
592 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
593 oglview_wcl * wcl = dynamic_cast<oglview_wcl *>(wnd->GetClient());
594
595 gtk_project * prjX = gtk_app::GetPrjX();
596
597 prjX->PushCRDSets(1);
598
599 i32s tmp1 = ((i32s) prjX->GetCRDSetCount()) - 1;
600 while (tmp1 > 0) { prjX->CopyCRDSet(tmp1 - 1, tmp1); tmp1 -= 1; }
601
602 int last_crdset = ((int) prjX->GetCRDSetCount()) - 1;
603 prjX->SetCRDSetVisible(last_crdset, true);
604 prjX->UpdateAllGraphicsViews();
605 }
606
607 void gtk_oglview_wnd::popup_ViewsSuperimpose(GtkWidget *, gpointer data)
608 {
609 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
610 oglview_wcl * wcl = dynamic_cast<oglview_wcl *>(wnd->GetClient());
611
612 #ifdef ENABLE_OPENBABEL
613 base_app::GetAppB()->ErrorMessage("\
614 FIXME : superimpose conflicts with openbabel?\n\
615 g++ (GCC) 3.3.5 (Debian 1:3.3.5-13) 20050701\n\
616 compiler says superimpose is undeclared???");
617 #else
618 f64 sum = 0.0;
619 for (i32s n1 = 1;n1 < (i32s) custom_app::GetPrj()->GetCRDSetCount();n1++)
620 {
621 superimpose si(custom_app::GetPrj(), 0, n1);
622
623 for (i32s n2 = 0;n2 < 100;n2++)
624 {
625 si.TakeCGStep(conjugate_gradient::Newton2An);
626 }
627
628 f64 rms = si.GetRMS(); sum += rms;
629 cout << _("sets 0 <-> ") << n1 << _(" RMS = ") << rms << endl;
630
631 si.Transform(); // modify the coordinates!!!
632 }
633
634 f64 average = sum / ((f64) custom_app::GetPrj()->GetCRDSetCount() - 1);
635 cout << _("average RMS = ") << average << endl;
636 #endif // ENABLE_OPENBABEL
637
638 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
639 }
640
641 void gtk_oglview_wnd::popup_LightsNewLight(GtkWidget *, gpointer data)
642 {
643 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
644 oglview_wcl * wcl = dynamic_cast<oglview_wcl *>(wnd->GetClient());
645
646 static const char command[] = "add light";
647 new gtk_command_dialog(gtk_app::GetPrjX(), wcl, command);
648 }
649
650 void gtk_oglview_wnd::popup_LightsSwitchLoc(GtkWidget *, gpointer data)
651 {
652 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
653 custom_app::GetPrj()->DoSwitchLocalLights(wnd->GetClient()->GetCam(), false);
654 }
655
656 void gtk_oglview_wnd::popup_LightsSwitchGlob(GtkWidget *, gpointer data)
657 {
658 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
659 custom_app::GetPrj()->DoSwitchGlobalLights(wnd->GetClient()->GetCam(), false);
660 }
661
662 /*################################################################################################*/
663
664 // eof
0 // GTK_OGLVIEW_WND.H : write a short description here...
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ghemicalconfig2.h"
21
22 #ifndef GTK_OGLVIEW_WND_H
23 #define GTK_OGLVIEW_WND_H
24
25 class gtk_oglview_wnd;
26
27 #include "gtk_wnd.h"
28 #include "custom_camera.h"
29 #include "gtk_stereo_dialog.h"
30
31 /*################################################################################################*/
32
33 class gtk_oglview_wnd :
34 public gtk_wnd
35 {
36 private:
37
38 static GtkActionEntry entries[];
39 static const char * ui_description;
40
41 gtk_stereo_dialog * my_stereo_dialog;
42
43 guint timer_id;
44
45 friend class gtk_stereo_dialog;
46
47 public:
48
49 gtk_oglview_wnd(bool);
50 ~gtk_oglview_wnd(void);
51
52 bool IsTimerON(void); // virtual
53
54 void SetTimerON(int); // virtual
55 void SetTimerOFF(void); // virtual
56
57 static gboolean TimerHandler(GtkWidget *);
58
59 // the popup-menu callbacks start here ; the popup-menu callbacks start here
60 // the popup-menu callbacks start here ; the popup-menu callbacks start here
61 // the popup-menu callbacks start here ; the popup-menu callbacks start here
62
63 static void popup_ProjOrthographic(GtkWidget *, gpointer); // toggle!!!
64 static void popup_ProjPerspective(GtkWidget *, gpointer); // toggle!!!
65
66 static void popup_ProjSterRedBlue(GtkWidget *, gpointer); // toggle!!!
67 static void popup_ProjSterRelaxed(GtkWidget *, gpointer); // toggle!!!
68
69 static void popup_RenderQuickUpdate(GtkWidget *, gpointer); // toggle!!!
70
71 static void popup_ViewsAttachDetach(GtkWidget *, gpointer);
72 static void popup_ViewsNewWnd(GtkWidget *, gpointer);
73 static void popup_ViewsNewCam(GtkWidget *, gpointer);
74 static void popup_ViewsDeleteView(GtkWidget *, gpointer);
75
76 static void popup_ViewsPushCRDSet(GtkWidget *, gpointer);
77 static void popup_ViewsSuperimpose(GtkWidget *, gpointer);
78
79 static void popup_LightsNewLight(GtkWidget *, gpointer);
80 static void popup_LightsSwitchLoc(GtkWidget *, gpointer);
81 static void popup_LightsSwitchGlob(GtkWidget *, gpointer);
82 };
83
84 /*################################################################################################*/
85
86 #endif // GTK_OGLVIEW_WND_H
87
88 // eof
0 // GTK_P1DVIEW_WND.CPP
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_p1dview_wnd.h"
21
22 #include "p1dview_wcl.h"
23 #include "gtk_app.h"
24
25 #include "local_i18n.h"
26
27 /*################################################################################################*/
28
29 GtkActionEntry gtk_p1dview_wnd::entries[] =
30 {
31 { "AttachDetachPlot1D", NULL, N_("Attach/Detach This View"), NULL, N_("Select whether this view is attached or in an independent window"), (GCallback) gtk_p1dview_wnd::popup_AttachDetach },
32 { "DeleteViewPlot1D", NULL, N_("Delete View"), NULL, N_("Delete this view"), (GCallback) gtk_p1dview_wnd::popup_DeleteView }
33 };
34
35 const char * gtk_p1dview_wnd::ui_description =
36 "<ui>"
37 " <popup name='gp1dvMenu'>"
38 " <menuitem action='AttachDetachPlot1D'/>"
39 " <separator/>"
40 " <menuitem action='DeleteViewPlot1D'/>"
41 " </popup>"
42 "</ui>";
43
44 gtk_p1dview_wnd::gtk_p1dview_wnd(bool det_flag) :
45 gtk_wnd(det_flag)
46 {
47 GtkActionGroup * action_group = gtk_action_group_new("gp1dvActions");
48 gtk_action_group_set_translation_domain(action_group, GETTEXT_PACKAGE);
49 gtk_action_group_add_actions(action_group, entries, G_N_ELEMENTS(entries), GTK_WIDGET(view_widget));
50
51 gtk_ui_manager_insert_action_group(gtk_app::GetUIManager(), action_group, 0);
52
53 GError * error = NULL;
54 if (!gtk_ui_manager_add_ui_from_string(gtk_app::GetUIManager(), ui_description, -1, & error))
55 {
56 g_message(_("ERROR : Building popup-menu for gtk_p1dview_wnd failed : %s"), error->message);
57 g_error_free(error); exit(EXIT_FAILURE);
58 }
59
60 // set gtk_view::popupmenu so that gtk_ogl_view::ButtonHandler() will display it...
61 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62
63 popupmenu = gtk_ui_manager_get_widget(gtk_app::GetUIManager(), "/gp1dvMenu");
64 }
65
66 gtk_p1dview_wnd::~gtk_p1dview_wnd(void)
67 {
68 }
69
70 // here are the popup menu callbacks:
71 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
72
73 void gtk_p1dview_wnd::popup_AttachDetach(GtkWidget *, gpointer data)
74 {
75 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
76 p1dview_wcl * wcl = dynamic_cast<p1dview_wcl *>(wnd->GetClient());
77
78 gtk_app::GetAppX()->AttachDetachView(wcl);
79 }
80
81 void gtk_p1dview_wnd::popup_DeleteView(GtkWidget *, gpointer data)
82 {
83 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
84 p1dview_wcl * wcl = dynamic_cast<p1dview_wcl *>(wnd->GetClient());
85
86 gtk_app::GetPrjX()->RemovePlottingClient(wcl);
87 }
88
89 /*################################################################################################*/
90
91 // eof
0 // GTK_P1DVIEW_WND.H : write a short description here...
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ghemicalconfig2.h"
21
22 #ifndef GTK_P1DVIEW_WND_H
23 #define GTK_P1DVIEW_WND_H
24
25 #include "gtk_wnd.h"
26
27 /*################################################################################################*/
28
29 class gtk_p1dview_wnd :
30 public gtk_wnd
31 {
32 private:
33
34 static GtkActionEntry entries[];
35 static const char * ui_description;
36
37 public:
38
39 gtk_p1dview_wnd(bool);
40 ~gtk_p1dview_wnd(void);
41
42 static void popup_AttachDetach(GtkWidget *, gpointer);
43 static void popup_DeleteView(GtkWidget *, gpointer);
44 };
45
46 /*################################################################################################*/
47
48 #endif // GTK_P1DVIEW_WND_H
49
50 // eof
0 // GTK_P2DVIEW_WND.CPP
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_p2dview_wnd.h"
21
22 #include "p2dview_wcl.h"
23 #include "gtk_app.h"
24
25 #include "local_i18n.h"
26
27 /*################################################################################################*/
28
29 GtkActionEntry gtk_p2dview_wnd::entries[] =
30 {
31 { "AttachDetachPlot2D", NULL, N_("Attach/Detach This View"), NULL, N_("Select whether this view is attached or in an independent window"), (GCallback) gtk_p2dview_wnd::popup_AttachDetach },
32 { "DeleteViewPlot2D", NULL, N_("Delete View"), NULL, N_("Delete this view"), (GCallback) gtk_p2dview_wnd::popup_DeleteView }
33 };
34
35 const char * gtk_p2dview_wnd::ui_description =
36 "<ui>"
37 " <popup name='gp2dvMenu'>"
38 " <menuitem action='AttachDetachPlot2D'/>"
39 " <separator/>"
40 " <menuitem action='DeleteViewPlot2D'/>"
41 " </popup>"
42 "</ui>";
43
44 gtk_p2dview_wnd::gtk_p2dview_wnd(bool det_flag) :
45 gtk_wnd(det_flag)
46 {
47 GtkActionGroup * action_group = gtk_action_group_new("gp2dvActions");
48 gtk_action_group_set_translation_domain(action_group, GETTEXT_PACKAGE);
49 gtk_action_group_add_actions(action_group, entries, G_N_ELEMENTS(entries), GTK_WIDGET(view_widget));
50
51 gtk_ui_manager_insert_action_group(gtk_app::GetUIManager(), action_group, 0);
52
53 GError * error = NULL;
54 if (!gtk_ui_manager_add_ui_from_string(gtk_app::GetUIManager(), ui_description, -1, & error))
55 {
56 g_message(_("ERROR : Building popup-menu for gtk_p2dview_wnd failed : %s"), error->message);
57 g_error_free(error); exit(EXIT_FAILURE);
58 }
59
60 // set gtk_view::popupmenu so that gtk_ogl_view::ButtonHandler() will display it...
61 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62
63 popupmenu = gtk_ui_manager_get_widget(gtk_app::GetUIManager(), "/gp2dvMenu");
64 }
65
66 gtk_p2dview_wnd::~gtk_p2dview_wnd(void)
67 {
68 }
69
70 // here are the popup menu callbacks:
71 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
72
73 void gtk_p2dview_wnd::popup_AttachDetach(GtkWidget *, gpointer data)
74 {
75 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
76 p2dview_wcl * wcl = dynamic_cast<p2dview_wcl *>(wnd->GetClient());
77
78 gtk_app::GetAppX()->AttachDetachView(wcl);
79 }
80
81 void gtk_p2dview_wnd::popup_DeleteView(GtkWidget *, gpointer data)
82 {
83 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
84 p2dview_wcl * wcl = dynamic_cast<p2dview_wcl *>(wnd->GetClient());
85
86 gtk_app::GetPrjX()->RemovePlottingClient(wcl);
87 }
88
89 /*################################################################################################*/
90
91 // eof
0 // GTK_P2DVIEW_WND.H : write a short description here...
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ghemicalconfig2.h"
21
22 #ifndef GTK_P2DVIEW_WND_H
23 #define GTK_P2DVIEW_WND_H
24
25 #include "gtk_wnd.h"
26
27 /*################################################################################################*/
28
29 class gtk_p2dview_wnd :
30 public gtk_wnd
31 {
32 private:
33
34 static GtkActionEntry entries[];
35 static const char * ui_description;
36
37 public:
38
39 gtk_p2dview_wnd(bool);
40 ~gtk_p2dview_wnd(void);
41
42 static void popup_AttachDetach(GtkWidget *, gpointer);
43 static void popup_DeleteView(GtkWidget *, gpointer);
44 };
45
46 /*################################################################################################*/
47
48 #endif // GTK_P2DVIEW_WND_H
49
50 // eof
0 // GTK_PROGRESS_DIALOG.CPP
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_progress_dialog.h"
21
22 #include "local_i18n.h"
23
24 #include <gtk/gtk.h>
25
26 #include <sstream>
27 #include <iostream>
28 using namespace std;
29
30 /*################################################################################################*/
31
32 gtk_progress_dialog::gtk_progress_dialog(const char * jobname, bool show_pbar, int graphs_n, int graphs_sz) :
33 gtk_glade_dialog("glade/gtk_progress_dialog.glade")
34 {
35 dialog = glade_xml_get_widget(xml, "progress_dialog");
36 if (dialog == NULL)
37 {
38 cout << _("WARNING : progress_dialog : glade_xml_get_widget() failed!!!") << endl;
39 return;
40 }
41
42 cancel = false;
43
44 g_n = graphs_n;
45 g_sz = graphs_sz;
46 g_fill = 0;
47
48 g_data = NULL;
49 if (g_n > 0 && g_sz > 0)
50 {
51 g_data = new double[g_n * g_sz];
52 }
53
54 // initialize the widgets...
55
56 entry_job = glade_xml_get_widget(xml, "entry_job");
57 drawingarea_job = glade_xml_get_widget(xml, "drawingarea_job");
58 progressbar_job = glade_xml_get_widget(xml, "progressbar_job");
59
60 gtk_entry_set_text(GTK_ENTRY(entry_job), jobname);
61
62 gtk_progress_bar_set_text(GTK_PROGRESS_BAR(progressbar_job), "Progress");
63 gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(progressbar_job), 0.0);
64
65 // connect the handlers...
66
67 glade_xml_signal_connect_data(xml, "on_dialog_destroy", (GtkSignalFunc) handler_Destroy, (gpointer) this);
68 glade_xml_signal_connect_data(xml, "on_button_cancel_clicked", (GtkSignalFunc) handler_ButtonCancel, (gpointer) this);
69
70 if (graphs_n > 0)
71 {
72 gtk_widget_set_size_request(drawingarea_job, 100, 100);
73 g_signal_connect(G_OBJECT(drawingarea_job), "expose_event", G_CALLBACK(handler_ExposeEvent), this);
74
75 gtk_widget_show(drawingarea_job);
76 }
77 else
78 {
79 gtk_widget_hide(drawingarea_job);
80 }
81
82 if (show_pbar)
83 {
84 gtk_widget_show(progressbar_job);
85 }
86 else
87 {
88 gtk_widget_hide(progressbar_job);
89 }
90
91 // create the dialog as a modeless one (for threads).
92
93 // but it should behave like it were modal!!!
94 // THE USER SHOULD NOT HAVE ACCESS TO ANY (POPUP-)MENUS!!!
95
96 gtk_widget_show(dialog); // MODELESS
97
98 //////////////////////////////////////////////////
99 //gtk_dialog_run(GTK_DIALOG(dialog)); // MODAL
100 }
101
102 gtk_progress_dialog::~gtk_progress_dialog(void)
103 {
104 if (g_data != NULL)
105 {
106 delete[] g_data;
107 g_data = NULL;
108 }
109 }
110
111 void gtk_progress_dialog::handler_Destroy(GtkWidget *, gpointer data)
112 {
113 gtk_progress_dialog * ref = (gtk_progress_dialog *) data;
114 //cout << "handler_Destroy() : ref = " << ref << endl;
115 }
116
117 void gtk_progress_dialog::handler_ButtonCancel(GtkWidget *, gpointer data)
118 {
119 gtk_progress_dialog * ref = (gtk_progress_dialog *) data;
120 //cout << "handler_ButtonCancel() : ref = " << ref << endl;
121
122 // just send a message that we want cancel the current operation.
123 // the dialog is closed elsewhere (automatically if not cancelled).
124
125 ref->cancel = true;
126 }
127
128 gboolean gtk_progress_dialog::handler_ExposeEvent(GtkWidget * widget, GdkEventExpose * event, gpointer data)
129 {
130 gtk_progress_dialog * ref = (gtk_progress_dialog *) data;
131 //cout << "handler_ExposeEvent() : ref = " << ref << endl;
132
133 // update the graphs...
134 // ^^^^^^^^^^^^^^^^^^^^
135 // what about thread safety issues here?
136 // it appears that the gdk_threads mechanism is enough...
137
138 ref->da_w = widget->allocation.width;
139 ref->da_h = widget->allocation.height;
140
141 // there is no need to blank the drawingarea???
142 // there is no need to blank the drawingarea???
143 // there is no need to blank the drawingarea???
144
145 const double dx = ref->da_w / ref->g_sz;
146
147 int sz = ref->g_fill;
148 if (sz > ref->g_sz) sz = ref->g_sz;
149
150 for (int i = 0;i < ref->g_n;i++)
151 {
152 // find the min and max values.
153
154 double min = ref->g_data[i * ref->g_sz + 0];
155 double max = min;
156
157 for (int f = 1;f < sz;f++)
158 {
159 double v = ref->g_data[i * ref->g_sz + f];
160
161 if (v < min) min = v;
162 if (v > max) max = v;
163 }
164
165 double deltay = max - min;
166 if (deltay < 1.0)
167 {
168 deltay = 1.0;
169
170 double midy = (min + max) * 0.5;
171 min = midy - deltay * 0.5;
172 max = midy + deltay * 0.5;
173 }
174
175 // draw the graph
176
177 double xv = 0.0;
178
179 int start = (ref->g_fill % ref->g_sz);
180 if (ref->g_fill < ref->g_sz) start = 0;
181
182 for (int f = 0;f < sz - 1;f++)
183 {
184 int index1 = ((start + f + 0) % ref->g_sz);
185 int index2 = ((start + f + 1) % ref->g_sz);
186
187 double v1 = ref->g_data[i * ref->g_sz + index1];
188 double v2 = ref->g_data[i * ref->g_sz + index2];
189
190 double yv1 = ref->da_h * (1.0 - (v1 - min) / deltay);
191 double yv2 = ref->da_h * (1.0 - (v2 - min) / deltay);
192
193 gdk_draw_line(widget->window, widget->style->fg_gc[GTK_WIDGET_STATE(widget)], (int) xv, (int) yv1, (int) (xv + dx), (int) yv2);
194
195 xv += dx;
196 }
197 }
198
199 return TRUE;
200 }
201
202 /*################################################################################################*/
203
204 // eof
0 // GTK_PROGRESS_DIALOG.H : write a short description here...
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef GTK_PROGRESS_DIALOG_H
21 #define GTK_PROGRESS_DIALOG_H
22
23 //#include "ghemicalconfig2.h"
24
25 #include "gtk_glade_dialog.h"
26
27 /*################################################################################################*/
28
29 class gtk_progress_dialog : public gtk_glade_dialog
30 {
31 protected:
32
33 GtkWidget * dialog;
34
35 GtkWidget * entry_job;
36 GtkWidget * drawingarea_job; int da_h; int da_w;
37 GtkWidget * progressbar_job;
38
39 bool cancel;
40
41 int g_n; int g_sz; int g_fill;
42 double * g_data;
43
44 friend class gtk_project;
45
46 public:
47
48 gtk_progress_dialog(const char *, bool, int, int);
49 ~gtk_progress_dialog(void);
50
51 static void handler_Destroy(GtkWidget *, gpointer);
52 static void handler_ButtonCancel(GtkWidget *, gpointer);
53
54 static gboolean handler_ExposeEvent(GtkWidget *, GdkEventExpose *, gpointer);
55 };
56
57 /*################################################################################################*/
58
59 #endif // GTK_PROGRESS_DIALOG_H
60
61 // eof
0 // GTK_PROJECT.CPP
1
2 // Copyright (C) 1998 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_project.h" // config.h is here -> we get ENABLE-macros here...
21
22 #include "project.h"
23
24 #include "appdefine.h"
25
26 #include <ghemical/geomopt.h>
27 #include <ghemical/moldyn.h>
28
29 #include <ghemical/eng1_qm.h>
30 #include <ghemical/eng1_mm.h>
31 #include <ghemical/eng1_sf.h>
32
33 #include "color.h"
34
35 #include "gtk_oglview_wnd.h"
36
37 #include "gtk_p1dview_wnd.h"
38 #include "gtk_p2dview_wnd.h"
39 #include "gtk_eldview_wnd.h"
40 #include "gtk_rcpview_wnd.h"
41 #include "gtk_gpcview_wnd.h"
42
43 #include "ogl_plane.h"
44 #include "ogl_surface.h"
45 #include "ogl_ribbon.h"
46
47 #include "gtk_file_import_dialog.h"
48 #include "gtk_file_export_dialog.h"
49
50 #include "gtk_geomopt_dialog.h"
51 #include "gtk_moldyn_dialog.h"
52
53 #include "gtk_setup_dialog.h"
54 #include "gtk_progress_dialog.h"
55
56 #include "local_i18n.h"
57
58 #include <glade/glade.h>
59
60 #include <sstream>
61 using namespace std;
62
63 /*################################################################################################*/
64
65 gtk_project::gtk_project(void) :
66 project()
67 {
68 pd = NULL;
69 }
70
71 void gtk_project::DoSafeStart(void)
72 {
73
74 // this is effectively the ctor of this class.
75 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
76 // moved it here so that the objects can be safely constructed and the
77 // pointer obtained before it is actually used anywhere. 20070816 TH
78
79 AddGraphicsClient(NULL, false);
80 PrintToLog(_("A new project created.\n"));
81 }
82
83 gtk_project::~gtk_project(void)
84 {
85 if (pd != NULL) cout << "DEBUG : MEM-LEAK pd" << endl;
86 }
87
88 oglview_wcl * gtk_project::GetClient(GtkWidget * widget)
89 {
90 gtk_wnd * wnd = gtk_wnd::iv_Find(widget);
91 if (wnd == NULL) cout << "DEBUG : gtk_project::GetClient() failed!" << endl;
92 else
93 {
94 base_wcl * wcl1 = wnd->GetClient();
95 if (wcl1 == NULL) cout << "DEBUG : NULL wcl1" << endl;
96
97 oglview_wcl * wcl2 = dynamic_cast<oglview_wcl *>(wcl1);
98 if (wcl2 == NULL) cout << "DEBUG : NULL wcl2" << endl;
99
100 return wcl2;
101 }
102
103 return NULL;
104 }
105
106 #ifdef ENABLE_THREADS
107
108 void gtk_project::ThreadLock(void)
109 {
110 // this is a "technical" thread lock needed in GTK/GDK.
111
112 // BUT in addition to this we need to make sure that the
113 // user interface is not accessed during any thread processing!
114
115 // this means that user may not access menus or mouse tools during
116 // multithreaded computations ; see project::background_job_running
117 // for more about this...
118
119 gdk_threads_enter();
120 }
121
122 void gtk_project::ThreadUnlock(void)
123 {
124 gdk_threads_leave();
125 }
126
127 #else // ENABLE_THREADS
128
129 void gtk_project::NoThreadsIterate(void)
130 {
131 while (gtk_events_pending()) gtk_main_iteration();
132 }
133
134 #endif // ENABLE_THREADS
135
136 bool gtk_project::SetProgress(double progress, double * graphdata)
137 {
138 gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(pd->progressbar_job), progress);
139
140 if (graphdata != NULL)
141 {
142 int f = (pd->g_fill % pd->g_sz);
143 for (int i = 0;i < pd->g_n;i++)
144 {
145 pd->g_data[i * pd->g_sz + f] = graphdata[i];
146 }
147
148 pd->g_fill++;
149
150 gtk_widget_queue_draw_area(pd->drawingarea_job, 0, 0, pd->da_w, pd->da_h);
151 }
152
153 return pd->cancel;
154 }
155
156 void gtk_project::CreateProgressDialog(const char * title, bool show_pbar, int graphs_n, int graphs_s)
157 {
158 pd = new gtk_progress_dialog(title, show_pbar, graphs_n, graphs_s);
159 }
160
161 void gtk_project::DestroyProgressDialog(void)
162 {
163 gtk_widget_destroy(pd->dialog);
164 delete pd; pd = NULL;
165 }
166
167 void gtk_project::start_job_GeomOpt(jobinfo_GeomOpt * ji)
168 {
169 if (ji->show_dialog)
170 {
171 new gtk_geomopt_dialog(& ji->go); // the object will call delete itself...
172 cout << "DEBUG : now returning from gtk_project::GeomOptGetParam()." << endl;
173
174 // the above dialog is (AND IT MUST BE) a modal one; we will return
175 // from the function only after the dialog is closed.
176 }
177
178 if (!ji->go.GetConfirm()) return;
179
180 #ifdef ENABLE_THREADS
181
182 GThread * t = g_thread_create(process_job_GeomOpt, (gpointer) ji, FALSE, NULL);
183 if (t == NULL) ErrorMessage(_("Thread creation failed : GeomOpt"));
184
185 #else // ENABLE_THREADS
186
187 process_job_GeomOpt((gpointer) ji);
188
189 #endif // ENABLE_THREADS
190 }
191
192 gpointer gtk_project::process_job_GeomOpt(gpointer p)
193 {
194 project::background_job_running = true;
195 jobinfo_GeomOpt * ji = (jobinfo_GeomOpt *) p;
196
197 ji->prj->ThreadLock();
198 ji->prj->CreateProgressDialog(_("Geometry Optimization"), true, 1, 20);
199 ji->prj->ThreadUnlock();
200
201 #ifdef ENABLE_THREADS
202 const bool updt = false;
203 #else // ENABLE_THREADS
204 const bool updt = true;
205 #endif // ENABLE_THREADS
206
207 ji->prj->DoGeomOpt(ji->go, updt);
208
209 ji->prj->ThreadLock();
210 ji->prj->DestroyProgressDialog();
211 ji->prj->ThreadUnlock();
212
213 project::background_job_running = false;
214 return NULL;
215 }
216
217 void gtk_project::start_job_MolDyn(jobinfo_MolDyn * ji)
218 {
219 if (ji->show_dialog)
220 {
221 new gtk_moldyn_dialog(& ji->md); // the object will call delete itself...
222 cout << "DEBUG : now returning from gtk_project::MolDynGetParam()." << endl;
223
224 // the above dialog is (AND IT MUST BE) a modal one; we will return
225 // from the function only after the dialog is closed.
226 }
227
228 if (!ji->md.GetConfirm()) return;
229
230 #ifdef ENABLE_THREADS
231
232 GThread * t = g_thread_create(process_job_MolDyn, (gpointer) ji, FALSE, NULL);
233 if (t == NULL) ErrorMessage(_("Thread creation failed : MolDyn"));
234
235 #else // ENABLE_THREADS
236
237 process_job_MolDyn((gpointer) ji);
238
239 #endif // ENABLE_THREADS
240 }
241
242 gpointer gtk_project::process_job_MolDyn(gpointer p)
243 {
244 project::background_job_running = true;
245 jobinfo_MolDyn * ji = (jobinfo_MolDyn *) p;
246
247 ji->prj->ThreadLock();
248 ji->prj->CreateProgressDialog(_("Molecular Dynamics"), true, NOT_DEFINED, NOT_DEFINED);
249 ji->prj->ThreadUnlock();
250
251 #ifdef ENABLE_THREADS
252 const bool updt = false;
253 #else // ENABLE_THREADS
254 const bool updt = true;
255 #endif // ENABLE_THREADS
256
257 ji->prj->DoMolDyn(ji->md, updt);
258
259 ji->prj->ThreadLock();
260 ji->prj->DestroyProgressDialog();
261 ji->prj->ThreadUnlock();
262
263 project::background_job_running = false;
264 return NULL;
265 }
266
267 void gtk_project::start_job_RandomSearch(jobinfo_RandomSearch * ji)
268 {
269 #ifdef ENABLE_THREADS
270
271 GThread * t = g_thread_create(process_job_RandomSearch, (gpointer) ji, FALSE, NULL);
272 if (t == NULL) ErrorMessage(_("Thread creation failed : RandomSearch"));
273
274 #else // ENABLE_THREADS
275
276 process_job_RandomSearch((gpointer) ji);
277
278 #endif // ENABLE_THREADS
279 }
280
281 gpointer gtk_project::process_job_RandomSearch(gpointer p)
282 {
283 project::background_job_running = true;
284 jobinfo_RandomSearch * ji = (jobinfo_RandomSearch *) p;
285
286 ji->prj->ThreadLock();
287 ji->prj->CreateProgressDialog(_("Random Search"), true, NOT_DEFINED, NOT_DEFINED);
288 ji->prj->ThreadUnlock();
289
290 #ifdef ENABLE_THREADS
291 const bool updt = false;
292 #else // ENABLE_THREADS
293 const bool updt = true;
294 #endif // ENABLE_THREADS
295
296 ji->prj->DoRandomSearch(ji->cycles, ji->optsteps, updt);
297
298 ji->prj->ThreadLock();
299 ji->prj->DestroyProgressDialog();
300 ji->prj->ThreadUnlock();
301
302 project::background_job_running = false;
303 return NULL;
304 }
305
306 // the other computation tasks are not yet multithreaded, but the above template can be used...
307 // the other computation tasks are not yet multithreaded, but the above template can be used...
308 // the other computation tasks are not yet multithreaded, but the above template can be used...
309
310 base_wnd * gtk_project::CreateGraphicsWnd(bool detached)
311 {
312 //cout << "gtk_project::CreateGraphicsWnd()" << endl;
313 gtk_oglview_wnd * w = new gtk_oglview_wnd(detached);
314
315 // since a newly created window is always unlinked,
316 // also w->label_widget is always NULL...
317
318 if (!detached)
319 {
320 gtk_app::GetAppX()->AddTabToNB(w->view_widget, w->label_widget);
321 }
322
323 return w;
324 }
325
326 void gtk_project::DestroyGraphicsWnd(base_wnd * wB)
327 {
328 //cout << "gtk_project::DestroyGraphicsWnd()" << endl;
329 gtk_oglview_wnd * wX = dynamic_cast<gtk_oglview_wnd *>(wB);
330
331 // this really seems to be redundant since the plotting views are destoyed the same way...
332 // this really seems to be redundant since the plotting views are destoyed the same way...
333 // this really seems to be redundant since the plotting views are destoyed the same way...
334
335 if (!wX)
336 {
337 assertion_failed(__FILE__, __LINE__, "bad wnd!");
338 }
339 else
340 {
341 if (!wX->IsDetached())
342 {
343 gtk_app::GetAppX()->RemoveTabFromNB(wX->view_widget);
344 }
345
346 delete wB;
347 }
348 }
349
350 base_wnd * gtk_project::CreatePlot1DWnd(bool detached)
351 {
352 //cout << "gtk_project::CreatePlot1DWnd()" << endl;
353 gtk_p1dview_wnd * w = new gtk_p1dview_wnd(detached);
354
355 if (!detached)
356 {
357 gtk_app::GetAppX()->AddTabToNB(w->view_widget, w->label_widget);
358 }
359
360 return w;
361 }
362
363 base_wnd * gtk_project::CreatePlot2DWnd(bool detached)
364 {
365 //cout << "gtk_project::CreatePlot2DWnd()" << endl;
366 gtk_p2dview_wnd * w = new gtk_p2dview_wnd(detached);
367
368 if (!detached)
369 {
370 gtk_app::GetAppX()->AddTabToNB(w->view_widget, w->label_widget);
371 }
372
373 return w;
374 }
375
376 base_wnd * gtk_project::CreateEnergyLevelDiagramWnd(bool detached)
377 {
378 //cout << "gtk_project::CreateEnergyLevelDiagramWnd()" << endl;
379 gtk_eldview_wnd * w = new gtk_eldview_wnd(detached);
380
381 if (!detached)
382 {
383 gtk_app::GetAppX()->AddTabToNB(w->view_widget, w->label_widget);
384 }
385
386 return w;
387 }
388
389 base_wnd * gtk_project::CreateReactionCoordinatePlotWnd(bool detached)
390 {
391 //cout << "gtk_project::CreateReactionCoordinatePlotWnd()" << endl;
392 gtk_rcpview_wnd * w = new gtk_rcpview_wnd(detached);
393
394 if (!detached)
395 {
396 gtk_app::GetAppX()->AddTabToNB(w->view_widget, w->label_widget);
397 }
398
399 return w;
400 }
401
402 base_wnd * gtk_project::CreateGenericProteinChainWnd(bool detached)
403 {
404 //cout << "gtk_project::CreateGenericProteinChainWnd()" << endl;
405 gtk_gpcview_wnd * w = new gtk_gpcview_wnd(detached);
406
407 if (!detached)
408 {
409 gtk_app::GetAppX()->AddTabToNB(w->view_widget, w->label_widget);
410 }
411
412 return w;
413 }
414
415 void gtk_project::DestroyPlottingWnd(base_wnd * wB)
416 {
417 //cout << "gtk_project::DestroyPlottingWnd()" << endl;
418 gtk_wnd * wX = dynamic_cast<gtk_wnd *>(wB);
419
420 if (!wX)
421 {
422 assertion_failed(__FILE__, __LINE__, "bad wnd!");
423 }
424 else
425 {
426 if (!wX->IsDetached())
427 {
428 gtk_app::GetAppX()->RemoveTabFromNB(wX->view_widget);
429 }
430
431 delete wB;
432 }
433 }
434
435 void gtk_project::Message(const char * msg)
436 {
437 gtk_app::sMessage(msg);
438 }
439
440 void gtk_project::WarningMessage(const char * msg)
441 {
442 gtk_app::sWarningMessage(msg);
443 }
444
445 void gtk_project::ErrorMessage(const char * msg)
446 {
447 gtk_app::sErrorMessage(msg);
448 }
449
450 bool gtk_project::Question(const char * msg)
451 {
452 return gtk_app::sQuestion(msg);
453 }
454
455 void gtk_project::PrintToLog(const char * msg)
456 {
457 gtk_app::sPrintToLog(msg);
458 }
459
460 // the popup-menu callbacks start here ; the popup-menu callbacks start here
461 // the popup-menu callbacks start here ; the popup-menu callbacks start here
462 // the popup-menu callbacks start here ; the popup-menu callbacks start here
463
464 void gtk_project::popup_FileImport(GtkWidget *, gpointer data)
465 {
466 gtk_project * prj = gtk_app::GetPrjX();
467
468 // will call delete itself...
469 if (prj) new gtk_file_import_dialog(prj);
470 }
471
472 void gtk_project::popup_FileExport(GtkWidget *, gpointer data)
473 {
474 gtk_project * prj = gtk_app::GetPrjX();
475
476 // will call delete itself...
477 if (prj) new gtk_file_export_dialog(prj);
478 }
479
480 void gtk_project::popup_FileExportGraphics(GtkWidget *, gpointer data)
481 {
482 gtk_project * prj = gtk_app::GetPrjX();
483
484 // will call delete itself...
485 if (prj) new gtk_file_save_graphics_dialog(prj);
486 }
487
488 void gtk_project::popup_FileExtra1(GtkWidget *, gpointer data)
489 {
490 gtk_project * prj = gtk_app::GetPrjX();
491
492 // will call delete itself...
493 if (prj) new gtk_importpdb_dialog(prj);
494 }
495
496 void gtk_project::popup_FileExtra2(GtkWidget *, gpointer data)
497 {
498 gtk_project * prj = gtk_app::GetPrjX();
499
500 // this is just a stub for a new "extra"-item...
501 // this is just a stub for a new "extra"-item...
502 // this is just a stub for a new "extra"-item...
503
504 if (prj)
505 {
506 prj->Message("this is not yet implemented...");
507 }
508 }
509
510 void gtk_project::popup_SelectAll(GtkWidget *, gpointer data)
511 {
512 gtk_project * prj = gtk_app::GetPrjX();
513 prj->SelectAll();
514 }
515
516 void gtk_project::popup_SelectNone(GtkWidget *, gpointer data)
517 {
518 gtk_project * prj = gtk_app::GetPrjX();
519 prj->SelectAll(); // should call the base class function to prevent the flash!!!
520 prj->InvertSelection();
521 }
522
523 void gtk_project::popup_InvertSelection(GtkWidget *, gpointer data)
524 {
525 gtk_project * prj = gtk_app::GetPrjX();
526 prj->InvertSelection();
527 }
528
529 void gtk_project::popup_HideSelected(GtkWidget *, gpointer data)
530 {
531 gtk_project * prj = gtk_app::GetPrjX();
532 prj->HideSelected();
533 }
534
535 void gtk_project::popup_ShowSelected(GtkWidget *, gpointer data)
536 {
537 gtk_project * prj = gtk_app::GetPrjX();
538 prj->ShowSelected();
539 }
540
541 void gtk_project::popup_LockSelected(GtkWidget *, gpointer data)
542 {
543 gtk_project * prj = gtk_app::GetPrjX();
544 prj->LockSelected();
545 }
546
547 void gtk_project::popup_UnlockSelected(GtkWidget *, gpointer data)
548 {
549 gtk_project * prj = gtk_app::GetPrjX();
550 prj->UnlockSelected();
551 }
552
553 void gtk_project::popup_DeleteSelected(GtkWidget *, gpointer data)
554 {
555 gtk_project * prj = gtk_app::GetPrjX();
556 prj->DeleteSelected();
557 }
558
559 void gtk_project::popup_SelectModeAtom(GtkWidget *, gpointer data)
560 {
561 custom_app::current_select_mode = custom_app::smAtom;
562 cout << "DEBUG : selection mode = atm" << endl;
563 }
564
565 void gtk_project::popup_SelectModeResidue(GtkWidget *, gpointer data)
566 {
567 custom_app::current_select_mode = custom_app::smResidue;
568 cout << "DEBUG : selection mode = res" << endl;
569 }
570
571 void gtk_project::popup_SelectModeChain(GtkWidget *, gpointer data)
572 {
573 custom_app::current_select_mode = custom_app::smChain;
574 cout << "DEBUG : selection mode = chn" << endl;
575 }
576
577 void gtk_project::popup_SelectModeMolecule(GtkWidget *, gpointer data)
578 {
579 custom_app::current_select_mode = custom_app::smMolecule;
580 cout << "DEBUG : selection mode = mol" << endl;
581 }
582
583 void gtk_project::popup_ViewsNewELD(GtkWidget *, gpointer data)
584 {
585 gtk_project * prj = gtk_app::GetPrjX();
586 if (prj)
587 {
588 prj->AddEnergyLevelDiagramClient(true);
589 }
590 }
591
592 void gtk_project::popup_ViewsNewSSC(GtkWidget *, gpointer data)
593 {
594 gtk_project * prj = gtk_app::GetPrjX();
595 if (prj)
596 {
597 prj->AddGenericProteinChainClient(true);
598 }
599 }
600
601 void gtk_project::popup_RModeBallStick(GtkWidget *, gpointer data)
602 {
603 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
604 oglwcl->render = RENDER_BALL_AND_STICK;
605
606 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
607 }
608
609 void gtk_project::popup_RModeVanDerWaals(GtkWidget *, gpointer data)
610 {
611 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
612 oglwcl->render = RENDER_VAN_DER_WAALS;
613
614 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
615 }
616
617 void gtk_project::popup_RModeCylinders(GtkWidget *, gpointer data)
618 {
619 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
620 oglwcl->render = RENDER_CYLINDERS;
621
622 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
623 }
624
625 void gtk_project::popup_RModeWireframe(GtkWidget *, gpointer data)
626 {
627 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
628 oglwcl->render = RENDER_WIREFRAME;
629
630 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
631 }
632
633 void gtk_project::popup_RModeNothing(GtkWidget *, gpointer data)
634 {
635 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
636 oglwcl->render = RENDER_NOTHING;
637
638 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
639 }
640
641 void gtk_project::popup_CModeElement(GtkWidget *, gpointer data)
642 {
643 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
644 oglwcl->colormode = & project::cm_element;
645
646 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
647 }
648
649 void gtk_project::popup_CModeSecStruct(GtkWidget *, gpointer data)
650 {
651 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
652 oglwcl->colormode = & project::cm_secstruct;
653
654 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
655 }
656
657 void gtk_project::popup_CModeHydPhob(GtkWidget *, gpointer data)
658 {
659 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
660 oglwcl->colormode = & project::cm_hydphob;
661
662 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
663 }
664
665 void gtk_project::popup_LModeIndex(GtkWidget *, gpointer data)
666 {
667 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
668 oglwcl->label = LABEL_INDEX;
669
670 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
671 }
672
673 void gtk_project::popup_LModeElement(GtkWidget *, gpointer data)
674 {
675 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
676 oglwcl->label = LABEL_ELEMENT;
677
678 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
679 }
680
681 void gtk_project::popup_LModeFCharge(GtkWidget *, gpointer data)
682 {
683 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
684 oglwcl->label = LABEL_F_CHARGE;
685
686 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
687 }
688
689 void gtk_project::popup_LModePCharge(GtkWidget *, gpointer data)
690 {
691 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
692 oglwcl->label = LABEL_P_CHARGE;
693
694 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
695 }
696
697 void gtk_project::popup_LModeAtomType(GtkWidget *, gpointer data)
698 {
699 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
700 oglwcl->label = LABEL_ATOMTYPE;
701
702 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
703 }
704
705 void gtk_project::popup_LModeBuilderID(GtkWidget *, gpointer data)
706 {
707 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
708 oglwcl->label = LABEL_BUILDER_ID;
709
710 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
711 }
712
713 void gtk_project::popup_LModeBondType(GtkWidget *, gpointer data)
714 {
715 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
716 oglwcl->label = LABEL_BONDTYPE;
717
718 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
719 }
720
721 void gtk_project::popup_LModeResidue(GtkWidget *, gpointer data)
722 {
723 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
724 oglwcl->label = LABEL_RESIDUE;
725
726 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
727 }
728
729 void gtk_project::popup_LModeSecStruct(GtkWidget *, gpointer data)
730 {
731 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
732 oglwcl->label = LABEL_SEC_STRUCT;
733
734 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
735 }
736
737 void gtk_project::popup_LModeNothing(GtkWidget *, gpointer data)
738 {
739 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
740 oglwcl->label = LABEL_NOTHING;
741
742 gtk_app::GetPrjX()->UpdateAllGraphicsViews();
743 }
744
745 void gtk_project::popup_ObjRibbon(GtkWidget *, gpointer data)
746 {
747 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
748 gtk_project * prj = gtk_app::GetPrjX();
749 if (prj)
750 {
751 if (!prj->ref_civ) prj->UpdateChains();
752 vector<chn_info> & ci_vector = (* prj->ref_civ);
753 for (i32u n1 = 0;n1 < ci_vector.size();n1++)
754 {
755 if (ci_vector[n1].GetType() != chn_info::amino_acid) continue;
756 if (ci_vector[n1].GetLength() < 3) continue;
757
758 if (ci_vector[n1].GetSecStrStates() == NULL) DefineSecondaryStructure(prj);
759
760 prj->AddObject(new ogl_ribbon(prj, oglwcl->colormode, n1, 4)); // min. order is 2!!!
761 }
762
763 prj->UpdateAllGraphicsViews();
764 }
765 }
766
767 void gtk_project::popup_ObjEPlane(GtkWidget *, gpointer data)
768 {
769 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
770 gtk_project * prj = gtk_app::GetPrjX();
771 if (prj)
772 {
773 if (!prj->GetCurrentSetup()->GetCurrentEngine())
774 {
775 prj->Message(_("Please calculate energy first!"));
776 }
777 else
778 {
779 static const char command[] = "add plane esp rb1 138.0 AUTO 1.0 50 1 0.75";
780 new gtk_command_dialog(prj, oglwcl, command);
781 }
782 }
783 }
784
785 void gtk_project::popup_ObjEVolume(GtkWidget *, gpointer data)
786 {
787 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
788 gtk_project * prj = gtk_app::GetPrjX();
789 if (prj)
790 {
791 if (!prj->GetCurrentSetup()->GetCurrentEngine())
792 {
793 prj->Message(_("Please calculate energy first!"));
794 }
795 else
796 {
797 static const char command[] = "add volrend esp rb2 138.0 0.0 1.0 25 0.50";
798 new gtk_command_dialog(prj, oglwcl, command);
799 }
800 }
801 }
802
803 void gtk_project::popup_ObjESurface(GtkWidget *, gpointer data)
804 {
805 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
806 gtk_project * prj = gtk_app::GetPrjX();
807 if (prj)
808 {
809 if (!prj->GetCurrentSetup()->GetCurrentEngine())
810 {
811 prj->Message(_("Please calculate energy first!"));
812 }
813 else
814 {
815 static const char command[] = "add surf2 esp unity red blue +35.0 -35.0 1.0 0.0 2.0 50 0 0 0.50";
816 new gtk_command_dialog(prj, oglwcl, command);
817 }
818 }
819 }
820
821 void gtk_project::popup_ObjEVDWSurface(GtkWidget *, gpointer data)
822 {
823 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
824 gtk_project * prj = gtk_app::GetPrjX();
825 if (prj)
826 {
827 if (!prj->GetCurrentSetup()->GetCurrentEngine())
828 {
829 prj->Message(_("Please calculate energy first!"));
830 }
831 else
832 {
833 static const char command[] = "add surf1 vdws esp rb1 1.0 70.0 AUTO 2.0 50 1 1 0.65";
834 new gtk_command_dialog(prj, oglwcl, command);
835 }
836 }
837 }
838
839 void gtk_project::popup_ObjEDPlane(GtkWidget *, gpointer data)
840 {
841 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
842 gtk_project * prj = gtk_app::GetPrjX();
843 if (prj)
844 {
845 if (!prj->GetCurrentSetup()->GetCurrentEngine())
846 {
847 prj->Message(_("Please calculate energy first!"));
848 }
849 else
850 {
851 static const char command[] = "add plane eldens rb1 0.05 0.0 0.75 50 1 0.75";
852 new gtk_command_dialog(prj, oglwcl, command);
853 }
854 }
855 }
856
857 void gtk_project::popup_ObjEDSurface(GtkWidget *, gpointer data)
858 {
859 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
860 gtk_project * prj = gtk_app::GetPrjX();
861 if (prj)
862 {
863 if (!prj->GetCurrentSetup()->GetCurrentEngine())
864 {
865 prj->Message(_("Please calculate energy first!"));
866 }
867 else
868 {
869 static const char command[] = "add surf1 eldens unity red 0.01 1.0 0.0 1.5 50 0 0 0.65";
870 new gtk_command_dialog(prj, oglwcl, command);
871 }
872 }
873 }
874
875 void gtk_project::popup_ObjMOPlane(GtkWidget *, gpointer data)
876 {
877 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
878 gtk_project * prj = gtk_app::GetPrjX();
879 if (prj)
880 {
881 if (!prj->GetCurrentSetup()->GetCurrentEngine())
882 {
883 prj->Message(_("Please calculate energy first!"));
884 }
885 else
886 {
887 static const char command[] = "add plane mo rb1 0.05 0.0 0.75 50 1 0.75";
888 new gtk_command_dialog(prj, oglwcl, command);
889 }
890 }
891 }
892
893 void gtk_project::popup_ObjMOVolume(GtkWidget *, gpointer data)
894 {
895 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
896 gtk_project * prj = gtk_app::GetPrjX();
897 if (prj)
898 {
899 if (!prj->GetCurrentSetup()->GetCurrentEngine())
900 {
901 prj->Message(_("Please calculate energy first!"));
902 }
903 else
904 {
905 static const char command[] = "add volrend mo rb2 0.025 0.0 1.5 25 0.50";
906 new gtk_command_dialog(prj, oglwcl, command);
907 }
908 }
909 }
910
911 void gtk_project::popup_ObjMOSurface(GtkWidget *, gpointer data)
912 {
913 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
914 gtk_project * prj = gtk_app::GetPrjX();
915 if (prj)
916 {
917 if (!prj->GetCurrentSetup()->GetCurrentEngine())
918 {
919 prj->Message(_("Please calculate energy first!"));
920 }
921 else
922 {
923 static const char command[] = "add surf2 mo unity red blue +0.025 -0.025 1.0 0.0 1.5 50 0 0 0.50";
924 new gtk_command_dialog(prj, oglwcl, command);
925 }
926 }
927 }
928
929 void gtk_project::popup_ObjMODPlane(GtkWidget *, gpointer data)
930 {
931 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
932 gtk_project * prj = gtk_app::GetPrjX();
933 if (prj)
934 {
935 if (!prj->GetCurrentSetup()->GetCurrentEngine())
936 {
937 prj->Message(_("Please calculate energy first!"));
938 }
939 else
940 {
941 static const char command[] = "add plane mod rb1 0.005 0.0 0.75 50 1 0.75";
942 new gtk_command_dialog(prj, oglwcl, command);
943 }
944 }
945 }
946
947 void gtk_project::popup_ObjMODVolume(GtkWidget *, gpointer data)
948 {
949 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
950 gtk_project * prj = gtk_app::GetPrjX();
951 if (prj)
952 {
953 if (!prj->GetCurrentSetup()->GetCurrentEngine())
954 {
955 prj->Message(_("Please calculate energy first!"));
956 }
957 else
958 {
959 static const char command[] = "add volrend mod rb2 0.0025 0.0 1.5 25 0.35";
960 new gtk_command_dialog(prj, oglwcl, command);
961 }
962 }
963 }
964
965 void gtk_project::popup_ObjMODSurface(GtkWidget *, gpointer data)
966 {
967 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
968 gtk_project * prj = gtk_app::GetPrjX();
969 if (prj)
970 {
971 if (!prj->GetCurrentSetup()->GetCurrentEngine())
972 {
973 prj->Message(_("Please calculate energy first!"));
974 }
975 else
976 {
977 static const char command[] = "add surf1 mod unity red 0.0025 1.0 0.0 1.5 50 0 0 0.65";
978 new gtk_command_dialog(prj, oglwcl, command);
979 }
980 }
981 }
982
983 void gtk_project::popup_ObjectsDeleteCurrent(GtkWidget *, gpointer data)
984 {
985 gtk_project * prj = gtk_app::GetPrjX();
986 prj->DoDeleteCurrentObject();
987 }
988
989 void gtk_project::popup_CompSetup(GtkWidget *, gpointer data)
990 {
991 gtk_project * prj = gtk_app::GetPrjX();
992
993 // will call delete itself...
994 new gtk_setup_dialog(prj);
995 }
996
997 void gtk_project::popup_CompEnergy(GtkWidget *, gpointer data)
998 {
999 gtk_project * prj = gtk_app::GetPrjX();
1000 if (prj) prj->DoEnergy();
1001 }
1002
1003 void gtk_project::popup_CompGeomOpt(GtkWidget *, gpointer data)
1004 {
1005 gtk_project * prj = gtk_app::GetPrjX();
1006 if (prj)
1007 {
1008 setup * su = prj->GetCurrentSetup();
1009 static jobinfo_GeomOpt ji;
1010
1011 ji.prj = prj;
1012 ji.go = geomopt_param(su);
1013 ji.show_dialog = true;
1014
1015 prj->start_job_GeomOpt(& ji);
1016 }
1017 }
1018
1019 void gtk_project::popup_CompMolDyn(GtkWidget *, gpointer data)
1020 {
1021 gtk_project * prj = gtk_app::GetPrjX();
1022 if (prj)
1023 {
1024 setup * su = prj->GetCurrentSetup();
1025 static jobinfo_MolDyn ji;
1026
1027 ji.prj = prj;
1028 ji.md = moldyn_param(su);
1029 ji.show_dialog = true;
1030
1031 prj->start_job_MolDyn(& ji);
1032 }
1033 }
1034
1035 void gtk_project::popup_CompRandomSearch(GtkWidget *, gpointer data)
1036 {
1037 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
1038 gtk_project * prj = gtk_app::GetPrjX();
1039 if (prj)
1040 {
1041 static const char command[] = "random_search 100 250";
1042 new gtk_command_dialog(prj, oglwcl, command);
1043 }
1044 }
1045
1046 void gtk_project::popup_CompSystematicSearch(GtkWidget *, gpointer data)
1047 {
1048 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
1049 gtk_project * prj = gtk_app::GetPrjX();
1050 if (prj)
1051 {
1052 static const char command[] = "systematic_search 6 250";
1053 new gtk_command_dialog(prj, oglwcl, command);
1054 }
1055 }
1056
1057 void gtk_project::popup_CompMonteCarloSearch(GtkWidget *, gpointer data)
1058 {
1059 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
1060 gtk_project * prj = gtk_app::GetPrjX();
1061 if (prj)
1062 {
1063 static const char command[] = "montecarlo_search 10 100 250";
1064 new gtk_command_dialog(prj, oglwcl, command);
1065 }
1066 }
1067
1068 void gtk_project::popup_CompTorsionEnergyPlot1D(GtkWidget *, gpointer data)
1069 {
1070 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
1071 gtk_project * prj = gtk_app::GetPrjX();
1072 if (prj)
1073 {
1074 prj->Message(_("PLEASE NOTE!\nThe command string, which is displayed in the next dialog, is incomplete.\nYou should replace the letters A-D with atom indices that define the torsion.\n\nALSO NOTE: structure refinement is always done using molecular mechanics (optsteps)."));
1075
1076 static const char command[] = "make_plot1 A B C D 36 0.0 360.0 250";
1077 new gtk_command_dialog(prj, oglwcl, command);
1078 }
1079 }
1080
1081 void gtk_project::popup_CompTorsionEnergyPlot2D(GtkWidget *, gpointer data)
1082 {
1083 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
1084 gtk_project * prj = gtk_app::GetPrjX();
1085 if (prj)
1086 {
1087 prj->Message(_("PLEASE NOTE!\nThe command string, which is displayed in the next dialog, is incomplete.\nYou should replace the letters A-D and I-L with atom indices that define the torsions.\n\nALSO NOTE: structure refinement is always done using molecular mechanics (optsteps)."));
1088
1089 static const char command[] = "make_plot2 A B C D 36 0.0 360.0 I J K L 36 0.0 360.0 250";
1090 new gtk_command_dialog(prj, oglwcl, command);
1091 }
1092 }
1093
1094 void gtk_project::popup_CompPopAnaElectrostatic(GtkWidget *, gpointer data)
1095 {
1096 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
1097 gtk_project * prj = gtk_app::GetPrjX();
1098 if (prj)
1099 {
1100 static const char command[] = "population_analysis_ESP";
1101 new gtk_command_dialog(prj, oglwcl, command);
1102 }
1103 }
1104
1105 void gtk_project::popup_CompTransitionStateSearch(GtkWidget *, gpointer data)
1106 {
1107 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
1108 gtk_project * prj = gtk_app::GetPrjX();
1109 if (prj)
1110 {
1111 static const char command[] = "transition_state_search 10.0 500.0";
1112 new gtk_command_dialog(prj, oglwcl, command);
1113 }
1114 }
1115
1116 void gtk_project::popup_CompStationaryStateSearch(GtkWidget *, gpointer data)
1117 {
1118 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
1119 gtk_project * prj = gtk_app::GetPrjX();
1120 if (prj)
1121 {
1122 static const char command[] = "stationary_state_search 100";
1123 new gtk_command_dialog(prj, oglwcl, command);
1124 }
1125 }
1126
1127 void gtk_project::popup_CompFormula(GtkWidget *, gpointer data)
1128 {
1129 gtk_project * prj = gtk_app::GetPrjX();
1130 if (prj) prj->DoFormula();
1131 }
1132
1133 void gtk_project::popup_CompSetFormalCharge(GtkWidget *, gpointer data)
1134 {
1135 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
1136 gtk_project * prj = gtk_app::GetPrjX();
1137 if (prj)
1138 {
1139 static const char command[] = "set_formal_charge X +0";
1140 new gtk_command_dialog(prj, oglwcl, command);
1141 }
1142 }
1143
1144 void gtk_project::popup_CompCreateRS(GtkWidget *, gpointer data) // todo : this is only for testing?!?!?!?
1145 {
1146 gtk_project * prj = gtk_app::GetPrjX();
1147 if (prj)
1148 {
1149 if (prj->GetRS() == NULL) prj->CreateRS();
1150 }
1151 }
1152
1153 void gtk_project::popup_CompCycleRS(GtkWidget *, gpointer data) // todo : this is only for testing?!?!?!?
1154 {
1155 gtk_project * prj = gtk_app::GetPrjX();
1156 if (prj && prj->GetRS() != NULL)
1157 {
1158 // prj->GetRS()->CycleStructures();
1159 prj->UpdateAllGraphicsViews();
1160 }
1161 else cout << _("ERROR") << endl;
1162 }
1163
1164 void gtk_project::popup_TrajView(GtkWidget *, gpointer data)
1165 {
1166 gtk_project * prj = gtk_app::GetPrjX();
1167 if (!prj->GetTrajectoryFile())
1168 {
1169 // will call delete itself...
1170 if (prj) new gtk_trajfile_dialog(prj);
1171 }
1172 else prj->ErrorMessage(_("Trajectory file already open?"));
1173 }
1174
1175 void gtk_project::popup_SetOrbital(GtkWidget *, gpointer data)
1176 {
1177 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
1178 gtk_project * prj = gtk_app::GetPrjX();
1179 if (prj)
1180 {
1181 prj->Message(_("PLEASE NOTE!\nThe command string, which is displayed in the next dialog, is incomplete.\nYou should replace the letter X with the orbital index that will become the current orbital."));
1182
1183 static const char command[] = "set_current_orbital X";
1184 new gtk_command_dialog(prj, oglwcl, command);
1185 }
1186 }
1187
1188 void gtk_project::popup_HAdd(GtkWidget *, gpointer data)
1189 {
1190 gtk_project * prj = gtk_app::GetPrjX();
1191 if (prj)
1192 {
1193 prj->AddH();
1194 prj->UpdateAllGraphicsViews();
1195 }
1196 }
1197
1198 void gtk_project::popup_HRemove(GtkWidget *, gpointer data)
1199 {
1200 gtk_project * prj = gtk_app::GetPrjX();
1201 if (prj)
1202 {
1203 prj->RemoveH();
1204 prj->UpdateAllGraphicsViews();
1205 }
1206 }
1207
1208 void gtk_project::popup_SolvateBox(GtkWidget *, gpointer data)
1209 {
1210 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
1211 gtk_project * prj = gtk_app::GetPrjX();
1212 if (prj)
1213 {
1214 static const char command[] = "solvate_box 3.0 3.0 3.0";
1215 new gtk_command_dialog(prj, oglwcl, command);
1216 }
1217 }
1218
1219 void gtk_project::popup_SolvateSphere(GtkWidget *, gpointer data)
1220 {
1221 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
1222 gtk_project * prj = gtk_app::GetPrjX();
1223 if (prj)
1224 {
1225 static const char command[] = "solvate_sphere 1.2 1.6";
1226 new gtk_command_dialog(prj, oglwcl, command);
1227 }
1228 }
1229
1230 void gtk_project::popup_BuilderAmino(GtkWidget *, gpointer data)
1231 {
1232 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
1233 gtk_project * prj = gtk_app::GetPrjX();
1234 if (prj)
1235 {
1236 prj->Message(_("PLEASE NOTE!\nThe command string, which is displayed in the next dialog, is incomplete.\nYou should replace the default sequence AAA with the sequence to be built."));
1237
1238 static const char command[] = "build_amino AAA";
1239 new gtk_command_dialog(prj, oglwcl, command);
1240 }
1241 }
1242
1243 void gtk_project::popup_BuilderNucleic(GtkWidget *, gpointer data)
1244 {
1245 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
1246 gtk_project * prj = gtk_app::GetPrjX();
1247 if (prj)
1248 {
1249 prj->Message(_("PLEASE NOTE!\nThe command string, which is displayed in the next dialog, is incomplete.\nYou should replace the default sequence AGTCaguc with the sequence to be built."));
1250
1251 static const char command[] = "build_nucleic AGTCaguc";
1252 new gtk_command_dialog(prj, oglwcl, command);
1253 }
1254 }
1255
1256 void gtk_project::popup_Center(GtkWidget *, gpointer data)
1257 {
1258 gtk_project * prj = gtk_app::GetPrjX();
1259 if (prj)
1260 {
1261 prj->CenterCRDSet(0, true);
1262
1263 // Which is the current Coord Set?
1264 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1265 // usually it's 0, but it could be any/all.
1266 // the crdset-system is not yet in GUI...
1267
1268 // 2001-06-18 TH: yes, this is not quite ready.
1269 // but i guess in the end we will move ALL crd-sets...
1270
1271 // sometimes this centering won't work, if the camera won't point to the origo.
1272 // so, here we try to turn it there. ANY EFFECTS TO LIGHTS, ETC??????
1273
1274 // how to get base_app::camera_vector in a reasonable way?
1275 // it's easy to set the focus of camera but what about lights???
1276
1277 // -> implement this stuff in base_app????????????????????????
1278
1279 prj->UpdateAllGraphicsViews();
1280 }
1281 }
1282
1283 void gtk_project::popup_ClearAll(GtkWidget *, gpointer data)
1284 {
1285 gtk_project * prj = gtk_app::GetPrjX();
1286 if (prj && base_app::GetAppB()->Question(_("Are you sure you want to clear everything?")))
1287 {
1288 prj->ClearModel();
1289 prj->UpdateAllGraphicsViews();
1290 }
1291 }
1292
1293 void gtk_project::popup_EnterCommand(GtkWidget *, gpointer data)
1294 {
1295 oglview_wcl * oglwcl = GetClient((GtkWidget *) data);
1296 gtk_project * prj = gtk_app::GetPrjX();
1297 if (prj)
1298 {
1299 new gtk_command_dialog(prj, oglwcl, NULL);
1300 }
1301 }
1302
1303 /*################################################################################################*/
1304
1305 // eof
0 // GTK_PROJECT.H : classes for GTK2 user interface.
1
2 // Copyright (C) 1998 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef GTK_PROJECT_H
21 #define GTK_PROJECT_H
22
23 //#include "ghemicalconfig2.h"
24
25 class gtk_project;
26
27 /*################################################################################################*/
28
29 #include <ghemical/model.h>
30
31 #include "project.h"
32
33 #include "gtk_simple_dialogs.h"
34 #include "gtk_progress_dialog.h"
35
36 #include <gtk/gtk.h>
37
38 #include <vector>
39 using namespace std;
40
41 /*################################################################################################*/
42
43 /** This will contain gtk-dependent aspects of the "##project" class.
44 */
45
46 class gtk_project : public project
47 {
48 protected:
49
50 friend class gtk_file_open_dialog;
51 friend class gtk_file_save_dialog;
52
53 public:
54
55 gtk_project(void);
56 void DoSafeStart(void);
57
58 virtual ~gtk_project(void);
59
60 static oglview_wcl * GetClient(GtkWidget *);
61
62 #ifdef ENABLE_THREADS
63
64 void ThreadLock(void); // virtual
65 void ThreadUnlock(void); // virtual
66
67 #else // ENABLE_THREADS
68
69 void NoThreadsIterate(void); // virtual
70
71 #endif // ENABLE_THREADS
72
73 bool SetProgress(double, double*); // virtual
74
75 protected:
76
77 gtk_progress_dialog * pd;
78
79 public:
80
81 void CreateProgressDialog(const char *, bool, int, int); // virtual
82 void DestroyProgressDialog(void); // virtual
83
84 // the GUI threading model is explained here:
85 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
86 // the "main thread" of the program handles gtk_main() loop and callbacks.
87 // in ProcessCommandString() a single "sub-thread" can be started for certain
88 // operations, if the program is compiled with ENABLE_THREADS set. therefore all
89 // operations in the process_job_XXX() methods below must be made thread-safe
90 // in the "gdk_threads" sense. THIS IS STILL EXPERIMENTAL STUFF!!!
91
92 // the GUI non-threaded operatios is like this:
93 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
94 // gtk_main_iteration() is called from libghemical level in order to keep the
95 // GUI responding ; so this is something like "windows-95"-multitasking stuff...
96 // but that's OK since this is a fool-proof solution and responsive enough...
97
98 void start_job_GeomOpt(jobinfo_GeomOpt *); // virtual
99 static gpointer process_job_GeomOpt(gpointer);
100
101 void start_job_MolDyn(jobinfo_MolDyn *); // virtual
102 static gpointer process_job_MolDyn(gpointer);
103
104 void start_job_RandomSearch(jobinfo_RandomSearch *); // virtual
105 static gpointer process_job_RandomSearch(gpointer);
106
107 // gtk-implementations of creation/removal of views.
108 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
109
110 base_wnd * CreateGraphicsWnd(bool); // virtual
111 void DestroyGraphicsWnd(base_wnd *); // virtual
112
113 base_wnd * CreatePlot1DWnd(bool); // virtual
114 base_wnd * CreatePlot2DWnd(bool); // virtual
115 base_wnd * CreateEnergyLevelDiagramWnd(bool); // virtual
116 base_wnd * CreateReactionCoordinatePlotWnd(bool); // virtual
117 base_wnd * CreateGenericProteinChainWnd(bool); // virtual
118 void DestroyPlottingWnd(base_wnd *); // virtual
119
120 void Message(const char *); // virtual
121 void WarningMessage(const char *); // virtual
122 void ErrorMessage(const char *); // virtual
123 bool Question(const char *); // virtual
124 void PrintToLog(const char *); // virtual
125
126 // the popup-menu callbacks start here ; the popup-menu callbacks start here
127 // the popup-menu callbacks start here ; the popup-menu callbacks start here
128 // the popup-menu callbacks start here ; the popup-menu callbacks start here
129
130 static void popup_FileImport(GtkWidget *, gpointer);
131 static void popup_FileExport(GtkWidget *, gpointer);
132 static void popup_FileExportGraphics(GtkWidget *, gpointer);
133 static void popup_FileExtra1(GtkWidget *, gpointer);
134 static void popup_FileExtra2(GtkWidget *, gpointer); // this is just a stub for a new "extra"-item...
135
136 static void popup_SelectAll(GtkWidget *, gpointer);
137 static void popup_SelectNone(GtkWidget *, gpointer);
138 static void popup_InvertSelection(GtkWidget *, gpointer);
139
140 static void popup_HideSelected(GtkWidget *, gpointer);
141 static void popup_ShowSelected(GtkWidget *, gpointer);
142 static void popup_LockSelected(GtkWidget *, gpointer);
143 static void popup_UnlockSelected(GtkWidget *, gpointer);
144 static void popup_DeleteSelected(GtkWidget *, gpointer);
145
146 static void popup_SelectModeAtom(GtkWidget *, gpointer data);
147 static void popup_SelectModeResidue(GtkWidget *, gpointer data);
148 static void popup_SelectModeChain(GtkWidget *, gpointer data);
149 static void popup_SelectModeMolecule(GtkWidget *, gpointer data);
150
151 static void popup_ViewsNewELD(GtkWidget *, gpointer);
152 static void popup_ViewsNewSSC(GtkWidget *, gpointer);
153
154 static void popup_RModeBallStick(GtkWidget *, gpointer);
155 static void popup_RModeVanDerWaals(GtkWidget *, gpointer);
156 static void popup_RModeCylinders(GtkWidget *, gpointer);
157 static void popup_RModeWireframe(GtkWidget *, gpointer);
158 static void popup_RModeNothing(GtkWidget *, gpointer);
159
160 static void popup_CModeElement(GtkWidget *, gpointer);
161 static void popup_CModeSecStruct(GtkWidget *, gpointer);
162 static void popup_CModeHydPhob(GtkWidget *, gpointer);
163
164 static void popup_LModeIndex(GtkWidget *, gpointer);
165 static void popup_LModeElement(GtkWidget *, gpointer);
166 static void popup_LModeFCharge(GtkWidget *, gpointer);
167 static void popup_LModePCharge(GtkWidget *, gpointer);
168 static void popup_LModeAtomType(GtkWidget *, gpointer);
169 static void popup_LModeBuilderID(GtkWidget *, gpointer);
170 static void popup_LModeBondType(GtkWidget *, gpointer);
171 static void popup_LModeResidue(GtkWidget *, gpointer);
172 static void popup_LModeSecStruct(GtkWidget *, gpointer);
173 static void popup_LModeNothing(GtkWidget *, gpointer);
174
175 static void popup_ObjRibbon(GtkWidget *, gpointer);
176 static void popup_ObjEPlane(GtkWidget *, gpointer);
177 static void popup_ObjEVolume(GtkWidget *, gpointer);
178 static void popup_ObjESurface(GtkWidget *, gpointer);
179 static void popup_ObjEVDWSurface(GtkWidget *, gpointer);
180 static void popup_ObjEDPlane(GtkWidget *, gpointer);
181 static void popup_ObjEDSurface(GtkWidget *, gpointer);
182 static void popup_ObjMOPlane(GtkWidget *, gpointer);
183 static void popup_ObjMOVolume(GtkWidget *, gpointer);
184 static void popup_ObjMOSurface(GtkWidget *, gpointer);
185 static void popup_ObjMODPlane(GtkWidget *, gpointer);
186 static void popup_ObjMODVolume(GtkWidget *, gpointer);
187 static void popup_ObjMODSurface(GtkWidget *, gpointer);
188
189 static void popup_ObjectsDeleteCurrent(GtkWidget *, gpointer);
190
191 static void popup_CompSetup(GtkWidget *, gpointer);
192 static void popup_CompEnergy(GtkWidget *, gpointer);
193 static void popup_CompGeomOpt(GtkWidget *, gpointer);
194 static void popup_CompMolDyn(GtkWidget *, gpointer);
195 static void popup_CompRandomSearch(GtkWidget *, gpointer);
196 static void popup_CompSystematicSearch(GtkWidget *, gpointer);
197 static void popup_CompMonteCarloSearch(GtkWidget *, gpointer);
198 static void popup_CompTorsionEnergyPlot1D(GtkWidget *, gpointer);
199 static void popup_CompTorsionEnergyPlot2D(GtkWidget *, gpointer);
200 static void popup_CompPopAnaElectrostatic(GtkWidget *, gpointer);
201 static void popup_CompTransitionStateSearch(GtkWidget *, gpointer);
202 static void popup_CompStationaryStateSearch(GtkWidget *, gpointer);
203 static void popup_CompFormula(GtkWidget *, gpointer);
204
205 static void popup_CompSetFormalCharge(GtkWidget *, gpointer); // under construction...
206 static void popup_CompCreateRS(GtkWidget *, gpointer); // under construction...
207 static void popup_CompCycleRS(GtkWidget *, gpointer); // under construction...
208
209 static void popup_TrajView(GtkWidget *, gpointer);
210 static void popup_SetOrbital(GtkWidget *, gpointer);
211
212 static void popup_HAdd(GtkWidget *, gpointer);
213 static void popup_HRemove(GtkWidget *, gpointer);
214
215 static void popup_SolvateBox(GtkWidget *, gpointer);
216 static void popup_SolvateSphere(GtkWidget *, gpointer);
217
218 static void popup_BuilderAmino(GtkWidget *, gpointer);
219 static void popup_BuilderNucleic(GtkWidget *, gpointer);
220
221 static void popup_Center(GtkWidget *, gpointer);
222 static void popup_ClearAll(GtkWidget *, gpointer);
223
224 static void popup_EnterCommand(GtkWidget *, gpointer);
225 };
226
227 /*################################################################################################*/
228
229 #endif // GTK_PROJECT_H
230
231 // eof
0 // GTK_RCPVIEW_WND.CPP
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_rcpview_wnd.h"
21
22 #include "rcpview_wcl.h"
23 #include "gtk_app.h"
24
25 #include "local_i18n.h"
26
27 /*################################################################################################*/
28
29 GtkActionEntry gtk_rcpview_wnd::entries[] =
30 {
31 { "AttachDetachRCP", NULL, N_("Attach/Detach This View"), NULL, N_("Select whether this view is attached or in an independent window"), (GCallback) gtk_rcpview_wnd::popup_AttachDetach },
32 { "DeleteViewRCP", NULL, N_("Delete View"), NULL, N_("Delete this view"), (GCallback) gtk_rcpview_wnd::popup_DeleteView }
33 };
34
35 const char * gtk_rcpview_wnd::ui_description =
36 "<ui>"
37 " <popup name='grcpvMenu'>"
38 " <menuitem action='AttachDetachRCP'/>"
39 " <separator/>"
40 " <menuitem action='DeleteViewRCP'/>"
41 " </popup>"
42 "</ui>";
43
44 gtk_rcpview_wnd::gtk_rcpview_wnd(bool det_flag) :
45 gtk_wnd(det_flag)
46 {
47 GtkActionGroup * action_group = gtk_action_group_new("grcpvActions");
48 gtk_action_group_set_translation_domain(action_group, GETTEXT_PACKAGE);
49 gtk_action_group_add_actions(action_group, entries, G_N_ELEMENTS(entries), GTK_WIDGET(view_widget));
50
51 gtk_ui_manager_insert_action_group(gtk_app::GetUIManager(), action_group, 0);
52
53 GError * error = NULL;
54 if (!gtk_ui_manager_add_ui_from_string(gtk_app::GetUIManager(), ui_description, -1, & error))
55 {
56 g_message(_("ERROR : Building popup-menu for gtk_rcpview_wnd failed : %s"), error->message);
57 g_error_free(error); exit(EXIT_FAILURE);
58 }
59
60 // set gtk_view::popupmenu so that gtk_ogl_view::ButtonHandler() will display it...
61 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62
63 popupmenu = gtk_ui_manager_get_widget(gtk_app::GetUIManager(), "/grcpvMenu");
64 }
65
66 gtk_rcpview_wnd::~gtk_rcpview_wnd(void)
67 {
68 }
69
70 // here are the popup menu callbacks:
71 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
72
73 void gtk_rcpview_wnd::popup_AttachDetach(GtkWidget *, gpointer data)
74 {
75 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
76 rcpview_wcl * wcl = dynamic_cast<rcpview_wcl *>(wnd->GetClient());
77
78 gtk_app::GetAppX()->AttachDetachView(wcl);
79 }
80
81 void gtk_rcpview_wnd::popup_DeleteView(GtkWidget *, gpointer data)
82 {
83 gtk_wnd * wnd = iv_Find((GtkWidget *) data);
84 rcpview_wcl * wcl = dynamic_cast<rcpview_wcl *>(wnd->GetClient());
85
86 gtk_app::GetPrjX()->RemovePlottingClient(wcl);
87 }
88
89 /*################################################################################################*/
90
91 // eof
0 // GTK_RCPVIEW_WND.H : write a short description here...
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ghemicalconfig2.h"
21
22 #ifndef GTK_RCPVIEW_WND_H
23 #define GTK_RCPVIEW_WND_H
24
25 #include "gtk_wnd.h"
26
27 /*################################################################################################*/
28
29 class gtk_rcpview_wnd :
30 public gtk_wnd
31 {
32 private:
33
34 static GtkActionEntry entries[];
35 static const char * ui_description;
36
37 public:
38
39 gtk_rcpview_wnd(bool);
40 ~gtk_rcpview_wnd(void);
41
42 static void popup_AttachDetach(GtkWidget *, gpointer);
43 static void popup_DeleteView(GtkWidget *, gpointer);
44 };
45
46 /*################################################################################################*/
47
48 #endif // GTK_RCPVIEW_WND_H
49
50 // eof
0 // GTK_SETUP_DIALOG.CPP
1
2 // Copyright (C) 2002 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_setup_dialog.h"
21
22 #include "local_i18n.h"
23
24 #include <ghemical/engine.h>
25
26 #include <ghemical/eng1_qm.h>
27 #include <ghemical/eng1_qm.h>
28 #include <ghemical/eng1_sf.h>
29
30 #include <ghemical/eng2_qm_mm.h>
31
32 #include <gtk/gtk.h>
33
34 #include <sstream>
35 #include <iostream>
36 using namespace std;
37
38 /*################################################################################################*/
39
40 gtk_setup_dialog::gtk_setup_dialog(gtk_project * p1) :
41 gtk_glade_dialog("glade/gtk_setup_dialog.glade")
42 {
43 prj = p1;
44
45 dialog = glade_xml_get_widget(xml, "setup_dialog");
46 if (dialog == NULL)
47 {
48 cout << _("WARNING : setup_dialog : glade_xml_get_widget() failed!!!") << endl;
49 return;
50 }
51
52 // initialize the widgets...
53 // initialize the widgets...
54 // initialize the widgets...
55
56 GtkWidget * notebook_su = glade_xml_get_widget(xml, "notebook_su");
57 GtkWidget * optmenu; GtkWidget * submenu; GtkWidget * item; i32u eng_index;
58
59 GtkWidget * saved_optmenus[5]; // these are for setting the default engine...
60
61 // setup1_qm
62 // ^^^^^^^^^
63
64 optmenu = glade_xml_get_widget(xml, "optionmenu_allQM_eng");
65 submenu = gtk_menu_new(); saved_optmenus[0] = optmenu;
66
67 for (eng_index = 0; eng_index < setup1_qm::static_GetEngineCount(); eng_index++)
68 {
69 item = gtk_menu_item_new_with_label(setup1_qm::static_GetEngineName(eng_index));
70 gtk_widget_show(item); gtk_menu_append(GTK_MENU(submenu), item);
71 }
72
73 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), submenu);
74
75 // setup1_mm
76 // ^^^^^^^^^
77
78 optmenu = glade_xml_get_widget(xml, "optionmenu_allMM_eng");
79 submenu = gtk_menu_new(); saved_optmenus[1] = optmenu;
80
81 for (eng_index = 0; eng_index < setup1_mm::static_GetEngineCount(); eng_index++)
82 {
83 item = gtk_menu_item_new_with_label(setup1_mm::static_GetEngineName(eng_index));
84 gtk_widget_show(item); gtk_menu_append(GTK_MENU(submenu), item);
85 }
86
87 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), submenu);
88
89 // setup1_sf
90 // ^^^^^^^^^
91
92 optmenu = glade_xml_get_widget(xml, "optionmenu_allSF_eng");
93 submenu = gtk_menu_new(); saved_optmenus[2] = optmenu;
94
95 for (eng_index = 0; eng_index < setup1_sf::static_GetEngineCount(); eng_index++)
96 {
97 item = gtk_menu_item_new_with_label(setup1_sf::static_GetEngineName(eng_index));
98 gtk_widget_show(item); gtk_menu_append(GTK_MENU(submenu), item);
99 }
100
101 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), submenu);
102
103 // setup2_qm_mm
104 // ^^^^^^^^^^^^
105
106 optmenu = glade_xml_get_widget(xml, "optionmenu_QMMM_eng");
107 submenu = gtk_menu_new(); saved_optmenus[3] = optmenu;
108
109 for (eng_index = 0; eng_index < setup2_qm_mm::static_GetEngineCount(); eng_index++)
110 {
111 item = gtk_menu_item_new_with_label(setup2_qm_mm::static_GetEngineName(eng_index));
112 gtk_widget_show(item); gtk_menu_append(GTK_MENU(submenu), item);
113 }
114
115 gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), submenu);
116
117 // detect the type of model::current_setup object, and setup the default values...
118 // detect the type of model::current_setup object, and setup the default values...
119 // detect the type of model::current_setup object, and setup the default values...
120
121 setup1_qm * su_allqm = dynamic_cast<setup1_qm *>(prj->GetCurrentSetup());
122 setup1_mm * su_allmm = dynamic_cast<setup1_mm *>(prj->GetCurrentSetup());
123 setup1_sf * su_allsf = dynamic_cast<setup1_sf *>(prj->GetCurrentSetup());
124
125 setup2_qm_mm * su_qmmm = dynamic_cast<setup2_qm_mm *>(prj->GetCurrentSetup());
126
127 // the defaults for the subpages...
128 // the defaults for the subpages...
129 // the defaults for the subpages...
130
131 if (su_allqm == NULL)
132 {
133 GtkWidget * entry_totchrg = glade_xml_get_widget(xml, "entry_allQM_totchrg"); // total charge
134 gtk_entry_set_text(GTK_ENTRY(entry_totchrg), "+0");
135
136 GtkWidget * entry_spinmult = glade_xml_get_widget(xml, "entry_allQM_spinmult"); // spin multiplicity
137 // todo!!! todo!!! todo!!! todo!!! todo!!! todo!!! todo!!!
138 gtk_entry_set_text(GTK_ENTRY(entry_spinmult), "1"); // not yet implemented!
139 gtk_widget_set_sensitive (entry_spinmult, false); // not yet implemented!
140 // todo!!! todo!!! todo!!! todo!!! todo!!! todo!!! todo!!!
141 }
142
143 if (su_allmm == NULL)
144 {
145 //GtkWidget * entry_dimx = glade_xml_get_widget(xml, "entry_allmm_dimx"); // pbc dim x
146 //gtk_entry_set_text(GTK_ENTRY(entry_dimx), "1.500");
147 //GtkWidget * entry_dimy = glade_xml_get_widget(xml, "entry_allmm_dimy"); // pbc dim y
148 //gtk_entry_set_text(GTK_ENTRY(entry_dimy), "1.500");
149 //GtkWidget * entry_dimz = glade_xml_get_widget(xml, "entry_allmm_dimz"); // pbc dim z
150 //gtk_entry_set_text(GTK_ENTRY(entry_dimz), "1.500");
151 }
152
153 if (su_allsf == NULL)
154 {
155 }
156
157 if (su_qmmm == NULL)
158 {
159 }
160
161 // the settings specific to the model::current_setup object...
162 // the settings specific to the model::current_setup object...
163 // the settings specific to the model::current_setup object...
164
165 if (su_allqm != NULL)
166 {
167 gtk_option_menu_set_history(GTK_OPTION_MENU(saved_optmenus[0]), su_allqm->GetCurrEngIndex());
168 gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook_su), 0);
169
170 GtkWidget * entry_totchrg = glade_xml_get_widget(xml, "entry_allQM_totchrg"); // total charge
171 GtkWidget * entry_spinmult = glade_xml_get_widget(xml, "entry_allQM_spinmult"); // spin multiplicity
172
173 ostringstream str;
174
175 str.setf(ios::showpos); str << prj->GetQMTotalCharge() << ends;
176 gtk_entry_set_text(GTK_ENTRY(entry_totchrg), str.str().c_str());
177
178 // todo!!! todo!!! todo!!! todo!!! todo!!! todo!!! todo!!!
179 gtk_entry_set_text(GTK_ENTRY(entry_spinmult), "1"); // not yet implemented!
180 gtk_widget_set_sensitive (entry_spinmult, false); // not yet implemented!
181 // todo!!! todo!!! todo!!! todo!!! todo!!! todo!!! todo!!!
182 }
183 else if (su_allmm != NULL)
184 {
185 gtk_option_menu_set_history(GTK_OPTION_MENU(saved_optmenus[1]), su_allmm->GetCurrEngIndex());
186 gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook_su), 1);
187
188 GtkWidget * checkbutton_amber = glade_xml_get_widget(xml, "checkbutton_allMM_amber"); // exceptions flag
189 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_amber), (su_allmm->GetExceptions() ? TRUE : FALSE));
190
191 //GtkWidget * entry_dimx = glade_xml_get_widget(xml, "entry_allmm_dimx"); // pbc dim x
192 //gtk_entry_set_text(GTK_ENTRY(entry_dimx), "???");
193 //GtkWidget * entry_dimy = glade_xml_get_widget(xml, "entry_allmm_dimy"); // pbc dim y
194 //gtk_entry_set_text(GTK_ENTRY(entry_dimy), "???");
195 //GtkWidget * entry_dimz = glade_xml_get_widget(xml, "entry_allmm_dimz"); // pbc dim z
196 //gtk_entry_set_text(GTK_ENTRY(entry_dimz), "???");
197 }
198 else if (su_allsf != NULL)
199 {
200 gtk_option_menu_set_history(GTK_OPTION_MENU(saved_optmenus[2]), su_allsf->GetCurrEngIndex());
201 gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook_su), 2);
202 }
203 else if (su_qmmm != NULL)
204 {
205 // gtk_option_menu_set_history(GTK_OPTION_MENU(saved_optmenus[3]), su_qmmm->current_eng_index);
206 gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook_su), 3);
207 }
208 else
209 {
210 assertion_failed(__FILE__, __LINE__, "setup class unknown.");
211 }
212
213 // connect the handlers...
214
215 glade_xml_signal_connect_data(xml, "on_dialog_destroy", (GtkSignalFunc) handler_Destroy, (gpointer) this);
216
217 glade_xml_signal_connect_data(xml, "on_button_ok_clicked", (GtkSignalFunc) handler_ButtonOK, (gpointer) this);
218 glade_xml_signal_connect_data(xml, "on_button_cancel_clicked", (GtkSignalFunc) handler_ButtonCancel, (gpointer) this);
219
220 gtk_dialog_run(GTK_DIALOG(dialog)); // MODAL
221 gtk_widget_destroy(dialog); // MODAL
222 }
223
224 gtk_setup_dialog::~gtk_setup_dialog(void)
225 {
226 }
227
228 void gtk_setup_dialog::handler_Destroy(GtkWidget *, gpointer data) // not really needed...
229 {
230 gtk_setup_dialog * ref = (gtk_setup_dialog *) data;
231 //cout << "handler_Destroy() : ref = " << ref << endl;
232 }
233
234 void gtk_setup_dialog::handler_ButtonOK(GtkWidget *, gpointer data)
235 {
236 gtk_setup_dialog * ref = (gtk_setup_dialog *) data;
237 //cout << "handler_ButtonOK() : ref = " << ref << endl;
238
239 // read in and process the user's settings...
240 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
241
242 GtkWidget * notebook_su = glade_xml_get_widget(ref->xml, "notebook_su");
243 GtkWidget * optmenu; GtkWidget * submenu; GtkWidget * item; int index = NOT_DEFINED;
244
245 const gint current_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook_su));
246
247 setup1_sf::SFmode SFmd;
248
249 if (current_page == 0)
250 {
251 optmenu = glade_xml_get_widget(ref->xml, "optionmenu_allQM_eng");
252 submenu = gtk_option_menu_get_menu(GTK_OPTION_MENU(optmenu));
253 item = gtk_menu_get_active(GTK_MENU(submenu));
254
255 index = g_list_index(GTK_MENU_SHELL(submenu)->children, item);
256
257 //delete ref->prj->current_setup; // get rid of the old setup...
258 //ref->prj->current_setup = new setup1_qm(ref->prj); // ...and make a new one.
259 ref->prj->ReplaceCurrentSetup(new setup1_qm(ref->prj));
260 ref->prj->GetCurrentSetup()->SetCurrEngIndex(index); // set the requested engine.
261
262 // handle the total charge
263
264 GtkWidget * entry_totchrg = glade_xml_get_widget(ref->xml, "entry_allQM_totchrg");
265 const gchar * buffer = gtk_entry_get_text(GTK_ENTRY(entry_totchrg));
266 istringstream istr(buffer); i32s value; istr >> value;
267 ref->prj->SetQMTotalCharge(value);
268
269 // TODO : handle the multiplicity...
270 }
271 else if (current_page == 1)
272 {
273 optmenu = glade_xml_get_widget(ref->xml, "optionmenu_allMM_eng");
274 submenu = gtk_option_menu_get_menu(GTK_OPTION_MENU(optmenu));
275 item = gtk_menu_get_active(GTK_MENU(submenu));
276
277 index = g_list_index(GTK_MENU_SHELL(submenu)->children, item);
278
279 //delete ref->prj->current_setup; // get rid of the old setup...
280 //ref->prj->current_setup = new setup1_mm(ref->prj); // ...and make a new one.
281 ref->prj->ReplaceCurrentSetup(new setup1_mm(ref->prj));
282 ref->prj->GetCurrentSetup()->SetCurrEngIndex(index); // set the requested engine.
283
284 // handle the exceptions flag
285
286 GtkWidget * checkbutton_amber = glade_xml_get_widget(ref->xml, "checkbutton_allMM_amber");
287 bool exceptions = (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkbutton_amber)) == TRUE ? true : false);
288 dynamic_cast<setup1_mm *>(ref->prj->GetCurrentSetup())->SetExceptions(exceptions);
289 }
290 else if (current_page == 2)
291 {
292 optmenu = glade_xml_get_widget(ref->xml, "optionmenu_allSF_eng");
293 submenu = gtk_option_menu_get_menu(GTK_OPTION_MENU(optmenu));
294 item = gtk_menu_get_active(GTK_MENU(submenu));
295
296 index = g_list_index(GTK_MENU_SHELL(submenu)->children, item);
297
298 switch (index)
299 {
300 case 0:
301 case 1:
302 SFmd = setup1_sf::modeUA;
303 break;
304
305 case 2:
306 case 3:
307 SFmd = setup1_sf::modeP5;
308 break;
309
310 case 4:
311 case 5:
312 SFmd = setup1_sf::modeP3;
313 break;
314
315 default:
316 assertion_failed(__FILE__, __LINE__, "cannot set SFmode!");
317 }
318
319 //delete ref->prj->current_setup; // get rid of the old setup...
320 //ref->prj->current_setup = new setup1_sf(ref->prj, !index); // ...and make a new one.
321 ref->prj->ReplaceCurrentSetup(new setup1_sf(ref->prj, SFmd));
322 ref->prj->GetCurrentSetup()->SetCurrEngIndex(index); // set the requested engine.
323 }
324 else if (current_page == 3)
325 {
326 /* optmenu = glade_xml_get_widget(ref->xml, "optionmenu_QMMM_eng");
327 submenu = gtk_option_menu_get_menu(GTK_OPTION_MENU(optmenu));
328 item = gtk_menu_get_active(GTK_MENU(submenu));
329
330 index = g_list_index(GTK_MENU_SHELL(submenu)->children, item);
331
332 delete ref->prj->current_setup; // get rid of the old setup...
333 ref->prj->current_setup = new setup2_qm_mm(ref->prj); // ...and make a new one.
334 ref->prj->GetCurrentSetup()->current_eng_index = index; // set the requested engine. */
335 }
336 else if (current_page == 4)
337 {
338 /* optmenu = glade_xml_get_widget(ref->xml, "optionmenu_MMSF_eng");
339 submenu = gtk_option_menu_get_menu(GTK_OPTION_MENU(optmenu));
340 item = gtk_menu_get_active(GTK_MENU(submenu));
341
342 index = g_list_index(GTK_MENU_SHELL(submenu)->children, item);
343
344 delete ref->prj->current_setup; // get rid of the old setup...
345 ref->prj->current_setup = new setup2_mm_sf(ref->prj); // ...and make a new one.
346 ref->prj->GetCurrentSetup()->current_eng_index = index; // set the requested engine. */
347 }
348 else
349 {
350 assertion_failed(__FILE__, __LINE__, "invalid current page.");
351 }
352
353 // report the new settings to log...
354 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
355
356 ostringstream str1;
357 str1 << _("Changed the Setup for calculations ");
358 str1 << _("(setup = ") << ref->prj->GetCurrentSetup()->GetClassName_lg();
359
360 if (current_page == 2)
361 {
362 str1 << "mode = ";
363 switch (SFmd)
364 {
365 case setup1_sf::modeUA: str1 << "UA"; break;
366 case setup1_sf::modeP5: str1 << "P5"; break;
367 case setup1_sf::modeP3: str1 << "P3"; break;
368
369 default:
370 assertion_failed(__FILE__, __LINE__, "cannot report SFmode!");
371 }
372 }
373
374 str1 << _(", engine = ") << ref->prj->GetCurrentSetup()->GetEngineName(ref->prj->GetCurrentSetup()->GetCurrEngIndex());
375 str1 << ")." << endl << ends;
376
377 ref->prj->PrintToLog(str1.str().c_str());
378 }
379
380 void gtk_setup_dialog::handler_ButtonCancel(GtkWidget *, gpointer data) // not really needed...
381 {
382 gtk_setup_dialog * ref = (gtk_setup_dialog *) data;
383 //cout << "handler_ButtonCancel() : ref = " << ref << endl;
384 }
385
386 /*################################################################################################*/
387
388 // eof
0 // GTK_SETUP_DIALOG.H : write a short description here...
1
2 // Copyright (C) 2002 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef GTK_SETUP_DIALOG_H
21 #define GTK_SETUP_DIALOG_H
22
23 //#include "ghemicalconfig2.h"
24
25 #include "gtk_glade_dialog.h"
26 #include "gtk_project.h"
27
28 /*################################################################################################*/
29
30 class gtk_setup_dialog : public gtk_glade_dialog
31 {
32 protected:
33
34 gtk_project * prj;
35
36 GtkWidget * dialog;
37
38 public:
39
40 gtk_setup_dialog(gtk_project *);
41 ~gtk_setup_dialog(void);
42
43 static void handler_Destroy(GtkWidget *, gpointer);
44
45 static void handler_ButtonOK(GtkWidget *, gpointer);
46 static void handler_ButtonCancel(GtkWidget *, gpointer);
47 };
48
49 /*################################################################################################*/
50
51 #endif // GTK_SETUP_DIALOG_H
52
53 // eof
0 // GTK_SIMPLE_DIALOGS.CPP
1
2 // Copyright (C) 1999 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_simple_dialogs.h"
21
22 #include <ghemical/atom.h>
23 #include <ghemical/bond.h>
24
25 #include "gtk_project.h"
26
27 #include "gtk_trajview_dialog.h"
28
29 #include "local_i18n.h"
30
31 #include <cstring>
32 using namespace std;
33
34 /*################################################################################################*/
35
36 gtk_element_dialog * gtk_element_dialog::current_object = NULL;
37
38 GtkWidget * gtk_element_dialog::dialog = NULL;
39 GtkWidget * gtk_element_dialog::current_element_widget = NULL;
40
41 gtk_element_dialog::gtk_element_dialog(void)
42 {
43 current_object = this;
44 dialog = gtk_dialog_new();
45
46 gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); // request a modal window.
47
48 gtk_window_set_title(GTK_WINDOW(dialog), _("Set Current Element"));
49 gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);
50
51 GtkWidget * table = gtk_table_new(21, 38, TRUE);
52 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), table);
53
54 int attachdata[ELEMENT_SYMBOLS][2] =
55 {
56 { 1, 1 }, { 35, 1 }, { 1, 3 }, { 3, 3 }, { 25, 3 }, // B
57 { 27, 3 }, { 29, 3 }, { 31, 3 }, { 33, 3 }, { 35, 3 }, // Ne
58 { 1, 5 }, { 3, 5 }, { 25, 5 }, { 27, 5 }, { 29, 5 }, // P
59 { 31, 5 }, { 33, 5 }, { 35, 5 }, { 1, 7 }, { 3, 7 }, // Ca
60 { 5, 7 }, { 7, 7 }, { 9, 7 }, { 11, 7 }, { 13, 7 }, // Mn
61 { 15, 7 }, { 17, 7 }, { 19, 7 }, { 21, 7 }, { 23, 7 }, // Zn
62 { 25, 7 }, { 27, 7 }, { 29, 7 }, { 31, 7 }, { 33, 7 }, // Br
63 { 35, 7 }, { 1, 9 }, { 3, 9 }, { 5, 9 }, { 7, 9 }, // Zr
64 { 9, 9 }, { 11, 9 }, { 13, 9 }, { 15, 9 }, { 17, 9 }, // Rh
65 { 19, 9 }, { 21, 9 }, { 23, 9 }, { 25, 9 }, { 27, 9 }, // Sn
66 { 29, 9 }, { 31, 9 }, { 33, 9 }, { 35, 9 }, { 1, 11 }, // Cs
67 { 3, 11 }, { 5, 11 }, { 9, 16 }, { 11, 16 }, { 13, 16 }, // Nd
68 { 15, 16 }, { 17, 16 }, { 19, 16 }, { 21, 16 }, { 23, 16 }, // Tb
69 { 25, 16 }, { 27, 16 }, { 29, 16 }, { 31, 16 }, { 33, 16 }, // Yb
70 { 35, 16 }, { 7, 11 }, { 9, 11 }, { 11, 11 }, { 13, 11 }, // Re
71 { 15, 11 }, { 17, 11 }, { 19, 11 }, { 21, 11 }, { 23, 11 }, // Hg
72 { 25, 11 }, { 27, 11 }, { 29, 11 }, { 31, 11 }, { 33, 11 }, // At
73 { 35, 11 }, { 1, 13 }, { 3, 13 }, { 5, 13 }, { 9, 18 }, // Th
74 { 11, 18 }, { 13, 18 }, { 15, 18 }, { 17, 18 }, { 19, 18 }, // Am
75 { 21, 18 }, { 23, 18 }, { 25, 18 }, { 27, 18 }, { 29, 18 }, // Fm
76 { 31, 18 }, { 33, 18 }, { 35, 18 }, { 7, 13 }, { 9, 13 }, // Db
77 { 11, 13 }, { 13, 13 }, { 15, 13 }, { 17, 13 }, { 19, 13 }
78 };
79
80 GtkSignalFunc sf = (GtkSignalFunc) gtk_element_dialog::SignalHandler;
81 GtkWidget * button;
82
83 for (int n1 = 0; n1 < ELEMENT_SYMBOLS; n1++)
84 {
85 element tmp_element(n1 + 1);
86 button = gtk_toggle_button_new_with_label(tmp_element.GetSymbol());
87
88 if (n1 + 1 == element::current_element.GetAtomicNumber())
89 {
90 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), true);
91 current_element_widget = button; // do we need this???
92 }
93
94 gtk_signal_connect(GTK_OBJECT(button), "clicked", sf, (void *) (n1 + 1));
95 gtk_widget_show(button);
96
97 int x = attachdata[n1][0]; int y = attachdata[n1][1];
98 gtk_table_attach_defaults(GTK_TABLE(table), button, x, x + 2, y, y + 2);
99 }
100
101 gtk_widget_show(table);
102 gtk_widget_show(dialog);
103 }
104
105 gtk_element_dialog::~gtk_element_dialog(void)
106 {
107 }
108
109 void gtk_element_dialog::SignalHandler(GtkWidget *, int signal)
110 {
111 element::current_element = element(signal);
112 cout << _("Current element is now ") << element::current_element.GetSymbol() << "." << endl; // which prj???
113
114 gtk_widget_destroy(dialog);
115 delete current_object; // the object was created with new!!!
116 }
117
118 /*################################################################################################*/
119
120 gtk_bondtype_dialog * gtk_bondtype_dialog::current_object = NULL;
121
122 GtkWidget * gtk_bondtype_dialog::dialog = NULL;
123 GtkWidget * gtk_bondtype_dialog::current_bond_widget = NULL;
124
125 gtk_bondtype_dialog::gtk_bondtype_dialog(void)
126 {
127 current_object = this;
128 dialog = gtk_dialog_new();
129
130 gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); // request a modal window.
131
132 gtk_window_set_title(GTK_WINDOW(dialog), _("Set Current Bondtype"));
133 gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);
134
135 GtkWidget * table = gtk_table_new((2 + 4 + 1), 6, TRUE);
136 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), table);
137
138 char bt_symbols[4] = { 'S', 'D', 'T', 'C' };
139
140 GtkSignalFunc sf = (GtkSignalFunc) gtk_bondtype_dialog::SignalHandler;
141 GtkWidget * button;
142
143 int x = 1; int y = 0;
144 for (int n1 = 0;n1 < 4;n1++)
145 {
146 bondtype tmp_bondtype(bt_symbols[n1]);
147 button = gtk_toggle_button_new_with_label(tmp_bondtype.GetString());
148
149 if (bt_symbols[n1] == bondtype::current_bondtype.GetSymbol1())
150 {
151 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), true);
152 current_bond_widget = button; // do we need this??
153 }
154
155 i32s long_bt_symbol = bt_symbols[n1]; // convert 8bit -> 32bit
156 gtk_signal_connect(GTK_OBJECT(button), "clicked", sf, (void *) long_bt_symbol);
157
158 y += 1;
159 gtk_table_attach_defaults(GTK_TABLE(table), button, x, x + 4, y, y + 1);
160 gtk_widget_show(button);
161
162 if (n1 == 2) // add a separator ; 20050415
163 {
164 button = gtk_hseparator_new();
165
166 y += 1;
167 gtk_table_attach_defaults(GTK_TABLE(table), button, x, x + 4, y, y + 1);
168 gtk_widget_show(button);
169 }
170 }
171
172 gtk_widget_show(table);
173 gtk_widget_show(dialog);
174 }
175
176 gtk_bondtype_dialog::~gtk_bondtype_dialog(void)
177 {
178 }
179
180 void gtk_bondtype_dialog::SignalHandler(GtkWidget *, int signal)
181 {
182 bondtype::current_bondtype = bondtype((char) signal);
183 cout << _("Current bondtype is now ") << bondtype::current_bondtype.GetString() << "." << endl; // which prj???
184
185 gtk_widget_destroy(dialog);
186 delete current_object; // the object was created with new!!!
187 }
188
189 /*################################################################################################*/
190
191 const char * make_tmp_filename(gtk_project * prj)
192 {
193 static char tmp_filename[256];
194 prj->GetFullProjectFileName(tmp_filename, 256);
195 return tmp_filename;
196 }
197
198 GtkWidget * gtk_file_dialog::dialog;
199
200 gtk_file_dialog::gtk_file_dialog(const char * title, const char * filter, const char * def_fn)
201 {
202 dialog = gtk_file_selection_new(title);
203 gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); // request a modal window.
204
205 if (filter != NULL) gtk_file_selection_complete(GTK_FILE_SELECTION(dialog), filter);
206 if (def_fn != NULL) gtk_file_selection_set_filename(GTK_FILE_SELECTION(dialog), def_fn);
207
208 gtk_signal_connect(GTK_OBJECT(dialog),
209 "destroy", GTK_SIGNAL_FUNC(DestroyHandler), this);
210
211 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(dialog)->ok_button),
212 "clicked", GTK_SIGNAL_FUNC(OkButtonHandler), this);
213
214 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(dialog)->cancel_button),
215 "clicked", GTK_SIGNAL_FUNC(CancelButtonHandler), this);
216
217 gtk_widget_show(dialog);
218 }
219
220 gtk_file_dialog::~gtk_file_dialog(void)
221 {
222 }
223
224 void gtk_file_dialog::DestroyHandler(GtkWidget *, gpointer data)
225 {
226 gtk_file_dialog * ref = (gtk_file_dialog *) data;
227
228 delete ref; // the object was created using new!!!
229 }
230
231 void gtk_file_dialog::OkButtonHandler(GtkWidget *, gpointer data)
232 {
233 gtk_file_dialog * ref = (gtk_file_dialog *) data;
234
235 // do not close the dialog if we had for example wrong file type...
236
237 if (ref->OkEvent(gtk_file_selection_get_filename(GTK_FILE_SELECTION(dialog))))
238 {
239 gtk_widget_destroy(dialog);
240 }
241 }
242
243 void gtk_file_dialog::CancelButtonHandler(GtkWidget *, gpointer data)
244 {
245 gtk_file_dialog * ref = (gtk_file_dialog *) data;
246 ref->CancelEvent();
247
248 gtk_widget_destroy(dialog);
249 }
250
251 /*################################################################################################*/
252
253 const char gtk_file_open_dialog::title[] = "Open Project File";
254 gtk_project * gtk_file_open_dialog::prj = NULL;
255
256 gtk_file_open_dialog::gtk_file_open_dialog(gtk_project * p1) :
257 gtk_file_dialog(title, NULL, NULL)
258 {
259 prj = p1;
260 }
261
262 gtk_file_open_dialog::~gtk_file_open_dialog(void)
263 {
264 }
265
266 bool gtk_file_open_dialog::OkEvent(const char * filename)
267 {
268 if (prj == NULL)
269 {
270 gtk_app::GetAppX()->SetNewProject();
271 }
272
273 bool open = prj->IsEmpty(); // open, not insert
274
275 ifstream ifile;
276 ifile.open(filename, ios::in);
277 ReadGPR(* prj, ifile, !open);
278 ifile.close();
279
280 if (open) // we're "switching" to this file
281 {
282 prj->ParseProjectFileNameAndPath(filename);
283
284 char buffer[256];
285 prj->GetProjectFileName(buffer, 256, true);
286
287 // the file name change here is not yet properly working.
288 // the project notebook widget should be stored (if not already) in gtk_project and
289 // a call of UpdateAllWindowTitles() should change the labels.
290
291 custom_app::GetAppC()->UpdateAllWindowTitles();
292 }
293 else // we append this file to the current project
294 {
295 if (prj->selected_object != NULL) // if an object was selected, remove
296 { // that selection and leave the newly added
297 prj->selected_object = NULL; // atoms as selection; now the mouse tools
298 } // also affect the newly added atoms!
299 }
300
301 prj->UpdateAllGraphicsViews();
302 return true;
303 }
304
305 void gtk_file_open_dialog::CancelEvent(void)
306 {
307 }
308
309 /*################################################################################################*/
310
311 const char gtk_file_save_dialog::title[] = "Save Project File";
312 gtk_project * gtk_file_save_dialog::prj = NULL;
313
314 gtk_file_save_dialog::gtk_file_save_dialog(gtk_project * p1) :
315 gtk_file_dialog(title, FILENAME_FILTER, make_tmp_filename(p1))
316 {
317 prj = p1;
318 }
319
320 gtk_file_save_dialog::~gtk_file_save_dialog(void)
321 {
322 }
323
324 bool gtk_file_save_dialog::OkEvent(const char * filename)
325 {
326 if (prj == NULL)
327 {
328 assertion_failed(__FILE__, __LINE__, "prj == NULL");
329 }
330
331 // should check to see if file already exists...
332
333 prj->ParseProjectFileNameAndPath(filename);
334
335 char buffer[256];
336 prj->GetProjectFileName(buffer, 256, true);
337
338 custom_app::GetAppC()->UpdateAllWindowTitles();
339
340 char tmp_filename[256];
341 prj->GetFullProjectFileName(tmp_filename, 256);
342
343 ofstream ofile;
344 ofile.open(tmp_filename, ios::out);
345 WriteGPR(* prj, ofile);
346 ofile.close();
347
348 return true;
349 }
350
351 void gtk_file_save_dialog::CancelEvent(void)
352 {
353 }
354
355 /*################################################################################################*/
356
357 const char gtk_file_save_graphics_dialog::title[] = "Save Graphics File - ps";
358 gtk_project * gtk_file_save_graphics_dialog::prj = NULL;
359
360 gtk_file_save_graphics_dialog::gtk_file_save_graphics_dialog(gtk_project * p1) :
361 gtk_file_dialog(title, "ps", make_tmp_filename(p1))
362 {
363 prj = p1;
364 }
365
366 gtk_file_save_graphics_dialog::~gtk_file_save_graphics_dialog(void)
367 {
368 }
369
370 bool gtk_file_save_graphics_dialog::OkEvent(const char * filename)
371 {
372 if (prj == NULL)
373 {
374 assertion_failed(__FILE__, __LINE__, "prj == NULL");
375 }
376
377 // write graphics event
378 // write graphics event
379 // write graphics event
380
381 return true;
382 }
383
384 void gtk_file_save_graphics_dialog::CancelEvent(void)
385 {
386 }
387
388 /*################################################################################################*/
389
390 const char gtk_trajfile_dialog::title[] = "Open Trajectory File - traj";
391 gtk_project * gtk_trajfile_dialog::prj = NULL;
392
393 gtk_trajfile_dialog::gtk_trajfile_dialog(gtk_project * p1) :
394 gtk_file_dialog(title, NULL, NULL)
395 {
396 prj = p1;
397 }
398
399 gtk_trajfile_dialog::~gtk_trajfile_dialog(void)
400 {
401 }
402
403 bool gtk_trajfile_dialog::OkEvent(const char * filename)
404 {
405 cout << "DEBUG : trying to open \"" << filename << "\"." << endl;
406
407 prj->OpenTrajectory(filename);
408 // check if there were problems with OpenTrajectory()?!?!?!
409 // check if there were problems with OpenTrajectory()?!?!?!
410 // check if there were problems with OpenTrajectory()?!?!?!
411
412 static gtk_trajview_dialog * tvd = NULL;
413
414 if (tvd != NULL) delete tvd; // how to safely release the memory...
415 tvd = new gtk_trajview_dialog(prj); // ...right after the dialog is closed?
416
417 // the dialog will call prj->CloseTrajectory() itself when closed!!!
418 // the dialog will call prj->CloseTrajectory() itself when closed!!!
419 // the dialog will call prj->CloseTrajectory() itself when closed!!!
420
421 gtk_widget_destroy(dialog); // close the dialog -> must return false...
422 return false;
423 }
424
425 void gtk_trajfile_dialog::CancelEvent(void)
426 {
427 }
428
429 /*################################################################################################*/
430
431 const char gtk_importpdb_dialog::title[] = "Import File - Brookhaven PDB/ENT";
432 gtk_project * gtk_importpdb_dialog::prj = NULL;
433
434 gtk_importpdb_dialog::gtk_importpdb_dialog(gtk_project * p1) :
435 gtk_file_dialog(title, NULL, NULL)
436 {
437 prj = p1;
438 }
439
440 gtk_importpdb_dialog::~gtk_importpdb_dialog(void)
441 {
442 }
443
444 bool gtk_importpdb_dialog::OkEvent(const char * filename)
445 {
446 if (prj != NULL)
447 {
448 prj->WarningMessage(_("This alternative PDB reader is designed to remove any gaps that might\nexist in the structure data. Therefore the sequence might be altered!"));
449
450 prj->ParseProjectFileNameAndPath(filename);
451
452 prj->importpdb_mdata = prj->readpdb_ReadMData(filename);
453 prj->readpdb_ReadData(filename, prj->importpdb_mdata, -1);
454
455 prj->UpdateAllGraphicsViews();
456 custom_app::GetAppC()->UpdateAllWindowTitles();
457 }
458
459 return true;
460 }
461
462 void gtk_importpdb_dialog::CancelEvent(void)
463 {
464 }
465
466 /*################################################################################################*/
467
468 gtk_project * gtk_command_dialog::prj;
469 oglview_wcl * gtk_command_dialog::wcl;
470
471 GtkWidget * gtk_command_dialog::dialog;
472 GtkWidget * gtk_command_dialog::entry;
473
474 gtk_command_dialog::gtk_command_dialog(gtk_project * p1, oglview_wcl * p2, const char * def_str)
475 {
476 prj = p1; wcl = p2;
477
478 dialog = gtk_dialog_new();
479 gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); // request a modal window.
480
481 gtk_window_set_title(GTK_WINDOW(dialog), _("Command Interpreter"));
482 gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);
483 gtk_window_set_default_size(GTK_WINDOW(dialog), 400, 50);
484
485 gtk_container_set_border_width(GTK_CONTAINER(dialog), 10);
486
487 gtk_signal_connect(GTK_OBJECT(dialog), "destroy", GTK_SIGNAL_FUNC(DestroyHandler), this);
488
489 GtkWidget * vbox = gtk_vbox_new(TRUE, 5);
490 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), vbox);
491
492 entry = gtk_entry_new();
493 if (def_str != NULL) gtk_entry_set_text(GTK_ENTRY(entry), def_str);
494
495 GtkWidget * hbox = gtk_hbox_new(TRUE, 5);
496
497 gtk_box_pack_start(GTK_BOX(vbox), entry, FALSE, TRUE, 0);
498 gtk_widget_show(entry);
499
500 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
501
502 GtkWidget * button_ok = gtk_button_new_with_label(_("Execute"));
503 gtk_signal_connect(GTK_OBJECT(button_ok), "clicked", GTK_SIGNAL_FUNC(OkButtonHandler), this);
504
505 GtkWidget * button_cancel = gtk_button_new_with_label(_("Cancel"));
506 gtk_signal_connect(GTK_OBJECT(button_cancel), "clicked", GTK_SIGNAL_FUNC(CancelButtonHandler), this);
507
508 gtk_box_pack_start(GTK_BOX(hbox), button_ok, FALSE, TRUE, 0);
509 gtk_widget_show(button_ok);
510
511 gtk_box_pack_start(GTK_BOX(hbox), button_cancel, FALSE, TRUE, 0);
512 gtk_widget_show(button_cancel);
513
514 gtk_widget_show(hbox);
515 gtk_widget_show(vbox);
516
517 gtk_widget_show(dialog);
518 }
519
520 gtk_command_dialog::~gtk_command_dialog(void)
521 {
522 prj = NULL;
523 wcl = NULL;
524 }
525
526 void gtk_command_dialog::DestroyHandler(GtkWidget *, gpointer data)
527 {
528 gtk_command_dialog * ref = (gtk_command_dialog *) data;
529
530 delete ref; // the object was created using new!!!
531 }
532
533 void gtk_command_dialog::OkButtonHandler(GtkWidget *, gpointer data)
534 {
535 gtk_command_dialog * ref = (gtk_command_dialog *) data;
536
537 const char * command = gtk_entry_get_text(GTK_ENTRY(ref->entry));
538
539 // first get rid of the dialog...
540 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
541
542 gtk_widget_hide(dialog);
543
544 // ...and then process the command string (if given).
545 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
546
547 if (strlen(command) > 0) prj->ProcessCommandString(wcl, command);
548
549 gtk_widget_destroy(dialog);
550 }
551
552 void gtk_command_dialog::CancelButtonHandler(GtkWidget *, gpointer data)
553 {
554 gtk_command_dialog * ref = (gtk_command_dialog *) data;
555
556 gtk_widget_destroy(dialog);
557 }
558
559 /*################################################################################################*/
560
561 // eof
0 // GTK_SIMPLE_DIALOGS.H : the GTK-dialogs not using GLADE/LIBGLADE.
1
2 // Copyright (C) 1999 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef GTK_SIMPLE_DIALOGS_H
21 #define GTK_SIMPLE_DIALOGS_H
22
23 //#include "ghemicalconfig2.h"
24
25 class gtk_project; // gtk_project.h
26
27 #include <gtk/gtk.h>
28
29 #include "gtk_app.h"
30
31 // the dialogs here are made modal, so that only one dialog of it's kind can exist at any
32 // moment. therefore GtkWidgets are made static, because there is no need to store several
33 // GtkWidgets. if modal dialogs are needed, an array/container of GtkWidgets are needed
34 // in a similar way as in window classes...
35
36 /*################################################################################################*/
37
38 class gtk_element_dialog
39 {
40 private:
41
42 static gtk_element_dialog * current_object;
43
44 static GtkWidget * dialog;
45 static GtkWidget * current_element_widget;
46
47 public:
48
49 gtk_element_dialog(void);
50 ~gtk_element_dialog(void);
51
52 static void SignalHandler(GtkWidget *, int);
53 };
54
55 /*################################################################################################*/
56
57 class gtk_bondtype_dialog
58 {
59 private:
60
61 static gtk_bondtype_dialog * current_object;
62
63 static GtkWidget * dialog;
64 static GtkWidget * current_bond_widget;
65
66 public:
67
68 gtk_bondtype_dialog(void);
69 ~gtk_bondtype_dialog(void);
70
71 static void SignalHandler(GtkWidget *, int);
72 };
73
74 /*################################################################################################*/
75
76 const char * make_tmp_filename(gtk_project *);
77
78 class gtk_file_dialog
79 {
80 protected:
81
82 static GtkWidget * dialog;
83
84 public:
85
86 gtk_file_dialog(const char *, const char *, const char *);
87 virtual ~gtk_file_dialog(void);
88
89 static void DestroyHandler(GtkWidget *, gpointer);
90
91 static void OkButtonHandler(GtkWidget *, gpointer);
92 static void CancelButtonHandler(GtkWidget *, gpointer);
93
94 virtual bool OkEvent(const char *) = 0;
95 virtual void CancelEvent(void) = 0;
96 };
97
98 /*################################################################################################*/
99
100 class gtk_file_open_dialog : public gtk_file_dialog
101 {
102 private:
103
104 static const char title[];
105 static gtk_project * prj;
106 bool insert;
107
108 public:
109
110 gtk_file_open_dialog(gtk_project *);
111 ~gtk_file_open_dialog(void);
112
113 bool OkEvent(const char *); // virtual
114 void CancelEvent(void); // virtual
115 };
116
117 /*################################################################################################*/
118
119 class gtk_file_save_dialog : public gtk_file_dialog
120 {
121 private:
122
123 static const char title[];
124 static gtk_project * prj;
125
126 public:
127
128 gtk_file_save_dialog(gtk_project *);
129 ~gtk_file_save_dialog(void);
130
131 bool OkEvent(const char *); // virtual
132 void CancelEvent(void); // virtual
133 };
134
135 /*################################################################################################*/
136
137 class gtk_file_save_graphics_dialog : public gtk_file_dialog
138 {
139 private:
140
141 static const char title[];
142 static gtk_project * prj;
143
144 public:
145
146 gtk_file_save_graphics_dialog(gtk_project *);
147 ~gtk_file_save_graphics_dialog(void);
148
149 bool OkEvent(const char *); // virtual
150 void CancelEvent(void); // virtual
151 };
152
153 /*################################################################################################*/
154
155 class gtk_trajfile_dialog : public gtk_file_dialog
156 {
157 private:
158
159 static const char title[];
160 static gtk_project * prj;
161
162 public:
163
164 gtk_trajfile_dialog(gtk_project *);
165 ~gtk_trajfile_dialog(void);
166
167 bool OkEvent(const char *); // virtual
168 void CancelEvent(void); // virtual
169 };
170
171 /*################################################################################################*/
172
173 class gtk_importpdb_dialog : public gtk_file_dialog
174 {
175 private:
176
177 static const char title[];
178 static gtk_project * prj;
179
180 public:
181
182 gtk_importpdb_dialog(gtk_project *);
183 ~gtk_importpdb_dialog(void);
184
185 bool OkEvent(const char *); // virtual
186 void CancelEvent(void); // virtual
187 };
188
189 /*################################################################################################*/
190
191 class gtk_command_dialog
192 {
193 private:
194
195 static gtk_project * prj;
196 static oglview_wcl * wcl;
197
198 static GtkWidget * dialog;
199 static GtkWidget * entry;
200
201 public:
202
203 gtk_command_dialog(gtk_project *, oglview_wcl *, const char *);
204 virtual ~gtk_command_dialog(void);
205
206 static void DestroyHandler(GtkWidget *, gpointer);
207
208 static void OkButtonHandler(GtkWidget *, gpointer);
209 static void CancelButtonHandler(GtkWidget *, gpointer);
210 };
211
212 /*################################################################################################*/
213
214 #endif // GTK_SIMPLE_DIALOGS_H
215
216 // eof
0 // GTK_STEREO_DIALOG.CPP
1
2 // Copyright (C) 2000 Tommi Hassinen, Mike Cruz.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_stereo_dialog.h"
21
22 #include "gtk_app.h"
23 #include "local_i18n.h"
24
25 /*################################################################################################*/
26
27 gtk_stereo_dialog::gtk_stereo_dialog(gtk_oglview_wnd * p1) :
28 gtk_glade_dialog("glade/gtk_stereo_dialog.glade")
29 {
30 wnd = p1;
31 scaling = 1.0;
32
33 dialog = glade_xml_get_widget(xml, "stereo_dialog");
34 if (dialog == NULL)
35 {
36 cout << _("WARNING : stereo_dialog : glade_xml_get_widget() failed!!!") << endl;
37 return;
38 }
39
40 // connect the handlers...
41
42 glade_xml_signal_connect_data(xml, "on_dialog_destroy", (GtkSignalFunc) handler_Destroy, (gpointer) this);
43
44 glade_xml_signal_connect_data(xml, "on_hscale_separation_value_changed", (GtkSignalFunc) handler_SepChanged, (gpointer) this);
45 glade_xml_signal_connect_data(xml, "on_hscale_displacement_value_changed", (GtkSignalFunc) handler_DispChanged, (gpointer) this);
46
47 gtk_widget_show(dialog); // MODELESS
48 }
49
50 gtk_stereo_dialog::~gtk_stereo_dialog(void)
51 {
52 }
53
54 void gtk_stereo_dialog::SetScaling(float tmpf)
55 {
56 scaling = tmpf;
57 }
58
59 void gtk_stereo_dialog::CloseDialog(void)
60 {
61 gtk_widget_destroy(dialog);
62 dialog = NULL;
63 }
64
65 void gtk_stereo_dialog::handler_Destroy(GtkWidget *, gpointer data)
66 {
67 gtk_stereo_dialog * ref = (gtk_stereo_dialog *) data;
68 cout << "DEBUG : handler_Destroy() : ref = " << ref << endl;
69
70 // tell others that we are closed!!!
71 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
72
73 ref->wnd->my_stereo_dialog = NULL;
74 ref->wnd = NULL;
75 }
76
77 void gtk_stereo_dialog::handler_SepChanged(GtkWidget * range, gpointer data)
78 {
79 gtk_stereo_dialog * ref = (gtk_stereo_dialog *) data;
80
81 const float value = gtk_range_get_value(GTK_RANGE(range)) * ref->scaling;
82 //cout << "DEBUG : gtk_stereo_dialog::handler_SepChanged() " << value << endl;
83
84 ref->wnd->GetClient()->GetCam()->relaxed_separation = value;
85 gtk_app::GetPrjX()->UpdateGraphicsViews(ref->wnd->GetClient()->GetCam());
86 }
87
88 void gtk_stereo_dialog::handler_DispChanged(GtkWidget * range, gpointer data)
89 {
90 gtk_stereo_dialog * ref = (gtk_stereo_dialog *) data;
91
92 const float value = gtk_range_get_value(GTK_RANGE(range)) * ref->scaling;
93 //cout << "DEBUG : gtk_stereo_dialog::handler_DispChanged() " << value << endl;
94
95 ref->wnd->GetClient()->GetCam()->stereo_displacement = value;
96 gtk_app::GetPrjX()->UpdateGraphicsViews(ref->wnd->GetClient()->GetCam());
97 }
98
99 /*################################################################################################*/
100
101 // eof
0 // GTK_STEREO_DIALOG.H : write a short description here...
1
2 // Copyright (C) 2000 Tommi Hassinen, Mike Cruz.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef GTK_STEREO_DIALOG_H
21 #define GTK_STEREO_DIALOG_H
22
23 class gtk_stereo_dialog;
24
25 //#include "ghemicalconfig2.h"
26
27 #include "gtk_glade_dialog.h"
28 #include "gtk_oglview_wnd.h"
29
30 /*################################################################################################*/
31
32 class gtk_stereo_dialog : public gtk_glade_dialog
33 {
34 protected:
35
36 gtk_oglview_wnd * wnd;
37 float scaling;
38
39 GtkWidget * dialog;
40
41 public:
42
43 gtk_stereo_dialog(gtk_oglview_wnd *);
44 ~gtk_stereo_dialog(void);
45
46 void SetScaling(float);
47 void CloseDialog(void);
48
49 static void handler_Destroy(GtkWidget *, gpointer);
50
51 static void handler_SepChanged(GtkWidget *, gpointer);
52 static void handler_DispChanged(GtkWidget *, gpointer);
53 };
54
55 /*################################################################################################*/
56
57 #endif // GTK_STEREO_DIALOG_H
58
59 // eof
0 // GTK_TRAJVIEW_DIALOG.CPP
1
2 // Copyright (C) 2002 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_trajview_dialog.h"
21
22 #include "local_i18n.h"
23
24 #include <sstream>
25 #include <iostream>
26 using namespace std;
27
28 /*################################################################################################*/
29
30 gtk_trajview_dialog::gtk_trajview_dialog(gtk_project * p1) :
31 gtk_glade_dialog("glade/gtk_trajview_dialog.glade")
32 {
33 prj = p1;
34
35 dialog = glade_xml_get_widget(xml, "trajview_dialog");
36 if (dialog == NULL)
37 {
38 cout << _("WARNING : trajview_dialog : glade_xml_get_widget() failed!!!") << endl;
39 return;
40 }
41
42 // connect the handlers...
43
44 glade_xml_signal_connect_data(xml, "on_dialog_destroy", (GtkSignalFunc) handler_Destroy, (gpointer) this);
45
46 glade_xml_signal_connect_data(xml, "on_button_begin_clicked", (GtkSignalFunc) handler_ButtonBegin, (gpointer) this);
47 glade_xml_signal_connect_data(xml, "on_button_prev_clicked", (GtkSignalFunc) handler_ButtonPrev, (gpointer) this);
48 glade_xml_signal_connect_data(xml, "on_button_play_clicked", (GtkSignalFunc) handler_ButtonPlay, (gpointer) this);
49 glade_xml_signal_connect_data(xml, "on_button_next_clicked", (GtkSignalFunc) handler_ButtonNext, (gpointer) this);
50 glade_xml_signal_connect_data(xml, "on_button_end_clicked", (GtkSignalFunc) handler_ButtonEnd, (gpointer) this);
51
52 glade_xml_signal_connect_data(xml, "on_button_close_clicked", (GtkSignalFunc) handler_ButtonClose, (gpointer) this);
53
54 gtk_widget_show(dialog); // MODELESS
55 }
56
57 gtk_trajview_dialog::~gtk_trajview_dialog(void)
58 {
59 // prj->CloseTrajectory(); // ???
60
61 // see handler_ButtonClose() below...
62 // see handler_ButtonClose() below...
63 // see handler_ButtonClose() below...
64 }
65
66 void gtk_trajview_dialog::handler_Destroy(GtkWidget *, gpointer data)
67 {
68 gtk_trajview_dialog * ref = (gtk_trajview_dialog *) data;
69 cout << "handler_Destroy() : ref = " << ref << endl;
70 }
71
72 void gtk_trajview_dialog::handler_ButtonBegin(GtkWidget *, gpointer data)
73 {
74 gtk_trajview_dialog * ref = (gtk_trajview_dialog *) data;
75
76 i32s frame = 0;
77 ref->prj->SetCurrentFrame(frame);
78 ref->prj->ReadTrajectoryFrame();
79
80 ostringstream str1;
81 str1 << _("frame = ") << ref->prj->GetCurrentFrame() << endl << ends;
82 ref->prj->PrintToLog(str1.str().c_str());
83
84 ref->prj->UpdateAllGraphicsViews(true);
85 }
86
87 void gtk_trajview_dialog::handler_ButtonPrev(GtkWidget *, gpointer data)
88 {
89 gtk_trajview_dialog * ref = (gtk_trajview_dialog *) data;
90
91 i32s frame = ref->prj->GetCurrentFrame() - 1;
92 i32s max = ref->prj->GetTotalFrames();
93
94 if (frame < 0) frame = 0;
95 if (frame >= max) frame = max - 1;
96
97 ref->prj->SetCurrentFrame(frame);
98 ref->prj->ReadTrajectoryFrame();
99
100 ostringstream str1;
101 str1 << _("frame = ") << ref->prj->GetCurrentFrame() << endl << ends;
102 ref->prj->PrintToLog(str1.str().c_str());
103
104 ref->prj->UpdateAllGraphicsViews(true);
105 }
106
107 void gtk_trajview_dialog::handler_ButtonPlay(GtkWidget *, gpointer data)
108 {
109 gtk_trajview_dialog * ref = (gtk_trajview_dialog *) data;
110
111 i32s max = ref->prj->GetTotalFrames();
112 for (i32s loop = 0;loop < max;loop++)
113 {
114 ref->prj->SetCurrentFrame(loop);
115 ref->prj->ReadTrajectoryFrame();
116
117 ref->prj->UpdateAllGraphicsViews(true);
118 }
119 }
120
121 void gtk_trajview_dialog::handler_ButtonNext(GtkWidget *, gpointer data)
122 {
123 gtk_trajview_dialog * ref = (gtk_trajview_dialog *) data;
124
125 i32s frame = ref->prj->GetCurrentFrame() + 1;
126 i32s max = ref->prj->GetTotalFrames();
127
128 if (frame < 0) frame = 0;
129 if (frame >= max) frame = max - 1;
130
131 ref->prj->SetCurrentFrame(frame);
132 ref->prj->ReadTrajectoryFrame();
133
134 ostringstream str1;
135 str1 << _("frame = ") << ref->prj->GetCurrentFrame() << endl << ends;
136 ref->prj->PrintToLog(str1.str().c_str());
137
138 ref->prj->UpdateAllGraphicsViews(true);
139 }
140
141 void gtk_trajview_dialog::handler_ButtonEnd(GtkWidget *, gpointer data)
142 {
143 gtk_trajview_dialog * ref = (gtk_trajview_dialog *) data;
144
145 i32s frame = ref->prj->GetTotalFrames() - 1;
146 ref->prj->SetCurrentFrame(frame);
147 ref->prj->ReadTrajectoryFrame();
148
149 ostringstream str1;
150 str1 << _("frame = ") << ref->prj->GetCurrentFrame() << endl << ends;
151 ref->prj->PrintToLog(str1.str().c_str());
152
153 ref->prj->UpdateAllGraphicsViews(true);
154 }
155
156 void gtk_trajview_dialog::handler_ButtonClose(GtkWidget *, gpointer data)
157 {
158 gtk_trajview_dialog * ref = (gtk_trajview_dialog *) data;
159 cout << "handler_ButtonClose() : ref = " << ref << endl;
160
161 // close the dialog...
162 // ^^^^^^^^^^^^^^^^^^^
163
164 gtk_widget_destroy(ref->dialog);
165 ref->dialog = NULL;
166
167 // FIXME : the dtor is not correctly called???
168 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
169 ref->prj->CloseTrajectory(); // ???
170 }
171
172 /*################################################################################################*/
173
174 // eof
0 // GTK_TRAJVIEW_DIALOG.H : write a short description here...
1
2 // Copyright (C) 2002 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef GTK_TRAJVIEW_DIALOG_H
21 #define GTK_TRAJVIEW_DIALOG_H
22
23 //#include "ghemicalconfig2.h"
24
25 #include "gtk_glade_dialog.h"
26 #include "gtk_project.h"
27
28 /*################################################################################################*/
29
30 class gtk_trajview_dialog : public gtk_glade_dialog
31 {
32 protected:
33
34 gtk_project * prj;
35 GtkWidget * dialog;
36
37 public:
38
39 gtk_trajview_dialog(gtk_project *);
40 ~gtk_trajview_dialog(void);
41
42 static void handler_Destroy(GtkWidget *, gpointer);
43
44 static void handler_ButtonBegin(GtkWidget *, gpointer);
45 static void handler_ButtonPrev(GtkWidget *, gpointer);
46 static void handler_ButtonPlay(GtkWidget *, gpointer);
47 static void handler_ButtonNext(GtkWidget *, gpointer);
48 static void handler_ButtonEnd(GtkWidget *, gpointer);
49
50 static void handler_ButtonClose(GtkWidget *, gpointer);
51 };
52
53 /*################################################################################################*/
54
55 #endif // GTK_TRAJVIEW_DIALOG_H
56
57 // eof
0 // GTK_WND.CPP
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "gtk_wnd.h"
21
22 #include "gtk_app.h"
23 #include "local_i18n.h"
24
25 #include <GL/gl.h>
26 #include <GL/glu.h>
27
28 /*################################################################################################*/
29
30 vector<gtk_wnd *> gtk_wnd::iv;
31
32 gtk_wnd::gtk_wnd(bool det_flag) :
33 base_wnd()
34 {
35 iv.push_back(this);
36
37 view_widget = NULL;
38
39 detached = NULL;
40
41 label_widget = NULL;
42 popupmenu = NULL;
43
44 GdkGLConfigMode mode = (GdkGLConfigMode) 0;
45 GdkGLConfig * glconfig = NULL;
46
47 mode = (GdkGLConfigMode) (GDK_GL_MODE_RGB | GDK_GL_MODE_DEPTH | GDK_GL_MODE_DOUBLE);
48 glconfig = gdk_gl_config_new_by_mode(mode); // try a double-buffered visual...
49
50 if (glconfig == NULL)
51 {
52 g_print(_("*** Cannot find the double-buffered visual.\n"));
53 g_print(_("*** Trying single-buffered visual.\n"));
54
55 mode = (GdkGLConfigMode) (GDK_GL_MODE_RGB | GDK_GL_MODE_DEPTH);
56 glconfig = gdk_gl_config_new_by_mode(mode); // try a single-buffered visual...
57
58 if (glconfig == NULL)
59 {
60 g_print(_("*** No appropriate OpenGL-capable visual found.\n"));
61 exit(EXIT_FAILURE);
62 }
63 }
64
65 g_print (_("\nOpenGL visual configurations :\n\n"));
66 g_print ("gdk_gl_config_is_rgba (glconfig) = %s\n", gdk_gl_config_is_rgba (glconfig) ? "TRUE" : "FALSE");
67 g_print ("gdk_gl_config_is_double_buffered (glconfig) = %s\n", gdk_gl_config_is_double_buffered (glconfig) ? "TRUE" : "FALSE");
68 g_print ("gdk_gl_config_is_stereo (glconfig) = %s\n", gdk_gl_config_is_stereo (glconfig) ? "TRUE" : "FALSE");
69 g_print ("gdk_gl_config_has_alpha (glconfig) = %s\n", gdk_gl_config_has_alpha (glconfig) ? "TRUE" : "FALSE");
70 g_print ("gdk_gl_config_has_depth_buffer (glconfig) = %s\n", gdk_gl_config_has_depth_buffer (glconfig) ? "TRUE" : "FALSE");
71 g_print ("gdk_gl_config_has_stencil_buffer (glconfig) = %s\n", gdk_gl_config_has_stencil_buffer (glconfig) ? "TRUE" : "FALSE");
72 g_print ("gdk_gl_config_has_accum_buffer (glconfig) = %s\n", gdk_gl_config_has_accum_buffer (glconfig) ? "TRUE" : "FALSE");
73 g_print ("\n");
74
75 view_widget = gtk_drawing_area_new();
76 gtk_widget_set_size_request(view_widget, 100, 100); // minimum size...
77
78 gtk_widget_set_gl_capability(view_widget, glconfig, NULL, TRUE, GDK_GL_RGBA_TYPE);
79
80 int events = GDK_EXPOSURE_MASK;
81 events |= GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK;
82 events |= GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK;
83 gtk_widget_set_events(GTK_WIDGET(view_widget), events);
84
85 gtk_signal_connect(GTK_OBJECT(view_widget), "expose_event", GTK_SIGNAL_FUNC(ExposeHandler), NULL);
86 gtk_signal_connect(GTK_OBJECT(view_widget), "button_press_event", GTK_SIGNAL_FUNC(ButtonHandler), NULL);
87 gtk_signal_connect(GTK_OBJECT(view_widget), "button_release_event", GTK_SIGNAL_FUNC(ButtonHandler), NULL);
88 gtk_signal_connect(GTK_OBJECT(view_widget), "motion_notify_event", GTK_SIGNAL_FUNC(MotionNotifyHandler), NULL);
89 gtk_signal_connect(GTK_OBJECT(view_widget), "configure_event", GTK_SIGNAL_FUNC(ConfigureHandler), NULL);
90
91 gtk_signal_connect_after(GTK_OBJECT(view_widget), "realize", GTK_SIGNAL_FUNC(RealizeHandler), NULL); // after!!!
92
93 gtk_widget_show(GTK_WIDGET(view_widget));
94
95 if (det_flag)
96 {
97 detached = gtk_window_new(GTK_WINDOW_TOPLEVEL);
98
99 gtk_window_set_default_size(GTK_WINDOW(detached), 500, 300);
100 gtk_app::GetAppX()->SetTransientForMainWnd(GTK_WINDOW(detached));
101
102 // we could set the window title here, but at this stage
103 // we are always unlinked and cannot get the title text...
104
105 gtk_container_add(GTK_CONTAINER(detached), view_widget);
106 gtk_signal_connect(GTK_OBJECT(detached), "delete_event", GTK_SIGNAL_FUNC(gtk_wnd::DetachedDeleteHandler), NULL);
107
108 gtk_widget_show(detached);
109 }
110 }
111
112 gtk_wnd::~gtk_wnd(void)
113 {
114 if (detached != NULL)
115 {
116 gtk_widget_destroy(GTK_WIDGET(detached));
117 detached = NULL;
118
119 // gtk_widget_destroy(GTK_WIDGET(view_widget)); // ???crash???
120 view_widget = NULL; // already destroyed as a child widget?
121 }
122 else
123 {
124 // gtk_widget_destroy(GTK_WIDGET(view_widget)); // ???crash???
125 view_widget = NULL; // already destroyed as a child widget?
126 }
127
128 // remove the record from iv...
129 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
130
131 unsigned int i = 0;
132 while (i < iv.size())
133 {
134 if (iv[i] == this) break;
135 else i++;
136 }
137
138 if (i < iv.size())
139 {
140 iv.erase(iv.begin() + i);
141 }
142 else
143 {
144 assertion_failed(__FILE__, __LINE__, "removal from iv failed!");
145 }
146 }
147
148 gtk_wnd * gtk_wnd::iv_Find(GtkWidget * vw)
149 {
150 for (unsigned int i = 0;i < iv.size();i++)
151 {
152 if (iv[i]->view_widget == vw) return iv[i];
153 }
154
155 return NULL;
156 }
157
158 void gtk_wnd::RealizeHandler(GtkWidget * widget, gpointer)
159 {
160 //cout << "DEBUG : gtk_wnd::RealizeHandler()" << endl;
161 ////////////////////////////////////////////////////////////
162
163 // realize signal will occur when the widget is created.
164
165 gtk_wnd * w = iv_Find(widget);
166 if (w == NULL) cout << "DEBUG : gtk_wnd::RealizeHandler() : iv_Find() failed!" << endl;
167 else
168 {
169 w->SetRealized();
170
171 // here it would be natural to do the things like these:
172 // SetCurrent() + GetClient()->InitGL() + RequestUpdate(false).
173
174 // the problem is that usually GetClient() will return NULL at
175 // this stage ; if this is the case, then do nothing here and
176 // handle the problem elsewhere (see base_wcl::LinkWnd()).
177
178 // this is really a timing issue since we do not know at which
179 // point the widget is going to be realized...
180
181 if (w->GetClient() != NULL && !w->GetInitialized())
182 {
183 // usually this stuff is skipped...
184 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
185
186 w->SetInitialized();
187
188 // w->SetCurrent(); no begin/end here...
189 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
190
191 GdkGLContext * glcontext = gtk_widget_get_gl_context(w->view_widget);
192 GdkGLDrawable * gldrawable = gtk_widget_get_gl_drawable(w->view_widget);
193
194 if (!gdk_gl_drawable_make_current(gldrawable, glcontext))
195 {
196 g_print("DEBUG : gtk_wnd::RealizeHandler() : gdk_gl_drawable_make_current() failed.\n");
197 }
198 else
199 {
200 gdk_gl_drawable_gl_begin(gldrawable, glcontext);
201
202 w->GetClient()->InitGL();
203
204 gdk_gl_drawable_gl_end(gldrawable);
205 }
206
207 w->RequestUpdate(false);
208 }
209 }
210
211 // no return value for this event?!?!?!
212 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
213 }
214
215 gint gtk_wnd::ExposeHandler(GtkWidget * widget, GdkEventExpose * event)
216 {
217 //cout << "DEBUG : gtk_wnd::ExposeHandler()" << endl;
218 ////////////////////////////////////////////////////////////
219
220 // expose_event will occur when the window should be re-drawn.
221 // IS SOMETHING WRONG IN HERE??? see the comments on configure-handler...
222 // IS SOMETHING WRONG IN HERE??? see the comments on configure-handler...
223 // IS SOMETHING WRONG IN HERE??? see the comments on configure-handler...
224
225 if (event->count > 0) return TRUE; // draw only last expose.
226
227 gtk_wnd * w = iv_Find(widget);
228 if (w == NULL) cout << "DEBUG : gtk_wnd::ButtonHandler() : iv_Find() failed!" << endl;
229 else
230 {
231 if (!w->GetRealized())
232 {
233 assertion_failed(__FILE__, __LINE__, "NOT REALIZED!");
234 }
235
236 if (!w->GetInitialized())
237 {
238 assertion_failed(__FILE__, __LINE__, "NOT INITIALIZED!");
239 }
240
241 base_wcl * wcl = w->GetClient();
242 if (wcl != NULL)
243 {
244 GdkGLContext * glcontext = gtk_widget_get_gl_context(w->view_widget);
245 GdkGLDrawable * gldrawable = gtk_widget_get_gl_drawable(w->view_widget);
246
247 if (!gdk_gl_drawable_make_current(gldrawable, glcontext))
248 {
249 g_print("DEBUG : gtk_wnd::ExposeHandler() : gdk_gl_drawable_make_current() failed.\n");
250 }
251 else
252 {
253 gdk_gl_drawable_gl_begin(gldrawable, glcontext);
254
255 wcl->UpdateWnd();
256
257 if (gdk_gl_drawable_is_double_buffered(gldrawable))
258 {
259 gdk_gl_drawable_swap_buffers(gldrawable);
260 }
261 else
262 {
263 glFlush();
264 }
265
266 gdk_gl_drawable_gl_end(gldrawable);
267 }
268 }
269 }
270
271 // return TRUE; // which one this should be???
272 return FALSE; // which one this should be??? scribble.c example used this.
273 }
274
275 int button_event_lost_counter = 0;
276
277 gint gtk_wnd::ButtonHandler(GtkWidget * widget, GdkEventButton * eb)
278 {
279 //cout << "DEBUG : gtk_wnd::ButtonHandler()" << endl;
280 ////////////////////////////////////////////////////////////
281
282 // button_press/release_event(s) are triggered by mouse events.
283
284 gtk_wnd * w = iv_Find(widget);
285 if (w == NULL) cout << "DEBUG : gtk_wnd::ButtonHandler() : iv_Find() failed!" << endl;
286 else
287 {
288 if (!w->GetRealized())
289 {
290 assertion_failed(__FILE__, __LINE__, "NOT REALIZED!");
291 }
292
293 mouseinfo::mi_button tmpb;
294 i32s tmps1;
295
296 switch (eb->button)
297 {
298 case 1:
299 tmpb = mouseinfo::bLeft;
300 tmps1 = GDK_BUTTON1_MASK;
301 break;
302
303 case 3:
304 tmpb = mouseinfo::bRight;
305 tmps1 = GDK_BUTTON3_MASK;
306 break;
307
308 default:
309 tmpb = mouseinfo::bMiddle;
310 tmps1 = GDK_BUTTON2_MASK;
311 }
312
313 mouseinfo::mi_state tmps2 = (eb->state & tmps1) ? mouseinfo::sUp : mouseinfo::sDown;
314
315 if (tmps2 == mouseinfo::sDown)
316 {
317 if (mouseinfo::button == mouseinfo::bNone)
318 {
319 if (tmpb == mouseinfo::bRight)
320 {
321 if (project::background_job_running) return TRUE;
322
323 // the popup menu is created here. pointer to the gtk_drawing_area
324 // widget is given as "user_data", and it is also passed to the popup
325 // hander callback function (instead of the original value).
326
327 if (w->popupmenu != NULL)
328 {
329 gtk_menu_popup(GTK_MENU(w->popupmenu), NULL, NULL, NULL, NULL, eb->button, eb->time);
330 }
331
332 return TRUE;
333 }
334
335 mouseinfo::button = tmpb;
336
337 mouseinfo::shift_down = (eb->state & GDK_SHIFT_MASK) ? true : false;
338 mouseinfo::ctrl_down = (eb->state & GDK_CONTROL_MASK) ? true : false;
339
340 mouseinfo::state = mouseinfo::sDown;
341
342 // cout << "DEBUG : button_event_D " << mouseinfo::button << " " << mouseinfo::state << endl;
343 w->GetClient()->ButtonEvent((i32s) eb->x, (i32s) eb->y);
344
345 // this is for exceptions, see below...
346 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
347 button_event_lost_counter = 0;
348 }
349 }
350 else
351 {
352 if (mouseinfo::button == mouseinfo::bLeft && tmpb != mouseinfo::bLeft) return TRUE;
353 if (mouseinfo::button == mouseinfo::bMiddle && tmpb != mouseinfo::bMiddle) return TRUE;
354 if (mouseinfo::button == mouseinfo::bRight && tmpb != mouseinfo::bRight) return TRUE;
355
356 mouseinfo::state = mouseinfo::sUp;
357
358 // cout << "DEBUG : button_event_U " << mouseinfo::button << " " << mouseinfo::state << endl;
359 w->GetClient()->ButtonEvent((i32s) eb->x, (i32s) eb->y);
360
361 mouseinfo::button = mouseinfo::bNone;
362 }
363 }
364
365 return TRUE;
366 }
367
368 gint gtk_wnd::MotionNotifyHandler(GtkWidget * widget, GdkEventMotion * event)
369 {
370 //cout << "DEBUG : gtk_wnd::MotionNotifyHandler()" << endl;
371 ////////////////////////////////////////////////////////////
372
373 // mouse movements will trigger the events here...
374
375 int x; int y; GdkModifierType mbstate;
376 if (event->is_hint) gdk_window_get_pointer(event->window, & x, & y, & mbstate);
377 else { x = (int) event->x; y = (int) event->y; mbstate = (GdkModifierType) event->state; }
378
379 // here it is good to check if we have lost a "mouse button up" message.
380 // it can happen if a user moves the mouse outside to the graphics window,
381 // and then changes the mousebutton state.
382
383 // if we think that a mouse button should be down, but GTK+ says it's not,
384 // then immediately send a "mouse button down" message...
385
386 bool no_buttons_down = !(mbstate & (GDK_BUTTON1_MASK | GDK_BUTTON2_MASK | GDK_BUTTON3_MASK));
387 if (no_buttons_down && mouseinfo::button != mouseinfo::bNone)
388 {
389 button_event_lost_counter++;
390 if (button_event_lost_counter > 1)
391 {
392 gtk_wnd * w = iv_Find(widget);
393 if (w == NULL) cout << "DEBUG : gtk_wnd::MotionNotifyHandler() : iv_Find() failed!" << endl;
394 else
395 {
396 cout << "DEBUG : WARNING ; a mouse-button-up event was lost!" << endl;
397
398 mouseinfo::state = mouseinfo::sUp;
399
400 // cout << "DEBUG : button_event_U " << mouseinfo::button << " " << mouseinfo::state << endl;
401 w->GetClient()->ButtonEvent((i32s) x, (i32s) y);
402
403 mouseinfo::button = mouseinfo::bNone;
404 }
405 }
406 }
407
408 // the normal operation starts here...
409 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
410
411 if (mouseinfo::button != mouseinfo::bNone)
412 {
413 gtk_wnd * w = iv_Find(widget);
414 if (w == NULL) cout << "DEBUG : gtk_wnd::MotionNotifyHandler() : iv_Find() failed!" << endl;
415 else
416 {
417 // cout << "DEBUG : motion_event " << mouseinfo::button << " " << mouseinfo::state << endl;
418 w->GetClient()->MotionEvent(x, y);
419 }
420 }
421
422 return TRUE;
423 }
424
425 gint gtk_wnd::ConfigureHandler(GtkWidget * widget, GdkEventConfigure *)
426 {
427 //cout << "DEBUG : gtk_wnd::ConfigureHandler()" << endl;
428 ////////////////////////////////////////////////////////////
429
430 // configure_event will occur at each window size change,
431 // and when the window is initially created.
432
433 gtk_wnd * w = iv_Find(widget);
434 if (w != NULL)
435 {
436 w->SetWidth(widget->allocation.width);
437 w->SetHeight(widget->allocation.height);
438 }
439 else cout << "DEBUG : iv_Find() failed at gtk_wnd::ConfigureHandler()." << endl;
440
441 // the screen is NOT always properly updated after a configure-event.
442 // sometimes it gets rendered 100% fine, but sometimes only partially
443 // or sometimes not at all (leaving a blank screen). it is possible to
444 // do w->RequestUpdate(false); here but it does not affect the result...
445
446 return TRUE;
447 }
448
449 gint gtk_wnd::DetachedDeleteHandler(GtkWidget *, GdkEvent *)
450 {
451 // when we create detached view windows as GTK_WINDOW_TOPLEVEL, the
452 // window will have the "close" button at titlebar. now if the user
453 // presses the "close" button, the window-closing sequence will start.
454 // we will grab the resulting delete_event here and return TRUE, that
455 // will deny the user's request to close the window. the user should
456 // use the stardard popup-way of closing the window...
457
458 return TRUE;
459 }
460
461 GtkWidget * gtk_wnd::GetViewWidget(void)
462 {
463 return view_widget;
464 }
465
466 bool gtk_wnd::IsDetached(void)
467 {
468 return (detached != NULL);
469 }
470
471 void gtk_wnd::RequestUpdate(bool directly)
472 {
473 if (directly)
474 {
475 gdk_window_invalidate_rect(view_widget->window, & view_widget->allocation, FALSE);
476 gdk_window_process_updates(view_widget->window, FALSE);
477 }
478 else
479 {
480 // this is the original ; replaced 20061006 TH
481 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
482 // gtk_widget_queue_draw(view_widget);
483
484 gdk_window_invalidate_rect(view_widget->window, & view_widget->allocation, FALSE);
485 }
486 }
487
488 void gtk_wnd::RequestResize(int, int)
489 {
490 cout << "DEBUG : gtk_wnd::RequestResize() not yet implemented!" << endl;
491 }
492
493 bool gtk_wnd::SetCurrent(void)
494 {
495 GdkGLContext * glcontext = gtk_widget_get_gl_context(view_widget);
496 GdkGLDrawable * gldrawable = gtk_widget_get_gl_drawable(view_widget);
497
498 if (!gdk_gl_drawable_make_current(gldrawable, glcontext))
499 {
500 g_print("DEBUG : gtk_wnd::SetCurrent() : gdk_gl_drawable_make_current() failed.\n");
501 return false;
502 }
503 else
504 {
505 return true;
506 }
507 }
508
509 void gtk_wnd::TitleChanged(void)
510 {
511 if (GetClient() == NULL)
512 {
513 assertion_failed(__FILE__, __LINE__, "wnd is unlinked.");
514 }
515
516 if (detached != NULL)
517 {
518 gtk_window_set_title(GTK_WINDOW(detached), GetClient()->GetTitle());
519 }
520 else
521 {
522 //GtkWidget * oldlabel = label_widget; // not needed??? 20061115 TH
523
524 label_widget = gtk_label_new(GetClient()->GetTitle());
525 gtk_widget_show(label_widget);
526
527 gtk_app::GetAppX()->SetTabTitleNB(view_widget, label_widget);
528
529 //if (oldlabel != NULL) gtk_widget_destroy(oldlabel); // not needed??? 20061115 TH
530 }
531 }
532
533 /*################################################################################################*/
534
535 // eof
0 // GTK_WND.H : write a short description here...
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 //#include "ghemicalconfig2.h"
21
22 #ifndef GTK_WND_H
23 #define GTK_WND_H
24
25 class gtk_wnd;
26
27 #include <oglappth/base_wnd.h>
28
29 #include <gtk/gtk.h>
30 #include <gtk/gtkgl.h>
31
32 #include <vector>
33 using namespace std;
34
35 /*################################################################################################*/
36
37 // gtk_wnd class encapsulates the properties of a GTK2-window.
38
39 class gtk_wnd :
40 public base_wnd
41 {
42 private:
43
44 static vector<gtk_wnd *> iv; // instance vector
45
46 protected:
47
48 GtkWidget * view_widget;
49
50 /** If the "##detached" pointer is different from NULL, it means that the view is
51 displayed on a separate window (and not as a part of the GtkNotebook).
52 */
53 GtkWidget * detached;
54
55 GtkWidget * label_widget;
56 GtkWidget * popupmenu;
57
58 friend class gtk_project;
59
60 public:
61
62 gtk_wnd(bool);
63 ~gtk_wnd(void);
64
65 static gtk_wnd * iv_Find(GtkWidget *);
66
67 static void RealizeHandler(GtkWidget *, gpointer);
68 static gint ExposeHandler(GtkWidget *, GdkEventExpose *);
69 static gint ButtonHandler(GtkWidget *, GdkEventButton *);
70 static gint MotionNotifyHandler(GtkWidget *, GdkEventMotion *);
71 static gint ConfigureHandler(GtkWidget *, GdkEventConfigure *);
72
73 static gint DetachedDeleteHandler(GtkWidget *, GdkEvent *);
74
75 GtkWidget * GetViewWidget(void);
76
77 bool IsDetached(void);
78
79 void RequestUpdate(bool); // virtual
80 void RequestResize(int, int); // virtual
81
82 bool SetCurrent(void); // virtual
83
84 protected:
85
86 void TitleChanged(void); // virtual
87 };
88
89 /*################################################################################################*/
90
91 #endif // GTK_WND_H
92
93 // eof
0 // LOCAL_I18N.H : some internationalization stuff...
1
2 // Copyright (C) 2008 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 // only ".cpp"-files are supposed to include this!!!
21 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
22 // also make sure that this file is not installed in "PREFIX/include".
23 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
24
25 // here we include and/or define necessary stuff so that gettext()
26 // and related stuff is correclty found when needed.
27
28 // the idea is that gettext() may be also easily disabled by
29 // modifying just this file and nothing else!!!
30
31 /*################################################################################################*/
32
33 // enable i18n:
34 // ^^^^^^^^^^^^
35
36 #include "ghemicalconfig.h" // GETTEXT_PACKAGE is defined here...
37 #include <glib/gi18n-lib.h>
38
39 /*################################################################################################*/
40
41 // disable i18n:
42 // ^^^^^^^^^^^^^
43
44 //#define _(String) String
45
46 /*################################################################################################*/
47
48 // eof
49
0 // OGL_PLANE.CPP
1
2 // Copyright (C) 1998 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ogl_plane.h" // config.h is here -> we get ENABLE-macros here...
21
22 #ifdef WIN32
23 #include <windows.h> // need to have this before GL stuff...
24 #endif // WIN32
25
26 #include <GL/gl.h>
27
28 #include <cstring>
29 #include <fstream>
30 #include <sstream>
31 using namespace std;
32
33 #include <oglappth/base_app.h>
34
35 #include "project.h"
36 #include "appdefine.h"
37
38 /*################################################################################################*/
39
40 ogl_color_plane::ogl_color_plane(ogl_cp_param & p1)
41 {
42 prj = p1.prj;
43 data = p1.data;
44
45 my_glname = p1.my_glname;
46
47 transparent = p1.transparent;
48 automatic_cv2 = p1.automatic_cv2;
49
50 np = p1.np;
51
52 // now we can allocate memory...
53
54 dist = new fGL[np];
55
56 color4 = new fGL[np * np * 4];
57 point3 = new fGL[np * np * 3];
58
59 // we must do these settings...
60 // we must do these settings...
61 // we must do these settings...
62
63 ref = p1.ref;
64 GetValue = p1.vf;
65 GetColor = p1.cf;
66
67 cvalue1 = p1.cvalue1;
68 cvalue2 = p1.cvalue2;
69 alpha = p1.alpha;
70
71 // ...before trying to do this!!!
72 // ...before trying to do this!!!
73 // ...before trying to do this!!!
74
75 SetDimension(p1.dim);
76 Update();
77
78 // add the primitives, if this is a transparent object...
79 // add the primitives, if this is a transparent object...
80 // add the primitives, if this is a transparent object...
81
82 base_app * app = base_app::GetAppB();
83
84 if (transparent)
85 {
86 for (i32s n1 = 0;n1 < np - 1;n1++)
87 {
88 for (i32s n2 = 0;n2 < np - 1;n2++)
89 {
90 i32s tmp1, tmp2, tmp3;
91
92 tmp1 = n1 + 0; tmp2 = n2 + 0; tmp3 = tmp1 * np + tmp2;
93 fGL * c1 = & color4[tmp3 * 4]; fGL * p1 = & point3[tmp3 * 3];
94
95 tmp1 = n1 + 1; tmp2 = n2 + 0; tmp3 = tmp1 * np + tmp2;
96 fGL * c2 = & color4[tmp3 * 4]; fGL * p2 = & point3[tmp3 * 3];
97
98 tmp1 = n1 + 1; tmp2 = n2 + 1; tmp3 = tmp1 * np + tmp2;
99 fGL * c3 = & color4[tmp3 * 4]; fGL * p3 = & point3[tmp3 * 3];
100
101 tmp1 = n1 + 0; tmp2 = n2 + 1; tmp3 = tmp1 * np + tmp2;
102 fGL * c4 = & color4[tmp3 * 4]; fGL * p4 = & point3[tmp3 * 3];
103
104 tpd_quad_4c * tmp4;
105 tmp4 = new tpd_quad_4c(c1, p1, c2, p2, c3, p3, c4, p4);
106
107 transparent_primitive * tmp5;
108 tmp5 = new transparent_primitive((void *) this, * tmp4);
109
110 app->AddTP((void *) this, (* tmp5));
111
112 // tmp4, the tpd_quad_4c-object, will be deleted when
113 // prj->RemoveAllTPs() is called for this object...
114
115 delete tmp5;
116 }
117 }
118 }
119 }
120
121 ogl_color_plane::~ogl_color_plane(void)
122 {
123 if (transparent) base_app::GetAppB()->RemoveAllTPs((void *) this);
124
125 delete[] dist;
126
127 delete[] color4;
128 delete[] point3;
129 }
130
131 void ogl_color_plane::Update(void)
132 {
133 xdir = data->ydir.vpr(data->zdir);
134
135 i32s tmp1[2]; // point indices...
136 fGL * tmp2 = new fGL[np * np]; // color values...
137
138 for (tmp1[0] = 0;tmp1[0] < np;tmp1[0]++)
139 {
140 for (tmp1[1] = 0;tmp1[1] < np;tmp1[1]++)
141 {
142 i32s index = tmp1[0] * np + tmp1[1];
143 GetCRD(tmp1, & point3[index * 3]);
144
145 tmp2[tmp1[0] * np + tmp1[1]] = GetValue(ref, & point3[index * 3], NULL);
146 }
147 }
148
149 if (automatic_cv2)
150 {
151 f64 avrg = 0.0;
152 for (i32s n1 = 0;n1 < np * np;n1++)
153 {
154 avrg += tmp2[n1];
155 }
156
157 // AUTO makes only partial correction -> just looks better and one can estimate the "bias".
158 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
159
160 cvalue2 = -0.80 * avrg / (f64) (np * np);
161 }
162
163 for (tmp1[0] = 0;tmp1[0] < np;tmp1[0]++)
164 {
165 for (tmp1[1] = 0;tmp1[1] < np;tmp1[1]++)
166 {
167 i32s index = tmp1[0] * np + tmp1[1];
168 fGL tmp3 = tmp2[tmp1[0] * np + tmp1[1]] + cvalue2;
169 GetColor((tmp3 / cvalue1), alpha, & color4[index * 4]);
170 }
171 }
172
173 delete[] tmp2;
174
175 // update the primitives, if this is a transparent object...
176 // update the primitives, if this is a transparent object...
177 // update the primitives, if this is a transparent object...
178
179 if (transparent) base_app::GetAppB()->UpdateMPsForAllTPs((void *) this);
180 }
181
182 void ogl_color_plane::Render(void)
183 {
184 glPushMatrix();
185
186 glPushName(GLNAME_OBJECT);
187 glPushName(my_glname);
188
189 // if this is a transparent object, we will not render the quads here.
190 // instead, the quads get rendered at project::Render(), like all other
191 // transparent primitives.
192
193 if (!transparent)
194 {
195 glBegin(GL_QUADS);
196
197 for (i32s n1 = 0;n1 < np - 1;n1++)
198 {
199 for (i32s n2 = 0;n2 < np - 1;n2++)
200 {
201 i32s tmp1, tmp2, tmp3;
202
203 tmp1 = n1 + 0; tmp2 = n2 + 0; tmp3 = tmp1 * np + tmp2;
204 glColor4fv(& color4[tmp3 * 4]); glVertex3fv(& point3[tmp3 * 3]);
205
206 tmp1 = n1 + 1; tmp2 = n2 + 0; tmp3 = tmp1 * np + tmp2;
207 glColor4fv(& color4[tmp3 * 4]); glVertex3fv(& point3[tmp3 * 3]);
208
209 tmp1 = n1 + 1; tmp2 = n2 + 1; tmp3 = tmp1 * np + tmp2;
210 glColor4fv(& color4[tmp3 * 4]); glVertex3fv(& point3[tmp3 * 3]);
211
212 tmp1 = n1 + 0; tmp2 = n2 + 1; tmp3 = tmp1 * np + tmp2;
213 glColor4fv(& color4[tmp3 * 4]); glVertex3fv(& point3[tmp3 * 3]);
214 }
215 }
216
217 glEnd();
218 }
219
220 SetModelView(data);
221
222 fGL tmp1 = -0.55 * dim;
223 fGL tmp2 = -0.45 * dim;
224
225 glBegin(GL_LINES);
226 glColor3f(1.0, 1.0, 1.0); glVertex3f(tmp1, tmp1, 0.0);
227 glColor3f(0.0, 0.0, 1.0); glVertex3f(tmp2, tmp1, 0.0);
228
229 glColor3f(1.0, 1.0, 1.0); glVertex3f(tmp1, tmp1, 0.0);
230 glColor3f(0.0, 0.0, 1.0); glVertex3f(tmp1, tmp2, 0.0);
231
232 glColor3f(1.0, 1.0, 1.0); glVertex3f(tmp1, tmp1, 0.0);
233 glColor3f(0.0, 0.0, 1.0); glVertex3f(tmp1, tmp1, 0.1 * dim);
234 glEnd();
235
236 glPopName();
237 glPopName();
238
239 glPopMatrix();
240 }
241
242 void ogl_color_plane::SetDimension(fGL p1)
243 {
244 dim = p1; fGL tmp1 = np - 1;
245 for (i32s n1 = 0;n1 < np;n1++)
246 {
247 fGL tmp2 = (fGL) n1 / tmp1;
248 dist[n1] = dim * (tmp2 - 0.5);
249 }
250 }
251
252 void ogl_color_plane::GetCRD(i32s * p1, fGL * p2)
253 {
254 for (i32s n1 = 0;n1 < 3;n1++)
255 {
256 fGL tmp1 = xdir[n1] * dist[p1[0]];
257 fGL tmp2 = data->ydir[n1] * dist[p1[1]];
258 p2[n1] = data->crd[n1] + tmp1 + tmp2;
259 }
260 }
261
262 /*################################################################################################*/
263
264 ogl_color_plane_object::ogl_color_plane_object(const ogl_object_location & p1, ogl_cp_param & p2, const char * p3) :
265 ogl_smart_object(p1)
266 {
267 p2.data = GetSafeLD();
268 p2.my_glname = base_app::GetAppB()->RegisterGLName((ogl_dummy_object *) this);
269
270 cp = new ogl_color_plane(p2);
271
272 ostringstream str;
273 str << p3 << "plane" << ends;
274
275 object_name = new char[strlen(str.str().c_str()) + 1];
276 strcpy(object_name, str.str().c_str());
277
278 copy_of_ref = p2.ref;
279 }
280
281 ogl_color_plane_object::~ogl_color_plane_object(void)
282 {
283 delete cp;
284 delete[] object_name;
285
286 // TODO : unregister my_glname???
287 }
288
289 void ogl_color_plane_object::OrbitObject(const fGL * p1, const ogl_camera & p2)
290 {
291 ogl_dummy_object::RotateObject(p1, p2);
292 Update();
293 }
294
295 void ogl_color_plane_object::RotateObject(const fGL * p1, const ogl_camera & p2)
296 {
297 ogl_dummy_object::OrbitObject(p1, p2);
298 Update();
299 }
300
301 void ogl_color_plane_object::TranslateObject(const fGL * p1, const ogl_obj_loc_data * p2)
302 {
303 fGL tmp1[3] = { p1[0], p1[1], p1[2] };
304
305 if (p2 == GetSafeLD())
306 {
307 tmp1[0] = -tmp1[0];
308 tmp1[2] = -tmp1[2];
309 }
310
311 ogl_dummy_object::TranslateObject(tmp1, p2);
312 Update();
313 }
314
315 /*################################################################################################*/
316
317 ogl_volume_rendering_object::ogl_volume_rendering_object(const ogl_object_location & p1, ogl_cp_param & p2, i32s p3, fGL p4, ogl_camera & p5, const char * p6) :
318 ogl_smart_object(p1)
319 {
320 for (i32s n1 = 0;n1 < p3;n1++)
321 {
322 data_vector.push_back(new ogl_obj_loc_data);
323
324 p2.data = data_vector.back();
325 p2.my_glname = base_app::GetAppB()->RegisterGLName((ogl_dummy_object *) this);
326
327 cp_vector.push_back(new ogl_color_plane(p2));
328 }
329
330 thickness = p4;
331 ConnectCamera(p5);
332
333 ostringstream str;
334 str << p6 << "VR" << ends;
335
336 object_name = new char[strlen(str.str().c_str()) + 1];
337 strcpy(object_name, str.str().c_str());
338
339 copy_of_ref = p2.ref;
340
341 CameraEvent(p5);
342 }
343
344 ogl_volume_rendering_object::~ogl_volume_rendering_object(void)
345 {
346 for (i32u n1 = 0;n1 < cp_vector.size();n1++)
347 {
348 delete cp_vector[n1];
349 delete data_vector[n1];
350
351 // TODO : unregister my_glname???
352 }
353
354 delete[] object_name;
355 }
356
357 void ogl_volume_rendering_object::CameraEvent(const ogl_camera & p1)
358 {
359 oglv3d<GLfloat> newz = oglv3d<GLfloat>(GetSafeLD()->crd, p1.GetSafeLD()->crd);
360 newz = newz / newz.len();
361
362 oglv3d<GLfloat> newx = newz.vpr(p1.GetSafeLD()->ydir);
363 newx = newx / newx.len();
364
365 oglv3d<GLfloat> newy = newx.vpr(newz);
366 newy = newy / newy.len();
367
368 GetLD()->zdir = newz;
369 GetLD()->ydir = newy;
370
371 for (i32u n1 = 0;n1 < cp_vector.size();n1++)
372 {
373 fGL z1 = (fGL) n1 / (fGL) (cp_vector.size() - 1);
374 fGL z2 = 2.0 * (z1 - 0.5) * thickness;
375
376 oglv3d<GLfloat> pv = oglv3d<GLfloat>(GetSafeLD()->crd);
377 pv = pv + (GetSafeLD()->zdir * z2);
378
379 data_vector[n1]->crd[0] = pv.data[0];
380 data_vector[n1]->crd[1] = pv.data[1];
381 data_vector[n1]->crd[2] = pv.data[2];
382
383 data_vector[n1]->zdir = GetSafeLD()->zdir;
384 data_vector[n1]->ydir = GetSafeLD()->ydir;
385 }
386
387 Update(); // update the planes!!!!!
388 }
389
390 void ogl_volume_rendering_object::OrbitObject(const fGL *, const ogl_camera &)
391 {
392 }
393
394 void ogl_volume_rendering_object::RotateObject(const fGL *, const ogl_camera &)
395 {
396 }
397
398 void ogl_volume_rendering_object::TranslateObject(const fGL * p1, const ogl_obj_loc_data * p2)
399 {
400 fGL tmp1[3] = { p1[0], p1[1], p1[2] };
401
402 if (p2 == GetSafeLD())
403 {
404 tmp1[0] = -tmp1[0];
405 tmp1[2] = -tmp1[2];
406 }
407
408 ogl_dummy_object::TranslateObject(tmp1, p2);
409 Update();
410 }
411
412 void ogl_volume_rendering_object::Render(void)
413 {
414 for (i32u n1 = 0;n1 < cp_vector.size();n1++)
415 {
416 cp_vector[n1]->Render();
417 }
418 }
419
420 void ogl_volume_rendering_object::Update(void)
421 {
422 for (i32u n1 = 0;n1 < cp_vector.size();n1++)
423 {
424 cp_vector[n1]->Update();
425 }
426 }
427
428 /*################################################################################################*/
429
430 // eof
0 // OGL_PLANE.H : a classes for drawing colored 3D-planes and doing volume rendering.
1
2 // Copyright (C) 1998 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef OGL_PLANE_H
21 #define OGL_PLANE_H
22
23 //#include "ghemicalconfig2.h"
24
25 struct ogl_cp_param;
26 class ogl_color_plane;
27
28 class ogl_color_plane_object;
29 class ogl_volume_rendering_object;
30
31 /*################################################################################################*/
32
33 #include <oglappth/ogl_camera.h>
34 #include <oglappth/transparent.h>
35
36 #include <ghemical/typedef.h>
37
38 #include "project.h"
39
40 /*################################################################################################*/
41
42 struct ogl_cp_param
43 {
44 project * prj;
45 const ogl_obj_loc_data * data; // for color_plane only!!!
46
47 iGLu my_glname; // for color_plane only!!!
48
49 bool transparent;
50 bool automatic_cv2;
51
52 i32s np; fGL dim;
53
54 engine * ref;
55 ValueFunction * vf;
56 ColorFunction * cf;
57
58 fGL cvalue1;
59 fGL cvalue2;
60 fGL alpha;
61 };
62
63 class ogl_color_plane
64 {
65 private:
66
67 project * prj;
68 const ogl_obj_loc_data * data;
69
70 iGLu my_glname;
71
72 bool transparent;
73 bool automatic_cv2;
74
75 i32s np; fGL dim;
76
77 engine * ref;
78 ValueFunction * GetValue;
79 ColorFunction * GetColor;
80
81 fGL cvalue1;
82 fGL cvalue2;
83 fGL alpha;
84
85 /*################*/
86 /*################*/
87
88 fGL * dist;
89
90 fGL * color4;
91 fGL * point3;
92
93 oglv3d<GLfloat> xdir;
94
95 public:
96
97 ogl_color_plane(ogl_cp_param &);
98 ~ogl_color_plane(void);
99
100 void Update(void);
101 void Render(void);
102
103 protected:
104
105 void SetDimension(fGL);
106 void GetCRD(i32s *, fGL *);
107 };
108
109 /*################################################################################################*/
110
111 class ogl_color_plane_object :
112 public ogl_smart_object
113 {
114 private:
115
116 ogl_color_plane * cp;
117
118 engine * copy_of_ref;
119 char * object_name;
120
121 public:
122
123 ogl_color_plane_object(const ogl_object_location &, ogl_cp_param &, const char *);
124 ~ogl_color_plane_object(void);
125
126 engine * GetRef(void) { return copy_of_ref; }
127 const char * GetObjectName(void) { return object_name; } // virtual
128
129 void CameraEvent(const ogl_camera &) { } // virtual
130
131 bool BeginTransformation(void) { return false; } // virtual
132 bool EndTransformation(void) { return false; } // virtual
133
134 void OrbitObject(const fGL *, const ogl_camera &); // virtual
135 void RotateObject(const fGL *, const ogl_camera &); // virtual
136
137 void TranslateObject(const fGL *, const ogl_obj_loc_data *); // virtual
138
139 void Render(void) { cp->Render(); } // virtual
140 void Update(void) { cp->Update(); }
141 };
142
143 /*################################################################################################*/
144
145 class ogl_volume_rendering_object :
146 public ogl_smart_object
147 {
148 private:
149
150 fGL thickness;
151 vector<ogl_color_plane *> cp_vector;
152 vector<ogl_obj_loc_data *> data_vector;
153
154 void * copy_of_ref;
155 char * object_name;
156
157 public:
158
159 ogl_volume_rendering_object(const ogl_object_location &, ogl_cp_param &, i32s, fGL, ogl_camera &, const char *);
160 ~ogl_volume_rendering_object(void);
161
162 void * GetRef(void) { return copy_of_ref; }
163 const char * GetObjectName(void) { return object_name; } // virtual
164
165 void CameraEvent(const ogl_camera &); // virtual
166
167 bool BeginTransformation(void) { return false; } // virtual
168 bool EndTransformation(void) { return false; } // virtual
169
170 void OrbitObject(const fGL *, const ogl_camera &); // virtual
171 void RotateObject(const fGL *, const ogl_camera &); // virtual
172
173 void TranslateObject(const fGL *, const ogl_obj_loc_data *); // virtual
174
175 void Render(void); // virtual
176 void Update(void);
177 };
178
179 /*################################################################################################*/
180
181 #endif // OGL_PLANE_H
182
183 // eof
0 // OGL_RIBBON.CPP
1
2 // Copyright (C) 1998 Tommi Hassinen, Jarno Huuskonen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ogl_ribbon.h" // config.h is here -> we get ENABLE-macros here...
21
22 #include <sstream>
23 using namespace std;
24
25 #include <ghemical/v3d.h>
26 #include <ghemical/eng1_sf.h>
27
28 #include "spline.h"
29
30 /*################################################################################################*/
31
32 const i32s ogl_ribbon::resol = 10;
33
34 const fGL ogl_ribbon::width = 0.15;
35 const fGL ogl_ribbon::helix = 0.10;
36
37 ogl_ribbon::ogl_ribbon(project * p1, color_mode * p9, i32s p2, i32s order) :
38 ogl_smart_object()
39 {
40 prj = p1; cmode = p9;
41 chn = p2; extra_points = order - 2;
42
43 vector<chn_info> & ci_vector = (* prj->GetCI());
44
45 if (ci_vector[chn].GetType() != chn_info::amino_acid)
46 {
47 assertion_failed(__FILE__, __LINE__, "chn type != AA");
48 }
49
50 if (ci_vector[chn].GetLength() < 3)
51 {
52 assertion_failed(__FILE__, __LINE__, "chn length < 3");
53 }
54
55 const char * tmp_sss = ci_vector[chn].GetSecStrStates();
56
57 char * state = new char[ci_vector[chn].GetLength() + 1];
58 state[ci_vector[chn].GetLength()] = 0;
59
60 // the default state is always loop. strands have the same places as in K&S.
61 // helices are shifted: the smallest helical peptide is "4...." -> "LHHHL".
62
63 setup * su = prj->GetCurrentSetup();
64 setup1_sf * susf = dynamic_cast<setup1_sf *>(su);
65 if (susf != NULL) // optionally, if we use SF, get the constraints...
66 {
67 bool error = false;
68 if (susf->chn_vector.size() != ci_vector.size()) error = true;
69 if (susf->chn_vector[chn].res_vector.size() != (i32u) ci_vector[chn].GetLength()) error = true;
70
71 if (error)
72 {
73 assertion_failed(__FILE__, __LINE__, "susf error.");
74 }
75
76 for (i32u n1 = 0;n1 < susf->chn_vector[chn].res_vector.size();n1++)
77 {
78 state[n1] = 'L';
79 if (susf->chn_vector[chn].res_vector[n1].GetState() == SF_STATE_STRAND) state[n1] = 'S';
80 }
81
82 for (i32s n1 = 0;n1 < ((i32s) susf->chn_vector[chn].res_vector.size()) - 3;n1++)
83 {
84 if (susf->chn_vector[chn].res_vector[n1].GetState() == SF_STATE_HELIX4)
85 {
86 state[n1 + 1] = 'H';
87 state[n1 + 2] = 'H';
88 state[n1 + 3] = 'H';
89 }
90 }
91 }
92 else // normally, use the DSSP results...
93 {
94 for (i32s n1 = 0;n1 < ci_vector[chn].GetLength();n1++)
95 {
96 state[n1] = 'L';
97 if (tmp_sss[n1] == 'S') state[n1] = 'S';
98 }
99
100 for (i32s n1 = 0;n1 < ((i32s) ci_vector[chn].GetLength()) - 3;n1++)
101 {
102 if (tmp_sss[n1] == '4')
103 {
104 state[n1 + 1] = 'H';
105 state[n1 + 2] = 'H';
106 state[n1 + 3] = 'H';
107 }
108 }
109 }
110
111 iter_al range1[2];
112 prj->GetRange(1, chn, range1);
113
114 length = ci_vector[chn].GetLength() - 1;
115
116 cp1 = new fGL[length * 3];
117 cp2 = new fGL[length * 3];
118
119 data3 = new fGL[length * 3];
120
121 v3d<fGL> old_tmpv7; bool flag = true;
122 for (i32s n1 = 0;n1 < length;n1++)
123 {
124 fGL color1[4]; color1[3] = 1.0;
125 fGL color2[4]; color2[3] = 1.0;
126
127 if (susf != NULL) // optional constraint colours...
128 {
129 color1[0] = 0.5; color1[1] = 0.0; color1[2] = 0.8;
130 if (state[n1 + 0] == 'H') { color1[0] = 0.8; color1[1] = 0.5; color1[2] = 0.0; }
131 if (state[n1 + 0] == 'S') { color1[0] = 0.0; color1[1] = 0.8; color1[2] = 0.5; }
132
133 color2[0] = 0.5; color2[1] = 0.0; color2[2] = 0.8;
134 if (state[n1 + 1] == 'H') { color2[0] = 0.8; color2[1] = 0.5; color2[2] = 0.0; }
135 if (state[n1 + 1] == 'S') { color2[0] = 0.0; color2[1] = 0.8; color2[2] = 0.5; }
136 }
137 else // the normal colours...
138 {
139 color1[0] = 0.0; color1[1] = 0.0; color1[2] = 1.0;
140 if (state[n1 + 0] == 'H') { color1[0] = 1.0; color1[1] = 0.0; color1[2] = 0.0; }
141 if (state[n1 + 0] == 'S') { color1[0] = 0.0; color1[1] = 1.0; color1[2] = 0.0; }
142
143 color2[0] = 0.0; color2[1] = 0.0; color2[2] = 1.0;
144 if (state[n1 + 1] == 'H') { color2[0] = 1.0; color2[1] = 0.0; color2[2] = 0.0; }
145 if (state[n1 + 1] == 'S') { color2[0] = 0.0; color2[1] = 1.0; color2[2] = 0.0; }
146 }
147
148 iter_al c_alpha_1;
149 iter_al c_alpha_2;
150
151 v3d<fGL> ca_to_ca;
152 v3d<fGL> normal(1.0, 0.0, 0.0);
153
154 iter_al range2a[2]; prj->GetRange(2, range1, n1 + 0, range2a);
155 iter_al range2b[2]; prj->GetRange(2, range1, n1 + 1, range2b);
156
157 c_alpha_2 = range2b[0]; while (c_alpha_2 != range2b[1] && ((* c_alpha_2).builder_res_id & 0xFF) != 0x01) c_alpha_2++;
158 if (c_alpha_2 == range2b[1])
159 {
160 assertion_failed(__FILE__, __LINE__, "C_alpha_2 not found.");
161 }
162
163 c_alpha_1 = range2a[0]; while (c_alpha_1 != range2a[1] && ((* c_alpha_1).builder_res_id & 0xFF) != 0x01) c_alpha_1++;
164 if (c_alpha_1 == range2a[1])
165 {
166 assertion_failed(__FILE__, __LINE__, "C_alpha_1 not found.");
167 }
168
169 iter_al c_carboxyl = range2a[0]; while (c_carboxyl != range2a[1] && ((* c_carboxyl).builder_res_id & 0xFF) != 0x02) c_carboxyl++;
170 if (c_carboxyl == range2a[1])
171 {
172 assertion_failed(__FILE__, __LINE__, "C_carboxyl not found.");
173 }
174
175 ca_to_ca = v3d<fGL>((* c_alpha_1).GetCRD(0), (* c_alpha_2).GetCRD(0));
176 v3d<fGL> tmpv1 = v3d<fGL>((* c_alpha_1).GetCRD(0), (* c_carboxyl).GetCRD(0));
177 normal = ca_to_ca.vpr(tmpv1); normal = normal / normal.len();
178
179 v3d<fGL> tmpv7 = normal.vpr(ca_to_ca); tmpv7 = tmpv7 / tmpv7.len();
180
181 v3d<fGL> midpoint = v3d<fGL>((* c_alpha_1).GetCRD(0));
182 midpoint = midpoint + (ca_to_ca / 2.0);
183
184 i32s helix_count = 0;
185 if (state[n1 + 0] == 'H') helix_count++;
186 if (state[n1 + 1] == 'H') helix_count++;
187 midpoint = midpoint + (normal * ((fGL) helix_count * helix));
188
189 v3d<fGL> tmpv8 = midpoint + (tmpv7 * width);
190 v3d<fGL> tmpv9 = midpoint - (tmpv7 * width);
191
192 if (n1 != 0 && tmpv7.ang(old_tmpv7) > M_PI / 2.0) flag = !flag;
193 old_tmpv7 = tmpv7;
194
195 for (i32s n2 = 0;n2 < 3;n2++)
196 {
197 if (flag)
198 {
199 cp1[n1 * 3 + n2] = tmpv8[n2];
200 cp2[n1 * 3 + n2] = tmpv9[n2];
201 }
202 else
203 {
204 cp1[n1 * 3 + n2] = tmpv9[n2];
205 cp2[n1 * 3 + n2] = tmpv8[n2];
206 }
207
208 data3[n1 * 3 + n2] = (color1[n2] + color2[n2]) / 2.0;
209 }
210 }
211
212 ref1 = new spline(order, length + extra_points * 2);
213
214 head_points1 = new fGL[extra_points * 3];
215 tail_points1 = new fGL[extra_points * 3];
216
217 head_refs1[0] = & cp1[1 * 3]; head_refs1[1] = & cp1[0 * 3];
218 tail_refs1[0] = & cp1[(length - 2) * 3]; tail_refs1[1] = & cp1[(length - 1) * 3];
219
220 ref2 = new spline(order, length + extra_points * 2);
221
222 head_points2 = new fGL[extra_points * 3];
223 tail_points2 = new fGL[extra_points * 3];
224
225 head_refs2[0] = & cp2[1 * 3]; head_refs2[1] = & cp2[0 * 3];
226 tail_refs2[0] = & cp2[(length - 2) * 3]; tail_refs2[1] = & cp2[(length - 1) * 3];
227
228 UpdateExtraPoints(head_refs1, head_points1, tail_refs1, tail_points1);
229 UpdateExtraPoints(head_refs2, head_points2, tail_refs2, tail_points2);
230
231 for (i32s n1 = 0;n1 < extra_points;n1++)
232 {
233 ref1->SetPoint(n1, & head_points1[(extra_points - (n1 + 1)) * 3]);
234 ref2->SetPoint(n1, & head_points2[(extra_points - (n1 + 1)) * 3]);
235 }
236
237 for (i32s n1 = 0;n1 < extra_points;n1++)
238 {
239 ref1->SetPoint(extra_points + length + n1, & tail_points1[n1 * 3]);
240 ref2->SetPoint(extra_points + length + n1, & tail_points2[n1 * 3]);
241 }
242
243 for (i32s n1 = 0;n1 < length;n1++)
244 {
245 ref1->SetPoint(extra_points + n1, & cp1[n1 * 3]);
246 ref2->SetPoint(extra_points + n1, & cp2[n1 * 3]);
247 }
248
249 for (i32s n1 = 0;n1 < length + extra_points * 2 + order;n1++)
250 {
251 ref1->SetKnot(n1, (fGL) (n1 - extra_points) - (fGL) order / 2.0);
252 ref2->SetKnot(n1, (fGL) (n1 - extra_points) - (fGL) order / 2.0);
253 }
254
255 #ifdef RIBBON_USE_DISPLSTS
256 list_id = prj->GetDisplayListIDs(1);
257 #endif // RIBBON_USE_DISPLSTS
258
259 i32s np1 = resol * (length - 1);
260 i32s np2 = np1 + 1;
261
262 data1 = new fGL[np2];
263 data2a = new fGL[np2 * 3];
264 data2b = new fGL[np2 * 3];
265
266 for (i32s n1 = 0;n1 < np2;n1++)
267 {
268 data1[n1] = ((fGL) (length - 1) * n1) / (fGL) np1;
269 i32s index = (i32s) floor(data1[n1] + 0.5);
270
271 fGL width1 = 0.5; if (state[index + 0] == 'H' || state[index + 0] == 'S') width1 = 1.0;
272 fGL width2 = 0.5; if (state[index + 1] == 'H' || state[index + 1] == 'S') width2 = 1.0;
273
274 fGL ang = M_PI * ((data1[n1] + 0.5) - (fGL) index) / 2.0;
275 fGL tmp1 = cos(ang); fGL w1 = width1 * tmp1 * tmp1;
276 fGL tmp2 = sin(ang); fGL w2 = width2 * tmp2 * tmp2;
277 fGL ribbon_width = w1 + w2;
278
279 fGL pos1[3]; ref1->Compute(data1[n1], pos1);
280 fGL pos2[3]; ref2->Compute(data1[n1], pos2);
281
282 v3d<fGL> v1 = v3d<fGL>(pos1);
283 v3d<fGL> v2 = v3d<fGL>(pos1, pos2); v2 = v2 / 2.0;
284
285 v3d<fGL> v3 = (v1 + v2) - (v2 * ribbon_width);
286 v3d<fGL> v4 = (v1 + v2) + (v2 * ribbon_width);
287
288 for (i32s n2 = 0;n2 < 3;n2++)
289 {
290 data2a[n1 * 3 + n2] = v3[n2];
291 data2b[n1 * 3 + n2] = v4[n2];
292 }
293 }
294
295 delete[] state;
296 }
297
298 ogl_ribbon::~ogl_ribbon(void)
299 {
300 delete[] cp1;
301 delete[] cp2;
302
303 delete ref1;
304 delete[] head_points1;
305 delete[] tail_points1;
306
307 delete ref2;
308 delete[] head_points2;
309 delete[] tail_points2;
310
311 delete[] data1;
312 delete[] data2a;
313 delete[] data2b;
314 delete[] data3;
315
316 #ifdef RIBBON_USE_DISPLSTS
317 prj->DeleteDisplayLists(list_id, 1);
318 #endif // RIBBON_USE_DISPLSTS
319 }
320
321 void ogl_ribbon::UpdateExtraPoints(fGL ** hr, fGL * hp, fGL ** tr, fGL * tp)
322 {
323 v3d<fGL> tmpv1; v3d<fGL> tmpv2;
324
325 tmpv1 = v3d<fGL>(hr[1]);
326 tmpv2 = v3d<fGL>(hr[0], hr[1]);
327 for (i32s n1 = 0;n1 < extra_points;n1++)
328 {
329 v3d<fGL> tmpv3 = tmpv1 + (tmpv2 * ((fGL) n1 + 1));
330 for (i32s n2 = 0;n2 < 3;n2++) hp[n1 * 3 + n2] = tmpv3[n2];
331 }
332
333 tmpv1 = v3d<fGL>(tr[1]);
334 tmpv2 = v3d<fGL>(tr[0], tr[1]);
335 for (i32s n1 = 0;n1 < extra_points;n1++)
336 {
337 v3d<fGL> tmpv3 = tmpv1 + (tmpv2 * ((fGL) n1 + 1));
338 for (i32s n2 = 0;n2 < 3;n2++) tp[n1 * 3 + n2] = tmpv3[n2];
339 }
340 }
341
342 void ogl_ribbon::Render(void)
343 {
344 #ifdef RIBBON_USE_DISPLSTS
345 if (glIsList(list_id) == GL_TRUE) glCallList(list_id);
346 else
347 {
348 glNewList(list_id, GL_COMPILE_AND_EXECUTE);
349 #endif // RIBBON_USE_DISPLSTS
350
351 i32s np1 = resol * (length - 1);
352
353 glEnable(GL_LIGHTING);
354 glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, true);
355
356 glBegin(GL_TRIANGLES);
357 for (i32s n1 = 0;n1 < np1;n1++)
358 {
359 v3d<fGL> va = v3d<fGL>(& data2a[(n1 + 0) * 3], & data2b[(n1 + 0) * 3]);
360 v3d<fGL> vb = v3d<fGL>(& data2a[(n1 + 1) * 3], & data2b[(n1 + 1) * 3]);
361
362 v3d<fGL> vc = v3d<fGL>(& data2a[(n1 + 0) * 3], & data2a[(n1 + 1) * 3]);
363 v3d<fGL> vd = v3d<fGL>(& data2b[(n1 + 0) * 3], & data2b[(n1 + 1) * 3]);
364
365 v3d<fGL> vA1 = va.vpr(vc); v3d<fGL> vA2 = vb.vpr(vc);
366 v3d<fGL> vB1 = va.vpr(vd); v3d<fGL> vB2 = vb.vpr(vd);
367
368 if (n1 != 0)
369 {
370 v3d<fGL> ve = v3d<fGL>(& data2a[(n1 + 0) * 3], & data2a[(n1 - 1) * 3]);
371 v3d<fGL> vf = v3d<fGL>(& data2b[(n1 + 0) * 3], & data2b[(n1 - 1) * 3]);
372 vA1 = vA1 + (ve.vpr(va)); vB1 = vB1 + (vf.vpr(va));
373 }
374
375 if (n1 != (np1 - 1))
376 {
377 v3d<fGL> vg = v3d<fGL>(& data2a[(n1 + 1) * 3], & data2a[(n1 + 2) * 3]);
378 v3d<fGL> vh = v3d<fGL>(& data2b[(n1 + 1) * 3], & data2b[(n1 + 2) * 3]);
379 vA2 = vA2 + (vb.vpr(vg)); vB2 = vB2 + (vb.vpr(vh));
380 }
381
382 vA1 = vA1 / vA1.len(); vA2 = vA2 / vA2.len();
383 vB1 = vB1 / vB1.len(); vB2 = vB2 / vB2.len();
384
385 i32s index = (i32s) floor(data1[n1]);
386 fGL color1[3]; fGL mod1 = data1[n1 + 0] - (fGL) index;
387 fGL color2[3]; fGL mod2 = data1[n1 + 1] - (fGL) index;
388
389 for (i32s n2 = 0;n2 < 3;n2++)
390 {
391 color1[n2] = data3[index * 3 + n2] * (1.0 - mod1) + data3[(index + 1) * 3 + n2] * mod1;
392 color2[n2] = data3[index * 3 + n2] * (1.0 - mod2) + data3[(index + 1) * 3 + n2] * mod2;
393 }
394
395 glColor3fv(color2);
396 glNormal3fv(vA2.data); glVertex3fv(& data2a[(n1 + 1) * 3]);
397
398 glColor3fv(color1);
399 glNormal3fv(vA1.data); glVertex3fv(& data2a[(n1 + 0) * 3]);
400 glNormal3fv(vB1.data); glVertex3fv(& data2b[(n1 + 0) * 3]);
401
402 glColor3fv(color1);
403 glNormal3fv(vB1.data); glVertex3fv(& data2b[(n1 + 0) * 3]);
404
405 glColor3fv(color2);
406 glNormal3fv(vB2.data); glVertex3fv(& data2b[(n1 + 1) * 3]);
407 glNormal3fv(vA2.data); glVertex3fv(& data2a[(n1 + 1) * 3]);
408 }
409
410 glEnd(); // GL_TRIANGLES
411
412 glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, false);
413 glDisable(GL_LIGHTING);
414
415 #ifdef RIBBON_USE_DISPLSTS
416 glEndList();
417 }
418 #endif // RIBBON_USE_DISPLSTS
419 }
420
421 /*################################################################################################*/
422
423 // eof
0 // OGL_RIBBON.H : ribbon models for peptides/proteins.
1
2 // Copyright (C) 1998 Tommi Hassinen, Jarno Huuskonen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef OGL_RIBBON_H
21 #define OGL_RIBBON_H
22
23 //#include "ghemicalconfig2.h"
24
25 class ogl_ribbon;
26
27 /*################################################################################################*/
28
29 class spline; // spline.h
30
31 #include "project.h"
32
33 //#include "ogl_objects.h"
34 #include <oglappth/ogl_camera.h>
35 #include <oglappth/transparent.h>
36
37 #include <ghemical/typedef.h>
38
39 /*################################################################################################*/
40
41 //#define RIBBON_USE_DISPLSTS // un-comment this to enable use of OpenGL display lists...
42 //^^^^^^^^^^^^^^^^^^^^^^^^^^^ 20090420 ; this seems to have problems : assertion `GTK_WIDGET_REALIZED (widget)' failed
43
44 class ogl_ribbon :
45 public ogl_smart_object
46 {
47 public:
48
49 project * prj;
50 color_mode * cmode;
51
52 i32s extra_points;
53 i32s chn; i32s length;
54
55 fGL * cp1; // control points (three components)
56 fGL * cp2; // control points (three components)
57
58 spline * ref1;
59 fGL * head_refs1[2];
60 fGL * head_points1; // (three components)
61 fGL * tail_refs1[2];
62 fGL * tail_points1; // (three components)
63
64 spline * ref2;
65 fGL * head_refs2[2];
66 fGL * head_points2; // (three components)
67 fGL * tail_refs2[2];
68 fGL * tail_points2; // (three components)
69
70 fGL * data1; // places of the control points in spline
71 fGL * data2a; // coordinates calculated using the spline (three components)
72 fGL * data2b; // coordinates calculated using the spline (three components)
73 fGL * data3; // colors of the points (three components)
74
75 #ifdef RIBBON_USE_DISPLSTS
76 iGLu list_id;
77 #endif // RIBBON_USE_DISPLSTS
78
79 static const i32s resol;
80
81 static const fGL width;
82 static const fGL helix;
83
84 public:
85
86 ogl_ribbon(project *, color_mode *, i32s, i32s);
87 ~ogl_ribbon(void);
88
89 void UpdateExtraPoints(fGL **, fGL *, fGL **, fGL *);
90
91 const char * GetObjectName(void) { return "ribbon"; } // virtual
92
93 void CameraEvent(const ogl_camera &) { } // virtual
94
95 bool BeginTransformation(void) { return false; } // virtual
96 bool EndTransformation(void) { return false; } // virtual
97
98 void Render(void); // virtual
99 };
100
101 /*################################################################################################*/
102
103 #endif // OGL_RIBBON_H
104
105 // eof
0 // OGL_SURFACE.CPP
1
2 // Copyright (C) 1998 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ogl_surface.h" // config.h is here -> we get ENABLE-macros here...
21
22 #include <ghemical/v3d.h>
23 #include <oglappth/base_app.h>
24
25 #include "project.h"
26 #include "appdefine.h"
27
28 #include "local_i18n.h"
29
30 #include <cstring>
31 #include <deque>
32 #include <sstream>
33 using namespace std;
34
35 /*################################################################################################*/
36
37 ogl_color_surface::ogl_color_surface(ogl_cs_param & p1)
38 {
39 prj = p1.prj;
40 data = p1.data;
41
42 my_glname = p1.my_glname;
43
44 transparent = p1.transparent;
45 automatic_cv2 = p1.automatic_cv2;
46 wireframe = p1.wireframe;
47
48 for (i32s n1 = 0;n1 < 3;n1++)
49 {
50 np[n1] = p1.np[n1];
51 dist[n1] = new fGL[np[n1]];
52 }
53
54 ref = p1.ref;
55 GetSurfaceValue = p1.vf1;
56 GetColorValue = p1.vf2;
57 GetColor = p1.cf;
58
59 svalue = p1.svalue;
60 cvalue1 = p1.cvalue1;
61 cvalue2 = p1.cvalue2;
62 alpha = p1.alpha;
63
64 tolerance = p1.toler;
65 max_cycles = p1.maxc;
66
67 grid = vector<bool>(np[0] * np[1] * np[2]);
68
69 SetDimension(p1.dim);
70 Update();
71 }
72
73 ogl_color_surface::~ogl_color_surface(void)
74 {
75 if (transparent) base_app::GetAppB()->RemoveAllTPs((void *) this);
76
77 delete[] dist[0];
78 delete[] dist[1];
79 delete[] dist[2];
80 }
81
82 void ogl_color_surface::Update(void)
83 {
84 xdir = data->ydir.vpr(data->zdir);
85
86 vdata.resize(0);
87 tdata.resize(0);
88 ldata.resize(0);
89
90 prj->PrintToLog(_("evaluating grid"));
91 for (i32s n1 = 0;n1 < np[0];n1++)
92 {
93 prj->PrintToLog("*"); // slow to update???
94
95 for (i32s n2 = 0;n2 < np[1];n2++)
96 {
97 for (i32s n3 = 0;n3 < np[2];n3++)
98 {
99 i32s tmp1[3] = { n1, n2, n3 }; fGL tmp2[3]; GetCRD(tmp1, tmp2);
100 grid[n1 * np[1] * np[2] + n2 * np[2] + n3] = (GetSurfaceValue(ref, tmp2, NULL) < svalue);
101 }
102 }
103 }
104
105 prj->PrintToLog(_(" done\n"));
106
107 avrg = 0.0; acnt = 0;
108 for (i32s n1 = 0;n1 < 3;n1++)
109 {
110 i32s tmp1[2]; i32s tmp2[2] = { 0, 0 };
111 prj->PrintToLog(_("interpolating in "));
112 switch (n1)
113 {
114 case 0:
115 tmp1[0] = 1; tmp1[1] = 2;
116 prj->PrintToLog("x");
117 break;
118
119 case 1:
120 tmp1[0] = 2; tmp1[1] = 0;
121 prj->PrintToLog("y");
122 break;
123
124 case 2:
125 tmp1[0] = 0; tmp1[1] = 1;
126 prj->PrintToLog("z");
127 break;
128 }
129
130 prj->PrintToLog(_("-direction... "));
131
132 range[n1][0] = vdata.size();
133 Interpolate(n1, tmp1, tmp2);
134 range[n1][1] = vdata.size();
135
136 ostringstream str1;
137 str1 << tmp2[0] << _(" points, ") << tmp2[1] << _(" cycles") << endl << ends;
138 prj->PrintToLog(str1.str().c_str());
139 }
140
141 if (automatic_cv2)
142 {
143 // AUTO makes only partial correction -> just looks better and one can estimate the "bias".
144 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
145
146 cvalue2 = -0.80 * avrg / (f64) acnt;
147 }
148
149 for (i32u n1 = 0;n1 < vdata.size();n1++)
150 {
151 GetColor((vdata[n1].cvalue + cvalue2) / cvalue1, alpha, vdata[n1].color);
152 }
153
154 prj->PrintToLog(_("generating image... "));
155
156 for (i32s n1 = 0;n1 < np[0] - 1;n1++)
157 {
158 for (i32s n2 = 0;n2 < np[1] - 1;n2++)
159 {
160 for (i32s n3 = 0;n3 < np[2] - 1;n3++)
161 {
162 vector<ogl_cs_line> line_vector;
163
164 for (i32s n4 = 0;n4 < 2;n4++)
165 {
166 for (i32s n5 = 0;n5 < 2;n5++)
167 {
168 for (i32s n6 = 0;n6 < 2;n6++)
169 {
170 i32s id1[4];
171 id1[0] = (n1 + n4) * np[1] * np[2] + (n2 + n5) * np[2] + (n3 + n6);
172 id1[1] = (n1 + !n4) * np[1] * np[2] + (n2 + n5) * np[2] + (n3 + n6);
173 id1[2] = (n1 + n4) * np[1] * np[2] + (n2 + !n5) * np[2] + (n3 + n6);
174 id1[3] = (n1 + n4) * np[1] * np[2] + (n2 + n5) * np[2] + (n3 + !n6);
175
176 i32s id2[3] = { NOT_DEFINED, NOT_DEFINED, NOT_DEFINED };
177
178 for (i32s n7 = 0;n7 < 3;n7++)
179 {
180 if (grid[id1[0]] != grid[id1[n7 + 1]])
181 {
182 i32s tmp1 = min(id1[0], id1[n7 + 1]); id2[n7] = range[n7][0];
183 while (id2[n7] < range[n7][1] && vdata[id2[n7]].id != tmp1) id2[n7]++;
184 if (id2[n7] == range[n7][1]) cout << _("color_surface problem #1") << endl;
185 }
186 }
187
188 for (i32s n7 = 0;n7 < 3;n7++)
189 {
190 ogl_cs_line newline;
191 newline.index[0] = id2[n7];
192 newline.index[1] = id2[(n7 + 1) % 3];
193 newline.Arrange();
194
195 if (newline.index[0] < 0) continue;
196 if (newline.index[1] < 0) continue;
197
198 line_vector.push_back(newline);
199 }
200 }
201 }
202 }
203
204 for (i32s n4 = 0;n4 < 3;n4++)
205 {
206 i32s id1a[4]; i32s id1b[4];
207 i32s tmp1[2] = { (n4 + 1) % 3, (n4 + 2) % 3 };
208
209 i32s t1a[3] = { n1, n2, n3 };
210 id1a[0] = t1a[0] * np[1] * np[2] + t1a[1] * np[2] + t1a[2];
211 i32s t2a[3] = { n1, n2, n3 }; t2a[tmp1[0]]++;
212 id1a[1] = t2a[0] * np[1] * np[2] + t2a[1] * np[2] + t2a[2];
213 i32s t3a[3] = { n1, n2, n3 }; t3a[tmp1[0]]++; t3a[tmp1[1]]++;
214 id1a[2] = t3a[0] * np[1] * np[2] + t3a[1] * np[2] + t3a[2];
215 i32s t4a[3] = { n1, n2, n3 }; t4a[tmp1[1]]++;
216 id1a[3] = t4a[0] * np[1] * np[2] + t4a[1] * np[2] + t4a[2];
217
218 i32s t1b[3] = { n1, n2, n3 }; t1b[n4]++;
219 id1b[0] = t1b[0] * np[1] * np[2] + t1b[1] * np[2] + t1b[2];
220 i32s t2b[3] = { n1, n2, n3 }; t2b[n4]++; t2b[tmp1[0]]++;
221 id1b[1] = t2b[0] * np[1] * np[2] + t2b[1] * np[2] + t2b[2];
222 i32s t3b[3] = { n1, n2, n3 }; t3b[n4]++; t3b[tmp1[0]]++; t3b[tmp1[1]]++;
223 id1b[2] = t3b[0] * np[1] * np[2] + t3b[1] * np[2] + t3b[2];
224 i32s t4b[3] = { n1, n2, n3 }; t4b[n4]++; t4b[tmp1[1]]++;
225 id1b[3] = t4b[0] * np[1] * np[2] + t4b[1] * np[2] + t4b[2];
226
227 i32s id2[4] = { NOT_DEFINED, NOT_DEFINED, NOT_DEFINED, NOT_DEFINED };
228
229 for (i32s n5 = 0;n5 < 4;n5++)
230 {
231 if (grid[id1a[n5]] != grid[id1b[n5]])
232 {
233 id2[n5] = range[n4][0]; while (id2[n5] < range[n4][1] && vdata[id2[n5]].id != id1a[n5]) id2[n5]++;
234 if (id2[n5] == range[n4][1]) cout << _("color_surface problem #2") << endl;
235 }
236 }
237
238 for (i32s n5 = 0;n5 < 4;n5++)
239 {
240 ogl_cs_line newline;
241 newline.index[0] = id2[n5];
242 newline.index[1] = id2[(n5 + 1) % 4];
243 newline.Arrange();
244
245 if (newline.index[0] < 0) continue;
246 if (newline.index[1] < 0) continue;
247
248 line_vector.push_back(newline);
249 }
250 }
251
252 ldata.insert(ldata.end(), line_vector.begin(), line_vector.end());
253
254 while (!line_vector.empty())
255 {
256 deque<i32s> polygon;
257
258 polygon.push_front(line_vector.back().index[0]);
259 polygon.push_back(line_vector.back().index[1]);
260 line_vector.pop_back();
261
262 i32s counter = 0;
263 while (counter < (i32s) line_vector.size())
264 {
265 for (i32s dir = 0;dir < 2;dir++)
266 {
267 if (line_vector[counter].index[dir] == polygon.front())
268 {
269 polygon.push_front(line_vector[counter].index[!dir]);
270 line_vector.erase(line_vector.begin() + counter);
271 counter = -1; break;
272 }
273
274 if (line_vector[counter].index[dir] == polygon.back())
275 {
276 polygon.push_back(line_vector[counter].index[!dir]);
277 line_vector.erase(line_vector.begin() + counter);
278 counter = -1; break;
279 }
280 }
281
282 counter++;
283 }
284
285 for (i32s n4 = 1;n4 < ((i32s) polygon.size()) - 2;n4++)
286 {
287 ogl_cs_triangle newtriangle;
288 newtriangle.index[0] = polygon[0];
289 newtriangle.index[1] = polygon[n4];
290 newtriangle.index[2] = polygon[n4 + 1];
291
292 if (newtriangle.index[0] == newtriangle.index[1]) cout << "E";
293 if (newtriangle.index[0] == newtriangle.index[2]) cout << "E";
294 if (newtriangle.index[1] == newtriangle.index[2]) cout << "E";
295 tdata.push_back(newtriangle);
296 }
297 }
298 }
299 }
300 }
301
302 // there are some duplicated lines -> make unique !!!
303 // there are some duplicated lines -> make unique !!!
304 // there are some duplicated lines -> make unique !!!
305
306 sort(ldata.begin(), ldata.end());
307 vector<ogl_cs_line>::iterator it1 = unique(ldata.begin(), ldata.end());
308 if (it1 != ldata.end()) ldata.erase(it1, ldata.end());
309
310 // check the counterclockwise winding of triangles !!!
311 // check the counterclockwise winding of triangles !!!
312 // check the counterclockwise winding of triangles !!!
313
314 for (i32s n1 = 0;n1 < (i32s) tdata.size();n1++)
315 {
316 v3d<fGL> nv1 = v3d<fGL>(vdata[tdata[n1].index[0]].normal);
317 v3d<fGL> nv2 = v3d<fGL>(vdata[tdata[n1].index[1]].normal);
318 v3d<fGL> nv3 = v3d<fGL>(vdata[tdata[n1].index[2]].normal);
319
320 v3d<fGL> v1 = nv1 + nv2; v1 = v1 + nv3;
321 v3d<fGL> v2 = v3d<fGL>(vdata[tdata[n1].index[0]].crd, vdata[tdata[n1].index[1]].crd);
322 v3d<fGL> v3 = v3d<fGL>(vdata[tdata[n1].index[1]].crd, vdata[tdata[n1].index[2]].crd);
323 bool flag = !(v1.tor(v2, v3) < 0.0);
324
325 if (flag)
326 {
327 i32s tmp1 = tdata[n1].index[0];
328 tdata[n1].index[0] = tdata[n1].index[1];
329 tdata[n1].index[1] = tmp1;
330 }
331 }
332
333 ostringstream str1;
334 str1 << ldata.size() << _(" lines, ") << tdata.size() << _(" triangles.") << endl << ends;
335 prj->PrintToLog(str1.str().c_str());
336
337 // add/update the primitives, if this is a transparent object...
338 // add/update the primitives, if this is a transparent object...
339 // add/update the primitives, if this is a transparent object...
340
341 base_app * app = base_app::GetAppB();
342
343 if (transparent && !wireframe)
344 {
345 app->RemoveAllTPs((void *) this);
346
347 for (i32s n1 = 0;n1 < (i32s) tdata.size();n1++)
348 {
349 fGL * c1 = vdata[tdata[n1].index[0]].color;
350 fGL * p1 = vdata[tdata[n1].index[0]].crd;
351
352 fGL * c2 = vdata[tdata[n1].index[1]].color;
353 fGL * p2 = vdata[tdata[n1].index[1]].crd;
354
355 fGL * c3 = vdata[tdata[n1].index[2]].color;
356 fGL * p3 = vdata[tdata[n1].index[2]].crd;
357
358 tpd_tri_3c * tmp4;
359 tmp4 = new tpd_tri_3c(c1, p1, c2, p2, c3, p3);
360
361 transparent_primitive * tmp5;
362 tmp5 = new transparent_primitive((void *) this, * tmp4);
363
364 app->AddTP((void *) this, (* tmp5));
365
366 // tmp4, the tpd_tri_3c-object, will be deleted when
367 // prj->RemoveAllTPs() is called for this object...
368
369 delete tmp5;
370 }
371 }
372 }
373
374 void ogl_color_surface::Render(void)
375 {
376 glPushName(GLNAME_OBJECT);
377 glPushName(my_glname);
378
379 if (wireframe)
380 {
381 glBegin(GL_LINES);
382 for (i32s n1 = 0;n1 < (i32s) ldata.size();n1++)
383 {
384 i32s ind1 = ldata[n1].index[0]; i32s ind2 = ldata[n1].index[1];
385 glColor3fv(vdata[ind1].color); glVertex3fv(vdata[ind1].crd);
386 glColor3fv(vdata[ind2].color); glVertex3fv(vdata[ind2].crd);
387 }
388
389 glEnd(); // GL_LINES
390 }
391 else if (!transparent)
392 {
393 glEnable(GL_LIGHTING);
394 glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, true);
395
396 glBegin(GL_TRIANGLES);
397 for (i32s n1 = 0;n1 < (i32s) tdata.size();n1++)
398 {
399 vdata[tdata[n1].index[0]].Render(true); // aina TRUE!??!?!?!
400 vdata[tdata[n1].index[1]].Render(true);
401 vdata[tdata[n1].index[2]].Render(true);
402 }
403
404 glEnd(); // GL_TRIANGLES
405
406 glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, false);
407 glDisable(GL_LIGHTING);
408 }
409
410 glPopName();
411 glPopName();
412 }
413
414 void ogl_color_surface::SetDimension(fGL * p1)
415 {
416 for (i32s n1 = 0;n1 < 3;n1++)
417 {
418 dim[n1] = p1[n1];
419 fGL tmp1 = np[n1] - 1;
420
421 for (i32s n2 = 0;n2 < np[n1];n2++)
422 {
423 fGL tmp2 = (fGL) n2 / tmp1;
424 dist[n1][n2] = dim[n1] * (tmp2 - 0.5);
425 }
426 }
427 }
428
429 void ogl_color_surface::GetCRD(i32s * p1, fGL * p2)
430 {
431 for (i32s n1 = 0;n1 < 3;n1++)
432 {
433 fGL tmp1 = xdir[n1] * dist[0][p1[0]];
434 fGL tmp2 = data->ydir[n1] * dist[1][p1[1]];
435 fGL tmp3 = data->zdir[n1] * dist[2][p1[2]];
436 p2[n1] = data->crd[n1] + tmp1 + tmp2 + tmp3;
437 }
438 }
439
440 void ogl_color_surface::Interpolate(i32s p1, i32s * p2, i32s * p3)
441 {
442 i32s tmp1[3]; i32s tmp2[3];
443 for (i32s n1 = 0;n1 < np[p2[0]];n1++)
444 {
445 tmp1[p2[0]] = tmp2[p2[0]] = n1;
446
447 for (i32s n2 = 0;n2 < np[p2[1]];n2++)
448 {
449 tmp1[p2[1]] = tmp2[p2[1]] = n2;
450
451 for (i32s n3 = 0;n3 < np[p1] - 1;n3++)
452 {
453 tmp1[p1] = n3; tmp2[p1] = n3 + 1;
454 bool test1 = grid[tmp1[0] * np[1] * np[2] + tmp1[1] * np[2] + tmp1[2]];
455 bool test2 = grid[tmp2[0] * np[1] * np[2] + tmp2[1] * np[2] + tmp2[2]];
456 if (test1 == test2) continue;
457
458 fGL tmp3a[3]; GetCRD(tmp1, tmp3a);
459 fGL tmp3b[3]; GetCRD(tmp2, tmp3b);
460
461 v3d<fGL> tmpv1 = v3d<fGL>(tmp3a);
462 v3d<fGL> tmpv2 = v3d<fGL>(tmp3a, tmp3b);
463
464 v3d<fGL> tmpv3;
465
466 fGL tmp4[2]; tmp4[0] = 0.0; tmpv3 = tmpv1 + (tmpv2 * tmp4[0]);
467 tmp4[1] = GetSurfaceValue(ref, tmpv3.data, NULL) - svalue;
468
469 fGL tmp5[2]; tmp5[0] = 1.0; tmpv3 = tmpv1 + (tmpv2 * tmp5[0]);
470 tmp5[1] = GetSurfaceValue(ref, tmpv3.data, NULL) - svalue;
471
472 // this is a "regula falsi"-type search...
473
474 fGL tmp6 = 0.0; i32s tmp7 = 0;
475 while (tmp7++ < max_cycles)
476 {
477 fGL tmp8 = tmp5[0] - tmp5[1] * (tmp5[0] - tmp4[0]) / (tmp5[1] - tmp4[1]);
478
479 tmpv3 = tmpv1 + (tmpv2 * tmp8);
480 tmp6 = GetSurfaceValue(ref, tmpv3.data, NULL) - svalue;
481
482 if ((tmp6 < 0.0) ^ (tmp4[1] < 0.0))
483 {
484 tmp5[0] = tmp8;
485 tmp5[1] = tmp6;
486 }
487 else
488 {
489 tmp4[0] = tmp8;
490 tmp4[1] = tmp6;
491 }
492
493 if (fabs(tmp4[1]) < fabs(tmp5[1]))
494 {
495 tmp6 = tmp4[0];
496 tmp8 = fabs(tmp4[1]);
497 }
498 else
499 {
500 tmp6 = tmp5[0];
501 tmp8 = fabs(tmp5[1]);
502 }
503
504 if (tmp8 < tolerance) break;
505 else p3[1]++;
506 }
507
508 ogl_cs_vertex vertex; tmpv3 = tmpv1 + (tmpv2 * tmp6);
509 vertex.cvalue = GetColorValue(ref, tmpv3.data, NULL);
510
511 if (automatic_cv2)
512 {
513 avrg += vertex.cvalue;
514 acnt++;
515 }
516
517 fGL tmp9[4];
518
519 if (!wireframe)
520 {
521 tmp9[3] = 0.0; GetSurfaceValue(ref, tmpv3.data, tmp9);
522 for (i32s n4 = 0;n4 < 3;n4++) tmp9[3] += tmp9[n4] * tmp9[n4];
523 tmp9[3] = sqrt(tmp9[3]);
524 }
525
526 for (i32s n4 = 0;n4 < 3;n4++)
527 {
528 vertex.crd[n4] = tmpv3[n4];
529 if (!wireframe) vertex.normal[n4] = tmp9[n4] / tmp9[3];
530 }
531
532 vertex.id = (tmp1[0] * np[1] * np[2] + tmp1[1] * np[2] + tmp1[2]);
533 vdata.push_back(vertex); p3[0]++;
534 }
535 }
536 }
537 }
538
539 /*################################################################################################*/
540
541 ogl_color_surface_object::ogl_color_surface_object(const ogl_object_location & p1, ogl_cs_param & p2, const char * p3) :
542 ogl_smart_object(p1)
543 {
544 transform_in_progress = false;
545
546 dim[0] = p2.dim[0]; // now we have several copies
547 dim[1] = p2.dim[1]; // of dimension, but it should
548 dim[2] = p2.dim[2]; // be the same everywhere...
549
550 ogl_cs_param * param = & p2;
551
552 while (true)
553 {
554 param->data = GetSafeLD();
555 param->my_glname = base_app::GetAppB()->RegisterGLName((ogl_dummy_object *) this);
556
557 cs_vector.push_back(new ogl_color_surface(* param));
558
559 if (param->next != NULL) param = param->next;
560 else break;
561 }
562
563 ostringstream str;
564 str << p3 << "surface" << ends;
565
566 object_name = new char[strlen(str.str().c_str()) + 1];
567 strcpy(object_name, str.str().c_str());
568
569 copy_of_ref = p2.ref;
570 }
571
572 ogl_color_surface_object::~ogl_color_surface_object(void)
573 {
574 for (i32u n1 = 0;n1 < cs_vector.size();n1++)
575 {
576 delete cs_vector[n1];
577 }
578
579 delete[] object_name;
580 }
581
582 bool ogl_color_surface_object::BeginTransformation(void)
583 {
584 transform_in_progress = true;
585 return true;
586 }
587
588 bool ogl_color_surface_object::EndTransformation(void)
589 {
590 transform_in_progress = false;
591
592 Update(); // update the surfaces!!!!!
593
594 return true;
595 }
596
597 void ogl_color_surface_object::OrbitObject(const fGL * p1, const ogl_camera & p2)
598 {
599 ogl_dummy_object::RotateObject(p1, p2);
600 }
601
602 void ogl_color_surface_object::RotateObject(const fGL * p1, const ogl_camera & p2)
603 {
604 ogl_dummy_object::OrbitObject(p1, p2);
605 }
606
607 void ogl_color_surface_object::TranslateObject(const fGL * p1, const ogl_obj_loc_data * p2)
608 {
609 fGL tmp1[3] = { p1[0], p1[1], p1[2] };
610
611 if (p2 == GetSafeLD())
612 {
613 tmp1[0] = -tmp1[0];
614 tmp1[2] = -tmp1[2];
615 }
616
617 ogl_dummy_object::TranslateObject(tmp1, p2);
618 }
619
620 void ogl_color_surface_object::Render(void)
621 {
622 if (transform_in_progress)
623 {
624 glPushMatrix(); SetModelView();
625 fGL dx[2]; dx[0] = dim[0] / 2.0; dx[1] = -dx[0];
626 fGL dy[2]; dy[0] = dim[1] / 2.0; dy[1] = -dy[0];
627 fGL dz[2]; dz[0] = dim[2] / 2.0; dz[1] = -dz[0];
628
629 glBegin(GL_LINES);
630
631 glColor3f(0.0, 0.0, 1.0);
632
633 glVertex3f(dx[0], dy[0], dz[0]); glVertex3f(dx[1], dy[0], dz[0]);
634 glVertex3f(dx[0], dy[1], dz[0]); glVertex3f(dx[1], dy[1], dz[0]);
635 glVertex3f(dx[0], dy[1], dz[1]); glVertex3f(dx[1], dy[1], dz[1]);
636 glVertex3f(dx[0], dy[0], dz[1]); glVertex3f(dx[1], dy[0], dz[1]);
637
638 glVertex3f(dx[0], dy[0], dz[0]); glVertex3f(dx[0], dy[1], dz[0]);
639 glVertex3f(dx[1], dy[0], dz[0]); glVertex3f(dx[1], dy[1], dz[0]);
640 glVertex3f(dx[1], dy[0], dz[1]); glVertex3f(dx[1], dy[1], dz[1]);
641 glVertex3f(dx[0], dy[0], dz[1]); glVertex3f(dx[0], dy[1], dz[1]);
642
643 glVertex3f(dx[0], dy[0], dz[0]); glVertex3f(dx[0], dy[0], dz[1]);
644 glVertex3f(dx[1], dy[0], dz[0]); glVertex3f(dx[1], dy[0], dz[1]);
645 glVertex3f(dx[1], dy[1], dz[0]); glVertex3f(dx[1], dy[1], dz[1]);
646 glVertex3f(dx[0], dy[1], dz[0]); glVertex3f(dx[0], dy[1], dz[1]);
647
648 glColor3f(1.0, 1.0, 1.0);
649
650 glVertex3f(dx[0] / 2.0, 0.0, 0.0); glVertex3f(dx[1] / 2.0, 0.0, 0.0);
651 glVertex3f(0.0, dy[0] / 2.0, 0.0); glVertex3f(0.0, dy[1] / 2.0, 0.0);
652 glVertex3f(0.0, 0.0, dz[0] / 2.0); glVertex3f(0.0, 0.0, dz[1] / 2.0);
653
654 glEnd(); glPopMatrix();
655 }
656 else
657 {
658 for (i32u n1 = 0;n1 < cs_vector.size();n1++)
659 {
660 cs_vector[n1]->Render();
661 }
662 }
663 }
664
665 void ogl_color_surface_object::Update(void)
666 {
667 for (i32u n1 = 0;n1 < cs_vector.size();n1++)
668 {
669 cs_vector[n1]->Update();
670 }
671 }
672
673 /*################################################################################################*/
674
675 // eof
0 // OGL_SURFACE.H : a class for drawing colored 3D-surfaces.
1
2 // Copyright (C) 1998 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef OGL_SURFACE_H
21 #define OGL_SURFACE_H
22
23 //#include "ghemicalconfig2.h"
24
25 struct ogl_cs_line;
26 struct ogl_cs_triangle;
27
28 struct ogl_cs_vertex;
29
30 struct ogl_cs_param;
31 class ogl_color_surface;
32
33 /*################################################################################################*/
34
35
36 #ifdef WIN32
37 #include <windows.h> // need to have this before GL stuff...
38 #endif // WIN32
39
40 #include <GL/gl.h>
41
42 #include <vector>
43 #include <algorithm>
44 using namespace std;
45
46 //#include "ogl_camera.h"
47 #include <oglappth/ogl_camera.h>
48 #include <oglappth/transparent.h>
49
50 #include <ghemical/typedef.h>
51
52 #include "project.h"
53
54 /*################################################################################################*/
55
56 struct ogl_cs_line
57 {
58 i32s index[2];
59
60 void Arrange(void)
61 {
62 sort(index, index + 2);
63 }
64
65 bool operator==(const ogl_cs_line & p1) const
66 {
67 if (index[0] != p1.index[0]) return false;
68 if (index[1] != p1.index[1]) return false;
69 return true;
70 }
71
72 bool operator<(const ogl_cs_line & p1) const
73 {
74 if (index[0] != p1.index[0]) return index[0] < p1.index[0];
75 if (index[1] != p1.index[1]) return index[1] < p1.index[1];
76 return false;
77 }
78 };
79
80 struct ogl_cs_triangle
81 {
82 i32s index[3];
83 };
84
85 struct ogl_cs_vertex
86 {
87 fGL crd[3]; fGL normal[3];
88 fGL color[4]; fGL cvalue; i32s id;
89
90 void Render(bool normal_flag)
91 {
92 glColor4fv(color);
93 if (normal_flag) glNormal3fv(normal);
94 glVertex3fv(crd);
95 }
96 };
97
98 /*################################################################################################*/
99
100 struct ogl_cs_param
101 {
102 project * prj;
103 const ogl_obj_loc_data * data; // for color_surface only!!!
104
105 iGLu my_glname; // for color_surface only!!!
106
107 bool transparent;
108 bool automatic_cv2;
109 bool wireframe;
110
111 i32s * np; fGL * dim;
112
113 engine * ref;
114 ValueFunction * vf1;
115 ValueFunction * vf2;
116 ColorFunction * cf;
117
118 fGL svalue;
119 fGL cvalue1;
120 fGL cvalue2;
121 fGL alpha;
122
123 fGL toler;
124 i32s maxc;
125
126 ogl_cs_param * next;
127 };
128
129 class ogl_color_surface
130 {
131 private:
132
133 project * prj;
134 const ogl_obj_loc_data * data;
135
136 iGLu my_glname;
137
138 bool transparent;
139 bool automatic_cv2;
140 bool wireframe;
141
142 i32s np[3]; fGL dim[3];
143
144 engine * ref;
145 ValueFunction * GetSurfaceValue;
146 ValueFunction * GetColorValue;
147 ColorFunction * GetColor;
148
149 fGL svalue;
150 fGL cvalue1;
151 fGL cvalue2;
152 fGL alpha;
153
154 fGL tolerance;
155 i32s max_cycles;
156
157 /*################*/
158 /*################*/
159
160 fGL * dist[3];
161 vector<bool> grid;
162
163 i32s range[3][2];
164 vector<ogl_cs_vertex> vdata;
165 vector<ogl_cs_triangle> tdata;
166 vector<ogl_cs_line> ldata;
167
168 oglv3d<GLfloat> xdir;
169
170 f64 avrg; i32u acnt;
171
172 public:
173
174 ogl_color_surface(ogl_cs_param &);
175 ~ogl_color_surface(void);
176
177 void Update(void);
178 void Render(void);
179
180 protected:
181
182 void SetDimension(fGL *);
183 void GetCRD(i32s *, fGL *);
184
185 void Interpolate(i32s, i32s *, i32s *);
186 };
187
188 /*################################################################################################*/
189
190 class ogl_color_surface_object :
191 public ogl_smart_object
192 {
193 private:
194
195 project * prj; fGL dim[3];
196 vector<ogl_color_surface *> cs_vector;
197
198 bool transform_in_progress;
199
200 engine * copy_of_ref;
201 char * object_name;
202
203 public:
204
205 ogl_color_surface_object(const ogl_object_location &, ogl_cs_param &, const char *);
206 ~ogl_color_surface_object(void);
207
208 engine * GetRef(void) { return copy_of_ref; }
209 const char * GetObjectName(void) { return object_name; } // virtual
210
211 void CameraEvent(const ogl_camera &) { } // virtual
212
213 bool BeginTransformation(void); // virtual
214 bool EndTransformation(void); // virtual
215
216 void OrbitObject(const fGL *, const ogl_camera &); // virtual
217 void RotateObject(const fGL *, const ogl_camera &); // virtual
218
219 void TranslateObject(const fGL *, const ogl_obj_loc_data *); // virtual
220
221 void Render(void); // virtual
222 void Update(void);
223 };
224
225 /*################################################################################################*/
226
227 #endif // OGL_SURFACE_H
228
229 // eof
0 // OGLVIEW_WCL.CPP
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "oglview_wcl.h"
21
22 #include <oglappth/oglv3d.h>
23 #include <oglappth/base_app.h>
24
25 #include "appdefine.h"
26 #include "custom_app.h"
27
28 /*################################################################################################*/
29
30 #define SB_SIZE 1024 // the selection buffer size.
31
32 bool oglview_wcl::quick_update = false;
33 bool oglview_wcl::draw_info = true;
34
35 oglview_wcl::oglview_wcl(custom_camera * cc) :
36 pangofont_wcl(cc)
37 {
38 ccam = cc;
39 my_wnd_number = (ccam->wcl_counter++) + 1;
40
41 render = RENDER_BALL_AND_STICK;
42
43 label = LABEL_NOTHING;
44
45 colormode = ccam->prj->GetDefaultColorMode();
46
47 enable_fog = false;
48 accumulate = false;
49
50 select_buffer = new iGLu[SB_SIZE];
51 }
52
53 oglview_wcl::~oglview_wcl(void)
54 {
55 delete[] select_buffer;
56 }
57
58 custom_camera * oglview_wcl::GetCCam(void)
59 {
60 return ccam; // this is the same as casting base_wcl::GetCam().
61 }
62
63 void oglview_wcl::GetCRD(i32s * p1, fGL * p2)
64 {
65 base_wnd * w = GetWnd();
66
67 if (w == NULL) // just return zeros if not linked to any window...
68 {
69 p2[0] = p2[1] = p2[2] = 0.0;
70 return;
71 }
72
73 oglv3d<GLfloat> xdir = (ccam->GetSafeLD()->ydir).vpr(ccam->GetSafeLD()->zdir); xdir = xdir / xdir.len();
74 oglv3d<GLfloat> tmpv = oglv3d<GLfloat>(ccam->GetSafeLD()->crd); tmpv = tmpv + (ccam->GetSafeLD()->zdir * ccam->focus);
75 tmpv = tmpv + xdir * (2.0 * vdim[0] * (fGL) (w->GetWidth() / 2 - p1[0]) / (fGL) w->GetWidth());
76 tmpv = tmpv + ccam->GetSafeLD()->ydir * (2.0 * vdim[1] * (fGL) (w->GetHeight() / 2 - p1[1]) / (fGL) w->GetHeight());
77 for (i32s n1 = 0;n1 < 3;n1++) p2[n1] = tmpv[n1];
78 }
79
80 static ogl_transformer tool_transformer;
81 static const ogl_obj_loc_data * tdata = NULL;
82 static const ogl_camera * rdata = NULL;
83
84 void oglview_wcl::ButtonEvent(int x, int y)
85 {
86 if (GetWnd()->IsTimerON())
87 {
88 bool allow_anim = false;
89 if (custom_app::GetCurrentMouseTool() == custom_app::mtZoom) allow_anim = true;
90 if (custom_app::GetCurrentMouseTool() == custom_app::mtClipping) allow_anim = true;
91
92 if (!allow_anim) GetWnd()->SetTimerOFF();
93 }
94
95 custom_transformer_client * ctc = custom_app::GetAppC()->GetPrj();
96
97 static i32s stored_render;
98 static bool stored_accumulate;
99
100 ///////////////////////////////////////////////////////////////////////////
101
102 if (custom_app::GetCurrentMouseTool() == custom_app::mtDraw)
103 {
104 mouseinfo::latest_x = x;
105 mouseinfo::latest_y = y;
106
107 MyUpdateWnd(pDraw, x, y);
108 }
109
110 ///////////////////////////////////////////////////////////////////////////
111
112 if (custom_app::GetCurrentMouseTool() == custom_app::mtErase)
113 {
114 mouseinfo::latest_x = x;
115 mouseinfo::latest_y = y;
116
117 MyUpdateWnd(pErase, x, y);
118 }
119
120 ///////////////////////////////////////////////////////////////////////////
121
122 if (custom_app::GetCurrentMouseTool() == custom_app::mtSelect)
123 {
124 if (mouseinfo::state != mouseinfo::sDown) return;
125
126 MyUpdateWnd(pSelect, x, y);
127 }
128
129 ///////////////////////////////////////////////////////////////////////////
130
131 if (custom_app::GetCurrentMouseTool() == custom_app::mtZoom)
132 {
133 if (quick_update)
134 {
135 if (mouseinfo::state == mouseinfo::sDown)
136 {
137 stored_render = render;
138 stored_accumulate = accumulate;
139
140 render = RENDER_WIREFRAME;
141 accumulate = false;
142 }
143 else
144 {
145 render = stored_render;
146 accumulate = stored_accumulate;
147
148 ccam->prj->UpdateGraphicsViews(ccam);
149 }
150 }
151
152 mouseinfo::latest_x = x;
153 mouseinfo::latest_y = y;
154 }
155
156 ///////////////////////////////////////////////////////////////////////////
157
158 if (custom_app::GetCurrentMouseTool() == custom_app::mtClipping)
159 {
160 if (quick_update)
161 {
162 if (mouseinfo::state == mouseinfo::sDown)
163 {
164 stored_render = render;
165 stored_accumulate = accumulate;
166
167 render = RENDER_WIREFRAME;
168 accumulate = false;
169 }
170 else
171 {
172 render = stored_render;
173 accumulate = stored_accumulate;
174
175 ccam->prj->UpdateGraphicsViews(ccam);
176 }
177 }
178
179 mouseinfo::latest_x = x;
180 mouseinfo::latest_y = y;
181 }
182
183 ///////////////////////////////////////////////////////////////////////////
184
185 if (custom_app::GetCurrentMouseTool() == custom_app::mtTranslateXY)
186 {
187 if (mouseinfo::state == mouseinfo::sDown)
188 {
189 if (quick_update) // if quick, change the rendering params...
190 {
191 stored_render = render;
192 stored_accumulate = accumulate;
193
194 render = RENDER_WIREFRAME;
195 accumulate = false;
196 }
197
198 if (!mouseinfo::shift_down)
199 {
200 ctc->tc_object_ref = ccam;
201 ctc->tc_local_object = true;
202 }
203 else
204 {
205 ctc->tc_object_ref = ccam->prj->selected_object;
206
207 i32s index = base_app::GetAppB()->IsLight(ctc->tc_object_ref);
208 ctc->tc_local_object = (index != NOT_DEFINED && dynamic_cast<ogl_light *>(ctc->tc_object_ref)->owner == ccam);
209
210 if (!ctc->tc_object_ref && mouseinfo::shift_down)
211 {
212 tool_transformer.Init(custom_app::GetPrj());
213 ctc->tc_object_ref = (& tool_transformer);
214 }
215
216 if (ctc->tc_object_ref) ctc->tc_object_ref->BeginTransformation();
217 }
218
219 // if CTRL is down, use object's own direction, not that of camera's !!!!!!!!!
220 // if CTRL is down, use object's own direction, not that of camera's !!!!!!!!!
221 // if CTRL is down, use object's own direction, not that of camera's !!!!!!!!!
222
223 if (mouseinfo::ctrl_down) tdata = ctc->tc_object_ref->GetSafeLD();
224 else tdata = ccam->GetSafeLD();
225 }
226 else
227 {
228 if (ctc->tc_object_ref) ctc->tc_object_ref->EndTransformation();
229
230 if (quick_update) // if quick, put back original params and update...
231 {
232 render = stored_render;
233 accumulate = stored_accumulate;
234
235 if (ctc->tc_local_object) ccam->prj->UpdateGraphicsViews(ccam);
236 else ccam->prj->UpdateAllGraphicsViews();
237 }
238 }
239
240 mouseinfo::latest_x = x;
241 mouseinfo::latest_y = y;
242 }
243
244 ///////////////////////////////////////////////////////////////////////////
245
246 if (custom_app::GetCurrentMouseTool() == custom_app::mtTranslateZ)
247 {
248 if (mouseinfo::state == mouseinfo::sDown)
249 {
250 if (quick_update) // if quick, change the rendering params...
251 {
252 stored_render = render;
253 stored_accumulate = accumulate;
254
255 render = RENDER_WIREFRAME;
256 accumulate = false;
257 }
258
259 if (!mouseinfo::shift_down)
260 {
261 ctc->tc_object_ref = ccam;
262 ctc->tc_local_object = true;
263 }
264 else
265 {
266 ctc->tc_object_ref = ccam->prj->selected_object;
267
268 i32s index = base_app::GetAppB()->IsLight(ctc->tc_object_ref);
269 ctc->tc_local_object = (index != NOT_DEFINED && dynamic_cast<ogl_light *>(ctc->tc_object_ref)->owner == ccam);
270
271 if (!ctc->tc_object_ref && mouseinfo::shift_down)
272 {
273 tool_transformer.Init(ccam->prj);
274 ctc->tc_object_ref = (& tool_transformer);
275 }
276
277 if (ctc->tc_object_ref) ctc->tc_object_ref->BeginTransformation();
278 }
279
280 // if CTRL is down, use object's own direction, not that of camera's !!!!!!!!!
281 // if CTRL is down, use object's own direction, not that of camera's !!!!!!!!!
282 // if CTRL is down, use object's own direction, not that of camera's !!!!!!!!!
283
284 if (mouseinfo::ctrl_down) tdata = ctc->tc_object_ref->GetSafeLD();
285 else tdata = ccam->GetSafeLD();
286 }
287 else
288 {
289 if (ctc->tc_object_ref) ctc->tc_object_ref->EndTransformation();
290
291 if (quick_update) // if quick, put back original params and update...
292 {
293 render = stored_render;
294 accumulate = stored_accumulate;
295
296 if (ctc->tc_local_object) ccam->prj->UpdateGraphicsViews(ccam);
297 else ccam->prj->UpdateAllGraphicsViews();
298 }
299 }
300
301 mouseinfo::latest_x = x;
302 mouseinfo::latest_y = y;
303 }
304
305 ///////////////////////////////////////////////////////////////////////////
306
307 if (custom_app::GetCurrentMouseTool() == custom_app::mtOrbitXY)
308 {
309 if (mouseinfo::state == mouseinfo::sDown)
310 {
311 if (quick_update) // if quick, change the rendering params...
312 {
313 stored_render = render;
314 stored_accumulate = accumulate;
315
316 render = RENDER_WIREFRAME;
317 accumulate = false;
318 }
319
320 if (!mouseinfo::shift_down)
321 {
322 ctc->tc_object_ref = ccam;
323 ctc->tc_local_object = true;
324 }
325 else
326 {
327 ctc->tc_object_ref = ccam->prj->selected_object;
328
329 i32s index = base_app::GetAppB()->IsLight(ctc->tc_object_ref);
330 ctc->tc_local_object = (index != NOT_DEFINED && dynamic_cast<ogl_light *>(ctc->tc_object_ref)->owner == ccam);
331
332 if (!ctc->tc_object_ref && mouseinfo::shift_down)
333 {
334 tool_transformer.Init(ccam->prj);
335 ctc->tc_object_ref = (& tool_transformer);
336 }
337
338 if (ctc->tc_object_ref) ctc->tc_object_ref->BeginTransformation();
339 }
340
341 rdata = ccam;
342 }
343 else
344 {
345 if (ctc->tc_object_ref) ctc->tc_object_ref->EndTransformation();
346
347 if (quick_update) // if quick, put back original params and update...
348 {
349 render = stored_render;
350 accumulate = stored_accumulate;
351
352 if (ctc->tc_local_object) ccam->prj->UpdateGraphicsViews(ccam);
353 else ccam->prj->UpdateAllGraphicsViews();
354 }
355
356 // the animation switch is here...
357
358 if (animX * animX + animY * animY > 7.5)
359 {
360 animX *= 0.25; animY *= 0.25;
361 GetWnd()->SetTimerON(10);
362 }
363 }
364
365 mouseinfo::latest_x = x;
366 mouseinfo::latest_y = y;
367 }
368
369 ///////////////////////////////////////////////////////////////////////////
370
371 if (custom_app::GetCurrentMouseTool() == custom_app::mtOrbitZ)
372 {
373 if (mouseinfo::state == mouseinfo::sDown)
374 {
375 if (quick_update) // if quick, change the rendering params...
376 {
377 stored_render = render;
378 stored_accumulate = accumulate;
379
380 render = RENDER_WIREFRAME;
381 accumulate = false;
382 }
383
384 if (!mouseinfo::shift_down)
385 {
386 ctc->tc_object_ref = ccam;
387 ctc->tc_local_object = true;
388 }
389 else
390 {
391 ctc->tc_object_ref = ccam->prj->selected_object;
392
393 i32s index = base_app::GetAppB()->IsLight(ctc->tc_object_ref);
394 ctc->tc_local_object = (index != NOT_DEFINED && dynamic_cast<ogl_light *>(ctc->tc_object_ref)->owner == ccam);
395
396 if (!ctc->tc_object_ref && mouseinfo::shift_down)
397 {
398 tool_transformer.Init(ccam->prj);
399 ctc->tc_object_ref = (& tool_transformer);
400 }
401
402 if (ctc->tc_object_ref) ctc->tc_object_ref->BeginTransformation();
403 }
404
405 rdata = ccam;
406 }
407 else
408 {
409 if (ctc->tc_object_ref) ctc->tc_object_ref->EndTransformation();
410
411 if (quick_update) // if quick, put back original params and update...
412 {
413 render = stored_render;
414 accumulate = stored_accumulate;
415
416 if (ctc->tc_local_object) ccam->prj->UpdateGraphicsViews(ccam);
417 else ccam->prj->UpdateAllGraphicsViews();
418 }
419 }
420
421 mouseinfo::latest_x = x;
422 mouseinfo::latest_y = y;
423 }
424
425 ///////////////////////////////////////////////////////////////////////////
426
427 if (custom_app::GetCurrentMouseTool() == custom_app::mtRotateXY)
428 {
429 if (mouseinfo::state == mouseinfo::sDown)
430 {
431 if (quick_update) // if quick, change the rendering params...
432 {
433 stored_render = render;
434 stored_accumulate = accumulate;
435
436 render = RENDER_WIREFRAME;
437 accumulate = false;
438 }
439
440 if (!mouseinfo::shift_down)
441 {
442 ctc->tc_object_ref = ccam;
443 ctc->tc_local_object = true;
444 }
445 else
446 {
447 ctc->tc_object_ref = ccam->prj->selected_object;
448
449 i32s index = base_app::GetAppB()->IsLight(ctc->tc_object_ref);
450 ctc->tc_local_object = (index != NOT_DEFINED && dynamic_cast<ogl_light *>(ctc->tc_object_ref)->owner == ccam);
451
452 if (!ctc->tc_object_ref && mouseinfo::shift_down)
453 {
454 tool_transformer.Init(ccam->prj);
455 ctc->tc_object_ref = (& tool_transformer);
456 }
457
458 if (ctc->tc_object_ref) ctc->tc_object_ref->BeginTransformation();
459 }
460
461 rdata = ccam;
462 }
463 else
464 {
465 if (ctc->tc_object_ref) ctc->tc_object_ref->EndTransformation();
466
467 if (quick_update) // if quick, put back original params and update...
468 {
469 render = stored_render;
470 accumulate = stored_accumulate;
471
472 if (ctc->tc_local_object) ccam->prj->UpdateGraphicsViews(ccam);
473 else ccam->prj->UpdateAllGraphicsViews();
474 }
475 }
476
477 mouseinfo::latest_x = x;
478 mouseinfo::latest_y = y;
479 }
480
481 ///////////////////////////////////////////////////////////////////////////
482
483 if (custom_app::GetCurrentMouseTool() == custom_app::mtRotateZ)
484 {
485 if (mouseinfo::state == mouseinfo::sDown)
486 {
487 if (quick_update) // if quick, change the rendering params...
488 {
489 stored_render = render;
490 stored_accumulate = accumulate;
491
492 render = RENDER_WIREFRAME;
493 accumulate = false;
494 }
495
496 if (!mouseinfo::shift_down)
497 {
498 ctc->tc_object_ref = ccam;
499 ctc->tc_local_object = true;
500 }
501 else
502 {
503 ctc->tc_object_ref = ccam->prj->selected_object;
504
505 i32s index = base_app::GetAppB()->IsLight(ctc->tc_object_ref);
506 ctc->tc_local_object = (index != NOT_DEFINED && dynamic_cast<ogl_light *>(ctc->tc_object_ref)->owner == ccam);
507
508 if (!ctc->tc_object_ref && mouseinfo::shift_down)
509 {
510 tool_transformer.Init(ccam->prj);
511 ctc->tc_object_ref = (& tool_transformer);
512 }
513
514 if (ctc->tc_object_ref) ctc->tc_object_ref->BeginTransformation();
515 }
516
517 rdata = ccam;
518 }
519 else
520 {
521 if (ctc->tc_object_ref) ctc->tc_object_ref->EndTransformation();
522
523 if (quick_update) // if quick, put back original params and update...
524 {
525 render = stored_render;
526 accumulate = stored_accumulate;
527
528 if (ctc->tc_local_object) ccam->prj->UpdateGraphicsViews(ccam);
529 else ccam->prj->UpdateAllGraphicsViews();
530 }
531 }
532
533 mouseinfo::latest_x = x;
534 mouseinfo::latest_y = y;
535 }
536
537 ///////////////////////////////////////////////////////////////////////////
538
539 if (custom_app::GetCurrentMouseTool() == custom_app::mtMeasure)
540 {
541 if (mouseinfo::state != mouseinfo::sDown) return;
542
543 MyUpdateWnd(pMeasure, x, y);
544 }
545 }
546
547 void oglview_wcl::MotionEvent(int x, int y)
548 {
549 custom_transformer_client * ctc = custom_app::GetAppC()->GetPrj();
550
551 ///////////////////////////////////////////////////////////////////////////
552
553 if (custom_app::GetCurrentMouseTool() == custom_app::mtDraw)
554 {
555 }
556
557 ///////////////////////////////////////////////////////////////////////////
558
559 if (custom_app::GetCurrentMouseTool() == custom_app::mtErase)
560 {
561 }
562
563 ///////////////////////////////////////////////////////////////////////////
564
565 if (custom_app::GetCurrentMouseTool() == custom_app::mtSelect)
566 {
567 }
568
569 ///////////////////////////////////////////////////////////////////////////
570
571 if (custom_app::GetCurrentMouseTool() == custom_app::mtZoom)
572 {
573 fGL dist[3] = { 0.0, 0.0, 0.0 };
574 dist[2] = mouseinfo::dist_sensitivity * vdim[1] * (fGL) (mouseinfo::latest_y - y) / (fGL) GetWnd()->GetHeight();
575 //cout << "AA : " << ccam->GetSafeLD()->crd[0] << " " << ccam->GetSafeLD()->crd[1] << " " << ccam->GetSafeLD()->crd[2] << endl;
576 ccam->TranslateObject(dist, ccam->GetSafeLD());
577 //cout << "BB : " << ccam->GetSafeLD()->crd[0] << " " << ccam->GetSafeLD()->crd[1] << " " << ccam->GetSafeLD()->crd[2] << endl;
578 ccam->focus += dist[2];
579
580 if (quick_update) ccam->prj->UpdateGraphicsView(this);
581 else ccam->prj->UpdateGraphicsViews(ccam);
582
583 mouseinfo::latest_x = x;
584 mouseinfo::latest_y = y;
585 }
586
587 ///////////////////////////////////////////////////////////////////////////
588
589 if (custom_app::GetCurrentMouseTool() == custom_app::mtClipping)
590 {
591 ccam->clipping += (fGL) (mouseinfo::latest_y - y) / (fGL) GetWnd()->GetHeight();
592 if (ccam->clipping < 0.01) ccam->clipping = 0.01;
593 if (ccam->clipping > 0.99) ccam->clipping = 0.99;
594
595 cout << "clipping = " << ccam->clipping << " = ";
596 cout << (ccam->clipping * (2.0 * ccam->focus)) << " nm." << endl;
597
598 if (quick_update) ccam->prj->UpdateGraphicsView(this);
599 else ccam->prj->UpdateGraphicsViews(ccam);
600
601 mouseinfo::latest_x = x;
602 mouseinfo::latest_y = y;
603 }
604
605 ///////////////////////////////////////////////////////////////////////////
606
607 if (custom_app::GetCurrentMouseTool() == custom_app::mtTranslateXY)
608 {
609 fGL dist[3] = { 0.0, 0.0, 0.0 };
610 if (ctc->tc_object_ref != NULL && tdata != NULL)
611 {
612 dist[0] = mouseinfo::dist_sensitivity * vdim[0] * (fGL) (mouseinfo::latest_x - x) / (fGL) GetWnd()->GetWidth();
613 dist[1] = mouseinfo::dist_sensitivity * vdim[1] * (fGL) (mouseinfo::latest_y - y) / (fGL) GetWnd()->GetHeight();
614 ctc->tc_object_ref->TranslateObject(dist, tdata);
615
616 if (quick_update) ccam->prj->UpdateGraphicsView(this);
617 else
618 {
619 if (ctc->tc_local_object) ccam->prj->UpdateGraphicsViews(ccam);
620 else ccam->prj->UpdateAllGraphicsViews();
621 }
622 }
623
624 mouseinfo::latest_x = x;
625 mouseinfo::latest_y = y;
626 }
627
628 ///////////////////////////////////////////////////////////////////////////
629
630 if (custom_app::GetCurrentMouseTool() == custom_app::mtTranslateZ)
631 {
632 fGL dist[3] = { 0.0, 0.0, 0.0 };
633 if (ctc->tc_object_ref != NULL && tdata != NULL)
634 {
635 dist[2] = mouseinfo::dist_sensitivity * vdim[1] * (fGL) (mouseinfo::latest_y - y) / (fGL) GetWnd()->GetHeight();
636 ctc->tc_object_ref->TranslateObject(dist, tdata);
637
638 if (quick_update) ccam->prj->UpdateGraphicsView(this);
639 else
640 {
641 if (ctc->tc_local_object) ccam->prj->UpdateGraphicsViews(ccam);
642 else ccam->prj->UpdateAllGraphicsViews();
643 }
644 }
645
646 mouseinfo::latest_x = x;
647 mouseinfo::latest_y = y;
648 }
649
650 ///////////////////////////////////////////////////////////////////////////
651
652 if (custom_app::GetCurrentMouseTool() == custom_app::mtOrbitXY)
653 {
654 fGL ang[3] = { 0.0, 0.0, 0.0 };
655 if (ctc->tc_object_ref != NULL)
656 {
657 ang[0] = mouseinfo::ang_sensitivity * (fGL) (mouseinfo::latest_y - y) / (fGL) GetWnd()->GetHeight();
658 ang[1] = mouseinfo::ang_sensitivity * (fGL) (x - mouseinfo::latest_x) / (fGL) GetWnd()->GetWidth();
659 ctc->tc_object_ref->OrbitObject(ang, * rdata);
660
661 animX = ang[0]; animY = ang[1];
662
663 if (quick_update) ccam->prj->UpdateGraphicsView(this);
664 else
665 {
666 if (ctc->tc_local_object) ccam->prj->UpdateGraphicsViews(ccam);
667 else ccam->prj->UpdateAllGraphicsViews();
668 }
669 }
670
671 mouseinfo::latest_x = x;
672 mouseinfo::latest_y = y;
673 }
674
675 ///////////////////////////////////////////////////////////////////////////
676
677 if (custom_app::GetCurrentMouseTool() == custom_app::mtOrbitZ)
678 {
679 fGL ang[3] = { 0.0, 0.0, 0.0 };
680 if (ctc->tc_object_ref != NULL)
681 {
682 ang[2] = mouseinfo::ang_sensitivity * (fGL) (x - mouseinfo::latest_x) / (fGL) GetWnd()->GetWidth();
683 ctc->tc_object_ref->OrbitObject(ang, * rdata);
684
685 if (quick_update) ccam->prj->UpdateGraphicsView(this);
686 else
687 {
688 if (ctc->tc_local_object) ccam->prj->UpdateGraphicsViews(ccam);
689 else ccam->prj->UpdateAllGraphicsViews();
690 }
691 }
692
693 mouseinfo::latest_x = x;
694 mouseinfo::latest_y = y;
695 }
696
697 ///////////////////////////////////////////////////////////////////////////
698
699 if (custom_app::GetCurrentMouseTool() == custom_app::mtRotateXY)
700 {
701 fGL ang[3] = { 0.0, 0.0, 0.0 };
702 if (ctc->tc_object_ref != NULL)
703 {
704 ang[0] = mouseinfo::ang_sensitivity * (fGL) (mouseinfo::latest_y - y) / (fGL) GetWnd()->GetHeight();
705 ang[1] = mouseinfo::ang_sensitivity * (fGL) (x - mouseinfo::latest_x) / (fGL) GetWnd()->GetWidth();
706 ctc->tc_object_ref->RotateObject(ang, * rdata);
707
708 if (quick_update) ccam->prj->UpdateGraphicsView(this);
709 else
710 {
711 if (ctc->tc_local_object) ccam->prj->UpdateGraphicsViews(ccam);
712 else ccam->prj->UpdateAllGraphicsViews();
713 }
714 }
715
716 mouseinfo::latest_x = x;
717 mouseinfo::latest_y = y;
718 }
719
720 ///////////////////////////////////////////////////////////////////////////
721
722 if (custom_app::GetCurrentMouseTool() == custom_app::mtRotateZ)
723 {
724 fGL ang[3] = { 0.0, 0.0, 0.0 };
725 if (ctc->tc_object_ref != NULL)
726 {
727 ang[2] = mouseinfo::ang_sensitivity * (fGL) (x - mouseinfo::latest_x) / (fGL) GetWnd()->GetWidth();
728 ctc->tc_object_ref->RotateObject(ang, * rdata);
729
730 if (quick_update) ccam->prj->UpdateGraphicsView(this);
731 else
732 {
733 if (ctc->tc_local_object) ccam->prj->UpdateGraphicsViews(ccam);
734 else ccam->prj->UpdateAllGraphicsViews();
735 }
736 }
737
738 mouseinfo::latest_x = x;
739 mouseinfo::latest_y = y;
740 }
741
742 ///////////////////////////////////////////////////////////////////////////
743
744 if (custom_app::GetCurrentMouseTool() == custom_app::mtMeasure)
745 {
746 }
747 }
748
749 void oglview_wcl::UpdateWnd(void)
750 {
751 base_wnd * w = GetWnd();
752 if (w != NULL && ccam != NULL)
753 {
754 w->SetCurrent();
755 MyUpdateWnd();
756 }
757 else cout << "DEBUG : oglview_wcl::UpdateWnd() : skipped!" << endl;
758 }
759
760 void oglview_wcl::MyUpdateWnd(pmode pm, int x, int y)
761 {
762 if (GetWnd() == NULL) return; // skip rendering if an invalid wnd!!!
763 if (GetWnd()->GetWidth() < 0) return; // skip rendering if an invalid wnd!!!
764
765 // A SIMPLE FRAMES-PER-SECOND COUNTER FOR GRAPHICS OPTIMIZATION
766 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
767 /* const int numframes = 30;
768 static int framecounter = 0;
769 static double timecounter = 0.0;
770 static long prevtime = 0;
771 timeval tv; gettimeofday(& tv, NULL);
772 long currtime = tv.tv_usec; // according to manpages, this should be in microseconds???
773 long difftime = currtime - prevtime; // the CLOCKS_PER_SEC factor works a lot better than 1.0e-06
774 prevtime = currtime;
775 if (difftime > 0) // skip the frame in timer overflow situation!!!
776 {
777 double t_secs = (double) difftime / (double) CLOCKS_PER_SEC; // time unit???
778 framecounter++; timecounter += t_secs;
779 if (framecounter >= numframes)
780 {
781 cout << "frame rate = " << ((double) framecounter / timecounter) << " FPS (";
782 cout << framecounter << " frames in " << timecounter << " seconds)." << endl;
783 framecounter = 0; timecounter = 0.0;
784 }
785 } */
786 // A SIMPLE FRAMES-PER-SECOND COUNTER FOR GRAPHICS OPTIMIZATION
787 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
788
789 bool pick = (pm != DoNotPick);
790 cam->RenderScene(GetWnd(), accumulate, pick, x, y);
791
792 // if this was a selection operation, read the information from the selection buffer.
793
794 if (pick)
795 {
796 i32s tmp1 = glRenderMode(GL_RENDER); // number of records in s-buffer.
797 i32s tmp2 = NOT_DEFINED; // index to the beginning of the selected record.
798
799 iGLu tmp3 = 0xffffffff; // original, lowest z-value...
800 // iGLu tmp3 = 0x00000000; // alternative, highest z-value...
801
802 /////////////////////////////////////////////////////////////////////////
803 // here we examine the selection buffer and select the hit with lowest
804 // z-value (since we assume that this object was visible to the user).
805 /////////////////////////////////////////////////////////////////////////
806
807 i32s tmp4[2] = { 0, 0 };
808 while (tmp4[0] < tmp1)
809 {
810 if (select_buffer[tmp4[1] + 1] < tmp3) // original, lowest z-value...
811 // if (select_buffer[tmp4[1] + 2] > tmp3) // alternative, highest z-value...
812 {
813 tmp2 = tmp4[1];
814 tmp3 = select_buffer[tmp4[1] + 1]; // original, lowest z-value...
815 // tmp3 = select_buffer[tmp4[1] + 2]; // alternative, highest z-value...
816 }
817
818 tmp4[0]++;
819 tmp4[1] += select_buffer[tmp4[1]] + 3;
820 }
821
822 // now we copy all name records of the selected hit...
823
824 vector<iGLu> name_vector;
825 if (tmp2 != NOT_DEFINED)
826 {
827 for (i32u i1 = 0;i1 < select_buffer[tmp2];i1++)
828 {
829 name_vector.push_back(select_buffer[tmp2 + i1 + 3]);
830 }
831 }
832
833 // "draw"- and "erase"-events are always forwarded to prj.
834
835 if (pm == pDraw) ccam->prj->DrawEvent(this, name_vector);
836 if (pm == pErase) ccam->prj->EraseEvent(this, name_vector);
837
838 // "select"- and "measure"-events are forwarded only if
839 // MODEL_DEPENDENT flag is set (an atom selection event).
840
841 if (pm == pSelect && name_vector.size() > 1)
842 {
843 bool test = (name_vector[0] & GLNAME_MODEL_DEPENDENT);
844 if (test)
845 {
846 ccam->prj->selected_object = NULL;
847 ccam->prj->SelectEvent(this, name_vector);
848 }
849 else
850 {
851 // we are doing a light/object selection...
852 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
853
854 base_app * app = base_app::GetAppB();
855 custom_app * myapp = custom_app::GetAppC();
856
857 const ogl_dummy_object * ref = NULL;
858 switch (name_vector[0])
859 {
860 case GLNAME_LIGHT:
861 ref = (const ogl_dummy_object *) app->FindPtrByGLName(name_vector[1]);
862 myapp->SelectLight(ref);
863 break;
864
865 case GLNAME_OBJECT:
866 ref = (const ogl_dummy_object *) app->FindPtrByGLName(name_vector[1]);
867 myapp->GetPrj()->SelectObject(ref);
868 break;
869 }
870 }
871 }
872
873 if (pm == pMeasure && name_vector.size() > 1)
874 {
875 bool test = (name_vector[0] & GLNAME_MODEL_DEPENDENT);
876 if (test)
877 {
878 // todo : make measurement different from
879 // selection (do not use a selection flag but
880 // make a separate way to show it) -> no need
881 // to mess with selected_object here anymore...
882
883 ccam->prj->selected_object = NULL; // FixMe!!!
884
885 ccam->prj->MeasureEvent(this, name_vector);
886 }
887 }
888 }
889 }
890
891 void oglview_wcl::InitGL(void)
892 {
893 const fGL background[4] = { 0.0, 0.0, 0.0, 1.0};
894 glClearColor(background[0], background[1], background[2], background[3]);
895
896 glDepthFunc(GL_LESS); glEnable(GL_DEPTH_TEST);
897 glMateriali(GL_FRONT_AND_BACK, GL_SHININESS, 64);
898
899 const fGL specular_reflectance[4] = { 0.9, 0.9, 0.9, 1.0 };
900 glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular_reflectance);
901
902 glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE);
903 glEnable(GL_COLOR_MATERIAL);
904
905 const fGL ambient_intensity[4] = { 0.2, 0.2, 0.2, 1.0 };
906 glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambient_intensity);
907
908 glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, true);
909
910 glFogi(GL_FOG_MODE, GL_EXP);
911 glFogf(GL_FOG_DENSITY, 0.15);
912
913 const fGL fog_color[4] = { 0.0, 0.0, 0.0, 0.0 };
914 glFogfv(GL_FOG_COLOR, fog_color);
915
916 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
917
918 glSelectBuffer(SB_SIZE, select_buffer);
919
920 // also setup the lights, just to make sure it always happens...
921 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
922
923 base_app::GetAppB()->SetupLights(ccam);
924
925 // all classes that inherit pangofont_wcl must call ogl_InitPangoFont()!!!
926 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
927
928 ogl_InitPangoFont("courier 12");
929 }
930
931 void oglview_wcl::RenderGL(rmode rm)
932 {
933 custom_app::GetAppC()->GetPrj()->Render(this, rm);
934 }
935
936 /*################################################################################################*/
937
938 // eof
0 // OGLVIEW_WCL.H : write a short description here...
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ghemicalconfig2.h"
21
22 #ifndef OGLVIEW_WCL_H
23 #define OGLVIEW_WCL_H
24
25 class oglview_wcl;
26
27 #include <ghemical/typedef.h>
28
29 #include "pangofont_wcl.h"
30 #include "custom_camera.h"
31 #include "project.h"
32
33 /*################################################################################################*/
34
35 class oglview_wcl :
36 public pangofont_wcl
37 {
38 protected:
39
40 custom_camera * ccam;
41 i32s my_wnd_number;
42
43 i32s render; i32s label;
44 color_mode * colormode;
45
46 iGLu * select_buffer;
47
48 bool enable_fog;
49 bool accumulate;
50
51 static bool quick_update; // some static flags...
52 static bool draw_info; // some static flags...
53
54 float animX;
55 float animY;
56
57 friend class custom_camera;
58 friend class project;
59
60 friend class gtk_app;
61 friend class gtk_project;
62 friend class gtk_oglview_wnd; // timer + ???
63
64 friend class w32_app;
65 friend class w32_project;
66 friend class w32_oglview_wnd; // ???
67 friend class w32_wnd; // timer
68
69 public:
70
71 enum pmode { DoNotPick = 0, pDraw = 1, pErase = 2, pSelect = 3, pMeasure = 4 };
72
73 oglview_wcl(custom_camera *);
74 virtual ~oglview_wcl(void);
75
76 custom_camera * GetCCam(void);
77
78 void GetCRD(i32s *, fGL *);
79
80 void ButtonEvent(int, int); // virtual
81 void MotionEvent(int, int); // virtual
82
83 void UpdateWnd(void); // virtual
84
85 // here we sometimes need to pass extra parameters to UpdateWnd().
86 // but UpdateWnd() is defined at liboglappth and so it should be as
87 // universal as possible -> make a separate method with extra params.
88
89 void MyUpdateWnd(pmode = DoNotPick, int = 0, int = 0);
90
91 void InitGL(void); // virtual
92 void RenderGL(rmode); // virtual
93 };
94
95 /*################################################################################################*/
96
97 #endif // OGLVIEW_WCL_H
98
99 // eof
0 // P1DVIEW_WCL.CPP
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "p1dview_wcl.h"
21
22 //#include "project.h"
23 #include "custom_app.h"
24
25 #include <cstring>
26 #include <sstream>
27 using namespace std;
28
29 /*################################################################################################*/
30
31 p1dview_wcl::p1dview_wcl(const char * s1, const char * sv) :
32 ac_stor_wcl(new ogl_camera(ogl_ol_static(), 1.0))
33 {
34 cam->ortho = true;
35
36 cam->update_vdim = false;
37 vdim[0] = (1.0 / 0.90) * 0.5; // X-scaling ; leave 5% margins...
38 vdim[1] = (1.0 / 0.90) * 0.5; // Y-scaling ; leave 5% margins...
39
40 cam->GetLD()->crd[0] = 0.50; // X-centering
41 cam->GetLD()->crd[1] = 0.50; // Y-centering
42
43 //const ogl_obj_loc_data * d = cam->GetSafeLD();
44 //cout << "cam crd = " << d->crd[0] << " " << d->crd[1] << " " << d->crd[2] << endl;
45 //cout << "cam zdir = { " << d->zdir << " }" << endl << "cam ydir = { " << d->ydir << " }" << endl;
46
47 if (!s1 || !strlen(s1)) assertion_failed(__FILE__, __LINE__, "invalid s1.");
48 else { name1 = new char[strlen(s1) + 1]; strcpy(name1, s1); }
49
50 if (!sv || !strlen(sv)) assertion_failed(__FILE__, __LINE__, "invalid sv.");
51 else { namev = new char[strlen(sv) + 1]; strcpy(namev, sv); }
52 }
53
54 p1dview_wcl::~p1dview_wcl(void)
55 {
56 delete[] name1;
57 delete[] namev;
58
59 // problem : lifetime of the camera object needs to be longer than
60 // lifetime of this object since it is needed at the base class dtor.
61 // solution : ask the base class to do the cleanup work for us...
62
63 delete_cam_plz = true;
64 }
65
66 void p1dview_wcl::AddData(double c1, double v)
67 {
68 p1d_data newdata;
69 newdata.ac_i = StoreAC(NULL);
70
71 newdata.c1 = c1;
72 newdata.v = v;
73
74 dv.push_back(newdata);
75 }
76
77 void p1dview_wcl::AddDataWithAC(double c1, double v, engine * eng)
78 {
79 p1d_data newdata;
80 newdata.ac_i = StoreAC(eng);
81
82 newdata.c1 = c1;
83 newdata.v = v;
84
85 dv.push_back(newdata);
86 }
87
88 void p1dview_wcl::AddDataWithAC(double c1, double v, model * mdl, int cset)
89 {
90 p1d_data newdata;
91 newdata.ac_i = StoreAC(mdl, cset);
92
93 newdata.c1 = c1;
94 newdata.v = v;
95
96 dv.push_back(newdata);
97 }
98
99 void p1dview_wcl::Finalize(void)
100 {
101 if (dv.empty()) return;
102
103 min1 = max1 = dv[0].c1;
104 minv = maxv = dv[0].v;
105
106 for (i32u n1 = 1;n1 < dv.size();n1++)
107 {
108 if (dv[n1].c1 < min1) min1 = dv[n1].c1;
109 if (dv[n1].c1 > max1) max1 = dv[n1].c1;
110
111 if (dv[n1].v < minv) minv = dv[n1].v;
112 if (dv[n1].v > maxv) maxv = dv[n1].v;
113 }
114 }
115
116 void p1dview_wcl::ButtonEvent(int x, int y)
117 {
118 base_wnd * wnd = GetWnd();
119 project * prj = custom_app::GetAppC()->GetPrj();
120
121 if (!(wnd->GetWidth() > 1)) return;
122 fGL sx = 1.10 * (fGL) x / (fGL) wnd->GetWidth() - 0.05;
123 if (sx < 0.0) return; if (sx > 1.0) return;
124
125 fGL sel1 = sx * (max1 - min1);
126
127 int index = NOT_DEFINED;
128 fGL mindiff = max1 - min1;
129 for (i32u n1 = 0;n1 < dv.size();n1++)
130 {
131 fGL diff = fabs(sel1 - dv[n1].c1);
132 if (diff < mindiff)
133 {
134 index = n1;
135 mindiff = diff;
136 }
137 }
138
139 if (index < 0 || index >= (int) dv.size()) return;
140
141 // ok, we have a valid selection ; show the data!!!
142 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
143
144 ostringstream str1;
145 str1 << name1 << " = " << dv[index].c1 << " " << namev << " = " << dv[index].v << endl << ends;
146 prj->PrintToLog(str1.str().c_str());
147
148 if (dv[index].ac_i != NOT_DEFINED) ShowAC(dv[index].ac_i);
149 }
150
151 void p1dview_wcl::MotionEvent(int x, int y)
152 {
153 ButtonEvent(x, y);
154 }
155
156 void p1dview_wcl::UpdateWnd(void)
157 {
158 base_wnd * wnd = GetWnd();
159 if (!wnd || wnd->GetWidth() < 0 || !cam) return;
160
161 wnd->SetCurrent();
162 cam->RenderScene(wnd, false, false);
163 }
164
165 void p1dview_wcl::InitGL(void)
166 {
167 // all classes that inherit pangofont_wcl must call ogl_InitPangoFont()!!!
168 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
169
170 ogl_InitPangoFont("courier 12");
171 }
172
173 void p1dview_wcl::RenderGL(rmode)
174 {
175 if (dv.empty()) return;
176
177 glInitNames();
178
179 // 20061024 ; it seems that the X-coordinate must be inverted...
180 // origo of the coordinate system is at the lower-left corner.
181
182 for (int n1 = 0;n1 < ((int) dv.size()) - 1;n1++)
183 {
184 glColor3f(0.0, 1.0, 0.0); // green
185
186 fGL x; fGL y;
187 glBegin(GL_LINES);
188
189 x = 1.0 - (dv[n1 + 0].c1 - min1) / (max1 - min1); // invX
190 y = (dv[n1 + 0].v - minv) / (maxv - minv);
191 glVertex3f(x, y, 0.1);
192
193 x = 1.0 - (dv[n1 + 1].c1 - min1) / (max1 - min1); // invX
194 y = (dv[n1 + 1].v - minv) / (maxv - minv);
195 glVertex3f(x, y, 0.1);
196
197 glEnd();
198 }
199 }
200
201 /*################################################################################################*/
202
203 // eof
0 // P1DVIEW_WCL.H : write a short description here...
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ghemicalconfig2.h"
21
22 #ifndef P1DVIEW_WCL_H
23 #define P1DVIEW_WCL_H
24
25 #include "ac_stor_wcl.h"
26
27 #include <ghemical/engine.h>
28
29 /*################################################################################################*/
30
31 struct p1d_data
32 {
33 double c1; // coordinate 1 (say, x-coordinate)
34 double v; // value
35
36 int ac_i; // atom coordinate data
37
38 bool operator<(const p1d_data & p1) const
39 {
40 return (c1 < p1.c1);
41 }
42 };
43
44 class p1dview_wcl :
45 public ac_stor_wcl
46 {
47 protected:
48
49 char * name1;
50 char * namev;
51
52 vector<p1d_data> dv;
53
54 f64 min1; f64 max1;
55 f64 minv; f64 maxv;
56
57 public:
58
59 p1dview_wcl(const char *, const char *);
60 virtual ~p1dview_wcl(void);
61
62 void AddData(double, double);
63
64 void AddDataWithAC(double, double, engine *);
65 void AddDataWithAC(double, double, model *, int);
66
67 virtual void Finalize(void);
68
69 virtual void ButtonEvent(int, int); // virtual
70 virtual void MotionEvent(int, int); // virtual
71
72 void UpdateWnd(void); // virtual
73
74 void InitGL(void); // virtual
75 void RenderGL(rmode); // virtual
76 };
77
78 /*################################################################################################*/
79
80 #endif // P1DVIEW_WCL_H
81
82 // eof
0 // P2DVIEW_WCL.CPP
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "p2dview_wcl.h"
21
22 #include "project.h"
23 #include "custom_app.h"
24
25 #include "color.h"
26
27 #include "local_i18n.h"
28
29 #include <cstring>
30 #include <sstream>
31 using namespace std;
32
33 /*################################################################################################*/
34
35 p2dview_wcl::p2dview_wcl(const char * s1, const char * s2, const char * sv) :
36 ac_stor_wcl(new ogl_camera(ogl_ol_static(), 1.0))
37 {
38 cam->ortho = true;
39
40 cam->update_vdim = false;
41 vdim[0] = (1.0 / 0.90) * 0.5; // X-scaling ; leave 5% margins...
42 vdim[1] = (1.0 / 0.90) * 0.5; // Y-scaling ; leave 5% margins...
43
44 cam->GetLD()->crd[0] = 0.50; // X-centering
45 cam->GetLD()->crd[1] = 0.50; // Y-centering
46
47 //const ogl_obj_loc_data * d = cam->GetSafeLD();
48 //cout << "cam crd = " << d->crd[0] << " " << d->crd[1] << " " << d->crd[2] << endl;
49 //cout << "cam zdir = { " << d->zdir << " }" << endl << "cam ydir = { " << d->ydir << " }" << endl;
50
51 if (!s1 || !strlen(s1)) assertion_failed(__FILE__, __LINE__, "invalid s1.");
52 else { name1 = new char[strlen(s1) + 1]; strcpy(name1, s1); }
53
54 if (!s2 || !strlen(s2)) assertion_failed(__FILE__, __LINE__, "invalid s2.");
55 else { name2 = new char[strlen(s2) + 1]; strcpy(name2, s2); }
56
57 if (!sv || !strlen(sv)) assertion_failed(__FILE__, __LINE__, "invalid sv.");
58 else { namev = new char[strlen(sv) + 1]; strcpy(namev, sv); }
59 }
60
61 p2dview_wcl::~p2dview_wcl(void)
62 {
63 delete[] name1;
64 delete[] name2;
65 delete[] namev;
66
67 // problem : lifetime of the camera object needs to be longer than
68 // lifetime of this object since it is needed at the base class dtor.
69 // solution : ask the base class to do the cleanup work for us...
70
71 delete_cam_plz = true;
72 }
73
74 void p2dview_wcl::AddData(double c1, double c2, double v)
75 {
76 p2d_data newdata;
77 newdata.ac_i = StoreAC(NULL);
78
79 newdata.c1 = c1;
80 newdata.c2 = c2;
81 newdata.v = v;
82
83 dv.push_back(newdata);
84 }
85
86 void p2dview_wcl::AddDataWithAC(double c1, double c2, double v, engine * eng)
87 {
88 p2d_data newdata;
89 newdata.ac_i = StoreAC(eng);
90
91 newdata.c1 = c1;
92 newdata.c2 = c2;
93 newdata.v = v;
94
95 dv.push_back(newdata);
96 }
97
98 void p2dview_wcl::Finalize(void)
99 {
100 if (dv.empty()) return;
101
102 min1 = max1 = dv[0].c1;
103 min2 = max2 = dv[0].c2;
104 minv = maxv = dv[0].v;
105
106 for (i32u n1 = 1;n1 < dv.size();n1++)
107 {
108 if (dv[n1].c1 < min1) min1 = dv[n1].c1;
109 if (dv[n1].c1 > max1) max1 = dv[n1].c1;
110
111 if (dv[n1].c2 < min2) min2 = dv[n1].c2;
112 if (dv[n1].c2 > max2) max2 = dv[n1].c2;
113
114 if (dv[n1].v < minv) minv = dv[n1].v;
115
116 // for "maxv" we actually calculate the average value instead of maximum value.
117 // the max value can be very high especially if geomopt is skipped -> unreasonable scaling.
118
119 maxv += dv[n1].v; // average!
120 }
121
122 maxv /= dv.size(); // average!
123 }
124
125 void p2dview_wcl::ButtonEvent(int x, int y)
126 {
127 if (custom_app::GetCurrentMouseTool() == custom_app::mtZoom)
128 {
129 mouseinfo::latest_x = x;
130 mouseinfo::latest_y = y;
131 }
132 else
133 {
134 base_wnd * wnd = GetWnd();
135 project * prj = custom_app::GetAppC()->GetPrj();
136
137 if (!(wnd->GetWidth() > 1)) return;
138 fGL sx = 1.10 * (fGL) x / (fGL) wnd->GetWidth() - 0.05;
139 if (sx < 0.0) return; if (sx > 1.0) return;
140
141 if (!(wnd->GetHeight() > 1)) return;
142 fGL sy = 1.10 * (fGL) y / (fGL) wnd->GetHeight() - 0.05;
143 if (sy < 0.0) return; if (sy > 1.0) return;
144
145 // WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!!
146 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
147 // this is not yet a generic implementation ; it is assumed that the data points
148 // have been added in a certain order; see project::DoEnergyPlot2D() how to add them...
149 const int dssz = (int) sqrt((double) dv.size()); // square datasets only!!!
150
151 int index = (int) (((int) (sx * dssz)) * dssz + sy * dssz);
152 if (index < 0 || index >= (int) dv.size()) return;
153
154 // ok, we have a valid selection ; show the data!!!
155 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
156
157 ostringstream str1;
158 str1 << name1 << " = " << dv[index].c1 << " " << name2 << " = " << dv[index].c2 << " " << namev << " = " << dv[index].v << endl << ends;
159 prj->PrintToLog(str1.str().c_str());
160
161 if (dv[index].ac_i != NOT_DEFINED) ShowAC(dv[index].ac_i);
162 }
163 }
164
165 void p2dview_wcl::MotionEvent(int x, int y)
166 {
167 if (custom_app::GetCurrentMouseTool() == custom_app::mtZoom)
168 {
169 int dy = mouseinfo::latest_y - y;
170
171 mouseinfo::latest_x = x;
172 mouseinfo::latest_y = y;
173
174 base_wnd * wnd = GetWnd();
175 project * prj = custom_app::GetAppC()->GetPrj();
176
177 const fGL scale = maxv - minv;
178 maxv += mouseinfo::dist_sensitivity * scale * (fGL) dy / (fGL) wnd->GetHeight();
179
180 ostringstream str1;
181 str1 << _("now scaling the colours to range ") << (maxv - minv) << _(" kJ/mol") << endl << ends;
182 prj->PrintToLog(str1.str().c_str());
183
184 wnd->RequestUpdate(false);
185 }
186 else
187 {
188 ButtonEvent(x, y);
189 }
190 }
191
192 void p2dview_wcl::UpdateWnd(void)
193 {
194 base_wnd * wnd = GetWnd();
195 if (!wnd || wnd->GetWidth() < 0 || !cam) return;
196
197 wnd->SetCurrent();
198 cam->RenderScene(wnd, false, false);
199 }
200
201 void p2dview_wcl::InitGL(void)
202 {
203 // all classes that inherit pangofont_wcl must call ogl_InitPangoFont()!!!
204 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
205
206 ogl_InitPangoFont("courier 12");
207 }
208
209 void p2dview_wcl::RenderGL(rmode)
210 {
211 if (dv.empty()) return;
212
213 glInitNames();
214
215 // WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!!
216 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
217 // this is not yet a generic implementation ; it is assumed that the data points
218 // have been added in a certain order; see project::DoEnergyPlot2D() how to add them...
219 const int dssz = (int) sqrt((double) dv.size()); // square datasets only!!!
220
221 // 20061024 ; it seems that the X-coordinate must be inverted...
222 // origo of the coordinate system is at the upper-left corner.
223
224 for (int n1 = 0;n1 < dssz - 1;n1++)
225 {
226 for (int n2 = 0;n2 < dssz - 1;n2++)
227 {
228 glBegin(GL_QUADS);
229
230 fGL x1 = 1.0 - (dv[(n1 + 0) * dssz + (n2 + 0)].c1 - min1) / (max1 - min1); // invX
231 fGL y1 = (dv[(n1 + 0) * dssz + (n2 + 0)].c2 - min2) / (max2 - min2);
232 fGL x2 = 1.0 - (dv[(n1 + 1) * dssz + (n2 + 1)].c1 - min1) / (max1 - min1); // invX
233 fGL y2 = (dv[(n1 + 1) * dssz + (n2 + 1)].c2 - min2) / (max2 - min2);
234
235 SetColor(dv[(n1 + 0) * dssz + (n2 + 0)].v); glVertex3f(x1, y1, 0.1);
236 SetColor(dv[(n1 + 1) * dssz + (n2 + 0)].v); glVertex3f(x2, y1, 0.1);
237 SetColor(dv[(n1 + 1) * dssz + (n2 + 1)].v); glVertex3f(x2, y2, 0.1);
238 SetColor(dv[(n1 + 0) * dssz + (n2 + 1)].v); glVertex3f(x1, y2, 0.1);
239
240 glEnd();
241 }
242 }
243 }
244
245 void p2dview_wcl::SetColor(GLfloat v)
246 {
247 GLfloat color[4];
248 GLfloat cv = (v - minv) / (maxv - minv);
249 GetRBRange1(cv * cv, 1.0, color);
250 glColor3fv(color);
251 }
252
253 /*################################################################################################*/
254
255 // eof
0 // P2DVIEW_WCL.H : write a short description here...
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ghemicalconfig2.h"
21
22 #ifndef P2DVIEW_WCL_H
23 #define P2DVIEW_WCL_H
24
25 #include "ac_stor_wcl.h"
26
27 #include <ghemical/engine.h>
28
29 /*################################################################################################*/
30
31 struct p2d_data
32 {
33 double c1; // coordinate 1 (say, x-coordinate)
34 double c2; // coordinate 2 (say, y-coordinate)
35 double v; // value
36
37 int ac_i; // atom coordinate data
38 };
39
40 class p2dview_wcl :
41 public ac_stor_wcl
42 {
43 protected:
44
45 char * name1;
46 char * name2;
47 char * namev;
48
49 vector<p2d_data> dv;
50
51 f64 min1; f64 max1;
52 f64 min2; f64 max2;
53 f64 minv; f64 maxv;
54
55 public:
56
57 p2dview_wcl(const char *, const char *, const char *);
58 virtual ~p2dview_wcl(void);
59
60 void AddData(double, double, double);
61 void AddDataWithAC(double, double, double, engine *);
62 virtual void Finalize(void);
63
64 void ButtonEvent(int, int); // virtual
65 void MotionEvent(int, int); // virtual
66
67 void UpdateWnd(void); // virtual
68
69 void InitGL(void); // virtual
70 void RenderGL(rmode); // virtual
71
72 protected:
73
74 void SetColor(GLfloat);
75 };
76
77 /*################################################################################################*/
78
79 #endif // P2DVIEW_WCL_H
80
81 // eof
0 // PANGOFONT_WCL.CPP
1
2 // Copyright (C) 2008 Tommi Hassinen, Naosumi Yasufuku.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "pangofont_wcl.h"
21
22 #include "local_i18n.h"
23 #include <ghemical/notice.h>
24
25 #include <gtk/gtkgl.h>
26
27 #include <cstring>
28 #include <cstdlib>
29 using namespace std;
30
31 /*################################################################################################*/
32
33 pangofont_wcl::pangofont_wcl(ogl_camera * cam) :
34 base_wcl(cam)
35 {
36 font_string = NULL;
37 font_height = 0;
38
39 font_list_base = 0;
40 }
41
42 pangofont_wcl::~pangofont_wcl(void)
43 {
44 if (font_string != NULL)
45 {
46 g_free(font_string);
47 font_string = NULL;
48 }
49 }
50
51 void pangofont_wcl::ogl_InitPangoFont(const gchar * fs)
52 {
53 if (!fs)
54 {
55 assertion_failed(__FILE__, __LINE__, "bad font string.");
56 }
57
58 if (font_string != NULL)
59 {
60 cout << "WARNING : pangofont_wcl::ogl_InitPangoFont() is already called." << endl;
61 return;
62 }
63
64 font_string = g_strdup(fs);
65
66 // generate font display lists.
67
68 font_list_base = glGenLists(128);
69
70 PangoFontDescription * font_desc = pango_font_description_from_string(font_string);
71 PangoFont * font = gdk_gl_font_use_pango_font(font_desc, 0, 128, font_list_base);
72 if (font == NULL)
73 {
74 g_print(_("*** ERROR : Can't load font '%s'\n"), font_string);
75 exit(EXIT_FAILURE);
76 }
77
78 PangoFontMetrics * font_metrics = pango_font_get_metrics(font, NULL);
79
80 font_height = pango_font_metrics_get_ascent(font_metrics) + pango_font_metrics_get_descent(font_metrics);
81 font_height = PANGO_PIXELS(font_height);
82
83 pango_font_description_free(font_desc);
84 pango_font_metrics_unref(font_metrics);
85 }
86
87 int pangofont_wcl::ogl_GetStringWidth(const char * str)
88 {
89 int width = 0;
90
91 unsigned int count = 0;
92 while (count < strlen(str))
93 {
94 width += font_height / 2; // how to do this correctly???
95 count++;
96 }
97
98 return width;
99 }
100
101 void pangofont_wcl::ogl_WriteString2D(const char * str, GLfloat x, GLfloat y)
102 {
103 glPushMatrix();
104 glLoadIdentity();
105
106 glMatrixMode(GL_PROJECTION);
107 glPushMatrix(); glLoadIdentity();
108 gluOrtho2D(0, GetWnd()->GetWidth(), 0, GetWnd()->GetHeight());
109
110 ogl_WriteString3D(str, x, y, 0.0);
111
112 glPopMatrix();
113 glMatrixMode(GL_MODELVIEW);
114
115 glPopMatrix();
116 }
117
118 void pangofont_wcl::ogl_WriteString3D(const char * str, GLfloat x, GLfloat y, GLfloat z)
119 {
120 glDisable(GL_DEPTH_TEST);
121
122 glRasterPos3f(x, y, z);
123
124 unsigned int count = 0;
125 while (count < strlen(str))
126 {
127 glCallList(font_list_base + str[count++]);
128 }
129
130 glEnable(GL_DEPTH_TEST);
131 }
132
133 /*################################################################################################*/
134
135 // eof
0 // PANGOFONT_WCL.H : a wcl with added OpenGL text rendering capability.
1
2 // Copyright (C) 2008 Tommi Hassinen, Naosumi Yasufuku.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ghemicalconfig2.h"
21
22 #ifndef PANGOFONT_WCL_H
23 #define PANGOFONT_WCL_H
24
25 #include <gtk/gtk.h>
26
27 #include <oglappth/base_wcl.h>
28
29 /*################################################################################################*/
30
31 class pangofont_wcl :
32 public base_wcl
33 {
34 private:
35
36 gchar * font_string;
37 gint font_height;
38
39 GLuint font_list_base;
40
41 public:
42
43 pangofont_wcl(ogl_camera *);
44 virtual ~pangofont_wcl(void);
45
46 // the OpenGL text rendering methods...
47 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
48 // the implementation is taken from gtkglext-1.2/examples/font.c by Naosumi Yasufuku.
49
50 void ogl_InitPangoFont(const gchar *);
51
52 int ogl_GetStringWidth(const char *);
53 void ogl_WriteString2D(const char *, GLfloat, GLfloat);
54 void ogl_WriteString3D(const char *, GLfloat, GLfloat, GLfloat);
55 };
56
57 /*################################################################################################*/
58
59 #endif // PANGOFONT_WCL_H
60
61 // eof
0 // PROJECT.CPP
1
2 // Copyright (C) 1998 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "project.h" // config.h is here -> we get ENABLE-macros here...
21
22 #include <ghemical/libghemicaldefine.h>
23
24 #include <ghemical/v3d.h>
25 #include <ghemical/atom.h>
26 #include <ghemical/bond.h>
27
28 #include <ghemical/seqbuild.h>
29
30 #include <ghemical/engine.h>
31
32 #include <ghemical/eng1_qm.h>
33 #include <ghemical/eng1_mm.h>
34 #include <ghemical/eng1_sf.h>
35
36 #include <ghemical/eng2_qm_mm.h>
37
38 #include <ghemical/geomopt.h>
39 #include <ghemical/intcrd.h>
40
41 #include <ghemical/pop_ana.h>
42
43 #include <ghemical/search.h>
44 #include <ghemical/utility.h>
45
46 #include <ghemical/notice.h>
47
48 #include "appdefine.h"
49
50 #include "custom_app.h"
51 #include "custom_camera.h"
52 #include "custom_lights.h"
53
54 #include "ogl_plane.h"
55 #include "ogl_surface.h"
56
57 #include "color.h"
58
59 #include "filetrans.h"
60
61 #include "local_i18n.h"
62
63 #include <cstring>
64 #include <fstream>
65 #include <sstream>
66 #include <iomanip>
67 #include <algorithm>
68 using namespace std;
69
70 /*################################################################################################*/
71
72 custom_transformer_client::custom_transformer_client(void) :
73 ogl_transformer_client()
74 {
75 tc_object_ref = NULL;
76 tc_local_object = false;
77 }
78
79 custom_transformer_client::~custom_transformer_client(void)
80 {
81 }
82
83 /*################################################################################################*/
84
85 ogl_dummy_object * project::selected_object = NULL;
86
87 const char project::appversion[16] = APPVERSION;
88 char project::appdata_path[256] = "appdata_path_is_not_yet_set_by_main_program";
89
90 bool project::background_job_running = false;
91
92 iGLu project::list_counter = 1; // zero is not a valid display list number...
93
94 color_mode_element project::cm_element = color_mode_element();
95 color_mode_secstruct project::cm_secstruct = color_mode_secstruct();
96 color_mode_hydphob project::cm_hydphob = color_mode_hydphob();
97
98 project::project(void) :
99 custom_transformer_client(),
100 model()
101 {
102 project_path = NULL;
103 project_filename = NULL;
104
105 SetDefaultProjectFileName();
106
107 selected_object = NULL; // always re-initialize this!!!
108
109 camera_counter = 1;
110 object_counter = 1;
111
112 mt_a1 = mt_a2 = mt_a3 = NULL;
113
114 importpdb_mdata = NULL; // temporary?!?!?!
115 }
116
117 project::~project(void)
118 {
119 selected_object = NULL;
120
121 if (object_vector.size() != 0) assertion_failed(__FILE__, __LINE__, "object_vector.size() != 0");
122
123 if (plotting_view_vector.size() != 0) assertion_failed(__FILE__, __LINE__, "plotting_view_vector.size() != 0");
124
125 if (graphics_view_vector.size() != 0) assertion_failed(__FILE__, __LINE__, "graphics_view_vector.size() != 0");
126
127 if (bond_list.size() != 0) assertion_failed(__FILE__, __LINE__, "bond_list.size() != 0");
128
129 if (atom_list.size() != 0) assertion_failed(__FILE__, __LINE__, "atom_list.size() != 0");
130
131 if (project_path != NULL)
132 {
133 delete[] project_path;
134 project_path = NULL;
135 }
136
137 if (project_filename != NULL)
138 {
139 delete[] project_filename;
140 project_filename = NULL;
141 }
142 }
143
144 void project::ClearAll(void)
145 {
146 selected_object = NULL;
147
148 while (object_vector.size() != 0)
149 {
150 ogl_smart_object * ref;
151 ref = object_vector.back();
152 RemoveObject(ref);
153 }
154
155 while (plotting_view_vector.size() != 0)
156 {
157 base_wcl * ref;
158 ref = plotting_view_vector.back();
159 RemovePlottingClient(ref);
160 }
161
162 while (graphics_view_vector.size() != 0)
163 {
164 oglview_wcl * ref;
165 ref = graphics_view_vector.back();
166 RemoveGraphicsClient(ref, true);
167 }
168
169 while (bond_list.size() != 0)
170 {
171 iter_bl itB = GetBondsBegin();
172 RemoveBond(itB);
173 }
174
175 while (atom_list.size() != 0)
176 {
177 iter_al itA = GetAtomsBegin();
178 RemoveAtom(itA);
179 }
180 }
181
182 const char * project::GetProjectFileNameExtension(void)
183 {
184 static const char ext[] = "gpr";
185 return ext;
186 }
187
188 void project::SetProjectPath(const char * path)
189 {
190 if (project_path != NULL) delete[] project_path;
191
192 project_path = new char[strlen(path) + 1];
193 strcpy(project_path, path);
194 }
195
196 void project::SetProjectFileName(const char * filename)
197 {
198 if (project_filename != NULL) delete[] project_filename;
199
200 project_filename = new char[strlen(filename) + 1];
201 strcpy(project_filename, filename);
202 }
203
204 void project::SetDefaultProjectFileName(void)
205 {
206 static i32s id_counter = 1;
207
208 ostringstream str;
209 str << _("untitled") << setw(2) << setfill('0') << id_counter++ << ends;
210
211 SetProjectFileName(str.str().c_str());
212 }
213
214 void project::ParseProjectFileNameAndPath(const char * string)
215 {
216 char * localstring1 = new char[strlen(string) + 1];
217 strcpy(localstring1, string);
218
219 i32s lastdir = NOT_DEFINED;
220 for (i32s n1 = 0;n1 < (i32s) strlen(localstring1);n1++)
221 {
222 if (localstring1[n1] == DIR_SEPARATOR) lastdir = n1;
223 }
224
225 char * localstring2 = localstring1;
226
227 // set project_path if needed...
228 // set project_path if needed...
229 // set project_path if needed...
230
231 if (lastdir != NOT_DEFINED)
232 {
233 localstring2[lastdir] = 0;
234 SetProjectPath(localstring2);
235
236 localstring2 = & localstring2[lastdir + 1];
237 }
238
239 // and now set project_filename, without extension...
240 // and now set project_filename, without extension...
241 // and now set project_filename, without extension...
242
243 i32s lastext = NOT_DEFINED;
244 for (i32s n1 = 0;n1 < (i32s) strlen(localstring2);n1++)
245 {
246 if (localstring2[n1] == EXT_SEPARATOR) lastext = n1;
247 }
248
249 if (lastext != NOT_DEFINED)
250 {
251 // this only removes an extension if it matches *our* extension,
252 // which makes problems for imported files e.g. nh3.mol.mmg1p (!) instead of nh3.mol or nh3.mm1gp
253 // char * localstring3 = & localstring2[lastext + 1];
254 // bool has_extension = !strcmp(localstring3, GetProjectFileNameExtension());
255 // if (has_extension) localstring2[lastext] = 0;
256
257 // use this instead:
258 // ^^^^^^^^^^^^^^^^^
259
260 localstring2[lastext] = 0;
261 }
262
263 SetProjectFileName(localstring2);
264
265 delete[] localstring1;
266 }
267
268 void project::GetProjectFileName(char * buffer, int buffer_size, bool with_extension)
269 {
270 ostringstream ostr;
271
272 ostr << project_filename;
273 if (with_extension) ostr << EXT_SEPARATOR << GetProjectFileNameExtension();
274 ostr << ends;
275
276 if (strlen(ostr.str().c_str()) + 1 >= buffer_size)
277 {
278 assertion_failed(__FILE__, __LINE__, "buffer overflow!");
279 }
280
281 strcpy(buffer, ostr.str().c_str());
282 }
283
284 void project::GetFullProjectFileName(char * buffer, int buffer_size)
285 {
286 ostringstream ostr;
287
288 if (project_path != NULL) ostr << project_path << DIR_SEPARATOR;
289 ostr << project_filename << EXT_SEPARATOR << GetProjectFileNameExtension() << ends;
290
291 if (strlen(ostr.str().c_str()) + 1 >= buffer_size)
292 {
293 assertion_failed(__FILE__, __LINE__, "buffer overflow!");
294 }
295
296 strcpy(buffer, ostr.str().c_str());
297 }
298
299 /*##############################################*/
300 /*##############################################*/
301
302 #ifdef ENABLE_OPENBABEL
303
304 bool project::ImportFile(const char * filename, int index)
305 {
306 ifstream ifile;
307 ostringstream intermed;
308 file_trans translator;
309
310 // store the current (numeric) locale into my_num_locale,
311 // and switch into the "C" numeric locale...
312
313 static char my_num_locale[32] = "C";
314 strcpy(my_num_locale, setlocale(LC_NUMERIC, NULL));
315 setlocale(LC_NUMERIC, "C");
316
317 if (index == 0) // Automatic detection
318 {
319 if (!translator.CanImport(filename))
320 {
321 ErrorMessage(_("Cannot import that file type."));
322 return false;
323 }
324
325 ifile.open(filename, ios::in);
326 translator.Import(filename, ifile, intermed);
327 ifile.close();
328 }
329 else // By type picked by the user
330 {
331 ifile.open(filename, ios::in);
332 translator.Import(filename, index - 1, ifile, intermed);
333 ifile.close();
334 }
335
336 istringstream interInput(intermed.str());
337 bool retval = ReadGPR((* this), interInput, false);
338
339 // change the original locale back...
340 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
341 setlocale(LC_NUMERIC, my_num_locale);
342
343 return retval;
344 }
345
346 bool project::ExportFile(const char * filename, int index)
347 {
348 ofstream ofile;
349 stringstream intermed;
350 file_trans translator;
351
352 // store the current (numeric) locale into my_num_locale,
353 // and switch into the "C" numeric locale...
354
355 static char my_num_locale[32] = "C";
356 strcpy(my_num_locale, setlocale(LC_NUMERIC, NULL));
357 setlocale(LC_NUMERIC, "C");
358
359 WriteGPR_v100((* this), intermed); // this is for openbabel-1.100.2
360 istringstream interInput(intermed.str());
361
362 if (index == 0) // Automatic detection
363 {
364 if (!translator.CanExport(filename))
365 {
366 ErrorMessage(_("Cannot export that file type."));
367 return false;
368 }
369
370 ofile.open(filename, ios::out);
371 translator.Export(filename, interInput, ofile);
372 ofile.close();
373 }
374 else // By type picked by the user
375 {
376 ofile.open(filename, ios::out);
377 translator.Export(filename, index - 1, interInput, ofile);
378 ofile.close();
379 }
380
381 // change the original locale back...
382 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
383 setlocale(LC_NUMERIC, my_num_locale);
384
385 return true;
386 }
387
388 #endif // ENABLE_OPENBABEL
389
390 /*##############################################*/
391 /*##############################################*/
392
393 void project::AddH(void)
394 {
395 /* file_trans ft;
396 OBMol * obm = ft.CopyAll(this);
397 obm->AddHydrogens(false, false);
398 ft.Synchronize(); */
399
400 // above is the OpenBabel implementation of hydrogen adding.
401 // it seems to use bond length information to determine how many H's to add,
402 // which is problematic for protein X-ray structures (that often are not precise enough).
403 // TODO : make all these alternative add_h implementations available!!!!!!!!!!!!!!!
404
405 AddHydrogens(); // this is the library implementation...
406
407 ostringstream str;
408 str << _("Hydrogens added.") << endl << ends;
409
410 PrintToLog(str.str().c_str());
411 }
412
413 void project::RemoveH(void)
414 {
415 RemoveHydrogens();
416
417 ostringstream str;
418 str << _("Hydrogens removed.") << endl << ends;
419
420 PrintToLog(str.str().c_str());
421 }
422
423 iGLu project::GetDisplayListIDs(iGLu p1)
424 {
425 iGLu first = list_counter;
426 list_counter += p1;
427
428 return first;
429 }
430
431 void project::DeleteDisplayLists(iGLu p1, iGLu p2)
432 {
433 for (i32u n1 = 0;n1 < graphics_view_vector.size();n1++)
434 {
435 graphics_view_vector[n1]->GetWnd()->SetCurrent();
436 glDeleteLists(p1, p2);
437 }
438 }
439
440 /*##############################################*/
441 /*##############################################*/
442
443 void project::AddAtom_lg(atom & p1)
444 {
445 custom_app * app2 = custom_app::GetAppC();
446
447 model::AddAtom_lg(p1);
448
449 atom_list.back().my_glname = app2->RegisterGLName(& atom_list.back());
450 app2->AtomAdded(& atom_list.back());
451 }
452
453 void project::RemoveAtom(iter_al p1)
454 {
455 // first, discard ALL measure_tool information...
456
457 if (mt_a1 != NULL)
458 {
459 mt_a1->flags &= (~ATOMFLAG_MEASURE_TOOL_SEL);
460 mt_a1 = NULL;
461 }
462
463 if (mt_a2 != NULL)
464 {
465 mt_a2->flags &= (~ATOMFLAG_MEASURE_TOOL_SEL);
466 mt_a2 = NULL;
467 }
468
469 if (mt_a3 != NULL)
470 {
471 mt_a3->flags &= (~ATOMFLAG_MEASURE_TOOL_SEL);
472 mt_a3 = NULL;
473 }
474
475 // then proceed with the atom removal...
476
477 custom_app * app2 = custom_app::GetAppC();
478
479 app2->AtomRemoved(& (* p1));
480 app2->UnregisterGLNameByPtr(& (* p1));
481
482 model::RemoveAtom(p1);
483 }
484
485 void project::AddBond(bond & p1)
486 {
487 custom_app * app2 = custom_app::GetAppC();
488
489 model::AddBond(p1);
490
491 app2->BondAdded(& bond_list.back());
492 }
493
494 void project::RemoveBond(iter_bl p1)
495 {
496 custom_app * app2 = custom_app::GetAppC();
497
498 app2->BondRemoved(& (* p1));
499
500 model::RemoveBond(p1);
501 }
502
503 void project::InvalidateGroups(void)
504 {
505 model::InvalidateGroups();
506 custom_app::GetAppC()->ClearChainsView();
507 }
508
509 void project::UpdateChains(void)
510 {
511 model::UpdateChains();
512 custom_app::GetAppC()->BuildChainsView();
513 }
514
515 /*##############################################*/
516 /*##############################################*/
517
518 i32s project::IsObject(const ogl_dummy_object * p1)
519 {
520 i32s index = NOT_DEFINED;
521 for (i32u n1 = 0;n1 < object_vector.size();n1++)
522 {
523 if (object_vector[n1] == p1) index = n1;
524 }
525
526 return index;
527 }
528
529 bool project::SelectObject(const ogl_dummy_object * p1)
530 {
531 i32s n1 = IsObject(p1);
532 if (n1 < 0) return false;
533
534 selected_object = object_vector[n1];
535
536 return true;
537 }
538
539 void project::AddObject(ogl_smart_object * p1)
540 {
541 object_vector.push_back(p1);
542 selected_object = object_vector.back();
543
544 custom_app::GetAppC()->ObjectAdded(p1);
545 }
546
547 bool project::RemoveObject(ogl_dummy_object * p1)
548 {
549 i32s n1 = IsObject(p1);
550 if (n1 < 0) return false;
551
552 custom_app::GetAppC()->ObjectRemoved(object_vector[n1]);
553
554 object_vector.erase(object_vector.begin() + n1);
555 delete p1; return true;
556 }
557
558 // these are the measuring functions, that only take coordinates as input (so they are model-independent)...
559 // these are the measuring functions, that only take coordinates as input (so they are model-independent)...
560 // these are the measuring functions, that only take coordinates as input (so they are model-independent)...
561
562 float measure_len(float * c1, float * c2)
563 {
564 v3d<float> v1(c1, c2);
565 return v1.len();
566 }
567
568 float measure_ang(float * c1, float * c2, float * c3)
569 {
570 /* Vector v1, v2;
571 v1 = Vector(c1[0] - c2[0], c1[1] - c2[1], c1[2] - c2[2]);
572 v2 = Vector(c3[0] - c2[0], c3[1] - c2[1], c3[2] - c2[2]);
573 return VectorAngle(v1, v2); */
574
575 v3d<float> v1(c2, c1);
576 v3d<float> v2(c2, c3);
577 return v1.ang(v2) * 180.0 / M_PI;
578 }
579
580 float measure_tor(float * c1, float * c2, float * c3, float * c4)
581 {
582 /* Vector v1, v2, v3, v4;
583 v1 = Vector(c1[0], c1[1], c1[2]) * 10.0f;
584 v2 = Vector(c2[0], c2[1], c2[2]) * 10.0f;
585 v3 = Vector(c3[0], c3[1], c3[2]) * 10.0f;
586 v4 = Vector(c4[0], c4[1], c4[2]) * 10.0f;
587 return CalcTorsionAngle(v1, v2, v3, v4); */
588
589 v3d<float> v1(c2, c1);
590 v3d<float> v2(c2, c3);
591 v3d<float> v3(c3, c4);
592 return v1.tor(v2, v3) * 180.0 / M_PI;
593 }
594
595 /*##############################################*/
596 /*##############################################*/
597
598 oglview_wcl * project::AddGraphicsClient(custom_camera * cam, bool detached)
599 {
600 if (!cam)
601 {
602 fGL focus = GetDefaultFocus();
603 cam = new custom_camera(ogl_ol_static(), focus, this);
604
605 custom_app::GetAppC()->AddCamera(cam);
606
607 // also add a new light object by default...
608
609 ogl_light * l = new ogl_directional_light(ogl_ol_static());
610 custom_app::GetAppC()->AddLocalLight(l, cam);
611 }
612
613 oglview_wcl * wcl = new oglview_wcl(cam);
614
615 ostringstream title;
616 title << _("camera ") << cam->GetCCamI() << _(" window ") << wcl->my_wnd_number << ends;
617 wcl->SetTitle(title.str().c_str());
618
619 base_wnd * wnd = CreateGraphicsWnd(detached);
620
621 wcl->LinkWnd(wnd);
622
623 graphics_view_vector.push_back(wcl);
624 custom_app::GetAppC()->GraphicsClientAdded(wcl);
625
626 custom_app::GetAppC()->SetupLights(cam);
627 custom_app::GetAppC()->UpdateAllWindowTitles();
628
629 return wcl;
630 }
631
632 bool project::RemoveGraphicsClient(oglview_wcl * wcl, bool force)
633 {
634 ogl_camera * cam = wcl->GetCam();
635
636 i32s views_for_other_cams = 0;
637 i32s other_views_for_this_cam = 0;
638
639 i32s index = NOT_DEFINED;
640 for (i32u n1 = 0;n1 < graphics_view_vector.size();n1++)
641 {
642 if (graphics_view_vector[n1] == wcl)
643 {
644 index = n1;
645 continue;
646 }
647
648 if (graphics_view_vector[n1]->GetCam() != cam)
649 {
650 views_for_other_cams++;
651 }
652 else
653 {
654 other_views_for_this_cam++;
655 }
656 }
657
658 if (index < 0) assertion_failed(__FILE__, __LINE__, "index < 0");
659
660 if (!force && (views_for_other_cams + other_views_for_this_cam < 1)) // refuse to close the last view!!!
661 {
662 ErrorMessage(_("This is the last graphics view for\nthis project - can't close it."));
663 return false;
664 }
665
666 // now let's remove the window and the client...
667
668 base_wnd * wnd = wcl->GetWnd();
669
670 wcl->UnlinkWnd();
671
672 DestroyGraphicsWnd(wnd);
673 wnd = NULL;
674
675 custom_app::GetAppC()->GraphicsClientRemoved(wcl);
676
677 graphics_view_vector.erase(graphics_view_vector.begin() + index);
678
679 delete wcl;
680 wcl = NULL;
681
682 // now we can also remove the camera, if needed...
683
684 if (!other_views_for_this_cam)
685 {
686 custom_app::GetAppC()->RemoveCamera(cam);
687
688 delete cam;
689 cam = NULL;
690
691 // disable selected_object since it could have been
692 // a light object that just got deleted ; FIX_ME_LATER
693
694 selected_object = NULL; // ???
695 }
696
697 custom_app::GetAppC()->UpdateAllWindowTitles();
698
699 return true;
700 }
701
702 bool project::IsThisLastGraphicsClient(oglview_wcl * wcl)
703 {
704 ogl_camera * cam = wcl->GetCam();
705
706 i32s views_for_other_cams = 0;
707 i32s other_views_for_this_cam = 0;
708
709 for (i32u n1 = 0;n1 < graphics_view_vector.size();n1++)
710 {
711 if (graphics_view_vector[n1] == wcl) continue;
712
713 if (graphics_view_vector[n1]->GetCam() != cam)
714 {
715 views_for_other_cams++;
716 }
717 else
718 {
719 other_views_for_this_cam++;
720 }
721 }
722
723 if (views_for_other_cams + other_views_for_this_cam < 1) return true;
724 else return false;
725 }
726
727 p1dview_wcl * project::AddPlot1DClient(const char * s1, const char * sv, bool detached)
728 {
729 p1dview_wcl * wcl = new p1dview_wcl(s1, sv);
730 base_wnd * wnd = CreatePlot1DWnd(detached);
731
732 wcl->LinkWnd(wnd);
733
734 plotting_view_vector.push_back(wcl);
735 custom_app::GetAppC()->PlottingClientAdded(wcl);
736
737 custom_app::GetAppC()->UpdateAllWindowTitles();
738
739 return wcl;
740 }
741
742 p2dview_wcl * project::AddPlot2DClient(const char * s1, const char * s2, const char * sv, bool detached)
743 {
744 p2dview_wcl * wcl = new p2dview_wcl(s1, s2, sv);
745 base_wnd * wnd = CreatePlot2DWnd(detached);
746
747 wcl->LinkWnd(wnd);
748
749 plotting_view_vector.push_back(wcl);
750 custom_app::GetAppC()->PlottingClientAdded(wcl);
751
752 custom_app::GetAppC()->UpdateAllWindowTitles();
753
754 return wcl;
755 }
756
757 eldview_wcl * project::AddEnergyLevelDiagramClient(bool detached)
758 {
759 eldview_wcl * wcl = new eldview_wcl();
760 base_wnd * wnd = CreateEnergyLevelDiagramWnd(detached);
761
762 wcl->LinkWnd(wnd);
763
764 plotting_view_vector.push_back(wcl);
765 custom_app::GetAppC()->PlottingClientAdded(wcl);
766
767 custom_app::GetAppC()->UpdateAllWindowTitles();
768
769 return wcl;
770 }
771
772 rcpview_wcl * project::AddReactionCoordinatePlotClient(const char * s1, const char * sv, bool detached)
773 {
774 rcpview_wcl * wcl = new rcpview_wcl(s1, sv);
775 base_wnd * wnd = CreateReactionCoordinatePlotWnd(detached);
776
777 wcl->LinkWnd(wnd);
778
779 plotting_view_vector.push_back(wcl);
780 custom_app::GetAppC()->PlottingClientAdded(wcl);
781
782 custom_app::GetAppC()->UpdateAllWindowTitles();
783
784 return wcl;
785 }
786
787 gpcview_wcl * project::AddGenericProteinChainClient(bool detached)
788 {
789 gpcview_wcl * wcl = new gpcview_wcl();
790 base_wnd * wnd = CreateGenericProteinChainWnd(detached);
791
792 wcl->LinkWnd(wnd);
793
794 plotting_view_vector.push_back(wcl);
795 custom_app::GetAppC()->PlottingClientAdded(wcl);
796
797 custom_app::GetAppC()->UpdateAllWindowTitles();
798
799 return wcl;
800 }
801
802 bool project::RemovePlottingClient(base_wcl * wcl)
803 {
804 i32s index = NOT_DEFINED;
805 for (i32u n2 = 0;n2 < plotting_view_vector.size();n2++)
806 {
807 if (plotting_view_vector[n2] == wcl) index = n2;
808 }
809
810 if (index < 0) assertion_failed(__FILE__, __LINE__, "index < 0");
811
812 // now let's remove the window and the client...
813
814 base_wnd * wnd = wcl->GetWnd();
815
816 wcl->UnlinkWnd();
817
818 DestroyPlottingWnd(wnd);
819 wnd = NULL;
820
821 custom_app::GetAppC()->PlottingClientRemoved(wcl);
822
823 plotting_view_vector.erase(plotting_view_vector.begin() + index);
824
825 delete wcl;
826 wcl = NULL;
827
828 return true;
829 }
830
831 void project::UpdateAllViews(void)
832 {
833 UpdateAllGraphicsViews();
834 UpdateAllPlottingViews();
835
836 // the project view, if exists, will take
837 // care of itself and does not need updating.
838 }
839
840 void project::UpdateAllGraphicsViews(bool flag)
841 {
842 for (i32u n1 = 0;n1 < graphics_view_vector.size();n1++)
843 {
844 graphics_view_vector[n1]->GetWnd()->RequestUpdate(flag);
845 }
846 }
847
848 void project::UpdateAllPlottingViews(bool flag)
849 {
850 for (i32u n1 = 0;n1 < plotting_view_vector.size();n1++)
851 {
852 plotting_view_vector[n1]->GetWnd()->RequestUpdate(flag);
853 }
854 }
855
856 void project::UpdateGraphicsViews(ogl_camera * cam, bool flag)
857 {
858 for (i32u n1 = 0;n1 < graphics_view_vector.size();n1++)
859 {
860 if (graphics_view_vector[n1]->GetCam() != cam) continue;
861 graphics_view_vector[n1]->GetWnd()->RequestUpdate(flag);
862 }
863 }
864
865 void project::UpdateGraphicsView(oglview_wcl * wcl, bool flag)
866 {
867 wcl->GetWnd()->RequestUpdate(flag);
868 }
869
870 /*##############################################*/
871 /*##############################################*/
872
873 void project::ProcessCommandString(oglview_wcl * wcl, const char * command)
874 {
875 ostringstream str1;
876 str1 << _("Processing Command : ") << command << endl << ends;
877 PrintToLog(str1.str().c_str());
878
879 istringstream istr(command);
880 char kw1[32]; istr >> kw1; // the 1st keyword.
881
882 if (!strcmp("help", kw1))
883 {
884 ostringstream str;
885
886 str << _("> AVAILABLE COMMANDS:") << endl; // use alphabetical order???
887
888 str << _("> add light (local/global) (directional/spotlight) -- add a new light object.") << endl;
889
890 str << _("> add plane <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <tp> <alpha> -- add a plane object.") << endl;
891 str << _("> where: <vf> = value function : esp vdws eldens mo mod unity") << endl;
892 str << _("> <cf> = colour function : red green blue rb1 rb2") << endl;
893 str << _("> <cscale1> = scaling value for calculating the colours") << endl;
894 str << _("> <cscale2> = scaling offset for calculating the colours") << endl;
895 str << _("> <dim> = dimension of the plane object (in nm units)") << endl;
896 str << _("> <res> = resolution of the plane object") << endl;
897 str << _("> <tp> = 0 or 1 telling if the object is transparent") << endl;
898 str << _("> <alpha> = transparency alpha value") << endl;
899
900 str << _("> add volrend <vf> <cf> <cscale1> <AUTO/cscale2> <dim> <res> <alpha> -- add a volume-rendering object.") << endl;
901 str << _("> where: <vf> = value function : esp vdws eldens mo mod unity") << endl;
902 str << _("> <cf> = colour function : red green blue rb1 rb2") << endl;
903 str << _("> <cscale1> = scaling value for calculating the colours") << endl;
904 str << _("> <cscale2> = scaling offset for calculating the colours") << endl;
905 str << _("> <dim> = dimension of the plane object (in nm units)") << endl;
906 str << _("> <res> = resolution of the plane object") << endl;
907 str << _("> <alpha> = transparency alpha value") << endl;
908
909 str << _("> add surf1 <vf1> <vf2> <cf> <sscale> <cscale1> <AUTO/cscale2> <dim> <res> <solid> <tp> <alpha> -- add a single surface object.") << endl;
910 str << _("> where: <vf1> = value function for calculating the surface : esp vdws eldens mo mod unity") << endl;
911 str << _("> <vf2> = value function for calculating the colours : esp vdws eldens mo mod unity") << endl;
912 str << _("> <cf> = colour function : red green blue rb1 rb2") << endl;
913 str << _("> <sscale> = scaling value for calculating the surface") << endl;
914 str << _("> <cscale1> = scaling value for calculating the colours") << endl;
915 str << _("> <cscale2> = scaling offset for calculating the colours") << endl;
916 str << _("> <dim> = dimension of the plane object (in nm units)")<< endl;
917 str << _("> <res> = resolution of the plane object") << endl;
918 str << _("> <solid> = 0 or 1 telling if the object is solid") << endl;
919 str << _("> <tp> = 0 or 1 telling if the object is transparent")<< endl;
920 str << _("> <alpha> = transparency alpha value") << endl;
921
922 str << _("> add surf2 <vf1> <vf2> <cf1> <cf2> <sscale1> <sscale2> <cscale1> <AUTO/cscale2> <dim> <res> <solid> <tp> <alpha> -- add a pair of surface objects.") << endl;
923 str << _("> where: <vf1> = value function for calculating the surface : esp vdws eldens mo mod unity") << endl;
924 str << _("> <vf2> = value function for calculating the colours : esp vdws eldens mo mod unity") << endl;
925 str << _("> <cf1> = colour function for 1st surface : red green blue rb1 rb2") << endl;
926 str << _("> <cf2> = colour function for 2nd surface : red green blue rb1 rb2") << endl;
927 str << _("> <sscale1> = scaling value for calculating the surface for 1st surface") << endl;
928 str << _("> <sscale2> = scaling value for calculating the surface for 2nd surface")<< endl;
929 str << _("> <cscale1> = scaling value for calculating the colours")<< endl;
930 str << _("> <cscale2> = scaling offset for calculating the colours")<< endl;
931 str << _("> <dim> = dimension of the plane object (in nm units)")<< endl;
932 str << _("> <res> = resolution of the plane object")<< endl;
933 str << _("> <solid> = 0 or 1 telling if the object is solid")<< endl;
934 str << _("> <tp> = 0 or 1 telling if the object is transparent")<< endl;
935 str << _("> <alpha> = transparency alpha value") << endl;
936
937 str << _("> help -- print all available commands in command strings.") << endl;
938
939 str << _("> energy -- calculate a single-point energy.") << endl;
940 str << _("> geom_opt -- do a geometry optimization run using default options.") << endl;
941 str << _("> mol_dyn -- do a molecular dynamics run using default options.") << endl;
942
943 str << _("> random_search <cycles> <optsteps> -- perform a random conformational search.") << endl;
944 str << _("> systematic_search <divisions> <optsteps> -- perform a systematic conformational search.") << endl;
945 str << _("> montecarlo_search <init_cycles> <simul_cycles> <optsteps> -- perform a MonteCarlo search.") << endl;
946
947 str << _("> make_plot1 A B C D <div> <start_ang> <end_ang> <optsteps> -- create a 1D energy vs. torsion plot.") << endl;
948 str << _("> make_plot2 A B C D <div> <start_ang> <end_ang> I J K L <div> <start_ang> <end_ang> <optsteps> -- create a 2D energy vs. torsions plot.") << endl;
949
950 str << _("> population_analysis_ESP -- determine atomic charges using an ESP fit (for QM methods only).") << endl;
951
952 str << _("> transition_state_search <delta_e> <initial_fc> -- perform a transition state search (for QM methods only).") << endl;
953 str << _("> stationary_state_search <steps> -- perform a search for a structure with no forces.") << endl;
954
955 str << _("> set_current_orbital <orbital_index> -- set the current orbtal index for plotting the orbitals.") << endl;
956
957 str << _("> update_chains -- detect polymer chains using sequence builder.") << endl;
958 str << _("> build_amino <sequence> (helix/strand) -- amino acid sequence builder.") << endl;
959 str << _("> build_nucleic <sequence> -- nucleic acid sequence builder.") << endl;
960
961 str << _("> orient <crdset> -- orient the system in the XYZ coordinate system.") << endl;
962
963 str << _("> solvate_box <x-hdim> <y-hdim> <z-hdim> (<density> <filename> (export)) -- setup a solvation box.") << endl;
964 str << _("> solvate_sphere <rad_solute> <rad_solvent> (<density> <filename>) -- setup a solvation sphere.")<< endl;
965
966 str << _("> set_formal_charge <index> <charge> -- set formal charges to atoms.") << endl;
967
968 str << _("> evaluate_Bfact -- evaluate B-factors for selected atoms (a trajectory file must be open).") << endl;
969 str << _("> evaluate_diffconst <dt> -- evaluate diffusion constants for selected atoms (a trajectory file must be open, dt = time difference between frames [fs]).") << endl;
970
971 str << ends;
972 PrintToLog(str.str().c_str());
973 return;
974 }
975
976 if (!strcmp("add", kw1))
977 {
978 char kw2[32]; istr >> kw2; // the 2nd keyword; type of the object to add.
979
980 if (!strcmp("light", kw2))
981 {
982 char kw3[32]; istr >> kw3;
983 char kw4[32]; istr >> kw4;
984
985 bool is_local = true;
986 bool is_directional = true;
987
988 if (kw3[0] == 'g' || kw4[0] == 'g') is_local = false; // global
989 if (kw3[0] == 's' || kw4[0] == 's') is_directional = false; // spotlight
990
991 ogl_light * new_light;
992 if (is_directional) new_light = new ogl_directional_light(ogl_ol_static());
993 else
994 {
995 new_light = new rendered_spot_light(ogl_ol_static());
996
997 const fGL trans[3] = { 0.0, 0.0, -1.0 };
998 new_light->TranslateObject((const fGL *) trans, wcl->GetCam()->GetSafeLD());
999 }
1000
1001 base_app * app = base_app::GetAppB();
1002 if (!is_local) app->AddGlobalLight(new_light);
1003 else app->AddLocalLight(new_light, wcl->GetCam());
1004
1005 if (!is_local || oglview_wcl::draw_info) UpdateAllGraphicsViews();
1006 else if (is_local) UpdateGraphicsViews(wcl->GetCam());
1007
1008 ostringstream strR;
1009 strR << _("Added a new object : light (");
1010 strR << (is_local ? _("local") : _("global")) << " ";
1011 strR << (is_directional ? _("directional") : _("spotlight")) << ")." << endl << ends;
1012 PrintToLog(strR.str().c_str());
1013 return;
1014 }
1015
1016 if (!strcmp("plane", kw2))
1017 {
1018 char kw3[32]; istr >> kw3;
1019 char kw4[32]; istr >> kw4;
1020 char kw5[32]; istr >> kw5;
1021 char kw6[32]; istr >> kw6;
1022 char kw7[32]; istr >> kw7;
1023 char kw8[32]; istr >> kw8;
1024 char kw9[32]; istr >> kw9;
1025 char kwA[32]; istr >> kwA;
1026 char ** endptr = NULL;
1027
1028 ogl_cp_param cpp;
1029 cpp.prj = this; cpp.ref = GetCurrentSetup()->GetCurrentEngine();
1030
1031 if (!strcmp(kw3, "esp")) cpp.vf = (ValueFunction *) value_ESP;
1032 else if (!strcmp(kw3, "vdws")) cpp.vf = (ValueFunction *) value_VDWSurf;
1033 else if (!strcmp(kw3, "eldens")) cpp.vf = (ValueFunction *) value_ElDens;
1034 else if (!strcmp(kw3, "mo")) cpp.vf = (ValueFunction *) value_Orbital;
1035 else if (!strcmp(kw3, "mod")) cpp.vf = (ValueFunction *) value_OrbDens;
1036 else if (!strcmp(kw3, "unity")) cpp.vf = (ValueFunction *) GetUnity;
1037 else
1038 {
1039 ostringstream strE;
1040 strE << _("ERROR : add plane : unknown value function ") << kw3 << "." << endl << ends;
1041
1042 PrintToLog(strE.str().c_str());
1043 return;
1044 }
1045
1046 if (!strcmp(kw4, "red")) cpp.cf = (ColorFunction *) GetRedColor;
1047 else if (!strcmp(kw4, "green")) cpp.cf = (ColorFunction *) GetGreenColor;
1048 else if (!strcmp(kw4, "blue")) cpp.cf = (ColorFunction *) GetBlueColor;
1049 else if (!strcmp(kw4, "rb1")) cpp.cf = (ColorFunction *) GetRBRange1;
1050 else if (!strcmp(kw4, "rb2")) cpp.cf = (ColorFunction *) GetRBRange2;
1051 else
1052 {
1053 ostringstream strE;
1054 strE << _("ERROR : add plane : unknown colour function ") << kw4 << "." << endl << ends;
1055
1056 PrintToLog(strE.str().c_str());
1057 return;
1058 }
1059
1060 f64 cscale1 = strtod(kw5, endptr);
1061
1062 f64 cscale2 = 0.0; bool auto_cv2 = false;
1063 if (!strcmp(kw6, "AUTO")) auto_cv2 = true;
1064 else cscale2 = strtod(kw6, endptr);
1065
1066 f64 dim = strtod(kw7, endptr);
1067
1068 i32s res = strtol(kw8, endptr, 10);
1069 if (res < 2) res = 2;
1070
1071 i32s tp = strtol(kw9, endptr, 10);
1072 if (tp < 0) tp = 0; if (tp > 1) tp = 1;
1073
1074 f64 alpha = strtod(kwA, endptr);
1075
1076 cpp.dim = dim; cpp.np = res;
1077 cpp.transparent = tp; cpp.automatic_cv2 = auto_cv2;
1078
1079 cpp.cvalue1 = cscale1;
1080 cpp.cvalue2 = cscale2;
1081 cpp.alpha = alpha;
1082
1083 ostringstream strN;
1084 strN << kw3 << "-" << ends;
1085
1086 AddObject(new ogl_color_plane_object(ogl_ol_static(), cpp, strN.str().c_str()));
1087 UpdateAllGraphicsViews();
1088
1089 ostringstream strR;
1090 strR << _("Added a new object : plane (") << kw3 << " " << kw4 << ")." << endl << ends;
1091 PrintToLog(strR.str().c_str());
1092 return;
1093 }
1094
1095 if (!strcmp("volrend", kw2))
1096 {
1097 char kw3[32]; istr >> kw3;
1098 char kw4[32]; istr >> kw4;
1099 char kw5[32]; istr >> kw5;
1100 char kw6[32]; istr >> kw6;
1101 char kw7[32]; istr >> kw7;
1102 char kw8[32]; istr >> kw8;
1103 char kw9[32]; istr >> kw9;
1104 char ** endptr = NULL;
1105
1106 ogl_cp_param cpp;
1107 cpp.prj = this; cpp.ref = GetCurrentSetup()->GetCurrentEngine();
1108
1109 if (!strcmp(kw3, "esp")) cpp.vf = (ValueFunction *) value_ESP;
1110 else if (!strcmp(kw3, "vdws")) cpp.vf = (ValueFunction *) value_VDWSurf;
1111 else if (!strcmp(kw3, "eldens")) cpp.vf = (ValueFunction *) value_ElDens;
1112 else if (!strcmp(kw3, "mo")) cpp.vf = (ValueFunction *) value_Orbital;
1113 else if (!strcmp(kw3, "mod")) cpp.vf = (ValueFunction *) value_OrbDens;
1114 else if (!strcmp(kw3, "unity")) cpp.vf = (ValueFunction *) GetUnity;
1115 else
1116 {
1117 ostringstream strE;
1118 strE << _("ERROR : add volrend : unknown value function ") << kw3 << "." << endl << ends;
1119
1120 PrintToLog(strE.str().c_str());
1121 return;
1122 }
1123
1124 if (!strcmp(kw4, "red")) cpp.cf = (ColorFunction *) GetRedColor;
1125 else if (!strcmp(kw4, "green")) cpp.cf = (ColorFunction *) GetGreenColor;
1126 else if (!strcmp(kw4, "blue")) cpp.cf = (ColorFunction *) GetBlueColor;
1127 else if (!strcmp(kw4, "rb1")) cpp.cf = (ColorFunction *) GetRBRange1;
1128 else if (!strcmp(kw4, "rb2")) cpp.cf = (ColorFunction *) GetRBRange2;
1129 else
1130 {
1131 ostringstream strE;
1132 strE << _("ERROR : add volrend : unknown colour function ") << kw4 <<"." << endl << ends;
1133
1134 PrintToLog(strE.str().c_str());
1135 return;
1136 }
1137
1138 f64 cscale1 = strtod(kw5, endptr);
1139
1140 f64 cscale2 = 0.0; bool auto_cv2 = false;
1141 if (!strcmp(kw6, "AUTO")) auto_cv2 = true;
1142 else cscale2 = strtod(kw6, endptr);
1143
1144 f64 dim = strtod(kw7, endptr);
1145
1146 i32s res = strtol(kw8, endptr, 10);
1147 if (res < 4) res = 4;
1148
1149 f64 alpha = strtod(kw9, endptr);
1150
1151 cpp.dim = dim; cpp.np = res;
1152 cpp.transparent = true; cpp.automatic_cv2 = auto_cv2;
1153
1154 cpp.cvalue1 = cscale1;
1155 cpp.cvalue2 = cscale2;
1156 cpp.alpha = alpha;
1157
1158 ostringstream strN;
1159 strN << kw3 << "-" << ends;
1160
1161 AddObject(new ogl_volume_rendering_object(ogl_ol_static(), cpp, res / 2, dim / 2.0, (* wcl->GetCam()), strN.str().c_str()));
1162 UpdateAllGraphicsViews();
1163
1164 ostringstream strR;
1165 strR << _("Added a new object : volrend (") << kw3 << " " << kw4 << ")." << endl << ends;
1166 PrintToLog(strR.str().c_str());
1167 return;
1168 }
1169
1170 if (!strcmp("surf1", kw2))
1171 {
1172 char kw3[32]; istr >> kw3; // vf1
1173 char kw4[32]; istr >> kw4; // vf2
1174 char kw5[32]; istr >> kw5; // cf
1175 char kw6[32]; istr >> kw6; // sscale
1176 char kw7[32]; istr >> kw7; // cscale1
1177 char kw8[32]; istr >> kw8; // AUTO/cscale2
1178 char kw9[32]; istr >> kw9; // dim
1179 char kwA[32]; istr >> kwA; // res
1180 char kwB[32]; istr >> kwB; // solid
1181 char kwC[32]; istr >> kwC; // tp
1182 char kwD[32]; istr >> kwD; // alpha
1183 char ** endptr = NULL;
1184
1185 ogl_cs_param csp1;
1186
1187 csp1.prj = this; csp1.ref = GetCurrentSetup()->GetCurrentEngine(); csp1.next = NULL;
1188
1189 if (!strcmp(kw3, "esp")) csp1.vf1 = (ValueFunction *) value_ESP;
1190 else if (!strcmp(kw3, "vdws")) csp1.vf1 = (ValueFunction *) value_VDWSurf;
1191 else if (!strcmp(kw3, "eldens")) csp1.vf1 = (ValueFunction *) value_ElDens;
1192 else if (!strcmp(kw3, "mo")) csp1.vf1 = (ValueFunction *) value_Orbital;
1193 else if (!strcmp(kw3, "mod")) csp1.vf1 = (ValueFunction *) value_OrbDens;
1194 else if (!strcmp(kw3, "unity")) csp1.vf1 = (ValueFunction *) GetUnity;
1195 else
1196 {
1197 ostringstream strE;
1198 strE << _("ERROR : add surf1 : unknown value function 1 ") << kw3 << "." << endl << ends;
1199
1200 PrintToLog(strE.str().c_str());
1201 return;
1202 }
1203
1204 if (!strcmp(kw4, "esp")) csp1.vf2 = (ValueFunction *) value_ESP;
1205 else if (!strcmp(kw4, "vdws")) csp1.vf2 = (ValueFunction *) value_VDWSurf;
1206 else if (!strcmp(kw4, "eldens")) csp1.vf2 = (ValueFunction *) value_ElDens;
1207 else if (!strcmp(kw4, "mo")) csp1.vf2 = (ValueFunction *) value_Orbital;
1208 else if (!strcmp(kw4, "mod")) csp1.vf2 = (ValueFunction *) value_OrbDens;
1209 else if (!strcmp(kw4, "unity")) csp1.vf2 = (ValueFunction *) GetUnity;
1210 else
1211 {
1212 ostringstream strE;
1213 strE << _("ERROR : add surf1 : unknown value function 2 ") << kw4 << "." << endl << ends;
1214
1215 PrintToLog(strE.str().c_str());
1216 return;
1217 }
1218
1219 if (!strcmp(kw5, "red")) csp1.cf = (ColorFunction *) GetRedColor;
1220 else if (!strcmp(kw5, "green")) csp1.cf = (ColorFunction *) GetGreenColor;
1221 else if (!strcmp(kw5, "blue")) csp1.cf = (ColorFunction *) GetBlueColor;
1222 else if (!strcmp(kw5, "rb1")) csp1.cf = (ColorFunction *) GetRBRange1;
1223 else if (!strcmp(kw5, "rb2")) csp1.cf = (ColorFunction *) GetRBRange2;
1224 else
1225 {
1226 ostringstream strE;
1227 strE << _("ERROR : add surf1 : unknown colour function ") << kw5 << "." << endl << ends;
1228
1229 PrintToLog(strE.str().c_str());
1230 return;
1231 }
1232
1233 f64 sscale = strtod(kw6, endptr);
1234 f64 cscale1 = strtod(kw7, endptr);
1235
1236 f64 cscale2 = 0.0; bool auto_cv2 = false;
1237 if (!strcmp(kw8, "AUTO")) auto_cv2 = true;
1238 else cscale2 = strtod(kw8, endptr);
1239
1240 f64 dim = strtod(kw9, endptr);
1241
1242 i32s res = strtol(kwA, endptr, 10);
1243 if (res < 4) res = 4;
1244
1245 i32s solid = strtol(kwB, endptr, 10);
1246 if (solid < 0) solid = 0; if (solid > 1) solid = 1;
1247
1248 i32s tp = strtol(kwC, endptr, 10);
1249 if (tp < 0) tp = 0; if (tp > 1) tp = 1;
1250
1251 f64 alpha = strtod(kwD, endptr);
1252
1253 static fGL dim_arr[3];
1254 dim_arr[0] = dim_arr[1] = dim_arr[2] = dim;
1255
1256 static i32s res_arr[3];
1257 res_arr[0] = res_arr[1] = res_arr[2] = res;
1258
1259 csp1.dim = dim_arr; csp1.np = res_arr;
1260 csp1.transparent = tp; csp1.automatic_cv2 = auto_cv2; csp1.wireframe = !solid;
1261
1262 csp1.svalue = sscale;
1263 csp1.cvalue1 = cscale1;
1264 csp1.cvalue2 = cscale2;
1265 csp1.alpha = alpha;
1266
1267 csp1.toler = fabs(1.0e-6 * sscale); csp1.maxc = 250;
1268
1269 ostringstream strN;
1270 strN << kw3 << "-" << kw4 << "-" << ends;
1271
1272 AddObject(new ogl_color_surface_object(ogl_ol_static(), csp1, strN.str().c_str()));
1273 UpdateAllGraphicsViews();
1274
1275 ostringstream strR;
1276 strR << _("Added a new object : surf1 (") << kw3 << " " << kw4 << " " << kw5 << ")." << endl << ends;
1277 PrintToLog(strR.str().c_str());
1278 return;
1279 }
1280
1281 if (!strcmp("surf2", kw2))
1282 {
1283 char kw3[32]; istr >> kw3; // vf1
1284 char kw4[32]; istr >> kw4; // vf2
1285 char kw5[32]; istr >> kw5; // cf1
1286 char kw6[32]; istr >> kw6; // cf2
1287 char kw7[32]; istr >> kw7; // sscale1
1288 char kw8[32]; istr >> kw8; // sscale2
1289 char kw9[32]; istr >> kw9; // cscale1
1290 char kwA[32]; istr >> kwA; // AUTO/cscale2
1291 char kwB[32]; istr >> kwB; // dim
1292 char kwC[32]; istr >> kwC; // res
1293 char kwD[32]; istr >> kwD; // solid
1294 char kwE[32]; istr >> kwE; // tp
1295 char kwF[32]; istr >> kwF; // alpha
1296 char ** endptr = NULL;
1297
1298 ogl_cs_param csp2a; ogl_cs_param csp2b;
1299
1300 csp2a.prj = this; csp2a.ref = GetCurrentSetup()->GetCurrentEngine(); csp2a.next = & csp2b;
1301
1302 csp2b.prj = this; csp2b.ref = GetCurrentSetup()->GetCurrentEngine(); csp2b.next = NULL;
1303
1304 if (!strcmp(kw3, "esp")) csp2a.vf1 = csp2b.vf1 = (ValueFunction *) value_ESP;
1305 else if (!strcmp(kw3, "vdws")) csp2a.vf1 = csp2b.vf1 = (ValueFunction *) value_VDWSurf;
1306 else if (!strcmp(kw3, "eldens")) csp2a.vf1 = csp2b.vf1 = (ValueFunction *) value_ElDens;
1307 else if (!strcmp(kw3, "mo")) csp2a.vf1 = csp2b.vf1 = (ValueFunction *) value_Orbital;
1308 else if (!strcmp(kw3, "mod")) csp2a.vf1 = csp2b.vf1 = (ValueFunction *) value_OrbDens;
1309 else if (!strcmp(kw3, "unity")) csp2a.vf1 = csp2b.vf1 = (ValueFunction *) GetUnity;
1310 else
1311 {
1312 ostringstream strE;
1313 strE << _("ERROR : add surf2 : unknown value function 1 ") << kw3 << "." << endl << ends;
1314
1315 PrintToLog(strE.str().c_str());
1316 return;
1317 }
1318
1319 if (!strcmp(kw4, "esp")) csp2a.vf2 = csp2b.vf2 = (ValueFunction *) value_ESP;
1320 else if (!strcmp(kw4, "vdws")) csp2a.vf2 = csp2b.vf2 = (ValueFunction *) value_VDWSurf;
1321 else if (!strcmp(kw4, "eldens")) csp2a.vf2 = csp2b.vf2 = (ValueFunction *) value_ElDens;
1322 else if (!strcmp(kw4, "mo")) csp2a.vf2 = csp2b.vf2 = (ValueFunction *) value_Orbital;
1323 else if (!strcmp(kw4, "mod")) csp2a.vf2 = csp2b.vf2 = (ValueFunction *) value_OrbDens;
1324 else if (!strcmp(kw4, "unity")) csp2a.vf2 = csp2b.vf2 = (ValueFunction *) GetUnity;
1325 else
1326 {
1327 ostringstream strE;
1328 strE << _("ERROR : add surf2 : unknown value function 2 ") << kw4 << "." << endl << ends;
1329
1330 PrintToLog(strE.str().c_str());
1331 return;
1332 }
1333
1334 if (!strcmp(kw5, "red")) csp2a.cf = (ColorFunction *) GetRedColor;
1335 else if (!strcmp(kw5, "green")) csp2a.cf = (ColorFunction *) GetGreenColor;
1336 else if (!strcmp(kw5, "blue")) csp2a.cf = (ColorFunction *) GetBlueColor;
1337 else if (!strcmp(kw5, "rb1")) csp2a.cf = (ColorFunction *) GetRBRange1;
1338 else if (!strcmp(kw5, "rb2")) csp2a.cf = (ColorFunction *) GetRBRange2;
1339 else
1340 {
1341 ostringstream strE;
1342 strE << _("ERROR : add surf2 : unknown colour function 1 ") << kw5 << "." << endl << ends;
1343
1344 PrintToLog(strE.str().c_str());
1345 return;
1346 }
1347
1348 if (!strcmp(kw6, "red")) csp2b.cf = (ColorFunction *) GetRedColor;
1349 else if (!strcmp(kw6, "green")) csp2b.cf = (ColorFunction *) GetGreenColor;
1350 else if (!strcmp(kw6, "blue")) csp2b.cf = (ColorFunction *) GetBlueColor;
1351 else if (!strcmp(kw6, "rb1")) csp2b.cf = (ColorFunction *) GetRBRange1;
1352 else if (!strcmp(kw6, "rb2")) csp2b.cf = (ColorFunction *) GetRBRange2;
1353 else
1354 {
1355 ostringstream strE;
1356 strE << _("ERROR : add surf2 : unknown colour function 2 ") << kw6 << "." << endl << ends;
1357
1358 PrintToLog(strE.str().c_str());
1359 return;
1360 }
1361
1362 f64 sscale1 = strtod(kw7, endptr);
1363 f64 sscale2 = strtod(kw8, endptr);
1364 f64 cscale1 = strtod(kw9, endptr);
1365
1366 f64 cscale2 = 0.0; bool auto_cv2 = false;
1367 if (!strcmp(kwA, "AUTO")) auto_cv2 = true;
1368 else cscale2 = strtod(kwA, endptr);
1369
1370 f64 dim = strtod(kwB, endptr);
1371
1372 i32s res = strtol(kwC, endptr, 10);
1373 if (res < 4) res = 4;
1374
1375 i32s solid = strtol(kwD, endptr, 10);
1376 if (solid < 0) solid = 0; if (solid > 1) solid = 1;
1377
1378 i32s tp = strtol(kwE, endptr, 10);
1379 if (tp < 0) tp = 0; if (tp > 1) tp = 1;
1380
1381 f64 alpha = strtod(kwF, endptr);
1382
1383 static fGL dim_arr[3];
1384 dim_arr[0] = dim_arr[1] = dim_arr[2] = dim;
1385
1386 static i32s res_arr[3];
1387 res_arr[0] = res_arr[1] = res_arr[2] = res;
1388
1389 csp2a.dim = dim_arr; csp2a.np = res_arr;
1390 csp2a.transparent = tp; csp2a.automatic_cv2 = auto_cv2; csp2a.wireframe = !solid;
1391
1392 csp2a.svalue = sscale1;
1393 csp2a.cvalue1 = cscale1;
1394 csp2a.cvalue2 = cscale2;
1395 csp2a.alpha = alpha;
1396
1397 csp2a.toler = fabs(1.0e-6 * sscale1); csp2a.maxc = 250;
1398
1399 csp2b.dim = dim_arr; csp2b.np = res_arr;
1400 csp2b.transparent = tp; csp2b.automatic_cv2 = auto_cv2; csp2b.wireframe = !solid;
1401
1402 csp2b.svalue = sscale2;
1403 csp2b.cvalue1 = cscale1;
1404 csp2b.cvalue2 = cscale2;
1405 csp2b.alpha = alpha;
1406
1407 csp2b.toler = fabs(1.0e-6 * sscale2); csp2b.maxc = 250;
1408
1409 ostringstream strN;
1410 strN << kw3 << "-" << kw4 << "-" << ends;
1411
1412 AddObject(new ogl_color_surface_object(ogl_ol_static(), csp2a, strN.str().c_str()));
1413 UpdateAllGraphicsViews();
1414
1415 ostringstream strR;
1416 strR << _("Added a new object : surf2 (") << kw3 << " " << kw4 << " " << kw5 << " " << kw6 << ")." << endl << ends;
1417 PrintToLog(strR.str().c_str());
1418 return;
1419 }
1420
1421 ostringstream strE;
1422 strE << _("ERROR : could not process command \"add\" for parameter ") << kw2 << "." << endl << ends;
1423
1424 PrintToLog(strE.str().c_str());
1425 return;
1426 }
1427
1428 if (!strcmp("energy", kw1))
1429 {
1430 DoEnergy();
1431 return;
1432 }
1433
1434 if (!strcmp("geom_opt", kw1)) // todo: how to set the options here?
1435 {
1436 setup * su = GetCurrentSetup();
1437 static jobinfo_GeomOpt ji;
1438
1439 ji.prj = this;
1440 ji.go = geomopt_param(su); ji.go.Confirm();
1441 ji.show_dialog = false;
1442
1443 start_job_GeomOpt(& ji);
1444 return;
1445 }
1446
1447 if (!strcmp("mol_dyn", kw1)) // todo: how to set the options here?
1448 {
1449 setup * su = GetCurrentSetup();
1450 static jobinfo_MolDyn ji;
1451
1452 ji.prj = this;
1453 ji.md = moldyn_param(su); ji.md.Confirm();
1454 ji.show_dialog = false;
1455
1456 start_job_MolDyn(& ji);
1457 return;
1458 }
1459
1460 if (!strcmp("random_search", kw1))
1461 {
1462 char kw2[32]; istr >> kw2; // the 2nd keyword; cycles.
1463 char kw3[32]; istr >> kw3; // the 3rd keyword; optsteps.
1464
1465 static jobinfo_RandomSearch ji;
1466 char ** endptr = NULL;
1467
1468 ji.prj = this;
1469 ji.cycles = strtol(kw2, endptr, 10);
1470 ji.optsteps = strtol(kw3, endptr, 10);
1471
1472 start_job_RandomSearch(& ji);
1473 return;
1474 }
1475
1476 if (!strcmp("systematic_search", kw1))
1477 {
1478 char kw2[32]; istr >> kw2; // the 2nd keyword; divisions.
1479 char kw3[32]; istr >> kw3; // the 3rd keyword; optsteps.
1480
1481 char ** endptr = NULL;
1482 i32s divisions = strtol(kw2, endptr, 10);
1483 i32s optsteps = strtol(kw3, endptr, 10);
1484
1485 DoSystematicSearch(divisions, optsteps, true);
1486 return;
1487 }
1488
1489 if (!strcmp("montecarlo_search", kw1))
1490 {
1491 char kw2[32]; istr >> kw2; // the 2nd keyword; n_init_steps.
1492 char kw3[32]; istr >> kw3; // the 3rd keyword; n_simul_steps.
1493 char kw4[32]; istr >> kw4; // the 4th keyword; optsteps.
1494
1495 char ** endptr = NULL;
1496 i32s n_init_steps = strtol(kw2, endptr, 10);
1497 i32s n_simul_steps = strtol(kw3, endptr, 10);
1498 i32s optsteps = strtol(kw4, endptr, 10);
1499
1500 DoMonteCarloSearch(n_init_steps, n_simul_steps, optsteps, true);
1501 return;
1502 }
1503
1504 if (!strcmp("make_plot1", kw1))
1505 {
1506 char kw2[32]; istr >> kw2; // A
1507 char kw3[32]; istr >> kw3; // B
1508 char kw4[32]; istr >> kw4; // C
1509 char kw5[32]; istr >> kw5; // D
1510 char kw6[32]; istr >> kw6; // div
1511 char kw7[32]; istr >> kw7; // start_ang
1512 char kw8[32]; istr >> kw8; // end_ang
1513 char kw9[32]; istr >> kw9; // optsteps
1514 char ** endptr = NULL;
1515
1516 // show atom index 1,2,3,... to user ; it is 0,1,2,... internally!
1517 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1518
1519 i32s ia = strtol(kw2, endptr, 10) - 1;
1520 i32s ib = strtol(kw3, endptr, 10) - 1;
1521 i32s ic = strtol(kw4, endptr, 10) - 1;
1522 i32s id = strtol(kw5, endptr, 10) - 1;
1523 i32s div1 = strtol(kw6, endptr, 10);
1524 fGL start1 = strtod(kw7, endptr);
1525 fGL end1 = strtod(kw8, endptr);
1526
1527 i32s optsteps = strtol(kw9, endptr, 10);
1528
1529 DoEnergyPlot1D(ia, ib, ic, id, div1, start1, end1, optsteps);
1530 return;
1531 }
1532
1533 if (!strcmp("make_plot2", kw1))
1534 {
1535 char kw2[32]; istr >> kw2; // A
1536 char kw3[32]; istr >> kw3; // B
1537 char kw4[32]; istr >> kw4; // C
1538 char kw5[32]; istr >> kw5; // D
1539 char kw6[32]; istr >> kw6; // div
1540 char kw7[32]; istr >> kw7; // start_ang
1541 char kw8[32]; istr >> kw8; // end_ang
1542 char kw9[32]; istr >> kw9; // I
1543 char kwA[32]; istr >> kwA; // J
1544 char kwB[32]; istr >> kwB; // K
1545 char kwC[32]; istr >> kwC; // L
1546 char kwD[32]; istr >> kwD; // div
1547 char kwE[32]; istr >> kwE; // start_ang
1548 char kwF[32]; istr >> kwF; // end_ang
1549 char kwG[32]; istr >> kwG; // optsteps
1550 char ** endptr = NULL;
1551
1552 // show atom index 1,2,3,... to user ; it is 0,1,2,... internally!
1553 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1554
1555 i32s ia = strtol(kw2, endptr, 10) - 1;
1556 i32s ib = strtol(kw3, endptr, 10) - 1;
1557 i32s ic = strtol(kw4, endptr, 10) - 1;
1558 i32s id = strtol(kw5, endptr, 10) - 1;
1559 i32s div1 = strtol(kw6, endptr, 10);
1560 fGL start1 = strtod(kw7, endptr);
1561 fGL end1 = strtod(kw8, endptr);
1562
1563 i32s ii = strtol(kw9, endptr, 10) - 1;
1564 i32s ij = strtol(kwA, endptr, 10) - 1;
1565 i32s ik = strtol(kwB, endptr, 10) - 1;
1566 i32s il = strtol(kwC, endptr, 10) - 1;
1567 i32s div2 = strtol(kwD, endptr, 10);
1568 fGL start2 = strtod(kwE, endptr);
1569 fGL end2 = strtod(kwF, endptr);
1570
1571 i32s optsteps = strtol(kwG, endptr, 10);
1572
1573 DoEnergyPlot2D(ia, ib, ic, id, div1, start1, end1, ii, ij, ik, il, div2, start2, end2, optsteps);
1574 return;
1575 }
1576
1577 if (!strcmp("population_analysis_ESP", kw1))
1578 {
1579 setup1_qm * suqm = dynamic_cast<setup1_qm *>(current_setup);
1580 if (suqm == NULL) Message(_("Sorry, this is for QM models only!"));
1581 else
1582 {
1583 pop_ana_electrostatic pa(suqm);
1584 pa.DoPopAna();
1585
1586 // how to set the charge labels on in graphics?
1587 }
1588
1589 return;
1590 }
1591
1592 if (!strcmp("transition_state_search", kw1))
1593 {
1594 char kw2[32]; istr >> kw2; // the 2nd keyword; delta-E per step.
1595 char kw3[32]; istr >> kw3; // the 3rd keyword; initial force constant.
1596 char ** endptr = NULL;
1597
1598 fGL deltae = strtod(kw2, endptr);
1599 fGL initfc = strtod(kw3, endptr);
1600
1601 DoTransitionStateSearch(deltae, initfc);
1602 return;
1603 }
1604
1605 if (!strcmp("stationary_state_search", kw1))
1606 {
1607 char kw2[32]; istr >> kw2; // the 2nd keyword; steps.
1608 char ** endptr = NULL;
1609
1610 i32s steps = strtol(kw2, endptr, 10);
1611
1612 DoStationaryStateSearch(steps);
1613 return;
1614 }
1615
1616 if (!strcmp("set_current_orbital", kw1))
1617 {
1618 char kw2[32]; istr >> kw2; // the 2nd keyword; the orbital index.
1619
1620 char ** endptr = NULL;
1621 int index = strtol(kw2, endptr, 10);
1622 if (index < 0) index = 0;
1623
1624 qm_current_orbital = index;
1625
1626 ostringstream strR;
1627 strR << _("The current orbital is now ") << qm_current_orbital << "." << endl << ends;
1628 PrintToLog(strR.str().c_str());
1629 return;
1630 }
1631
1632 if (!strcmp("update_chains", kw1))
1633 {
1634 UpdateChains();
1635 PrintToLog("update_chains done.");
1636 return;
1637 }
1638
1639 if (!strcmp("build_amino", kw1))
1640 {
1641 char kw2[4096]; istr >> kw2; // sequence
1642 char kw3[32]; istr >> kw3; // helix/sheet (optional)
1643
1644 sb_chain_descriptor * sbcd = new sb_chain_descriptor(true);
1645
1646 for (int n1 = 0;n1 < strlen(kw2);n1++)
1647 {
1648 sbcd->AddRes1(kw2[n1]);
1649 }
1650
1651 // set only 3 torsions, and use defaults for the rest...
1652
1653 if (kw3[0] == 'h' || kw3[0] == 'H')
1654 {
1655 sbcd->def_tor.push_back(313.0 * M_PI / 180.0);
1656 sbcd->def_tor.push_back(180.0 * M_PI / 180.0);
1657 sbcd->def_tor.push_back(302.0 * M_PI / 180.0);
1658 }
1659 else
1660 {
1661 sbcd->def_tor.push_back(180.0 * M_PI / 180.0);
1662 sbcd->def_tor.push_back(180.0 * M_PI / 180.0);
1663 sbcd->def_tor.push_back(180.0 * M_PI / 180.0);
1664 }
1665
1666 model::amino_builder->Build(this, sbcd);
1667 delete sbcd;
1668
1669 UpdateAllGraphicsViews();
1670
1671 ostringstream strR;
1672 strR << _("built a sequence : ") << kw2 << endl << ends;
1673 PrintToLog(strR.str().c_str());
1674 return;
1675 }
1676
1677 if (!strcmp("build_nucleic", kw1))
1678 {
1679 char kw2[4096]; istr >> kw2; // sequence
1680
1681 sb_chain_descriptor * sbcd = new sb_chain_descriptor(true);
1682
1683 for (int n1 = 0;n1 < strlen(kw2);n1++)
1684 {
1685 sbcd->AddRes1(kw2[n1]);
1686 }
1687
1688 // set all 10 torsions...
1689
1690 sbcd->def_tor.push_back(261.0 * M_PI / 180.0);
1691 sbcd->def_tor.push_back(320.8 * M_PI / 180.0);
1692 sbcd->def_tor.push_back(208.6 * M_PI / 180.0);
1693 sbcd->def_tor.push_back(273.8 * M_PI / 180.0);
1694 sbcd->def_tor.push_back(105.6 * M_PI / 180.0);
1695 sbcd->def_tor.push_back(356.0 * M_PI / 180.0);
1696 sbcd->def_tor.push_back( 24.7 * M_PI / 180.0);
1697 sbcd->def_tor.push_back( 88.7 * M_PI / 180.0);
1698 sbcd->def_tor.push_back( 44.6 * M_PI / 180.0);
1699 sbcd->def_tor.push_back(264.6 * M_PI / 180.0);
1700
1701 model::nucleic_builder->Build(this, sbcd);
1702 delete sbcd;
1703
1704 UpdateAllGraphicsViews();
1705
1706 ostringstream strR;
1707 strR << _("built a sequence : ") << kw2 << endl << ends;
1708 PrintToLog(strR.str().c_str());
1709 return;
1710 }
1711
1712 if (!strcmp("orient", kw1))
1713 {
1714 fGL maxdim[3];
1715
1716 CenterCRDSet(0, true);
1717 OrientCRDSet(0, true, maxdim);
1718
1719 ostringstream strR;
1720 strR << _("maximum dimensions:") << endl << "X : " << maxdim[0] << endl;
1721 strR << "Y : " << maxdim[1] << endl << "Z : " << maxdim[2] << endl << ends;
1722 PrintToLog(strR.str().c_str());
1723
1724 UpdateAllGraphicsViews();
1725 return;
1726 }
1727
1728 if (!strcmp("solvate_box", kw1))
1729 {
1730 char kw2[32]; istr >> kw2; // xdim
1731 char kw3[32]; istr >> kw3; // ydim
1732 char kw4[32]; istr >> kw4; // zdim
1733 char kw5[32] = ""; istr >> kw5; // density (optional)
1734 char kw6[256] = ""; istr >> kw6; // filename (optional)
1735 char kw7[64] = ""; istr >> kw7; // export (optional)
1736
1737 char ** endptr = NULL;
1738 fGL xdim = strtod(kw2, endptr);
1739 fGL ydim = strtod(kw3, endptr);
1740 fGL zdim = strtod(kw4, endptr);
1741
1742 fGL density = 1.00; if (strlen(kw5) > 0) density = strtod(kw5, endptr);
1743 char * export_fn = NULL; if (!strcmp(kw7, "export")) export_fn = kw6;
1744
1745 dummy_project * solvent = NULL;
1746 if (strlen(kw6) > 0)
1747 {
1748 solvent = new dummy_project();
1749
1750 ostringstream fns;
1751 fns << kw6 << ".gpr" << ends;
1752
1753 ifstream ifile(fns.str().c_str(), ios::in);
1754 ReadGPR(* solvent, ifile, false);
1755 ifile.close();
1756 }
1757
1758 SolvateBox(xdim, ydim, zdim, density, solvent, export_fn);
1759 UpdateAllGraphicsViews();
1760 return;
1761 }
1762
1763 if (!strcmp("solvate_sphere", kw1))
1764 {
1765 char kw2[32]; istr >> kw2; // rad_solute
1766 char kw3[32]; istr >> kw3; // rad_solvent
1767 char kw4[32] = ""; istr >> kw4; // density (optional)
1768 char kw5[256] = ""; istr >> kw5; // filename (optional)
1769
1770 char ** endptr = NULL;
1771 // note 2005-01-02 : the MS compiler (vc7) choked on this
1772 // when the variable names rad1 and rad2 were used. HUH?!?!
1773 fGL radius1 = strtod(kw2, endptr);
1774 fGL radius2 = strtod(kw3, endptr);
1775
1776 fGL density = 1.00; // in kg/liter as usual...
1777 if (strlen(kw4) > 0) density = strtod(kw4, endptr);
1778
1779 dummy_project * solvent = NULL;
1780 if (strlen(kw5) > 0)
1781 {
1782 solvent = new dummy_project();
1783
1784 ostringstream fns;
1785 fns << kw5 << ".gpr" << ends;
1786
1787 ifstream ifile(fns.str().c_str(), ios::in);
1788 ReadGPR(* solvent, ifile, false);
1789 ifile.close();
1790 }
1791
1792 SolvateSphere(radius1, radius2, density, solvent);
1793 UpdateAllGraphicsViews();
1794 return;
1795 }
1796
1797 if (!strcmp("set_formal_charge", kw1))
1798 {
1799 char kw2[32]; istr >> kw2; // the 2nd keyword; index.
1800 char kw3[32]; istr >> kw3; // the 3rd keyword; charge.
1801 char ** endptr = NULL;
1802
1803 i32s index = strtol(kw2, endptr, 10);
1804 i32s charge = strtol(kw3, endptr, 10);
1805
1806 if (!IsIndexClean()) UpdateIndex();
1807
1808 atom * atmr = NULL;
1809 for (iter_al it1 = GetAtomsBegin();it1 != GetAtomsEnd();it1++)
1810 {
1811 if ((* it1).index == index) { atmr = & (* it1); break; }
1812 }
1813
1814 if (atmr != NULL)
1815 {
1816 atmr->formal_charge = charge;
1817 UpdateAllGraphicsViews(); // update the labels...
1818 }
1819 else
1820 {
1821 ostringstream strE;
1822 strE << _("Sorry, atom not found!") << endl << ends;
1823 PrintToLog(strE.str().c_str());
1824 }
1825 return;
1826 }
1827
1828 if (!strcmp("evaluate_Bfact", kw1))
1829 {
1830 EvaluateBFact();
1831 return;
1832 }
1833
1834 if (!strcmp("evaluate_diffconst", kw1))
1835 {
1836 char kw2[32]; istr >> kw2; // the 2nd keyword; dt.
1837
1838 char ** endptr = NULL;
1839 fGL dt = strtod(kw2, endptr);
1840
1841 EvaluateDiffConst(dt);
1842 return;
1843 }
1844
1845 // if the command is not recognized above, we will print out an error message here.
1846
1847 ostringstream strE;
1848 strE << _("ERROR : Unknown command : ") << command << endl;
1849 strE << _("The \"help\" command will give more information about command strings.") << endl;
1850 strE << ends;
1851
1852 PrintToLog(strE.str().c_str());
1853 }
1854
1855 /*##############################################*/
1856 /*##############################################*/
1857
1858 void project::DoDeleteCurrentObject(void)
1859 {
1860 if (selected_object != NULL)
1861 {
1862 bool test1 = base_app::GetAppB()->RemoveLight(selected_object);
1863 bool test2 = test1; if (!test1) test2 = RemoveObject(selected_object);
1864
1865 if (test2)
1866 {
1867 selected_object = NULL;
1868 UpdateAllGraphicsViews();
1869 }
1870 }
1871 }
1872
1873 void project::DoSwitchLocalLights(ogl_camera * cam, bool report)
1874 {
1875 cam->use_local_lights = !cam->use_local_lights;
1876 if (report) cout << _("local lights = ") << (cam->use_local_lights ? _("on") : _("off")) << endl;
1877 base_app::GetAppB()->SetupLights(cam); UpdateGraphicsViews(cam);
1878 }
1879
1880 void project::DoSwitchGlobalLights(ogl_camera * cam, bool report)
1881 {
1882 cam->use_global_lights = !cam->use_global_lights;
1883 if (report) cout << _("global lights = ") << (cam->use_global_lights ? _("on") : _("off")) << endl;
1884 base_app::GetAppB()->SetupLights(cam); UpdateGraphicsViews(cam);
1885 }
1886
1887 fGL project::GetDefaultFocus(void)
1888 {
1889 return 2.0;
1890 }
1891
1892 color_mode * project::GetDefaultColorMode(void)
1893 {
1894 return & project::cm_element;
1895 }
1896
1897 void project::SelectAll(void)
1898 {
1899 if (selected_object != NULL)
1900 {
1901 selected_object = NULL;
1902 }
1903
1904 iter_al it1 = atom_list.begin();
1905 while (it1 != atom_list.end()) (* it1++).flags |= ATOMFLAG_USER_SELECTED;
1906
1907 UpdateAllGraphicsViews();
1908 }
1909
1910 void project::InvertSelection(void)
1911 {
1912 if (selected_object != NULL)
1913 {
1914 selected_object = NULL;
1915 }
1916
1917 iter_al it1 = atom_list.begin();
1918 while (it1 != atom_list.end()) (* it1++).flags ^= ATOMFLAG_USER_SELECTED;
1919
1920 UpdateAllGraphicsViews();
1921 }
1922
1923 void project::HideSelected(void)
1924 {
1925 iter_al it1 = atom_list.begin();
1926 while (it1 != atom_list.end())
1927 {
1928 if ((* it1).flags & ATOMFLAG_USER_SELECTED)
1929 {
1930 (* it1).flags |= ATOMFLAG_USER_HIDDEN;
1931 }
1932
1933 it1++;
1934 }
1935
1936 UpdateAllGraphicsViews();
1937 }
1938
1939 void project::ShowSelected(void)
1940 {
1941 iter_al it1 = atom_list.begin();
1942 while (it1 != atom_list.end())
1943 {
1944 if ((* it1).flags & ATOMFLAG_USER_SELECTED)
1945 {
1946 (* it1).flags &= (~ATOMFLAG_USER_HIDDEN);
1947 }
1948
1949 it1++;
1950 }
1951
1952 UpdateAllGraphicsViews();
1953 }
1954
1955 void project::LockSelected(void)
1956 {
1957 iter_al it1 = atom_list.begin();
1958 while (it1 != atom_list.end())
1959 {
1960 if ((* it1).flags & ATOMFLAG_USER_SELECTED)
1961 {
1962 (* it1).flags |= ATOMFLAG_USER_LOCKED;
1963 }
1964
1965 it1++;
1966 }
1967
1968 UpdateAllGraphicsViews();
1969 }
1970
1971 void project::UnlockSelected(void)
1972 {
1973 iter_al it1 = atom_list.begin();
1974 while (it1 != atom_list.end())
1975 {
1976 if ((* it1).flags & ATOMFLAG_USER_SELECTED)
1977 {
1978 (* it1).flags &= (~ATOMFLAG_USER_LOCKED);
1979 }
1980
1981 it1++;
1982 }
1983
1984 UpdateAllGraphicsViews();
1985 }
1986
1987 void project::DeleteSelected(void)
1988 {
1989 if (selected_object != NULL)
1990 {
1991 selected_object = NULL; // is this right??? memoryleak at least...
1992 }
1993
1994 iter_al it1 = atom_list.begin();
1995 while (it1 != atom_list.end())
1996 {
1997 if ((* it1).flags & ATOMFLAG_USER_SELECTED)
1998 {
1999 RemoveAtom(it1);
2000 it1 = atom_list.begin(); // reset the search!!!
2001 }
2002 else it1++;
2003 }
2004
2005 UpdateAllGraphicsViews();
2006 }
2007
2008 bool project::TestAtom(atom * ref, rmode rm)
2009 {
2010 if (ref->flags & (ATOMFLAG_IS_HIDDEN | ATOMFLAG_USER_HIDDEN)) return false;
2011
2012 if (rm == Transform1 && (ref->flags & ATOMFLAG_USER_SELECTED)) return false;
2013 if (rm == Transform2 && !(ref->flags & ATOMFLAG_USER_SELECTED)) return false;
2014
2015 return true;
2016 }
2017
2018 bool project::TestBond(bond * ref, rmode rm)
2019 {
2020 if (ref->atmr[0]->flags & (ATOMFLAG_IS_HIDDEN | ATOMFLAG_USER_HIDDEN)) return false;
2021 if (ref->atmr[1]->flags & (ATOMFLAG_IS_HIDDEN | ATOMFLAG_USER_HIDDEN)) return false;
2022
2023 if (rm == Transform1 && (ref->atmr[0]->flags & ATOMFLAG_USER_SELECTED)) return false; // no need to study the another...
2024 if (rm == Transform2 && !(ref->atmr[0]->flags & ATOMFLAG_USER_SELECTED)) return false; // ...atom due to the test below?
2025
2026 bool test1 = (ref->atmr[0]->flags & ATOMFLAG_USER_SELECTED) ? true : false;
2027 bool test2 = (ref->atmr[1]->flags & ATOMFLAG_USER_SELECTED) ? true : false;
2028 if (rm != Normal && test1 != test2) return false;
2029
2030 if (ref->do_not_render_TSS_fixmelater) return false; // temporary, for transition_state_search only...
2031
2032 return true;
2033 }
2034
2035 void project::SetColor(color_mode * cm, atom * ref, bool black_and_white)
2036 {
2037 fGL select_color[3] = { 1.0, 0.0, 1.0 };
2038 fGL measure_color[3] = { 0.0, 1.0, 1.0 };
2039
2040 if (ref->flags & (ATOMFLAG_USER_SELECTED | ATOMFLAG_MEASURE_TOOL_SEL))
2041 {
2042 fGL * color = select_color;
2043 if (ref->flags & ATOMFLAG_MEASURE_TOOL_SEL) color = measure_color;
2044
2045 if (black_and_white) // if we have a red/blue stereo mode, average the colours to shades of gray!
2046 {
2047 fGL average = (color[0] + color[1] + color[2]) / 3.0;
2048 color[0] = color[1] = color[2] = average;
2049 }
2050
2051 glColor3f(color[0], color[1], color[2]);
2052 }
2053 else
2054 {
2055 static fGL color[4];
2056 cm->GetColor4(ref, -1, color);
2057
2058 if (black_and_white) // if we have a red/blue stereo mode, average the colours to shades of gray!
2059 {
2060 fGL average = (color[0] + color[1] + color[2]) / 3.0;
2061 color[0] = color[1] = color[2] = average;
2062 }
2063
2064 glColor3fv(color);
2065 }
2066 }
2067
2068 void project::DrawCylinder1(const fGL ** crd, const fGL ** col, const fGL * rad)
2069 {
2070 fGL rsum = rad[0] + rad[1];
2071
2072 for (i32s n1 = 0;n1 < 2;n1++)
2073 {
2074 glColor3fv(col[n1]);
2075
2076 v3d<fGL> crt = v3d<fGL>(crd[n1], crd[!n1]);
2077 fGL pol[3]; crt2pol(crt.data, pol);
2078
2079 const int resolution = 10;
2080
2081 GLUquadricObj * qo = gluNewQuadric();
2082 gluQuadricDrawStyle(qo, (GLenum) GLU_FILL); glPushMatrix();
2083
2084 glTranslated(crd[n1][0], crd[n1][1], crd[n1][2]);
2085
2086 glRotated(180.0 * pol[1] / M_PI, 0.0, 1.0, 0.0);
2087 glRotated(180.0 * pol[2] / M_PI, sin(-pol[1]), 0.0, cos(-pol[1]));
2088
2089 fGL length = crt.len() * rad[n1] / rsum;
2090 gluCylinder(qo, 0.1*rad[n1], 0.1*rad[!n1], length, resolution, resolution / 2);
2091
2092 glPopMatrix(); gluDeleteQuadric(qo);
2093 }
2094 }
2095
2096 void project::Render(oglview_wcl * wcl, rmode rm)
2097 {
2098 const fGL label_color[3] = { 0.0, 1.0, 1.0 }; // looks bad but won't fade easily into other colours...
2099
2100 bool accum = wcl->accumulate; if (rm != Normal) accum = false;
2101 //if (accum) { glClear(GL_ACCUM_BUFFER_BIT); UpdateAccumValues(); }
2102 //else if (rm != Transform2) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
2103
2104 if (use_boundary_potential && rm == Normal)
2105 {
2106 for (int loop = 0;loop < 2;loop++)
2107 {
2108 fGL radius;
2109
2110 if (!loop)
2111 {
2112 glColor3f(0.5, 0.0, 0.5);
2113 radius = saved_boundary_potential_rad_solute;
2114 }
2115 else
2116 {
2117 glColor3f(1.0, 0.0, 1.0);
2118 radius = saved_boundary_potential_rad_solvent;
2119 }
2120
2121 glPushMatrix();
2122 glTranslated(0.0, 0.0, 0.0); // TODO : set the engine::bp_center[] here!!!
2123
2124 glBegin(GL_LINES);
2125
2126 fGL ang1 = 0.0;
2127 fGL ca1 = radius * cos(ang1);
2128 fGL sa1 = radius * sin(ang1);
2129
2130 const i32s divisions = 12;
2131 for (i32s n1 = 0;n1 < divisions;n1++)
2132 {
2133 fGL ang2 = 2.0 * M_PI * ((fGL) (n1 + 1)) / (fGL) divisions;
2134 fGL ca2 = radius * cos(ang2);
2135 fGL sa2 = radius * sin(ang2);
2136
2137 glVertex3f(ca1, sa1, 0.0);
2138 glVertex3f(ca2, sa2, 0.0);
2139
2140 glVertex3f(ca1, 0.0, sa1);
2141 glVertex3f(ca2, 0.0, sa2);
2142
2143 glVertex3f(0.0, ca1, sa1);
2144 glVertex3f(0.0, ca2, sa2);
2145
2146 ang1 = ang2; ca1 = ca2; sa1 = sa2;
2147 }
2148
2149 glEnd();
2150
2151 glPopMatrix();
2152 }
2153 }
2154
2155 if (use_periodic_boundary_conditions && rm == Normal)
2156 {
2157 glLineWidth(1.0);
2158 glColor3f(1.0, 0.0, 1.0);
2159 glBegin(GL_LINES);
2160
2161 glVertex3f(-saved_periodic_box_HALFdim[0], -saved_periodic_box_HALFdim[1], +saved_periodic_box_HALFdim[2]);
2162 glVertex3f(+saved_periodic_box_HALFdim[0], -saved_periodic_box_HALFdim[1], +saved_periodic_box_HALFdim[2]);
2163
2164 glVertex3f(-saved_periodic_box_HALFdim[0], +saved_periodic_box_HALFdim[1], +saved_periodic_box_HALFdim[2]);
2165 glVertex3f(+saved_periodic_box_HALFdim[0], +saved_periodic_box_HALFdim[1], +saved_periodic_box_HALFdim[2]);
2166
2167 glVertex3f(-saved_periodic_box_HALFdim[0], -saved_periodic_box_HALFdim[1], -saved_periodic_box_HALFdim[2]);
2168 glVertex3f(+saved_periodic_box_HALFdim[0], -saved_periodic_box_HALFdim[1], -saved_periodic_box_HALFdim[2]);
2169
2170 glVertex3f(-saved_periodic_box_HALFdim[0], +saved_periodic_box_HALFdim[1], -saved_periodic_box_HALFdim[2]);
2171 glVertex3f(+saved_periodic_box_HALFdim[0], +saved_periodic_box_HALFdim[1], -saved_periodic_box_HALFdim[2]);
2172
2173 glVertex3f(-saved_periodic_box_HALFdim[0], -saved_periodic_box_HALFdim[1], -saved_periodic_box_HALFdim[2]);
2174 glVertex3f(-saved_periodic_box_HALFdim[0], -saved_periodic_box_HALFdim[1], +saved_periodic_box_HALFdim[2]);
2175
2176 glVertex3f(-saved_periodic_box_HALFdim[0], +saved_periodic_box_HALFdim[1], -saved_periodic_box_HALFdim[2]);
2177 glVertex3f(-saved_periodic_box_HALFdim[0], +saved_periodic_box_HALFdim[1], +saved_periodic_box_HALFdim[2]);
2178
2179 glVertex3f(+saved_periodic_box_HALFdim[0], -saved_periodic_box_HALFdim[1], -saved_periodic_box_HALFdim[2]);
2180 glVertex3f(+saved_periodic_box_HALFdim[0], -saved_periodic_box_HALFdim[1], +saved_periodic_box_HALFdim[2]);
2181
2182 glVertex3f(+saved_periodic_box_HALFdim[0], +saved_periodic_box_HALFdim[1], -saved_periodic_box_HALFdim[2]);
2183 glVertex3f(+saved_periodic_box_HALFdim[0], +saved_periodic_box_HALFdim[1], +saved_periodic_box_HALFdim[2]);
2184
2185 glVertex3f(-saved_periodic_box_HALFdim[0], -saved_periodic_box_HALFdim[1], -saved_periodic_box_HALFdim[2]);
2186 glVertex3f(-saved_periodic_box_HALFdim[0], +saved_periodic_box_HALFdim[1], -saved_periodic_box_HALFdim[2]);
2187
2188 glVertex3f(-saved_periodic_box_HALFdim[0], -saved_periodic_box_HALFdim[1], +saved_periodic_box_HALFdim[2]);
2189 glVertex3f(-saved_periodic_box_HALFdim[0], +saved_periodic_box_HALFdim[1], +saved_periodic_box_HALFdim[2]);
2190
2191 glVertex3f(+saved_periodic_box_HALFdim[0], -saved_periodic_box_HALFdim[1], -saved_periodic_box_HALFdim[2]);
2192 glVertex3f(+saved_periodic_box_HALFdim[0], +saved_periodic_box_HALFdim[1], -saved_periodic_box_HALFdim[2]);
2193
2194 glVertex3f(+saved_periodic_box_HALFdim[0], -saved_periodic_box_HALFdim[1], +saved_periodic_box_HALFdim[2]);
2195 glVertex3f(+saved_periodic_box_HALFdim[0], +saved_periodic_box_HALFdim[1], +saved_periodic_box_HALFdim[2]);
2196
2197 glEnd();
2198 }
2199
2200 if (wcl->enable_fog) glEnable(GL_FOG);
2201
2202 i32s layers = 0;
2203 //if (use_periodic_boundary_conditions && rm == Normal) layers = 1; // un-comment this to render the periodic images...
2204
2205 for (i32s r1 = -layers;r1 < (layers + 1);r1++)
2206 {
2207 for (i32s r2 = -layers;r2 < (layers + 1);r2++)
2208 {
2209 for (i32s r3 = -layers;r3 < (layers + 1);r3++)
2210 {
2211 glPushMatrix();
2212
2213 fGL trans1 = r1 * 2.0 * saved_periodic_box_HALFdim[0];
2214 fGL trans2 = r2 * 2.0 * saved_periodic_box_HALFdim[1];
2215 fGL trans3 = r3 * 2.0 * saved_periodic_box_HALFdim[2];
2216
2217 glTranslated(trans1, trans2, trans3);
2218
2219 RenderOnce(wcl, rm, accum);
2220
2221 glPopMatrix();
2222 }
2223 }
2224 }
2225
2226 if (accum) glAccum(GL_RETURN, 1.0);
2227 else if (rm != Transform2) RenderObjects(wcl);
2228
2229 if (wcl->label == LABEL_INDEX)
2230 {
2231 // show atom index 1,2,3,... to user ; it is 0,1,2,... internally!
2232 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2233
2234 i32s tmp1 = 1;
2235
2236 glColor3f(label_color[0], label_color[1], label_color[2]);
2237 for (iter_al it1 = atom_list.begin();it1 != atom_list.end();it1++)
2238 {
2239 if ((* it1).flags & ATOMFLAG_IS_HIDDEN) { tmp1++; continue; }
2240
2241 ostringstream str;
2242 str << tmp1++ << ends;
2243
2244 const fGL * cdata = (* it1).GetCRD(0);
2245 fGL x = cdata[0]; fGL y = cdata[1]; fGL z = cdata[2];
2246
2247 wcl->ogl_WriteString3D(str.str().c_str(), x, y, z);
2248 }
2249 }
2250 else if (wcl->label == LABEL_F_CHARGE)
2251 {
2252 glColor3f(label_color[0], label_color[1], label_color[2]);
2253 for (iter_al it1 = atom_list.begin();it1 != atom_list.end();it1++)
2254 {
2255 if ((* it1).flags & ATOMFLAG_IS_HIDDEN) continue;
2256
2257 ostringstream str;
2258 str.setf(ios::fixed | ios::showpos); str << (* it1).formal_charge << ends;
2259
2260 const fGL * cdata = (* it1).GetCRD(0);
2261 fGL x = cdata[0]; fGL y = cdata[1]; fGL z = cdata[2];
2262
2263 wcl->ogl_WriteString3D(str.str().c_str(), x, y, z);
2264 }
2265 }
2266 else if (wcl->label == LABEL_P_CHARGE)
2267 {
2268 glColor3f(label_color[0], label_color[1], label_color[2]);
2269 for (iter_al it1 = atom_list.begin();it1 != atom_list.end();it1++)
2270 {
2271 if ((* it1).flags & ATOMFLAG_IS_HIDDEN) continue;
2272
2273 ostringstream str;
2274 str.setf(ios::fixed | ios::showpos); str.precision(4); str << (* it1).charge << ends;
2275
2276 const fGL * cdata = (* it1).GetCRD(0);
2277 fGL x = cdata[0]; fGL y = cdata[1]; fGL z = cdata[2];
2278
2279 wcl->ogl_WriteString3D(str.str().c_str(), x, y, z);
2280 }
2281 }
2282 else if (wcl->label == LABEL_ELEMENT)
2283 {
2284 glColor3f(label_color[0], label_color[1], label_color[2]);
2285 for (iter_al it1 = atom_list.begin();it1 != atom_list.end();it1++)
2286 {
2287 if ((* it1).flags & ATOMFLAG_IS_HIDDEN) continue;
2288
2289 ostringstream str;
2290 str << (* it1).el.GetSymbol() << ends;
2291
2292 const fGL * cdata = (* it1).GetCRD(0);
2293 fGL x = cdata[0]; fGL y = cdata[1]; fGL z = cdata[2];
2294
2295 wcl->ogl_WriteString3D(str.str().c_str(), x, y, z);
2296 }
2297 }
2298 else if (wcl->label == LABEL_BUILDER_ID)
2299 {
2300 glColor3f(label_color[0], label_color[1], label_color[2]);
2301 for (iter_al it1 = atom_list.begin();it1 != atom_list.end();it1++)
2302 {
2303 if ((* it1).flags & ATOMFLAG_IS_HIDDEN) continue;
2304
2305 ostringstream str;
2306 str << "0x" << hex << (* it1).builder_res_id << ends;
2307
2308 const fGL * cdata = (* it1).GetCRD(0);
2309 fGL x = cdata[0]; fGL y = cdata[1]; fGL z = cdata[2];
2310
2311 wcl->ogl_WriteString3D(str.str().c_str(), x, y, z);
2312 }
2313 }
2314 else if (wcl->label == LABEL_ATOMTYPE)
2315 {
2316 glColor3f(label_color[0], label_color[1], label_color[2]);
2317 for (iter_al it1 = atom_list.begin();it1 != atom_list.end();it1++)
2318 {
2319 if ((* it1).flags & ATOMFLAG_IS_HIDDEN) continue;
2320
2321 ostringstream str;
2322 str << "0x" << hex << (* it1).atmtp << ends;
2323
2324 // str << "0x" << hex << (* it1).atmtp_E << ends; // debug...
2325 // str << (* it1).atmtp_s << ends; // debug...
2326
2327 /* if (!(* it1).atRS) str << "none" << ends;
2328 else
2329 {
2330 atomtype_mmRS * atmtp = (* it1).atRS;
2331 if (!atmtp) str << "0x" << hex << (* it1).atmtp << ends;
2332
2333 for (int n1 = 0;n1 < atmtp->GetSize();n1++)
2334 {
2335 str << "0x" << hex << atmtp->GetAtomType(n1) << " (" << atmtp->GetWeight(n1) << ")" << endl;
2336 } str << ends;
2337 } */
2338
2339 const fGL * cdata = (* it1).GetCRD(0);
2340 fGL x = cdata[0]; fGL y = cdata[1]; fGL z = cdata[2];
2341
2342 wcl->ogl_WriteString3D(str.str().c_str(), x, y, z);
2343 }
2344 }
2345 else if (wcl->label == LABEL_BONDTYPE)
2346 {
2347 glColor3f(label_color[0], label_color[1], label_color[2]);
2348 for (iter_bl it1 = bond_list.begin();it1 != bond_list.end();it1++)
2349 {
2350 if ((* it1).atmr[0]->flags & ATOMFLAG_IS_HIDDEN) continue;
2351 if ((* it1).atmr[1]->flags & ATOMFLAG_IS_HIDDEN) continue;
2352
2353 ostringstream str;
2354 str << (* it1).bt.GetSymbol1() << ends;
2355
2356 const fGL * cd1 = (* it1).atmr[0]->GetCRD(0); const fGL * cd2 = (* it1).atmr[1]->GetCRD(0);
2357 fGL x = (cd1[0] + cd2[0]) / 2.0; fGL y = (cd1[1] + cd2[1]) / 2.0; fGL z = (cd1[2] + cd2[2]) / 2.0;
2358
2359 wcl->ogl_WriteString3D(str.str().c_str(), x, y, z);
2360 }
2361 }
2362 else if (wcl->label == LABEL_RESIDUE)
2363 {
2364 if (ref_civ != NULL)
2365 {
2366 glColor3f(label_color[0], label_color[1], label_color[2]);
2367
2368 vector<chn_info> & ci_vector = (* ref_civ);
2369 for (i32u chn = 0;chn < ci_vector.size();chn++)
2370 {
2371 iter_al range1[2]; GetRange(1, chn, range1);
2372 const char * tmp_seq1 = ci_vector[chn].GetSequence1();
2373
2374 for (i32s res = 0;res < ci_vector[chn].GetLength();res++)
2375 {
2376 iter_al range2[2]; GetRange(2, range1, res, range2);
2377 fGL rescrd[3] = { 0.0, 0.0, 0.0 }; i32s counter = 0;
2378
2379 // SLOW because coordinates calculated on-the-fly!!! save them somewhere???
2380 // SLOW because coordinates calculated on-the-fly!!! save them somewhere???
2381 // SLOW because coordinates calculated on-the-fly!!! save them somewhere???
2382
2383 for (iter_al it1 = range2[0];it1 != range2[1];it1++)
2384 {
2385 const fGL * atmcrd = (* it1).GetCRD(0);
2386 rescrd[0] += atmcrd[0]; rescrd[1] += atmcrd[1]; rescrd[2] += atmcrd[2];
2387 counter++;
2388 }
2389
2390 fGL x = rescrd[0] / (fGL) counter;
2391 fGL y = rescrd[1] / (fGL) counter;
2392 fGL z = rescrd[2] / (fGL) counter;
2393
2394 // show chn/res index 1,2,3,... to user ; it is 0,1,2,... internally!
2395 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2396
2397 ostringstream str;
2398 str << tmp_seq1[res] << " (" << (chn + 1) << "/" << (res + 1) << ")" << ends;
2399
2400 wcl->ogl_WriteString3D(str.str().c_str(), x, y, z);
2401 }
2402 }
2403 }
2404 }
2405 else if (wcl->label == LABEL_SEC_STRUCT)
2406 {
2407 if (ref_civ != NULL)
2408 {
2409 glColor3f(label_color[0], label_color[1], label_color[2]);
2410
2411 vector<chn_info> & ci_vector = (* ref_civ);
2412 for (i32u chn = 0;chn < ci_vector.size();chn++)
2413 {
2414 iter_al range1[2]; GetRange(1, chn, range1);
2415 const char * tmp_states = ci_vector[chn].GetSecStrStates();
2416
2417 for (i32s res = 0;res < ci_vector[chn].GetLength();res++)
2418 {
2419 iter_al range2[2]; GetRange(2, range1, res, range2);
2420 fGL rescrd[3] = { 0.0, 0.0, 0.0 }; i32s counter = 0;
2421
2422 // SLOW because coordinates calculated on-the-fly!!! save them somewhere???
2423 // SLOW because coordinates calculated on-the-fly!!! save them somewhere???
2424 // SLOW because coordinates calculated on-the-fly!!! save them somewhere???
2425
2426 for (iter_al it1 = range2[0];it1 != range2[1];it1++)
2427 {
2428 const fGL * atmcrd = (* it1).GetCRD(0);
2429 rescrd[0] += atmcrd[0]; rescrd[1] += atmcrd[1]; rescrd[2] += atmcrd[2];
2430 counter++;
2431 }
2432
2433 fGL x = rescrd[0] / (fGL) counter;
2434 fGL y = rescrd[1] / (fGL) counter;
2435 fGL z = rescrd[2] / (fGL) counter;
2436
2437 ostringstream str;
2438 str << tmp_states[res] << ends;
2439
2440 wcl->ogl_WriteString3D(str.str().c_str(), x, y, z);
2441 }
2442 }
2443 }
2444 }
2445
2446 if (wcl->enable_fog) glDisable(GL_FOG);
2447
2448 // finally call this to handle transparency...
2449 // finally call this to handle transparency...
2450 // finally call this to handle transparency...
2451
2452 base_app::GetAppB()->RenderAllTPs(wcl->GetCam());
2453 }
2454
2455 void project::RenderOnce(oglview_wcl * wcl, rmode rm, bool accum)
2456 {
2457 bool do_bw = (wcl->GetCam()->stereo_mode && !wcl->GetCam()->stereo_relaxed);
2458
2459 for (i32u n1 = 0;n1 < cs_vector.size();n1++)
2460 {
2461 if (!GetCRDSetVisible(n1)) continue;
2462 if (accum) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // FIXME!!!
2463
2464 if (wcl->render == RENDER_WIREFRAME)
2465 {
2466 glPointSize(3.0); glLineWidth(1.0);
2467 for (iter_al it1 = atom_list.begin();it1 != atom_list.end();it1++) // wireframe atoms
2468 {
2469 if (!TestAtom(& (* it1), rm)) continue;
2470 glPushName(GLNAME_MD_TYPE1); glPushName((* it1).my_glname);
2471
2472 glBegin(GL_POINTS);
2473 SetColor(wcl->colormode, & (* it1), do_bw);
2474 glVertex3fv((* it1).GetCRD(n1));
2475 glEnd();
2476
2477 glPopName(); glPopName();
2478 }
2479
2480 glEnable(GL_LINE_STIPPLE);
2481 for (iter_bl it2 = bond_list.begin();it2 != bond_list.end();it2++) // wireframe bonds
2482 {
2483 if (!TestBond(& (* it2), rm)) continue;
2484
2485 switch ((* it2).bt.GetSymbol1())
2486 {
2487 case 'S': glLineStipple(1, 0xFFFF); break;
2488 case 'C': glLineStipple(1, 0x3FFF); break;
2489 case 'D': glLineStipple(1, 0x3F3F); break;
2490 case 'T': glLineStipple(1, 0x3333); break;
2491 }
2492
2493 glBegin(GL_LINES);
2494 SetColor(wcl->colormode, (* it2).atmr[0], do_bw);
2495 glVertex3fv((* it2).atmr[0]->GetCRD(n1));
2496 SetColor(wcl->colormode, (* it2).atmr[1], do_bw);
2497 glVertex3fv((* it2).atmr[1]->GetCRD(n1));
2498 glEnd();
2499 }
2500 glDisable(GL_LINE_STIPPLE);
2501 }
2502
2503 if (wcl->render != RENDER_WIREFRAME && wcl->render != RENDER_NOTHING)
2504 {
2505 glEnable(GL_LIGHTING);
2506
2507 for (iter_al it1 = atom_list.begin();it1 != atom_list.end();it1++) // atoms as spheres
2508 {
2509 if (!TestAtom(& (* it1), rm)) continue;
2510
2511 SetColor(wcl->colormode, & (* it1), do_bw);
2512
2513 float rad = 0.0; int res = 0;
2514 switch (wcl->render)
2515 {
2516 case RENDER_BALL_AND_STICK:
2517 rad = 0.035;
2518 res = 12;
2519 break;
2520
2521 case RENDER_VAN_DER_WAALS:
2522 rad = (* it1).vdwr;
2523 res = 22;
2524 break;
2525
2526 case RENDER_CYLINDERS:
2527 rad = 0.035;
2528 res = 12;
2529 break;
2530 }
2531
2532 glPushName(GLNAME_MD_TYPE1); glPushName((* it1).my_glname);
2533
2534 GLUquadricObj * qo = gluNewQuadric();
2535 gluQuadricDrawStyle(qo, (GLenum) GLU_FILL);
2536
2537 glPushMatrix();
2538 const fGL * cdata = (* it1).GetCRD(n1);
2539 glTranslated(cdata[0], cdata[1], cdata[2]);
2540 gluSphere(qo, rad, res, res / 2);
2541 glPopMatrix();
2542 gluDeleteQuadric(qo);
2543
2544 glPopName(); glPopName();
2545 }
2546
2547 glDisable(GL_LIGHTING);
2548 }
2549
2550 if (wcl->render == RENDER_BALL_AND_STICK || wcl->render == RENDER_CYLINDERS)
2551 {
2552 glEnable(GL_LIGHTING);
2553
2554 for (iter_bl it1 = bond_list.begin();it1 != bond_list.end();it1++) // bonds as cylinders
2555 {
2556 if (!TestBond(& (* it1), rm)) continue;
2557
2558 fGL vdwr[2] =
2559 {
2560 (* it1).atmr[0]->vdwr,
2561 (* it1).atmr[1]->vdwr
2562 };
2563
2564 fGL vdwrsum = vdwr[0] + vdwr[1];
2565
2566 for (i32s n2 = 0;n2 < 2;n2++)
2567 {
2568 const fGL * crd1 = (* it1).atmr[n2]->GetCRD(n1);
2569 const fGL * crd2 = (* it1).atmr[!n2]->GetCRD(n1);
2570 v3d<fGL> crt1 = v3d<fGL>(crd1);
2571 v3d<fGL> crt2 = v3d<fGL>(crd2);
2572 v3d<fGL> crt = crt2 - crt1;
2573
2574 fGL pol[3]; crt2pol(crt.data, pol);
2575
2576 SetColor(wcl->colormode, (* it1).atmr[n2], do_bw);
2577
2578 float trans, rad = 0.0; int res = 0;
2579 switch (wcl->render)
2580 {
2581 case RENDER_BALL_AND_STICK:
2582 rad = 0.01;
2583 res = 6;
2584 break;
2585
2586 case RENDER_CYLINDERS:
2587 rad = 0.035;
2588 res = 12;
2589 break;
2590 }
2591
2592 glPushName(GLNAME_MD_TYPE1); glPushName((* it1).atmr[n2]->my_glname);
2593
2594 GLUquadricObj * qo = gluNewQuadric();
2595 gluQuadricDrawStyle(qo, (GLenum) GLU_FILL);
2596 glPushMatrix();
2597
2598 glTranslated(crd1[0], crd1[1], crd1[2]);
2599
2600 glRotated(180.0 * pol[1] / M_PI, 0.0, 1.0, 0.0);
2601 glRotated(180.0 * pol[2] / M_PI, sin(-pol[1]), 0.0, cos(-pol[1]));
2602
2603 // any chance to further define the orientation of, for example, double bonds???
2604 // one more rotation would be needed. but what is the axis, and how much to rotate???
2605
2606 fGL length = crt.len() * vdwr[n2] / vdwrsum;
2607
2608 if (wcl->render == RENDER_BALL_AND_STICK)
2609 switch ((* it1).bt.GetValue())
2610 {
2611 case BONDTYPE_DOUBLE:
2612 trans = rad;
2613 rad = rad / 1.5;
2614
2615 if (n2)
2616 glTranslated(0.0, trans, 0.0);
2617 else
2618 glTranslated(0.0, -trans, 0.0);
2619 gluCylinder(qo, rad, rad, length, res, 1);
2620 if (n2)
2621 glTranslated(0.0, -2.0 * trans, 0.0);
2622 else
2623 glTranslated(0.0, 2.0 * trans, 0.0);
2624 gluCylinder(qo, rad, rad, length, res, 1);
2625 break;
2626
2627 case BONDTYPE_CNJGTD:
2628 trans = rad;
2629 rad = rad / 1.5;
2630
2631 if (n2)
2632 glTranslated(0.0, trans, 0.0);
2633 else
2634 glTranslated(0.0, -trans, 0.0);
2635 gluCylinder(qo, rad, rad, length, res, 1);
2636 if (n2)
2637 glTranslated(0.0, -2.0 * trans, 0.0);
2638 else
2639 glTranslated(0.0, 2.0 * trans, 0.0);
2640
2641 glEnable(GL_LINE_STIPPLE);
2642 glLineStipple(1, 0x3F3F);
2643 gluQuadricDrawStyle(qo, (GLenum) GLU_LINE);
2644 gluCylinder(qo, rad, rad, length, res, 1);
2645 glDisable(GL_LINE_STIPPLE);
2646 break;
2647
2648 case BONDTYPE_TRIPLE:
2649 trans = rad;
2650 rad = rad / 2.0;
2651
2652 if (n2)
2653 glTranslated(0.0, trans, 0.0);
2654 else
2655 glTranslated(0.0, -trans, 0.0);
2656 gluCylinder(qo, rad, rad, length, res, 1);
2657 if (n2)
2658 glTranslated(0.0, -trans, 0.0);
2659 else
2660 glTranslated(0.0, trans, 0.0);
2661 gluCylinder(qo, rad, rad, length, res, 1);
2662 if (n2)
2663 glTranslated(0.0, -trans, 0.0);
2664 else
2665 glTranslated(0.0, trans, 0.0);
2666 gluCylinder(qo, rad, rad, length, res,1);
2667 break;
2668
2669 default:
2670 gluCylinder(qo, rad, rad, length, res, 1);
2671 }
2672 else
2673 gluCylinder(qo, rad, rad, length, res, 1);
2674
2675 glPopMatrix();
2676 gluDeleteQuadric(qo);
2677
2678 glPopName(); glPopName();
2679 }
2680 }
2681
2682 glDisable(GL_LIGHTING);
2683 }
2684
2685 // render the additional stuff related to SF.
2686 // render the additional stuff related to SF.
2687 // render the additional stuff related to SF.
2688
2689 setup1_sf * susf = dynamic_cast<setup1_sf *>(current_setup);
2690 if (susf != NULL)
2691 {
2692 if (susf->mode == setup1_sf::modeP3)
2693 {
2694 for (i32u n2 = 0;n2 < susf->hi_vector.size();n2++) // helix constraints
2695 {
2696 glEnable(GL_LINE_STIPPLE);
2697 glLineStipple(1, 0x3333);
2698
2699 glBegin(GL_LINES);
2700 glColor3f(0.20, 1.00, 0.10);
2701
2702 const int sz = susf->hi_vector[n2].ca_H_don.size();
2703 if (sz != (int) susf->hi_vector[n2].ca_H_acc.size()) assertion_failed(__FILE__, __LINE__, "donHmc/accHmc mismatch");
2704
2705 for (i32u n3 = 0;n3 < sz;n3++)
2706 {
2707 const fGL * crd1 = susf->hi_vector[n2].ca_H_don[n3]->GetCRD(n1);
2708 const fGL * crd2 = susf->hi_vector[n2].ca_H_acc[n3]->GetCRD(n1);
2709
2710 glVertex3fv(crd1);
2711 glVertex3fv(crd2);
2712 }
2713
2714 glEnd();
2715 glDisable(GL_LINE_STIPPLE);
2716 }
2717
2718 for (i32u n2 = 0;n2 < susf->sp_vector.size();n2++) // strand constraints ; straight
2719 {
2720 glEnable(GL_LINE_STIPPLE);
2721 glLineStipple(1, 0x3333);
2722
2723 glBegin(GL_LINES);
2724 glColor3f(0.20, 1.00, 0.10);
2725
2726 const int sz = susf->sp_vector[n2].ca_S_2x.size();
2727 if (sz % 2 != 0) assertion_failed(__FILE__, __LINE__, "ca_S_2x has an odd size.");
2728
2729 for (i32u n3 = 0;n3 < sz;n3 += 2)
2730 {
2731 const fGL * crd1 = susf->sp_vector[n2].ca_S_2x[n3 + 0]->GetCRD(n1);
2732 const fGL * crd2 = susf->sp_vector[n2].ca_S_2x[n3 + 1]->GetCRD(n1);
2733
2734 glVertex3fv(crd1);
2735 glVertex3fv(crd2);
2736 }
2737
2738 glEnd();
2739 glDisable(GL_LINE_STIPPLE);
2740 }
2741
2742 for (i32u n2 = 0;n2 < susf->sp_vector.size();n2++) // strand constraints ; crossed
2743 {
2744 glEnable(GL_LINE_STIPPLE);
2745 glLineStipple(1, 0x3333);
2746
2747 glBegin(GL_LINES);
2748 glColor3f(0.80, 1.00, 0.10);
2749
2750 const int sz = susf->sp_vector[n2].cx_S_2x.size();
2751 if (sz % 2 != 0) assertion_failed(__FILE__, __LINE__, "cx_S_2x has an odd size.");
2752
2753 for (i32u n3 = 0;n3 < sz;n3 += 2)
2754 {
2755 const fGL * crd1 = susf->sp_vector[n2].cx_S_2x[n3 + 0]->GetCRD(n1);
2756 const fGL * crd2 = susf->sp_vector[n2].cx_S_2x[n3 + 1]->GetCRD(n1);
2757
2758 glVertex3fv(crd1);
2759 glVertex3fv(crd2);
2760 }
2761
2762 glEnd();
2763 glDisable(GL_LINE_STIPPLE);
2764 }
2765 }
2766 else
2767 {
2768 for (i32u n2 = 0;n2 < susf->hi_vector.size();n2++) // helix constraints
2769 {
2770 glEnable(GL_LINE_STIPPLE);
2771 glLineStipple(1, 0x3333);
2772
2773 glBegin(GL_LINES);
2774 glColor3f(0.20, 1.00, 0.10);
2775
2776 const int sz = susf->hi_vector[n2].mc_H_don.size();
2777 if (sz != (int) susf->hi_vector[n2].mc_H_acc.size()) assertion_failed(__FILE__, __LINE__, "mc_H_don/mc_H_acc mismatch");
2778
2779 for (i32u n3 = 0;n3 < sz;n3++)
2780 {
2781 const fGL * crd1 = susf->hi_vector[n2].mc_H_don[n3]->GetCRD(n1);
2782 const fGL * crd2 = susf->hi_vector[n2].mc_H_acc[n3]->GetCRD(n1);
2783
2784 glVertex3fv(crd1);
2785 glVertex3fv(crd2);
2786 }
2787
2788 glEnd();
2789 glDisable(GL_LINE_STIPPLE);
2790 }
2791
2792 for (i32u n2 = 0;n2 < susf->sp_vector.size();n2++) // strand constraints
2793 {
2794 glEnable(GL_LINE_STIPPLE);
2795 glLineStipple(1, 0x3333);
2796
2797 glBegin(GL_LINES);
2798 glColor3f(0.20, 1.00, 0.10);
2799
2800 const int sz = susf->sp_vector[n2].mc_S_don.size();
2801 if (sz != (int) susf->sp_vector[n2].mc_S_acc.size()) assertion_failed(__FILE__, __LINE__, "mc_S_don/mc_S_acc mismatch");
2802
2803 for (i32u n3 = 0;n3 < sz;n3++)
2804 {
2805 const fGL * crd1 = susf->sp_vector[n2].mc_S_don[n3]->GetCRD(n1);
2806 const fGL * crd2 = susf->sp_vector[n2].mc_S_acc[n3]->GetCRD(n1);
2807
2808 glVertex3fv(crd1);
2809 glVertex3fv(crd2);
2810 }
2811
2812 glEnd();
2813 glDisable(GL_LINE_STIPPLE);
2814 }
2815 }
2816
2817 if (susf->mode != setup1_sf::modeUA) // the Px-specific rendering starts here...
2818 {
2819 for (i32u n2 = 0;n2 < susf->chn_vector.size();n2++) // protein chains...
2820 {
2821 if (susf->mode == setup1_sf::modeP3)
2822 {
2823 for (i32s n3 = 0;n3 < ((i32s) susf->chn_vector[n2].res_vector.size()) - 1;n3++)
2824 {
2825 i32s ind1[3] = { n2, n3 + 0, 0 };
2826 i32s ind2[3] = { n2, n3 + 1, 0 };
2827
2828 const fGL * crd1 = susf->chn_vector[ind1[0]].res_vector[ind1[1]].GetRefA(ind1[2])->GetCRD(n1);
2829 const fGL * crd2 = susf->chn_vector[ind2[0]].res_vector[ind2[1]].GetRefA(ind2[2])->GetCRD(n1);
2830 const fGL * crd[2] = { crd1, crd2 };
2831
2832 fGL col1[4] = { 0.8, 0.8, 0.6, 1.0 }; // todo...
2833 fGL col2[4] = { 0.8, 0.8, 0.6, 1.0 }; // todo...
2834 const fGL * col[2] = { col1, col2 };
2835
2836 fGL rad[2] =
2837 {
2838 susf->chn_vector[ind1[0]].res_vector[ind1[1]].GetRefA(ind1[2])->vdwr,
2839 susf->chn_vector[ind2[0]].res_vector[ind2[1]].GetRefA(ind2[2])->vdwr
2840 };
2841
2842 if (wcl->render == RENDER_WIREFRAME)
2843 {
2844 glBegin(GL_LINES);
2845 glColor3fv(col1); glVertex3fv(crd1);
2846 glColor3fv(col2); glVertex3fv(crd2);
2847 glEnd();
2848 }
2849 else if (wcl->render != RENDER_NOTHING)
2850 {
2851 glEnable(GL_LIGHTING);
2852 DrawCylinder1(crd, col, rad);
2853 glDisable(GL_LIGHTING);
2854 }
2855 }
2856 }
2857
2858 for (i32u n3 = 0;n3 < susf->chn_vector[n2].res_vector.size();n3++)
2859 {
2860 const bool is_PRO = (susf->chn_vector[n2].res_vector[n3].GetSymbol() == 'P');
2861
2862 int n_sc_bonds = susf->chn_vector[n2].res_vector[n3].GetNumA() - 1;
2863 if (susf->mode == setup1_sf::modeP5)
2864 {
2865 n_sc_bonds -= 2;
2866 if (is_PRO) n_sc_bonds++;
2867 }
2868
2869 for (i32s n4 = 0;n4 < n_sc_bonds;n4++)
2870 {
2871 i32s ind1[3] = { n2, n3, NOT_DEFINED };
2872 i32s ind2[3] = { n2, n3, NOT_DEFINED };
2873
2874 if (susf->mode == setup1_sf::modeP3)
2875 {
2876 if (!n4) { ind1[2] = 0; ind2[2] = 1; }
2877 else { ind1[2] = 1; ind2[2] = 2; }
2878 }
2879 else
2880 {
2881 if (!n4) { ind1[2] = 1; ind2[2] = 3; }
2882 else
2883 {
2884 if (!is_PRO) { ind1[2] = 3; ind2[2] = 4; }
2885 else { ind1[2] = 3; ind2[2] = 0; }
2886 }
2887 }
2888
2889 const fGL * crd1 = susf->chn_vector[ind1[0]].res_vector[ind1[1]].GetRefA(ind1[2])->GetCRD(n1);
2890 const fGL * crd2 = susf->chn_vector[ind2[0]].res_vector[ind2[1]].GetRefA(ind2[2])->GetCRD(n1);
2891 const fGL * crd[2] = { crd1, crd2 };
2892
2893 fGL col1[4] = { 0.6, 0.8, 0.8, 1.0 }; // todo...
2894 fGL col2[4] = { 0.6, 0.8, 0.8, 1.0 }; // todo...
2895 const fGL * col[2] = { col1, col2 };
2896
2897 fGL rad[2] =
2898 {
2899 susf->chn_vector[ind1[0]].res_vector[ind1[1]].GetRefA(ind1[2])->vdwr,
2900 susf->chn_vector[ind2[0]].res_vector[ind2[1]].GetRefA(ind2[2])->vdwr
2901 };
2902
2903 if (wcl->render == RENDER_WIREFRAME)
2904 {
2905 glBegin(GL_LINES);
2906 glColor3fv(col1); glVertex3fv(crd1);
2907 glColor3fv(col2); glVertex3fv(crd2);
2908 glEnd();
2909 }
2910 else if (wcl->render != RENDER_NOTHING)
2911 {
2912 glEnable(GL_LIGHTING);
2913 DrawCylinder1(crd, col, rad);
2914 glDisable(GL_LIGHTING);
2915 }
2916 }
2917 }
2918 }
2919
2920 /* for (i32s n2 = 0;n2 < (i32s) susf->dsb_vector.size();n2++) // disulphide bridges.
2921 {
2922 i32s ind1[3] = { susf->dsb_vector[n2].GetChn(0), susf->dsb_vector[n2].GetRes(0), 3 };
2923 i32s ind2[3] = { susf->dsb_vector[n2].GetChn(1), susf->dsb_vector[n2].GetRes(1), 3 };
2924
2925 const fGL * crd1 = susf->chn_vector[ind1[0]].res_vector[ind1[1]].GetRefA(ind1[2])->GetCRD(n1);
2926 const fGL * crd2 = susf->chn_vector[ind2[0]].res_vector[ind2[1]].GetRefA(ind2[2])->GetCRD(n1);
2927 const fGL * crd[2] = { crd1, crd2 };
2928
2929 fGL col1[4] = { 1.0, 1.0, 0.0, 1.0 }; // todo...
2930 fGL col2[4] = { 1.0, 1.0, 0.0, 1.0 }; // todo...
2931 const fGL * col[2] = { col1, col2 };
2932
2933 fGL rad[2] =
2934 {
2935 susf->chn_vector[ind1[0]].res_vector[ind1[1]].GetRefA(ind1[2])->vdwr,
2936 susf->chn_vector[ind2[0]].res_vector[ind2[1]].GetRefA(ind2[2])->vdwr
2937 };
2938
2939 if (wcl->render == RENDER_WIREFRAME)
2940 {
2941 glBegin(GL_LINES);
2942 glColor3fv(col1); glVertex3fv(crd1);
2943 glColor3fv(col2); glVertex3fv(crd2);
2944 glEnd();
2945 }
2946 else
2947 {
2948 glEnable(GL_LIGHTING);
2949 DrawCylinder1(crd, col, rad);
2950 glDisable(GL_LIGHTING);
2951 }
2952 } */
2953 }
2954 }
2955
2956 /*//////////////////////////////////////////////////////////////////////////////////////////////////
2957 ////////////////////////////////////////////////////////////////////////////////////////////////////
2958 glEnable(GL_LIGHTING); glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, true); glBegin(GL_QUADS);
2959 // do not take the direction from any array, but calculate it using N/C/O???
2960 for (iter_bl it1 = bond_list.begin();it1 != bond_list.end();it1++) // sf peptide dipoles...
2961 {
2962 if ((* it1).sf_pbdd < -1000.0) continue;
2963
2964 //char symbol2 = chn_vector[n2].res_vector[n3 + 1].symbol;
2965 //if (symbol2 == 'P') continue; // skip all X-pro cases !!!
2966
2967 atom * prev = NULL;
2968 atom * curr = (* it1).atmr[0];
2969 atom * next = (* it1).atmr[1];
2970
2971 // WARNING!!! this is pretty slow!!! need to find the previous c-alpha.
2972 iter_cl it2;
2973 for (it2 = curr->cr_list.begin();it2 != curr->cr_list.end();it2++)
2974 {
2975 if ((* it2).atmr == next) continue;
2976
2977 if ((* it2).atmr->el.GetAtomicNumber() > 0) continue;
2978 if ((* it2).atmr->sf_atmtp & 0xFF) continue;
2979
2980 prev = (* it2).atmr;
2981 break;
2982 }
2983
2984 if (!prev) continue;
2985
2986 v3d<fGL> v1(prev->GetCRD(n1), curr->GetCRD(n1));
2987 v3d<fGL> v2(curr->GetCRD(n1), next->GetCRD(n1));
2988
2989 v3d<fGL> v3 = v1.vpr(v2); v3 = v3 * (0.075 / v3.len());
2990 v3d<fGL> v4 = v3.vpr(v2); v4 = v4 * (0.075 / v4.len());
2991
2992 fGL peptide = (* it1).sf_pbdd; // this is the same for all crd_sets!!!
2993 v3d<fGL> v5 = (v3 * sin(peptide)) + (v4 * cos(peptide));
2994
2995 fGL peptnorm = peptide - M_PI / 2.0;
2996 v3d<fGL> normal = (v3 * sin(peptnorm)) + (v4 * cos(peptnorm));
2997 normal = normal / normal.len(); glNormal3fv(normal.data);
2998
2999 v3d<fGL> pvc(curr->GetCRD(n1));
3000 v3d<fGL> pv1 = pvc + (v2 * 0.5) + v5; v3d<fGL> pv2 = pvc + (v2 * 0.90);
3001 v3d<fGL> pv3 = pvc + (v2 * 0.5) - v5; v3d<fGL> pv4 = pvc + (v2 * 0.10);
3002
3003 glColor3f(1.0, 0.0, 0.0); glVertex3fv(pv1.data);
3004 glColor3f(0.0, 1.0, 0.0); glVertex3fv(pv2.data);
3005 glColor3f(0.0, 0.0, 1.0); glVertex3fv(pv3.data);
3006 glColor3f(0.0, 1.0, 0.0); glVertex3fv(pv4.data);
3007 }
3008 glEnd(); // GL_QUADS
3009 glDisable(GL_LIGHTING); glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, false);
3010 ////////////////////////////////////////////////////////////////////////////////////////////////////
3011 //////////////////////////////////////////////////////////////////////////////////////////////////*/
3012
3013 if (accum)
3014 {
3015 RenderObjects(wcl);
3016 glAccum(GL_ACCUM, cs_vector[n1]->accum_value);
3017 }
3018 }
3019 }
3020
3021 void project::RenderObjects(oglview_wcl * wcl)
3022 {
3023 base_app::GetAppB()->RenderLights(wcl->GetCam());
3024
3025 for (i32u n1 = 0;n1 < object_vector.size();n1++)
3026 {
3027 if (object_vector[n1]->transparent) continue;
3028
3029 object_vector[n1]->Render();
3030 }
3031 }
3032
3033 void project::BeginClientTransformation(ogl_transformer * p1)
3034 {
3035 i32s sum = 0;
3036 p1->GetLD()->crd[0] = 0.0;
3037 p1->GetLD()->crd[1] = 0.0;
3038 p1->GetLD()->crd[2] = 0.0;
3039
3040 for (iter_al it1 = atom_list.begin();it1 != atom_list.end();it1++)
3041 {
3042 if (!((* it1).flags & ATOMFLAG_USER_SELECTED)) continue;
3043 for (i32u n1 = 0;n1 < cs_vector.size();n1++)
3044 {
3045 sum++;
3046 const fGL * cdata = (* it1).GetCRD(n1);
3047 p1->GetLD()->crd[0] += cdata[0];
3048 p1->GetLD()->crd[1] += cdata[1];
3049 p1->GetLD()->crd[2] += cdata[2];
3050 }
3051 }
3052
3053 if (!sum) return;
3054
3055 p1->GetLD()->crd[0] /= (fGL) sum;
3056 p1->GetLD()->crd[1] /= (fGL) sum;
3057 p1->GetLD()->crd[2] /= (fGL) sum;
3058
3059 for (iter_al it1 = atom_list.begin();it1 != atom_list.end();it1++)
3060 {
3061 if (!((* it1).flags & ATOMFLAG_USER_SELECTED)) continue;
3062 for (i32u n1 = 0;n1 < cs_vector.size();n1++)
3063 {
3064 const fGL * cdata = (* it1).GetCRD(n1);
3065
3066 fGL x = cdata[0] - p1->GetSafeLD()->crd[0];
3067 fGL y = cdata[1] - p1->GetSafeLD()->crd[1];
3068 fGL z = cdata[2] - p1->GetSafeLD()->crd[2];
3069
3070 (* it1).SetCRD(n1, x, y, z);
3071 }
3072 }
3073 }
3074
3075 void project::EndClientTransformation(ogl_transformer * p1)
3076 {
3077 fGL matrix[16]; p1->GetMatrix(matrix);
3078
3079 for (iter_al it1 = atom_list.begin();it1 != atom_list.end();it1++)
3080 {
3081 if (!((* it1).flags & ATOMFLAG_USER_SELECTED)) continue;
3082
3083 for (i32u n1 = 0;n1 < cs_vector.size();n1++)
3084 {
3085 oglv3d<fGL> posv = oglv3d<fGL>((* it1).GetCRD(n1));
3086 TransformVector(posv, matrix);
3087
3088 (* it1).SetCRD(n1, posv[0], posv[1], posv[2]);
3089 }
3090 }
3091
3092 UpdateAllGraphicsViews(); // re-draw the bonds across selection boundary!!!
3093 }
3094
3095 void project::DrawEvent(oglview_wcl * oglwcl, vector<iGLu> & names)
3096 {
3097 if (mouseinfo::button == mouseinfo::bRight) return; // the right button is for popup menus...
3098 if (project::background_job_running) return; // protect the model-data during background jobs...
3099
3100 i32s mouse[2] =
3101 {
3102 mouseinfo::latest_x,
3103 mouseinfo::latest_y
3104 };
3105
3106 if (mouseinfo::state == mouseinfo::sDown)
3107 {
3108 if (names.size() > 1 && names[0] == GLNAME_MD_TYPE1)
3109 {
3110 draw_data[0] = (atom *) base_app::GetAppB()->FindPtrByGLName(names[1]);
3111 }
3112 else
3113 {
3114 fGL tmp1[3]; oglwcl->GetCRD(mouse, tmp1);
3115 atom newatom(element::current_element, tmp1, cs_vector.size());
3116
3117 AddAtom_lg(newatom);
3118
3119 draw_data[0] = & atom_list.back();
3120 }
3121 }
3122 else
3123 {
3124 if (names.size() > 1 && names[0] == GLNAME_MD_TYPE1)
3125 {
3126 draw_data[1] = (atom *) base_app::GetAppB()->FindPtrByGLName(names[1]);
3127 }
3128 else
3129 {
3130 fGL tmp1[3]; oglwcl->GetCRD(mouse, tmp1);
3131 atom newatom(element::current_element, tmp1, cs_vector.size());
3132
3133 AddAtom_lg(newatom);
3134
3135 draw_data[1] = & atom_list.back();
3136 }
3137
3138 // if different: update bondtype or add a new bond.
3139 // if not different: change atom to different element.
3140
3141 if (draw_data[0] != draw_data[1])
3142 {
3143 bond newbond(draw_data[0], draw_data[1], bondtype::current_bondtype);
3144 iter_bl it1 = find(bond_list.begin(), bond_list.end(), newbond);
3145 if (it1 != bond_list.end())
3146 {
3147 SystemWasModified();
3148
3149 (* it1).bt = bondtype::current_bondtype;
3150
3151 custom_app::GetAppC()->BondUpdateItem(& (* it1));
3152 }
3153 else AddBond(newbond);
3154 }
3155 else
3156 {
3157 SystemWasModified();
3158
3159 draw_data[0]->el = element::current_element;
3160 draw_data[0]->mass = element::current_element.GetAtomicMass(); // also need to update these...
3161 draw_data[0]->vdwr = element::current_element.GetVDWRadius(); // also need to update these...
3162
3163 custom_app::GetAppC()->AtomUpdateItem(draw_data[0]);
3164 }
3165
3166 UpdateAllGraphicsViews();
3167 }
3168 }
3169
3170 void project::EraseEvent(oglview_wcl * oglwcl, vector<iGLu> & names)
3171 {
3172 if (mouseinfo::button == mouseinfo::bRight) return; // the right button is for popup menus...
3173 if (project::background_job_running) return; // protect the model-data during background jobs...
3174
3175 if (mouseinfo::state == mouseinfo::sDown)
3176 {
3177 if (names.size() > 1 && names[0] == GLNAME_MD_TYPE1)
3178 {
3179 draw_data[0] = (atom *) base_app::GetAppB()->FindPtrByGLName(names[1]);
3180 }
3181 else
3182 {
3183 draw_data[0] = NULL;
3184 }
3185 }
3186 else
3187 {
3188 if (names.size() > 1 && names[0] == GLNAME_MD_TYPE1)
3189 {
3190 draw_data[1] = (atom *) base_app::GetAppB()->FindPtrByGLName(names[1]);
3191 }
3192 else
3193 {
3194 draw_data[1] = NULL;
3195 }
3196
3197 if (!draw_data[0] || !draw_data[1]) return;
3198
3199 // if different: try to find and remove a bond ; may or may not succeed.
3200 // if not different: try to find and remove an atom ; SHOULD ALWAYS SUCCEED!
3201
3202 if (draw_data[0] != draw_data[1])
3203 {
3204 bond tmpbond(draw_data[0], draw_data[1], bondtype::current_bondtype);
3205 iter_bl it1 = find(bond_list.begin(), bond_list.end(), tmpbond);
3206
3207 if (it1 != bond_list.end()) RemoveBond(it1);
3208 else return;
3209 }
3210 else
3211 {
3212 iter_al it1 = find(atom_list.begin(), atom_list.end(), (* draw_data[0]));
3213
3214 if (it1 != atom_list.end())
3215 {
3216 RemoveAtom(it1);
3217
3218 // removing an atom will cause changes in atom indexing -> must update all atoms and bonds in pv!!!
3219 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3220
3221 for (iter_al it1 = atom_list.begin();it1 != atom_list.end();it1++)
3222 {
3223 custom_app::GetAppC()->AtomUpdateItem(& (* it1));
3224 }
3225
3226 for (iter_bl it1 = bond_list.begin();it1 != bond_list.end();it1++)
3227 {
3228 custom_app::GetAppC()->BondUpdateItem(& (* it1));
3229 }
3230 }
3231 else
3232 {
3233 assertion_failed(__FILE__, __LINE__, "atom not found.");
3234 }
3235 }
3236
3237 UpdateAllGraphicsViews();
3238 }
3239 }
3240
3241 void project::SelectEvent(oglview_wcl *, vector<iGLu> & names)
3242 {
3243 if (project::background_job_running) return; // protect the model-data during background jobs...
3244
3245 if (names[0] == GLNAME_MD_TYPE1)
3246 {
3247 atom * ref = (atom *) base_app::GetAppB()->FindPtrByGLName(names[1]);
3248 bool selected = (ref->flags & ATOMFLAG_USER_SELECTED);
3249
3250 if (custom_app::GetCurrentSelectMode() == custom_app::smResidue || custom_app::GetCurrentSelectMode() == custom_app::smChain)
3251 {
3252 if (ref_civ == NULL)
3253 {
3254 ostringstream str;
3255 str << _("Group information about chains/residues is needed for this operation.") << endl;
3256 str << _("Is it OK to update group information?") << ends;
3257
3258 bool update = Question(str.str().c_str());
3259 if (!update) return;
3260
3261 UpdateChains();
3262 }
3263
3264 bool no_info = false;
3265 if (ref->id[1] == NOT_DEFINED) no_info = true;
3266 if (custom_app::GetCurrentSelectMode() == custom_app::smResidue && ref->id[2] == NOT_DEFINED) no_info = true;
3267
3268 if (no_info)
3269 {
3270 Message(_("Sorry, no chain/residue information available for this atom."));
3271 return;
3272 }
3273 }
3274
3275 if (custom_app::GetCurrentSelectMode() == custom_app::smMolecule)
3276 {
3277 if (!IsGroupsClean()) UpdateGroups();
3278 }
3279
3280 iter_al it1;
3281 iter_al range1[2];
3282 iter_al range2[2];
3283
3284 if (selected) cout << "de";
3285 switch (custom_app::GetCurrentSelectMode())
3286 {
3287 case custom_app::smAtom:
3288 ref->flags ^= ATOMFLAG_USER_SELECTED;
3289 cout << _("selected atom ") << ref->index << _(" (atomtype = ") << hex << ref->atmtp << dec << ")." << endl;
3290 break;
3291
3292 case custom_app::smResidue:
3293 GetRange(1, ref->id[1], range1); // get the chain!!!
3294 GetRange(2, range1, ref->id[2], range2); // get the residue!!!
3295 for (it1 = range2[0];it1 != range2[1];it1++)
3296 {
3297 if (selected) (* it1).flags &= (~ATOMFLAG_USER_SELECTED);
3298 else (* it1).flags |= (ATOMFLAG_USER_SELECTED);
3299 }
3300
3301 cout << _("selected residue ") << ref->id[2] << _(" from chain ") << ref->id[1] << "." << endl;
3302 break;
3303
3304 case custom_app::smChain:
3305 GetRange(1, ref->id[1], range1); // get the chain!!!
3306 for (it1 = range1[0];it1 != range1[1];it1++)
3307 {
3308 if (selected) (* it1).flags &= (~ATOMFLAG_USER_SELECTED);
3309 else (* it1).flags |= (ATOMFLAG_USER_SELECTED);
3310 }
3311
3312 cout << _("selected chain ") << ref->id[1] << "." << endl;
3313 break;
3314
3315 case custom_app::smMolecule:
3316 if (IsGroupsSorted()) // if atom_list is sorted, a quicker method based on model::GetRange() is used.
3317 {
3318 GetRange(0, ref->id[0], range1); // get the molecule!!!
3319 for (it1 = range1[0];it1 != range1[1];it1++)
3320 {
3321 if (selected) (* it1).flags &= (~ATOMFLAG_USER_SELECTED);
3322 else (* it1).flags |= (ATOMFLAG_USER_SELECTED);
3323 }
3324 }
3325 else
3326 {
3327 for (it1 = GetAtomsBegin();it1 != GetAtomsEnd();it1++)
3328 {
3329 if ((* it1).id[0] != ref->id[0]) continue;
3330
3331 if (selected) (* it1).flags &= (~ATOMFLAG_USER_SELECTED);
3332 else (* it1).flags |= (ATOMFLAG_USER_SELECTED);
3333 }
3334 }
3335
3336 cout << _("selected molecule ") << ref->id[0] << "." << endl;
3337 break;
3338 }
3339
3340 UpdateAllGraphicsViews();
3341 }
3342 }
3343
3344 void project::MeasureEvent(oglview_wcl *, vector<iGLu> & names)
3345 {
3346 if (project::background_job_running) return; // protect the model-data during background jobs...
3347
3348 ostringstream str1;
3349
3350 // PLEASE NOTE!!! we use always the 1st coordinate set here...
3351 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3352
3353 // we can be sure that "ref" is always up-to-date but the stored pointers
3354 // mt_a1/2/3 can be invalid ; so check them before use. reset if problems.
3355
3356 if (names[0] == GLNAME_MD_TYPE1)
3357 {
3358 atom * ref = (atom *) base_app::GetAppB()->FindPtrByGLName(names[1]);
3359 ref->flags ^= ATOMFLAG_MEASURE_TOOL_SEL;
3360 UpdateAllGraphicsViews();
3361
3362 if (mt_a1 == NULL)
3363 {
3364 mt_a1 = ref; // this must be OK.
3365 str1 << _("charge: ") << ref->charge << endl << ends;
3366 PrintToLog(str1.str().c_str());
3367 }
3368 else if (mt_a1 != NULL && mt_a2 == NULL)
3369 {
3370 if (mt_a1 == ref) { mt_a1->flags &= (~ATOMFLAG_MEASURE_TOOL_SEL); mt_a1 = NULL; return; }
3371
3372 mt_a2 = ref; // this must be OK.
3373
3374 iter_al itX;
3375 for (itX = atom_list.begin();itX != atom_list.end();itX++) if (& (* itX) == mt_a1) break; if (itX == atom_list.end()) goto reset_all;
3376
3377 const fGL * p1 = mt_a1->GetCRD(0);
3378 const fGL * p2 = mt_a2->GetCRD(0);
3379
3380 v3d<fGL> v1(p1, p2);
3381 fGL len = v1.len();
3382
3383 str1 << _("distance: ") << len << " nm" << endl << ends;
3384 PrintToLog(str1.str().c_str());
3385 }
3386 else if (mt_a1 != NULL && mt_a2 != NULL && mt_a3 == NULL)
3387 {
3388 if (mt_a1 == ref) { mt_a1->flags &= (~ATOMFLAG_MEASURE_TOOL_SEL); mt_a1 = mt_a2; mt_a2 = NULL; return; }
3389 else if (mt_a2 == ref) { mt_a2->flags &= (~ATOMFLAG_MEASURE_TOOL_SEL); mt_a2 = NULL; return; }
3390
3391 mt_a3 = ref; // this must be OK.
3392
3393 iter_al itX;
3394 for (itX = atom_list.begin();itX != atom_list.end();itX++) if (& (* itX) == mt_a1) break; if (itX == atom_list.end()) goto reset_all;
3395 for (itX = atom_list.begin();itX != atom_list.end();itX++) if (& (* itX) == mt_a2) break; if (itX == atom_list.end()) goto reset_all;
3396
3397 const fGL * p1 = mt_a1->GetCRD(0);
3398 const fGL * p2 = mt_a2->GetCRD(0);
3399 const fGL * p3 = mt_a3->GetCRD(0);
3400
3401 v3d<fGL> v1(p2, p1);
3402 v3d<fGL> v2(p2, p3);
3403 fGL ang = v1.ang(v2) * 180.0 / M_PI;
3404
3405 str1 << _("angle: ") << ang << _(" deg") << endl << ends;
3406 PrintToLog(str1.str().c_str());
3407 }
3408 else
3409 {
3410 if (mt_a1 == ref) { mt_a1->flags &= (~ATOMFLAG_MEASURE_TOOL_SEL); mt_a1 = mt_a2; mt_a2 = mt_a3; mt_a3 = NULL; return; }
3411 else if (mt_a2 == ref) { mt_a2->flags &= (~ATOMFLAG_MEASURE_TOOL_SEL); mt_a2 = mt_a3; mt_a3 = NULL; return; }
3412 else if (mt_a3 == ref) { mt_a3->flags &= (~ATOMFLAG_MEASURE_TOOL_SEL); mt_a3 = NULL; return; }
3413
3414 const fGL * p1 = mt_a1->GetCRD(0);
3415 const fGL * p2 = mt_a2->GetCRD(0);
3416 const fGL * p3 = mt_a3->GetCRD(0);
3417 const fGL * p4 = ref->GetCRD(0);
3418
3419 v3d<fGL> v1(p2, p1);
3420 v3d<fGL> v2(p2, p3);
3421 v3d<fGL> v3(p3, p4);
3422 fGL tor = v1.tor(v2, v3) * 180.0 / M_PI;
3423
3424 str1 << _("torsion: ") << tor << _(" deg ") << endl << ends;
3425 PrintToLog(str1.str().c_str());
3426
3427 mt_a1->flags &= (~ATOMFLAG_MEASURE_TOOL_SEL);
3428 mt_a2->flags &= (~ATOMFLAG_MEASURE_TOOL_SEL);
3429 mt_a3->flags &= (~ATOMFLAG_MEASURE_TOOL_SEL);
3430 ref->flags &= (~ATOMFLAG_MEASURE_TOOL_SEL);
3431
3432 goto reset_all;
3433 }
3434
3435 return;
3436 }
3437
3438 reset_all:
3439
3440 mt_a1 = mt_a2 = mt_a3 = NULL;
3441 UpdateAllGraphicsViews();
3442 }
3443
3444 void project::DoFormula(void)
3445 {
3446 int i;
3447 double molweight = 0.0;
3448
3449 ostringstream str;
3450
3451 int count[ELEMENT_SYMBOLS];
3452
3453 // These are the atomic numbers of the elements in alphabetical order.
3454 const int alphabetical[ELEMENT_SYMBOLS] = {
3455 89, 47, 13, 95, 18, 33, 85, 79, 5, 56, 4, 107, 83, 97, 35, 6, 20, 48,
3456 58, 98, 17, 96, 27, 24, 55, 29, 105, 66, 68, 99, 63, 9, 26, 100, 87, 31,
3457 64, 32, 1, 2, 72, 80, 67, 108, 53, 49, 77, 19, 36, 57, 3, 103, 71, 101,
3458 12, 25, 42, 109, 7, 11, 41, 60, 10, 28, 102, 93, 8, 76, 15, 91, 82, 46,
3459 61, 84, 59, 78, 94, 88, 37, 75, 104, 45, 86, 44, 16, 51, 21, 34, 106, 14,
3460 62, 50, 38, 73, 65, 43, 52, 90, 22, 81, 69, 92, 110, 23, 74, 54, 39, 70,
3461 30, 40
3462 };
3463
3464 int index;
3465
3466 for (i = 0;i < ELEMENT_SYMBOLS;i++)
3467 {
3468 count[i] = 0;
3469 }
3470
3471 iter_al it2 = atom_list.begin();
3472 while (it2 != atom_list.end())
3473 {
3474 iter_al it3 = it2++;
3475 count[(* it3).el.GetAtomicNumber() - 1]++;
3476 molweight += (* it3).mass;
3477 }
3478
3479 for (i = 0;i < ELEMENT_SYMBOLS;i++)
3480 {
3481 index = alphabetical[i] - 1;
3482 if (count[index] > 1)
3483 {
3484 str << (element(index + 1)).GetSymbol() << count[index] << " ";
3485 }
3486 else if (count[index] == 1)
3487 {
3488 str << (element(index + 1)).GetSymbol();
3489 }
3490 }
3491
3492 str << endl;
3493 str << _("MW: ") << molweight << ends;
3494
3495 Message(str.str().c_str());
3496 }
3497
3498 void project::DoEnergyPlot1D(i32s inda, i32s indb, i32s indc, i32s indd, i32s div1, fGL start1, fGL end1, i32s optsteps)
3499 {
3500 // 2003-11-17 : for IC modification and structure
3501 // refinement, make a temporary molecular mechanics model.
3502
3503 // 2007-01-15 : also make SF setups work (for debugging purposes).
3504
3505 setup * tmpsu = GetCurrentSetup();
3506 setup1_mm * tmpsuMM = dynamic_cast<setup1_mm *>(tmpsu);
3507 setup1_sf * tmpsuSF = dynamic_cast<setup1_sf *>(tmpsu);
3508
3509 // if current setup is not a QM one, get the eng class...
3510
3511 i32s curr_eng_index = 0;
3512 if (tmpsuMM != NULL) curr_eng_index = GetCurrentSetup()->GetCurrEngIndex();
3513 if (tmpsuSF != NULL) curr_eng_index = GetCurrentSetup()->GetCurrEngIndex();
3514
3515 model * tmpmdl = new model(); // the default setup here will be molecular mechanics!
3516
3517 vector<atom *> av; vector<atom *> av_tmp;
3518
3519 for (iter_al it1 = GetAtomsBegin();it1 != GetAtomsEnd();it1++)
3520 {
3521 atom newatm((* it1).el, (* it1).GetCRD(0), tmpmdl->GetCRDSetCount());
3522 tmpmdl->AddAtom_lg(newatm);
3523
3524 av.push_back(& (* it1));
3525 av_tmp.push_back(& tmpmdl->GetLastAtom());
3526 }
3527
3528 for (iter_bl it1 = GetBondsBegin();it1 != GetBondsEnd();it1++)
3529 {
3530 i32u ind1 = 0;
3531 while (ind1 < av.size() && av[ind1] != (* it1).atmr[0]) ind1++;
3532 if (ind1 == av.size()) assertion_failed(__FILE__, __LINE__, "atom #1 not found.");
3533
3534 i32u ind2 = 0;
3535 while (ind2 < av.size() && av[ind2] != (* it1).atmr[1]) ind2++;
3536 if (ind2 == av.size()) assertion_failed(__FILE__, __LINE__, "atom #2 not found.");
3537
3538 bond newbnd(av_tmp[ind1], av_tmp[ind2], (* it1).bt);
3539 tmpmdl->AddBond(newbnd);
3540 }
3541
3542 if (tmpsuSF != NULL)
3543 {
3544 // this is for SF only ; CHECK THIS ; MIGHT BE OBSOLETE...
3545 tmpmdl->ReplaceCurrentSetup(new setup1_sf(tmpmdl, tmpsuSF->mode, false));
3546 }
3547
3548 engine * tmpeng = tmpmdl->GetCurrentSetup()->CreateEngineByIndex(curr_eng_index);
3549
3550 // the temporary model is now ok, continue...
3551
3552 engine * eng = GetCurrentSetup()->GetCurrentEngine();
3553 if (!eng) eng = GetCurrentSetup()->CreateEngineByIndex(GetCurrentSetup()->GetCurrEngIndex());
3554
3555 i32s molnum = 0; i32s in_crdset = 0;
3556
3557 i32s atmi1[4] = { inda, indb, indc, indd };
3558 atom * atmr1[4]; f64 range1[2];
3559 range1[0] = M_PI * start1 / 180.0;
3560 range1[1] = M_PI * end1 / 180.0;
3561
3562 for (i32s n1 = 0;n1 < 4;n1++)
3563 {
3564 iter_al it1;
3565
3566 it1 = tmpmdl->FindAtomByIndex(atmi1[n1]);
3567 if (it1 == tmpmdl->GetAtomsEnd())
3568 {
3569 ostringstream strE;
3570 strE << _("ERROR : atom ") << (n1 + 1) << _(" not found!") << ends;
3571
3572 PrintToLog(strE.str().c_str());
3573 return;
3574 }
3575
3576 atmr1[n1] = & (* it1);
3577 }
3578
3579 // must call SortGroups() here because intcrd needs it ; however that might change the indices?!?!?! note that we convert to pointers above...
3580 // must call SortGroups() here because intcrd needs it ; however that might change the indices?!?!?! note that we convert to pointers above...
3581 // must call SortGroups() here because intcrd needs it ; however that might change the indices?!?!?! note that we convert to pointers above...
3582 if (!tmpmdl->IsGroupsClean()) tmpmdl->UpdateGroups(); // for internal coordinates...
3583 if (!tmpmdl->IsGroupsSorted()) tmpmdl->SortGroups(); // for internal coordinates...
3584
3585 intcrd * tmpic = new intcrd((* tmpmdl), molnum, in_crdset);
3586
3587 i32s ict1 = tmpic->FindTorsion(atmr1[1], atmr1[2]);
3588 if (ict1 < 0 && tmpsuSF == NULL)
3589 {
3590 PrintToLog(_("ERROR : could not find ic.\n"));
3591 return;
3592 }
3593
3594 if (tmpsuSF != NULL)
3595 {
3596 // this is for SF only...
3597 CopyCRD(tmpmdl, tmpeng, 0);
3598 }
3599
3600 v3d<fGL> v1a(atmr1[1]->GetCRD(in_crdset), atmr1[0]->GetCRD(in_crdset));
3601 v3d<fGL> v1b(atmr1[1]->GetCRD(in_crdset), atmr1[2]->GetCRD(in_crdset));
3602 v3d<fGL> v1c(atmr1[2]->GetCRD(in_crdset), atmr1[3]->GetCRD(in_crdset));
3603 f64 oldt1 = v1a.tor(v1b, v1c);
3604
3605 bool success = tmpeng->SetTorsionConstraint(atmr1[0], atmr1[1], atmr1[2], atmr1[3], oldt1, 10.0, false);
3606 if (!success)
3607 {
3608 PrintToLog(_("ERROR : could not find tor-term.\n"));
3609 return;
3610 }
3611
3612 const char * s1 = _("tor(deg)"); const char * sv = _("E(kJ/mol)");
3613 p1dview_wcl * plot = AddPlot1DClient(s1, sv, true);
3614
3615 f64 tor1 = range1[0];
3616 for (i32s s1 = 0;s1 < (div1 + 1);s1++)
3617 {
3618 if (ict1 < 0)
3619 {
3620 // this is for SF only...
3621 tmpeng->SetTorsionConstraint(atmr1[0], atmr1[1], atmr1[2], atmr1[3], tor1, 5000.0, true);
3622 }
3623 else
3624 {
3625 tmpic->SetTorsion(ict1, tor1 - oldt1);
3626 tmpic->UpdateCartesian();
3627
3628 CopyCRD(tmpmdl, tmpeng, 0); // lock_local_structure needs coordinates!!!
3629 tmpeng->SetTorsionConstraint(atmr1[0], atmr1[1], atmr1[2], atmr1[3], tor1, 5000.0, true);
3630 }
3631
3632 // optimize...
3633
3634 geomopt * opt = new geomopt(tmpeng, 100, 0.025, 10.0); // optimal settings?!?!?
3635
3636 for (i32s n1 = 0;n1 < optsteps;n1++)
3637 {
3638 opt->TakeCGStep(conjugate_gradient::Newton2An);
3639 if (!(n1 % 50)) cout << n1 << " " << opt->optval << " " << opt->optstp << endl;
3640 }
3641
3642 CopyCRD(tmpeng, tmpmdl, 0);
3643 tmpmdl->CenterCRDSet(0, true);
3644 delete opt;
3645
3646 for (i32u n1 = 0;n1 < av_tmp.size();n1++)
3647 {
3648 const fGL * tmpcrd = av_tmp[n1]->GetCRD(0);
3649 av[n1]->SetCRD(0, tmpcrd[0], tmpcrd[1], tmpcrd[2]);
3650 }
3651
3652 // compute energy for final structure...
3653
3654 f64 value;
3655 CopyCRD(this, eng, 0);
3656 eng->Compute(0); value = eng->GetEnergy();
3657
3658 // ...and add it to the plot.
3659
3660 plot->AddDataWithAC(180.0 * tor1 / M_PI, value, eng);
3661
3662 ostringstream str1;
3663 str1 << _("tor = ") << (180.0 * tor1 / M_PI) << _(" deg, energy = ") << value << _(" kJ/mol.") << endl << ends;
3664 PrintToLog(str1.str().c_str());
3665
3666 tor1 += (range1[1] - range1[0]) / (f64) div1;
3667 }
3668
3669 delete tmpic;
3670 delete tmpeng;
3671 delete tmpmdl;
3672
3673 // the "eng" object is the setup->current_eng object, so there's no need to delete it...
3674
3675 plot->Finalize();
3676 plot->GetWnd()->RequestUpdate(false);
3677 }
3678
3679 void project::DoEnergyPlot2D(i32s inda, i32s indb, i32s indc, i32s indd, i32s div1, fGL start1, fGL end1, i32s indi, i32s indj, i32s indk, i32s indl, i32s div2, fGL start2, fGL end2, i32s optsteps)
3680 {
3681 // 2003-11-17 : for IC modification and structure
3682 // refinement, make a temporary molecular mechanics model.
3683
3684 // 2007-01-15 : also make SF setups work (for debugging purposes).
3685
3686 setup * tmpsu = GetCurrentSetup();
3687 setup1_mm * tmpsuMM = dynamic_cast<setup1_mm *>(tmpsu);
3688 setup1_sf * tmpsuSF = dynamic_cast<setup1_sf *>(tmpsu);
3689
3690 // if current setup is not a QM one, get the eng class...
3691
3692 i32s curr_eng_index = 0;
3693 if (tmpsuMM != NULL) curr_eng_index = GetCurrentSetup()->GetCurrEngIndex();
3694 if (tmpsuSF != NULL) curr_eng_index = GetCurrentSetup()->GetCurrEngIndex();
3695
3696 model * tmpmdl = new model(); // the default setup here will be molecular mechanics!
3697
3698 vector<atom *> av; vector<atom *> av_tmp;
3699
3700 for (iter_al it1 = GetAtomsBegin();it1 != GetAtomsEnd();it1++)
3701 {
3702 atom newatm((* it1).el, (* it1).GetCRD(0), tmpmdl->GetCRDSetCount());
3703 tmpmdl->AddAtom_lg(newatm);
3704
3705 av.push_back(& (* it1));
3706 av_tmp.push_back(& tmpmdl->GetLastAtom());
3707 }
3708
3709 for (iter_bl it1 = GetBondsBegin();it1 != GetBondsEnd();it1++)
3710 {
3711 i32u ind1 = 0;
3712 while (ind1 < av.size() && av[ind1] != (* it1).atmr[0]) ind1++;
3713 if (ind1 == av.size()) assertion_failed(__FILE__, __LINE__, "atom #1 not found.");
3714
3715 i32u ind2 = 0;
3716 while (ind2 < av.size() && av[ind2] != (* it1).atmr[1]) ind2++;
3717 if (ind2 == av.size()) assertion_failed(__FILE__, __LINE__, "atom #2 not found.");
3718
3719 bond newbnd(av_tmp[ind1], av_tmp[ind2], (* it1).bt);
3720 tmpmdl->AddBond(newbnd);
3721 }
3722
3723 if (tmpsuSF != NULL)
3724 {
3725 // this is for SF only ; CHECK THIS ; MIGHT BE OBSOLETE...
3726 tmpmdl->ReplaceCurrentSetup(new setup1_sf(tmpmdl, tmpsuSF->mode, false));
3727 }
3728
3729 engine * tmpeng = tmpmdl->GetCurrentSetup()->CreateEngineByIndex(curr_eng_index);
3730
3731 // the temporary model is now ok, continue...
3732
3733 engine * eng = GetCurrentSetup()->GetCurrentEngine();
3734 if (!eng) eng = GetCurrentSetup()->CreateEngineByIndex(GetCurrentSetup()->GetCurrEngIndex());
3735
3736 i32s molnum = 0; i32s in_crdset = 0;
3737
3738 i32s atmi1[4] = { inda, indb, indc, indd };
3739 atom * atmr1[4]; f64 range1[2];
3740 range1[0] = M_PI * start1 / 180.0;
3741 range1[1] = M_PI * end1 / 180.0;
3742
3743 i32s atmi2[4] = { indi, indj, indk, indl };
3744 atom * atmr2[4]; f64 range2[2];
3745 range2[0] = M_PI * start2 / 180.0;
3746 range2[1] = M_PI * end2 / 180.0;
3747
3748 for (i32s n1 = 0;n1 < 4;n1++)
3749 {
3750 iter_al it1;
3751
3752 it1 = tmpmdl->FindAtomByIndex(atmi1[n1]);
3753 if (it1 == tmpmdl->GetAtomsEnd())
3754 {
3755 ostringstream strE;
3756 strE << _("ERROR : tor1 atom ") << (n1 + 1) << _(" not found!") << endl << ends;
3757
3758 PrintToLog(strE.str().c_str());
3759 return;
3760 }
3761
3762 atmr1[n1] = & (* it1);
3763
3764 it1 = tmpmdl->FindAtomByIndex(atmi2[n1]);
3765 if (it1 == tmpmdl->GetAtomsEnd())
3766 {
3767 ostringstream strE;
3768 strE << _("ERROR : tor2 atom ") << (n1 + 1) << _(" not found!") << endl << ends;
3769
3770 PrintToLog(strE.str().c_str());
3771 return;
3772 }
3773
3774 atmr2[n1] = & (* it1);
3775 }
3776
3777 // must call SortGroups() here because intcrd needs it ; however that might change the indices?!?!?! note that we convert to pointers above...
3778 // must call SortGroups() here because intcrd needs it ; however that might change the indices?!?!?! note that we convert to pointers above...
3779 // must call SortGroups() here because intcrd needs it ; however that might change the indices?!?!?! note that we convert to pointers above...
3780 if (!tmpmdl->IsGroupsClean()) tmpmdl->UpdateGroups(); // for internal coordinates...
3781 if (!tmpmdl->IsGroupsSorted()) tmpmdl->SortGroups(); // for internal coordinates...
3782
3783 intcrd * tmpic = new intcrd((* tmpmdl), molnum, in_crdset);
3784
3785 i32s ict1 = tmpic->FindTorsion(atmr1[1], atmr1[2]);
3786 if (ict1 < 0 && tmpsuSF == NULL)
3787 {
3788 PrintToLog(_("ERROR : could not find ic for tor1.\n"));
3789 return;
3790 }
3791
3792 i32s ict2 = tmpic->FindTorsion(atmr2[1], atmr2[2]);
3793 if (ict2 < 0 && tmpsuSF == NULL)
3794 {
3795 PrintToLog(_("ERROR : could not find ic for tor2.\n"));
3796 return;
3797 }
3798
3799 if (tmpsuSF != NULL)
3800 {
3801 // this is for SF only...
3802 CopyCRD(tmpmdl, tmpeng, 0);
3803 }
3804
3805 v3d<fGL> v1a(atmr1[1]->GetCRD(in_crdset), atmr1[0]->GetCRD(in_crdset));
3806 v3d<fGL> v1b(atmr1[1]->GetCRD(in_crdset), atmr1[2]->GetCRD(in_crdset));
3807 v3d<fGL> v1c(atmr1[2]->GetCRD(in_crdset), atmr1[3]->GetCRD(in_crdset));
3808 f64 oldt1 = v1a.tor(v1b, v1c);
3809
3810 v3d<fGL> v2a(atmr2[1]->GetCRD(in_crdset), atmr2[0]->GetCRD(in_crdset));
3811 v3d<fGL> v2b(atmr2[1]->GetCRD(in_crdset), atmr2[2]->GetCRD(in_crdset));
3812 v3d<fGL> v2c(atmr2[2]->GetCRD(in_crdset), atmr2[3]->GetCRD(in_crdset));
3813 f64 oldt2 = v2a.tor(v2b, v2c);
3814
3815 bool success1 = tmpeng->SetTorsionConstraint(atmr1[0], atmr1[1], atmr1[2], atmr1[3], oldt1, 10.0, false);
3816 if (!success1)
3817 {
3818 PrintToLog(_("ERROR : could not find tor-term for tor1.\n"));
3819 return;
3820 }
3821
3822 bool success2 = tmpeng->SetTorsionConstraint(atmr2[0], atmr2[1], atmr2[2], atmr2[3], oldt2, 10.0, false);
3823 if (!success2)
3824 {
3825 PrintToLog(_("ERROR : could not find tor-term for tor2.\n"));
3826 return;
3827 }
3828
3829 const char * s1 = _("tor1(deg)"); const char * s2 = _("tor2(deg)"); const char * sv = _("E(kJ/mol)");
3830 p2dview_wcl * plot = AddPlot2DClient(s1, s2, sv, true);
3831
3832 f64 tor1 = range1[0];
3833 for (i32s s1 = 0;s1 < (div1 + 1);s1++)
3834 {
3835 f64 tor2 = range2[0];
3836 for (i32s s2 = 0;s2 < (div2 + 1);s2++)
3837 {
3838 if (ict1 < 0 || ict2 < 0)
3839 {
3840 // this is for SF only...
3841 tmpeng->SetTorsionConstraint(atmr1[0], atmr1[1], atmr1[2], atmr1[3], tor1, 5000.0, true);
3842 tmpeng->SetTorsionConstraint(atmr2[0], atmr2[1], atmr2[2], atmr2[3], tor2, 5000.0, true);
3843 }
3844 else
3845 {
3846 tmpic->SetTorsion(ict1, tor1 - oldt1);
3847 tmpic->SetTorsion(ict2, tor2 - oldt2);
3848 tmpic->UpdateCartesian();
3849
3850 CopyCRD(tmpmdl, tmpeng, 0); // lock_local_structure needs coordinates!!!
3851 tmpeng->SetTorsionConstraint(atmr1[0], atmr1[1], atmr1[2], atmr1[3], tor1, 5000.0, true);
3852 tmpeng->SetTorsionConstraint(atmr2[0], atmr2[1], atmr2[2], atmr2[3], tor2, 5000.0, true);
3853 }
3854
3855 // optimize...
3856
3857 geomopt * opt = new geomopt(tmpeng, 100, 0.025, 10.0); // optimal settings?!?!?
3858
3859 for (i32s n1 = 0;n1 < optsteps;n1++)
3860 {
3861 opt->TakeCGStep(conjugate_gradient::Newton2An);
3862 if (!(n1 % 50)) cout << n1 << " " << opt->optval << " " << opt->optstp << endl;
3863 }
3864
3865 CopyCRD(tmpeng, tmpmdl, 0);
3866 tmpmdl->CenterCRDSet(0, true);
3867 delete opt;
3868
3869 for (i32u n1 = 0;n1 < av_tmp.size();n1++)
3870 {
3871 const fGL * tmpcrd = av_tmp[n1]->GetCRD(0);
3872 av[n1]->SetCRD(0, tmpcrd[0], tmpcrd[1], tmpcrd[2]);
3873 }
3874
3875 // compute energy for final structure...
3876
3877 f64 value;
3878 CopyCRD(this, eng, 0);
3879 eng->Compute(0); value = eng->GetEnergy();
3880
3881 // ...and add it to the plot.
3882
3883 plot->AddDataWithAC(180.0 * tor1 / M_PI, 180.0 * tor2 / M_PI, value, eng);
3884
3885 ostringstream str1;
3886 str1 << _("tor1 = ") << (180.0 * tor1 / M_PI) << _(" deg, tor2 = ") << (180.0 * tor2 / M_PI) << _(" deg, energy = ") << value << _(" kJ/mol.") << endl << ends;
3887 PrintToLog(str1.str().c_str());
3888
3889 tor2 += (range2[1] - range2[0]) / (f64) div2;
3890 }
3891
3892 tor1 += (range1[1] - range1[0]) / (f64) div1;
3893 }
3894
3895 delete tmpic;
3896 delete tmpeng;
3897 delete tmpmdl;
3898
3899 // the "eng" object is the setup->current_eng object, so there's no need to delete it...
3900
3901 plot->Finalize();
3902 plot->GetWnd()->RequestUpdate(false);
3903 }
3904
3905 void project::DoTransitionStateSearch(f64 deltae, f64 initfc)
3906 {
3907 transition_state_search * tss = new transition_state_search(this, deltae, initfc);
3908 if (tss->InitFailed()) { delete tss; tss = NULL; return; }
3909
3910 ostringstream txts1;
3911 txts1 << _("r-energy = ") << tss->GetE(0) << " " << _("p-energy = ") << tss->GetE(1) << " ";
3912 txts1 << (tss->GetE(0) < tss->GetE(1) ? "r" : "p") << _(" is lower ") << fabs(tss->GetE(0) - tss->GetE(1));
3913 txts1 << endl << ends;
3914
3915 PrintToLog(txts1.str().c_str());
3916 cout << txts1.str().c_str();
3917 // char stop1; cin >> stop1;
3918
3919 f64 erl = tss->GetE(0); f64 epl = tss->GetE(1);
3920
3921 const char * s1 = "rc"; const char * sv = _("E(kJ/mol)");
3922 rcpview_wcl * plot = AddReactionCoordinatePlotClient(s1, sv, true);
3923
3924 for (i32u n1 = 0;n1 < tss->patoms.size();n1++) plot->AddPAtom(tss->patoms[n1]);
3925 for (i32u n1 = 0;n1 < tss->rbonds.size();n1++) plot->AddRBond(tss->rbonds[n1]);
3926 for (i32u n1 = 0;n1 < tss->pbonds.size();n1++) plot->AddPBond(tss->pbonds[n1]);
3927
3928 void * udata;
3929
3930 // add the initial structures...
3931 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3932
3933 plot->AddDataWithAC(tss->GetP(0), tss->GetE(0), this, 0);
3934
3935 plot->AddDataWithAC(tss->GetP(1), tss->GetE(1), this, 1);
3936
3937 // loop...
3938 // ^^^^^^^
3939
3940 i32s prev_not_stored[2] = { false, false };
3941 while (true)
3942 {
3943 tss->Run(prev_not_stored);
3944
3945 ostringstream txts2;
3946 txts2 << _("r-energy = ") << tss->GetE(0) << " " << _("p-energy = ") << tss->GetE(1) << " ";
3947 txts2 << (tss->GetE(0) < tss->GetE(1) ? "r" : "p") << _(" is lower ") << fabs(tss->GetE(0) - tss->GetE(1)) << " ";
3948
3949 if (tss->GetR(0) && tss->GetR(1))
3950 {
3951 txts2 << _("READY!") << endl << ends;
3952 PrintToLog(txts2.str().c_str());
3953 break;
3954 }
3955
3956 bool update[2] = { !tss->GetR(0), !tss->GetR(1) };
3957 if (tss->GetE(1) < erl) update[0] = false;
3958 if (tss->GetE(0) < epl) update[1] = false;
3959
3960 if (!update[0] && !update[1]) // this is a deadlock situation, fix it...
3961 {
3962 ////////////////////////////////////////////////////////////////
3963 //cout << (i32s) update[0] << (i32s) update[1] << " ";
3964 //cout << (i32s) tss->GetR(0) << (i32s) tss->GetR(1) << " ";
3965 //cout << "DEADLOCK!!!" << endl; int xx;cin>>xx;
3966 ////////////////////////////////////////////////////////////////
3967 if (!tss->GetR(0) && tss->GetR(1)) update[0] = true;
3968 if (tss->GetR(0) && !tss->GetR(1)) update[1] = true;
3969 if (!update[0] && !update[1])
3970 {
3971 f64 delta1 = erl - tss->GetE(1);
3972 f64 delta2 = epl - tss->GetE(0);
3973 i32s uuu = (delta1 > delta2 ? 0 : 1); // update the bigger one...
3974 update[uuu] = true;
3975 }
3976 }
3977
3978 txts2 << (i32s) update[0] << (i32s) update[1] << " ";
3979 txts2 << (i32s) tss->GetR(0) << (i32s) tss->GetR(1);
3980 txts2 << endl << ends;
3981
3982 PrintToLog(txts2.str().c_str());
3983 cout << txts2.str().c_str();
3984 // char stop2; cin >> stop2;
3985
3986 tss->UpdateTargets(update);
3987
3988 if (update[0])
3989 {
3990 plot->AddDataWithAC(tss->GetP(0), tss->GetE(0), this, 0);
3991 erl = tss->GetE(0);
3992 }
3993
3994 if (update[1])
3995 {
3996 plot->AddDataWithAC(tss->GetP(1), tss->GetE(1), this, 1);
3997 epl = tss->GetE(1);
3998 }
3999
4000 prev_not_stored[0] = !update[0];
4001 prev_not_stored[1] = !update[1];
4002
4003 UpdateAllGraphicsViews(true); // debug...
4004 }
4005
4006 delete tss; tss = NULL;
4007
4008 // create an approximate TS as an average of the two structures.
4009 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4010
4011 for (iter_al it1 = GetAtomsBegin();it1 != GetAtomsEnd();it1++)
4012 {
4013 const fGL * crdr = (* it1).GetCRD(0);
4014 const fGL * crdp = (* it1).GetCRD(1);
4015
4016 fGL x = (crdr[0] + crdp[0]) / 2.0;
4017 fGL y = (crdr[1] + crdp[1]) / 2.0;
4018 fGL z = (crdr[2] + crdp[2]) / 2.0;
4019
4020 (* it1).SetCRD(0, x, y, z);
4021 }
4022
4023 PopCRDSets(1); // remove the 2nd crd-set that is no longer needed.
4024
4025 // refine the approximate TS using stationary state search...
4026 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4027
4028 DoStationaryStateSearch(100);
4029 f64 ts_e = GetCurrentSetup()->GetCurrentEngine()->GetEnergy();
4030
4031 // add the final estimate of TS, and finish the plot.
4032 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4033
4034 plot->AddDataWithAC(0, ts_e, this, 0);
4035
4036 plot->Finalize();
4037 plot->GetWnd()->RequestUpdate(false);
4038 }
4039
4040 void project::DoStationaryStateSearch(i32s steps)
4041 {
4042 engine * eng = GetCurrentSetup()->GetCurrentEngine();
4043 if (eng == NULL) GetCurrentSetup()->CreateCurrentEngine();
4044 eng = GetCurrentSetup()->GetCurrentEngine();
4045 if (eng == NULL) return;
4046
4047 ostringstream str1;
4048 str1 << _("Starting Stationary State Search ");
4049 str1 << _("(setup = ") << GetCurrentSetup()->GetClassName_lg();
4050 str1 << _(", engine = ") << GetCurrentSetup()->GetEngineName(GetCurrentSetup()->GetCurrEngIndex());
4051 str1 << ")." << endl << ends;
4052
4053 PrintToLog(str1.str().c_str());
4054
4055 CopyCRD(this, eng, 0);
4056
4057 // use a small default steplength; also setting maximum steplength is important!!!
4058 stationary_state_search * sss = new stationary_state_search(eng, 25, 1.0e-7, 1.0e-5);
4059
4060 char buffer[1024];
4061 PrintToLog(_("Cycle Gradient Step\n"));
4062
4063 i32s n1 = 0; // n1 counts the number of steps...
4064 while (true)
4065 {
4066 sss->TakeCGStep(conjugate_gradient::Simple);
4067
4068 sprintf(buffer, "%4d %10.4e %10.4e \n", n1, sss->optval, sss->optstp);
4069
4070 PrintToLog(buffer);
4071
4072 bool terminate = false;
4073 if (n1 >= steps)
4074 {
4075 terminate = true;
4076 PrintToLog(_("the nsteps termination test was passed.\n"));
4077 }
4078
4079 if (!(n1 % 10) || terminate)
4080 {
4081 CopyCRD(eng, this, 0);
4082 CenterCRDSet(0, true);
4083
4084 UpdateAllGraphicsViews(true);
4085 }
4086
4087 if (terminate) break; // exit the loop here!!!
4088
4089 n1++; // update the number of steps...
4090 }
4091
4092 delete sss; sss = NULL;
4093
4094 // we will not delete current_eng here, so that we can draw plots using it...
4095
4096 // above, CopyCRD was done eng->mdl and then CenterCRDSet() was done for mdl.
4097 // this might cause that old coordinates remain in eng object, possibly affecting plots.
4098 // here we sync the coordinates and other plotting data in the eng object.
4099
4100 CopyCRD(this, eng, 0);
4101 SetupPlotting();
4102 }
4103
4104 /*################################################################################################*/
4105
4106 dummy_project::dummy_project(void) :
4107 project()
4108 {
4109 }
4110
4111 dummy_project::~dummy_project(void)
4112 {
4113 }
4114
4115 /*################################################################################################*/
4116
4117 void color_mode_element::GetColor4(const void * dd, i32s cs, fGL * pp)
4118 {
4119 atom * ref = (atom *) dd;
4120 const fGL * color = ref->el.GetColor();
4121 pp[0] = color[0]; pp[1] = color[1]; pp[2] = color[2]; pp[3] = 1.0;
4122 }
4123
4124 void color_mode_secstruct::GetColor4(const void * dd, i32s cs, fGL * pp)
4125 {
4126 atom * ref = (atom *) dd;
4127 model * mdl = ref->GetModel();
4128
4129 pp[0] = 0.0; pp[1] = 0.0; pp[2] = 1.0; pp[3] = 0; // loop
4130
4131 if (mdl == NULL || mdl->GetCI() == NULL) return;
4132 if (ref->id[1] < 0 || ref->id[2] < 0) return;
4133
4134 vector<chn_info> & ci_vector = (* mdl->GetCI());
4135 const char * tmptab = ci_vector[ref->id[1]].GetSecStrStates();
4136
4137 if (tmptab == NULL) return;
4138 char state = tmptab[ref->id[2]];
4139
4140 switch (state)
4141 {
4142 case '4':
4143 pp[0] = 1.0; pp[1] = 0.0; pp[2] = 0.0; // helix
4144 return;
4145
4146 case 'S':
4147 pp[0] = 0.0; pp[1] = 1.0; pp[2] = 0.0; // strand
4148 return;
4149 }
4150 }
4151
4152 void color_mode_hydphob::GetColor4(const void * dd, i32s cs, fGL * pp)
4153 {
4154 atom * ref = (atom *) dd;
4155 model * mdl = ref->GetModel();
4156
4157 pp[0] = 0.0; pp[1] = 0.5; pp[2] = 0.0; pp[3] = 0; // default...
4158
4159 if (mdl == NULL || mdl->GetCI() == NULL) return;
4160 if (ref->id[1] < 0 || ref->id[2] < 0) return;
4161
4162 vector<chn_info> & ci_vector = (* mdl->GetCI());
4163 const char * tmp_seq1 = ci_vector[ref->id[1]].GetSequence1();
4164
4165 if (tmp_seq1 == NULL) return;
4166 char res1 = tmp_seq1[ref->id[2]];
4167
4168 switch (res1)
4169 {
4170 case 'A':
4171 case 'G':
4172 pp[0] = 0.0; pp[1] = 1.0; pp[2] = 0.0; // ala/gly
4173 return;
4174
4175 case 'V':
4176 case 'F':
4177 case 'I':
4178 case 'L':
4179 case 'P':
4180 case 'M':
4181 pp[0] = 1.0; pp[1] = 0.0; pp[2] = 0.0; // hydrophobic
4182 return;
4183
4184 case 'D':
4185 case 'E':
4186 case 'K':
4187 case 'R':
4188 pp[0] = 0.2; pp[1] = 0.2; pp[2] = 1.0; // charged
4189 return;
4190
4191 case 'S':
4192 case 'T':
4193 case 'Y':
4194 case 'C':
4195 case 'N':
4196 case 'Q':
4197 case 'H':
4198 case 'W':
4199 pp[0] = 0.0; pp[1] = 1.0; pp[2] = 2.0; // polar
4200 return;
4201 }
4202 }
4203
4204 /*################################################################################################*/
4205
4206 // eof
0 // PROJECT.H : base classes for all graphical user interfaces.
1
2 // Copyright (C) 1998 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef PROJECT_H
21 #define PROJECT_H
22
23 #include "ghemicalconfig2.h"
24
25 class project;
26 class dummy_project;
27
28 class color_mode;
29 class color_mode_element; // atom *
30 class color_mode_secstruct; // atom *
31 class color_mode_hydphob; // atom *
32
33 class transparent_primitive;
34 class transparent_primitive_data;
35
36 class tpd_tri_3c;
37 class tpd_quad_4c;
38
39 class ogl_dummy_object; // oglappth/ogl_objects.h
40 class ogl_smart_object; // oglappth/ogl_objects.h
41
42 class custom_camera; // custom_camera.h
43 class ogl_light; // oglappth/ogl_camera.h
44
45 #include <ghemical/model.h>
46 #include <ghemical/geomopt.h>
47 #include <ghemical/moldyn.h>
48
49 #include "oglview_wcl.h"
50
51 #include "p1dview_wcl.h"
52 #include "p2dview_wcl.h"
53 #include "eldview_wcl.h"
54 #include "rcpview_wcl.h"
55 #include "gpcview_wcl.h"
56
57 #include <map>
58 #include <vector>
59 using namespace std;
60
61 #define FILENAME_FILTER "*.gpr"
62
63 /*################################################################################################*/
64
65 class jobinfo_GeomOpt
66 {
67 public:
68
69 project * prj;
70 geomopt_param go; // this is a class...
71 bool show_dialog;
72
73 jobinfo_GeomOpt(void) : go(NULL)
74 {
75 prj = NULL;
76 show_dialog = false;
77 }
78 };
79
80 class jobinfo_MolDyn
81 {
82 public:
83
84 project * prj;
85 moldyn_param md; // this is a class...
86 bool show_dialog;
87
88 jobinfo_MolDyn(void) : md(NULL)
89 {
90 prj = NULL;
91 show_dialog = false;
92 }
93 };
94
95 struct jobinfo_RandomSearch
96 {
97 project * prj;
98
99 int cycles;
100 int optsteps;
101 };
102
103 /*################################################################################################*/
104
105 class custom_transformer_client :
106 public ogl_transformer_client
107 {
108 public:
109
110 bool tc_local_object; // is the object affected by transformation?
111
112 public:
113
114 custom_transformer_client(void);
115 ~custom_transformer_client(void);
116 };
117
118 /*################################################################################################*/
119
120 /** The "##project" class is an enhanced version of "##model" class, containing
121 graphical user interface.
122 */
123
124 class project :
125 public custom_transformer_client,
126 public model
127 {
128 protected:
129
130 char * project_path; // may or may not exist...
131 char * project_filename; // should always exist...
132
133 // call oglview-type views graphics views (by tradition)...
134 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
135 vector<oglview_wcl *> graphics_view_vector;
136
137 // call all other types of views (except project-view) plotting views.
138 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
139 vector<base_wcl *> plotting_view_vector;
140
141 i32s camera_counter;
142 i32s object_counter;
143
144 /** A static counter of display list IDs.
145 In some targets there can be several GUI's running simultaneously,
146 so we must make sure that the display list ID's are unique -> static.
147 */
148 static iGLu list_counter;
149
150 atom * mt_a1; // measure_tool
151 atom * mt_a2; // measure_tool
152 atom * mt_a3; // measure_tool
153
154 readpdb_mdata * importpdb_mdata; // temporary?!?!?!
155
156 friend class gtk_importpdb_dialog; // importpdb_mdata
157
158 public:
159
160 vector<ogl_smart_object *> object_vector;
161 static ogl_dummy_object * selected_object;
162
163 static const char appversion[16];
164 static char appdata_path[256]; // also see libghemical_init()...
165
166 /** If background_job_running is "true" it means that a geometry optimization,
167 molecular dynamics etc. job is running on the background, and the user possibly
168 can access any of the GUI elements. What we want is to block user out from any
169 GUI elements that might be able directly or indirectly modify any internal state
170 or information of the model object (for example addition or removal of atoms or
171 bonds will instantly mess up everything ; sorting atoms/bonds does the same ;
172 etc...). However it is good if user can update graphics using zoom/turning tools
173 and so on...
174 */
175 static bool background_job_running;
176
177 static color_mode_element cm_element;
178 static color_mode_secstruct cm_secstruct;
179 static color_mode_hydphob cm_hydphob;
180
181 atom * draw_data[2];
182
183 public:
184
185 project(void);
186 virtual ~project(void);
187
188 void ClearAll(void);
189
190 virtual bool Question(const char *) = 0;
191
192 // some file name methods...
193 // ^^^^^^^^^^^^^^^^^^^^^^^^^
194
195 const char * GetProjectFileNameExtension(void);
196
197 void SetProjectPath(const char *);
198 void SetProjectFileName(const char *);
199
200 void SetDefaultProjectFileName(void);
201
202 void ParseProjectFileNameAndPath(const char *);
203
204 void GetProjectFileName(char *, int, bool);
205 void GetFullProjectFileName(char *, int);
206
207 // methods for file I/O : ReadGPR and WriteGPR are friend functions so that it would be easier to "borrow" them elsewhere...
208 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
209 friend bool ReadGPR_OLD(project &, istream &, bool, bool = false); ///< this is for the very old version.
210 friend bool ReadGPR_v100(project &, istream &, bool, bool = false); ///< this is for the version 1.00.
211 friend bool ReadGPR_v110(project &, istream &, bool, bool = false); ///< this is for the version 1.10.
212 /// This is an input function for the v1.11 ghemical file format.
213 friend bool ReadGPR(project &, istream &, bool, bool = false);
214
215 friend void WriteGPR_v100(project &, ostream &); ///< this is for the version 1.00.
216 /// This is an output function for the v1.11 ghemical file format.
217 friend void WriteGPR(project &, ostream &);
218
219 #ifdef ENABLE_OPENBABEL
220
221 bool ImportFile(const char * filename, int index = 0);
222 bool ExportFile(const char * filename, int index = 0);
223
224 #endif // ENABLE_OPENBABEL
225
226 // add or remove hydrogen atoms...
227 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
228
229 void AddH(void);
230 void RemoveH(void);
231
232 // some utility functions.
233 // ^^^^^^^^^^^^^^^^^^^^^^^
234
235 const char * GetType(void);
236 color_mode * GetDefaultColorMode(void);
237
238 void SelectAll(void);
239 void InvertSelection(void);
240
241 void HideSelected(void);
242 void ShowSelected(void);
243 void LockSelected(void);
244 void UnlockSelected(void);
245 void DeleteSelected(void);
246
247 iGLu GetDisplayListIDs(iGLu);
248 void DeleteDisplayLists(iGLu, iGLu);
249
250 // we need to intercept these atom/bond events from the
251 // model class in order to keep "project view" up-to-date!
252
253 void AddAtom_lg(atom &); // virtual
254 void RemoveAtom(iter_al); // virtual
255
256 void AddBond(bond &); // virtual
257 void RemoveBond(iter_bl); // virtual
258
259 void InvalidateGroups(void); // virtual
260 void UpdateChains(void); // virtual
261
262 // some ogl_object-related methods:
263 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
264
265 i32s IsObject(const ogl_dummy_object *);
266 bool SelectObject(const ogl_dummy_object *);
267
268 void AddObject(ogl_smart_object *);
269 bool RemoveObject(ogl_dummy_object *);
270
271 // some camera/window methods:
272 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^
273
274 fGL GetDefaultFocus(void);
275
276 virtual base_wnd * CreateGraphicsWnd(bool) = 0;
277 virtual void DestroyGraphicsWnd(base_wnd *) = 0;
278
279 virtual base_wnd * CreatePlot1DWnd(bool) = 0;
280 virtual base_wnd * CreatePlot2DWnd(bool) = 0;
281 virtual base_wnd * CreateEnergyLevelDiagramWnd(bool) = 0;
282 virtual base_wnd * CreateReactionCoordinatePlotWnd(bool) = 0;
283 virtual base_wnd * CreateGenericProteinChainWnd(bool) = 0;
284 virtual void DestroyPlottingWnd(base_wnd *) = 0;
285
286 // if custom_camera is NULL, a new one is created ; this is the add cam/new logic.
287 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
288 oglview_wcl * AddGraphicsClient(custom_camera *, bool);
289 bool RemoveGraphicsClient(oglview_wcl *, bool);
290 bool IsThisLastGraphicsClient(oglview_wcl *);
291
292 // each "plotting" client will create an ogl_camera object of it's own ; none is given.
293 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
294 p1dview_wcl * AddPlot1DClient(const char *, const char *, bool);
295 p2dview_wcl * AddPlot2DClient(const char *, const char *, const char *, bool);
296 eldview_wcl * AddEnergyLevelDiagramClient(bool);
297 rcpview_wcl * AddReactionCoordinatePlotClient(const char *, const char *, bool);
298 gpcview_wcl * AddGenericProteinChainClient(bool);
299 bool RemovePlottingClient(base_wcl *);
300
301 void UpdateAllViews(void);
302
303 void UpdateAllGraphicsViews(bool = false); // virtual
304 void UpdateAllPlottingViews(bool = false);
305
306 void UpdateGraphicsViews(ogl_camera *, bool = false);
307 void UpdateGraphicsView(oglview_wcl *, bool = false);
308
309 /** Contains some OpenGL initialization commands
310 (color, material, light settings).
311 The OGL selection buffer should also be assigned here!!!
312 */
313 void InitGL(void);
314
315 /** Contains the OpenGL rendering commands that draw the 3D-view.
316
317 Selection is done in a rather crude way by dumping the atom pointers directly to
318 the OGL selection buffer and reading them later there... Works fine as long as
319 both datatypes have the same size (currently it's 32 bits). If we some day need
320 64-bit pointers and have only 32-bit sel-buffer we have to use two names...
321 */
322 void Render(oglview_wcl *, rmode);
323
324 /** This is just quickly cut into a different function for clarity... We will call this
325 multiple times with translation applied if we render some periodic systems...
326 */
327 void RenderOnce(oglview_wcl *, rmode, bool);
328 void RenderObjects(oglview_wcl *);
329
330 void BeginClientTransformation(ogl_transformer *); // virtual
331 void EndClientTransformation(ogl_transformer *); // virtual
332
333 void DrawEvent(oglview_wcl *, vector<iGLu> &);
334 void EraseEvent(oglview_wcl *, vector<iGLu> &);
335
336 void SelectEvent(oglview_wcl *, vector<iGLu> &);
337 void MeasureEvent(oglview_wcl *, vector<iGLu> &);
338
339 // some common operations are implemented here:
340 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
341
342 virtual void CreateProgressDialog(const char *, bool, int, int) = 0;
343 virtual void DestroyProgressDialog(void) = 0;
344
345 void ProcessCommandString(oglview_wcl *, const char *);
346
347 virtual void start_job_GeomOpt(jobinfo_GeomOpt *) = 0;
348 virtual void start_job_MolDyn(jobinfo_MolDyn *) = 0;
349 virtual void start_job_RandomSearch(jobinfo_RandomSearch *) = 0;
350
351 void DoDeleteCurrentObject(void);
352
353 void DoSwitchLocalLights(ogl_camera *, bool);
354 void DoSwitchGlobalLights(ogl_camera *, bool);
355
356 bool TestAtom(atom *, rmode);
357 bool TestBond(bond *, rmode);
358
359 inline void SetColor(color_mode *, atom *, bool);
360
361 void DrawCylinder1(const fGL **, const fGL **, const fGL *);
362
363 // here are some Do???() functions similar to those in the model class.
364 // however, the classes here are "interactive" and are directly dependent on graphics.
365 // so you don't want to use any of these classes in the console version...
366
367 void DoFormula(void);
368
369 void DoEnergyPlot1D(i32s, i32s, i32s, i32s, i32s, fGL, fGL, i32s);
370 void DoEnergyPlot2D(i32s, i32s, i32s, i32s, i32s, fGL, fGL, i32s, i32s, i32s, i32s, i32s, fGL, fGL, i32s);
371
372 void DoTransitionStateSearch(f64, f64);
373 void DoStationaryStateSearch(i32s);
374 };
375
376 float measure_len(float *, float *);
377 float measure_ang(float *, float *, float *);
378 float measure_tor(float *, float *, float *, float *);
379
380 /*################################################################################################*/
381
382 /// the purpose of this class is just to make file operations available (ReadGPR() wants project object).
383
384 class dummy_project : public project
385 {
386 public:
387
388 dummy_project(void);
389 ~dummy_project(void);
390
391 void CreateProgressDialog(const char *, bool, int, int) { }
392 void DestroyProgressDialog(void) { }
393
394 void start_job_GeomOpt(jobinfo_GeomOpt *) { }
395 void start_job_MolDyn(jobinfo_MolDyn *) { }
396 void start_job_RandomSearch(jobinfo_RandomSearch *) { }
397
398 bool Question(const char *) { return false; }
399
400 base_wnd * CreateGraphicsWnd(bool) { return NULL; }
401 void DestroyGraphicsWnd(base_wnd *) { }
402
403 base_wnd * CreatePlot1DWnd(bool) { return NULL; }
404 base_wnd * CreatePlot2DWnd(bool) { return NULL; }
405 base_wnd * CreateEnergyLevelDiagramWnd(bool) { return NULL; }
406 base_wnd * CreateReactionCoordinatePlotWnd(bool) { return NULL; }
407 base_wnd * CreateGenericProteinChainWnd(bool) { return NULL; }
408 void DestroyPlottingWnd(base_wnd *) { }
409 };
410
411 /*################################################################################################*/
412
413 /// The "##color_mode" class is used to handle the color detemination details.
414
415 class color_mode
416 {
417 protected:
418
419 // this is just an interface definition -> there is no relevant common data?!?!?
420 // this is just an interface definition -> there is no relevant common data?!?!?
421 // this is just an interface definition -> there is no relevant common data?!?!?
422
423 public:
424
425 color_mode(void) { }
426 virtual ~color_mode(void) { }
427
428 // is this (void *)-method really the only possibility to give a virtual function different
429 // parameters without the "hiding problem"???????????????????
430
431 // should be [void *, i32s CRD_SET, fGL_a4] -> crd-set can be included in coloring??? ALSO NEED TO FIND A BETTER WAY TO INCLUDE PREFS!!!
432 // should be [void *, i32s CRD_SET, fGL_a4] -> crd-set can be included in coloring??? ALSO NEED TO FIND A BETTER WAY TO INCLUDE PREFS!!!
433 // should be [void *, i32s CRD_SET, fGL_a4] -> crd-set can be included in coloring??? ALSO NEED TO FIND A BETTER WAY TO INCLUDE PREFS!!!
434
435 virtual void GetColor4(const void *, i32s, fGL *) = 0;
436 };
437
438 class color_mode_element : public color_mode
439 {
440 protected:
441
442 public:
443
444 color_mode_element(void) : color_mode() { }
445 ~color_mode_element(void) { }
446
447 void GetColor4(const void *, i32s, fGL *);
448 };
449
450 class color_mode_secstruct : public color_mode
451 {
452 protected:
453
454 public:
455
456 color_mode_secstruct(void) : color_mode() { }
457 ~color_mode_secstruct(void) { }
458
459 void GetColor4(const void *, i32s, fGL *);
460 };
461
462 class color_mode_hydphob : public color_mode
463 {
464 protected:
465
466 public:
467
468 color_mode_hydphob(void) : color_mode() { }
469 ~color_mode_hydphob(void) { }
470
471 void GetColor4(const void *, i32s, fGL *);
472 };
473
474 /*################################################################################################*/
475
476 #endif // PROJECT_H
477
478 // eof
0 // RCPVIEW_WCL.CPP
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "rcpview_wcl.h"
21
22 #include "custom_app.h"
23
24 #include "local_i18n.h"
25
26 #include <sstream>
27 using namespace std;
28
29 /*################################################################################################*/
30
31 rcpview_wcl::rcpview_wcl(const char * s1, const char * sv) :
32 p1dview_wcl(s1, sv)
33 {
34 ready = false;
35
36 r_treshold = 0.65; // default for range 0<->1...
37 p_treshold = 0.35; // default for range 0<->1...
38 }
39
40 rcpview_wcl::~rcpview_wcl(void)
41 {
42 }
43
44 void rcpview_wcl::Finalize(void)
45 {
46 sort(dv.begin(), dv.end());
47
48 i32s index = 0; fGL maxv = dv.front().v;
49 for (i32s n1 = 1;n1 < (i32s) dv.size();n1++)
50 {
51 if (dv[n1].v > maxv)
52 {
53 index = n1;
54 maxv = dv[n1].v;
55 }
56 }
57
58 // first calculate the final reaction coordinates...
59 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
60
61 dv[index].c1 = 0.0; // should already be zero...
62
63 int negcount = -3; //???
64 for (i32s n1 = index - 1;n1 >= 0;n1--)
65 {
66 dv[n1].c1 = negcount--;
67 }
68
69 int poscount = +3; //???
70 for (i32s n1 = index + 1;n1 < (i32s) dv.size();n1++)
71 {
72 dv[n1].c1 = poscount++;
73 }
74
75 /* here we try to calculate distances from TS ; it gives a good
76 scale but sometimes the order of points will change.
77 TODO : measure 4 distances for scaling purposes...
78 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
79 fGL * c_ts = (fGL *) (((char *) dv[index].udata) + sizeof(i32s));
80
81 fGL minrc = 0.0; fGL maxrc = 0.0;
82 for (i32u n1 = 0;n1 < dv.size();n1++)
83 {
84 if (n1 == (i32u) index)
85 {
86 dv[n1].c1 = 0.0;
87 continue;
88 }
89
90 fGL * c_xx = (fGL *) (((char *) dv[n1].udata) + sizeof(i32s));
91
92 fGL rc = 0.0;
93 for (i32u n5 = 0;n5 < patoms.size();n5++)
94 {
95 const fGL * crd1 = & c_ts[patoms[n5] * 3];
96 const fGL * crd2 = & c_xx[patoms[n5] * 3];
97
98 for (i32u n6 = 0;n6 < 3;n6++)
99 {
100 fGL tmp1 = crd2[n6] - crd1[n6];
101 rc += tmp1 * tmp1;
102 }
103 }
104
105 rc = sqrt(rc);
106 if (n1 < (i32u) index) rc = -rc;
107
108 if (rc < minrc) minrc = rc;
109 if (rc > maxrc) maxrc = rc;
110
111 dv[n1].c1 = rc;
112 } */
113
114 // what the heck?!?!?! plot1d_view is unable to display negative values???
115 // then, just re-scale them form 0 to 1. THIS IS A BIT STRANGE...
116
117 fGL minrc = 0.0; fGL maxrc = 0.0;
118 for (i32u n1 = 0;n1 < dv.size();n1++)
119 {
120 fGL rc = dv[n1].c1;
121 if (rc < minrc) minrc = rc;
122 if (rc > maxrc) maxrc = rc;
123 }
124
125 for (i32u n1 = 0;n1 < dv.size();n1++)
126 {
127 fGL rc = (dv[n1].c1 - minrc) / (maxrc - minrc);
128 dv[n1].c1 = rc;
129 }
130
131 // ...and then update the display tresholds.
132 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
133
134 const f64 eri = dv.front().v;
135 const f64 epi = dv.back().v;
136
137 f64 limit_r = (epi + maxv) / 2.0;
138 for (i32s n1 = index;n1 < (i32s) dv.size();n1++)
139 {
140 if (dv[n1].v < limit_r)
141 {
142 r_treshold = (dv[n1].c1 + dv[n1 - 1].c1) / 2.0;
143 break;
144 }
145 }
146
147 f64 limit_p = (eri + maxv) / 2.0;
148 for (i32s n1 = index;n1 >= 0;n1--)
149 {
150 if (dv[n1].v < limit_p)
151 {
152 p_treshold = (dv[n1].c1 + dv[n1 + 1].c1) / 2.0;
153 break;
154 }
155 }
156
157 project * prj = custom_app::GetAppC()->GetPrj();
158
159 ostringstream txts;
160 txts << _("the tresholds were set to ") << r_treshold << _(" and ") << p_treshold << endl << ends;
161 prj->PrintToLog(txts.str().c_str());
162
163 ready = true;
164
165 // finally do the base class initializaion tasks...
166 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
167
168 p1dview_wcl::Finalize();
169 }
170
171 void rcpview_wcl::ButtonEvent(int x, int y)
172 {
173 if (!ready) return;
174
175 base_wnd * wnd = GetWnd();
176
177 // first setup the bonds...
178 // ^^^^^^^^^^^^^^^^^^^^^^^^
179
180 if (!(wnd->GetWidth() > 1)) return;
181 fGL sx = 1.10 * (fGL) x / (fGL) wnd->GetWidth() - 0.05;
182 if (sx < 0.0) return; if (sx > 1.0) return;
183
184 fGL sel1 = sx * (max1 - min1);
185
186 bool show_r_bonds = (sel1 < r_treshold);
187 for (i32u n1 = 0;n1 < rbonds.size();n1++)
188 {
189 rbonds[n1]->do_not_render_TSS_fixmelater = !show_r_bonds;
190 }
191
192 bool show_p_bonds = (sel1 > p_treshold);
193 for (i32u n1 = 0;n1 < pbonds.size();n1++)
194 {
195 pbonds[n1]->do_not_render_TSS_fixmelater = !show_p_bonds;
196 }
197
198 // ...and finally call the base class ButtonEvent().
199 // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
200
201 p1dview_wcl::ButtonEvent(x, y);
202 }
203
204 void rcpview_wcl::MotionEvent(int x, int y)
205 {
206 p1dview_wcl::MotionEvent(x, y);
207 }
208
209 /*################################################################################################*/
210
211 // eof
0 // RCPVIEW_WCL.H : write a short description here...
1
2 // Copyright (C) 2005 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "ghemicalconfig2.h"
21
22 #ifndef RCPVIEW_WCL_H
23 #define RCPVIEW_WCL_H
24
25 #include "p1dview_wcl.h"
26
27 //#include <ghemical/typedef.h>
28
29 /*################################################################################################*/
30
31 class rcpview_wcl :
32 public p1dview_wcl
33 {
34 protected:
35
36 bool ready;
37
38 vector<i32u> patoms;
39 vector<bond *> rbonds;
40 vector<bond *> pbonds;
41
42 fGL r_treshold;
43 fGL p_treshold;
44
45 public:
46
47 rcpview_wcl(const char *, const char *);
48 virtual ~rcpview_wcl(void);
49
50 void AddPAtom(i32u p1) { patoms.push_back(p1); }
51 void AddRBond(bond * p1) { rbonds.push_back(p1); }
52 void AddPBond(bond * p1) { pbonds.push_back(p1); }
53
54 void Finalize(void); // virtual
55
56 void ButtonEvent(int, int); // virtual
57 void MotionEvent(int, int); // virtual
58 };
59
60 /*################################################################################################*/
61
62 #endif // RCPVIEW_WCL_H
63
64 // eof
0 gladedir = $(datadir)/ghemical/@APPVERSION@/glade
1 glade_DATA = \
2 gtk_file_export_dialog.glade \
3 gtk_file_import_dialog.glade \
4 gtk_geomopt_dialog.glade \
5 gtk_moldyn_dialog.glade \
6 gtk_progress_dialog.glade \
7 gtk_setup_dialog.glade \
8 gtk_stereo_dialog.glade \
9 gtk_trajview_dialog.glade
10
11 pixmapdir = $(datadir)/ghemical/@APPVERSION@/pixmaps
12 pixmap_DATA = ghemical.png
13
14 xpmdir = $(datadir)/ghemical/@APPVERSION@/pixmaps
15 xpm_DATA = \
16 angle.xpm \
17 bondtype.xpm \
18 bond.xpm \
19 chain.xpm \
20 clipping.xpm \
21 dihedral.xpm \
22 distance.xpm \
23 draw.xpm \
24 element.xpm \
25 erase.xpm \
26 invert.xpm \
27 measure.xpm \
28 molecule.xpm \
29 orbit_xy.xpm \
30 orbit_z.xpm \
31 residue.xpm \
32 rotate_xy.xpm \
33 rotate_z.xpm \
34 select.xpm \
35 setup.xpm \
36 transl_xy.xpm \
37 transl_z.xpm \
38 zoom.xpm
39
40 EXTRA_DIST = $(glade_DATA) $(pixmap_DATA) $(xpm_DATA)
0 # Makefile.in generated by automake 1.11.1 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
4 # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
5 # Inc.
6 # This Makefile.in is free software; the Free Software Foundation
7 # gives unlimited permission to copy and/or distribute it,
8 # with or without modifications, as long as this notice is preserved.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13 # PARTICULAR PURPOSE.
14
15 @SET_MAKE@
16
17 VPATH = @srcdir@
18 pkgdatadir = $(datadir)/@PACKAGE@
19 pkgincludedir = $(includedir)/@PACKAGE@
20 pkglibdir = $(libdir)/@PACKAGE@
21 pkglibexecdir = $(libexecdir)/@PACKAGE@
22 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
23 install_sh_DATA = $(install_sh) -c -m 644
24 install_sh_PROGRAM = $(install_sh) -c
25 install_sh_SCRIPT = $(install_sh) -c
26 INSTALL_HEADER = $(INSTALL_DATA)
27 transform = $(program_transform_name)
28 NORMAL_INSTALL = :
29 PRE_INSTALL = :
30 POST_INSTALL = :
31 NORMAL_UNINSTALL = :
32 PRE_UNINSTALL = :
33 POST_UNINSTALL = :
34 build_triplet = @build@
35 host_triplet = @host@
36 subdir = src/res_gtk
37 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
38 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
39 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
40 $(top_srcdir)/configure.ac
41 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
42 $(ACLOCAL_M4)
43 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
44 CONFIG_HEADER = $(top_builddir)/src/ghemicalconfig.h
45 CONFIG_CLEAN_FILES =
46 CONFIG_CLEAN_VPATH_FILES =
47 SOURCES =
48 DIST_SOURCES =
49 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
50 am__vpath_adj = case $$p in \
51 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
52 *) f=$$p;; \
53 esac;
54 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
55 am__install_max = 40
56 am__nobase_strip_setup = \
57 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
58 am__nobase_strip = \
59 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
60 am__nobase_list = $(am__nobase_strip_setup); \
61 for p in $$list; do echo "$$p $$p"; done | \
62 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
63 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
64 if (++n[$$2] == $(am__install_max)) \
65 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
66 END { for (dir in files) print dir, files[dir] }'
67 am__base_list = \
68 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
69 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
70 am__installdirs = "$(DESTDIR)$(gladedir)" "$(DESTDIR)$(pixmapdir)" \
71 "$(DESTDIR)$(xpmdir)"
72 DATA = $(glade_DATA) $(pixmap_DATA) $(xpm_DATA)
73 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
74 ACLOCAL = @ACLOCAL@
75 ALL_LINGUAS = @ALL_LINGUAS@
76 AMTAR = @AMTAR@
77 APPRELEASEDATE = @APPRELEASEDATE@
78 APPVERSION = @APPVERSION@
79 AR = @AR@
80 AUTOCONF = @AUTOCONF@
81 AUTOHEADER = @AUTOHEADER@
82 AUTOMAKE = @AUTOMAKE@
83 AWK = @AWK@
84 CATALOGS = @CATALOGS@
85 CATOBJEXT = @CATOBJEXT@
86 CC = @CC@
87 CCDEPMODE = @CCDEPMODE@
88 CFLAGS = @CFLAGS@
89 CPP = @CPP@
90 CPPFLAGS = @CPPFLAGS@
91 CXX = @CXX@
92 CXXCPP = @CXXCPP@
93 CXXDEPMODE = @CXXDEPMODE@
94 CXXFLAGS = @CXXFLAGS@
95 CYGPATH_W = @CYGPATH_W@
96 DATADIRNAME = @DATADIRNAME@
97 DEFS = @DEFS@
98 DEPDIR = @DEPDIR@
99 DSYMUTIL = @DSYMUTIL@
100 DUMPBIN = @DUMPBIN@
101 ECHO_C = @ECHO_C@
102 ECHO_N = @ECHO_N@
103 ECHO_T = @ECHO_T@
104 EGREP = @EGREP@
105 EXEEXT = @EXEEXT@
106 FGREP = @FGREP@
107 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
108 GMOFILES = @GMOFILES@
109 GMSGFMT = @GMSGFMT@
110 GREP = @GREP@
111 GTHREAD_CFLAGS = @GTHREAD_CFLAGS@
112 GTHREAD_LIBS = @GTHREAD_LIBS@
113 GTK_CFLAGS = @GTK_CFLAGS@
114 GTK_LIBS = @GTK_LIBS@
115 INSTALL = @INSTALL@
116 INSTALL_DATA = @INSTALL_DATA@
117 INSTALL_PROGRAM = @INSTALL_PROGRAM@
118 INSTALL_SCRIPT = @INSTALL_SCRIPT@
119 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
120 INSTOBJEXT = @INSTOBJEXT@
121 INTLLIBS = @INTLLIBS@
122 INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
123 INTLTOOL_MERGE = @INTLTOOL_MERGE@
124 INTLTOOL_PERL = @INTLTOOL_PERL@
125 INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
126 LD = @LD@
127 LDFLAGS = @LDFLAGS@
128 LIBGHEMICAL_CFLAGS = @LIBGHEMICAL_CFLAGS@
129 LIBGHEMICAL_LIBS = @LIBGHEMICAL_LIBS@
130 LIBOBJS = @LIBOBJS@
131 LIBS = @LIBS@
132 LIBTOOL = @LIBTOOL@
133 LIPO = @LIPO@
134 LN_S = @LN_S@
135 LTLIBOBJS = @LTLIBOBJS@
136 MAKEINFO = @MAKEINFO@
137 MKDIR_P = @MKDIR_P@
138 MKINSTALLDIRS = @MKINSTALLDIRS@
139 MSGFMT = @MSGFMT@
140 MSGFMT_OPTS = @MSGFMT_OPTS@
141 MSGMERGE = @MSGMERGE@
142 NM = @NM@
143 NMEDIT = @NMEDIT@
144 OBJDUMP = @OBJDUMP@
145 OBJEXT = @OBJEXT@
146 OPENBABEL_CFLAGS = @OPENBABEL_CFLAGS@
147 OPENBABEL_LIBS = @OPENBABEL_LIBS@
148 OTOOL = @OTOOL@
149 OTOOL64 = @OTOOL64@
150 PACKAGE = @PACKAGE@
151 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
152 PACKAGE_NAME = @PACKAGE_NAME@
153 PACKAGE_STRING = @PACKAGE_STRING@
154 PACKAGE_TARNAME = @PACKAGE_TARNAME@
155 PACKAGE_URL = @PACKAGE_URL@
156 PACKAGE_VERSION = @PACKAGE_VERSION@
157 PATH_SEPARATOR = @PATH_SEPARATOR@
158 PKG_CONFIG = @PKG_CONFIG@
159 PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
160 PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
161 POFILES = @POFILES@
162 POSUB = @POSUB@
163 PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
164 PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
165 RANLIB = @RANLIB@
166 SED = @SED@
167 SET_MAKE = @SET_MAKE@
168 SHELL = @SHELL@
169 STRIP = @STRIP@
170 USE_NLS = @USE_NLS@
171 VERSION = @VERSION@
172 XGETTEXT = @XGETTEXT@
173 abs_builddir = @abs_builddir@
174 abs_srcdir = @abs_srcdir@
175 abs_top_builddir = @abs_top_builddir@
176 abs_top_srcdir = @abs_top_srcdir@
177 ac_ct_CC = @ac_ct_CC@
178 ac_ct_CXX = @ac_ct_CXX@
179 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
180 am__include = @am__include@
181 am__leading_dot = @am__leading_dot@
182 am__quote = @am__quote@
183 am__tar = @am__tar@
184 am__untar = @am__untar@
185 bindir = @bindir@
186 build = @build@
187 build_alias = @build_alias@
188 build_cpu = @build_cpu@
189 build_os = @build_os@
190 build_vendor = @build_vendor@
191 builddir = @builddir@
192 datadir = @datadir@
193 datarootdir = @datarootdir@
194 docdir = @docdir@
195 dvidir = @dvidir@
196 exec_prefix = @exec_prefix@
197 host = @host@
198 host_alias = @host_alias@
199 host_cpu = @host_cpu@
200 host_os = @host_os@
201 host_vendor = @host_vendor@
202 htmldir = @htmldir@
203 includedir = @includedir@
204 infodir = @infodir@
205 install_sh = @install_sh@
206 libdir = @libdir@
207 libexecdir = @libexecdir@
208 localedir = @localedir@
209 localstatedir = @localstatedir@
210 lt_ECHO = @lt_ECHO@
211 mandir = @mandir@
212 mkdir_p = @mkdir_p@
213 oldincludedir = @oldincludedir@
214 pdfdir = @pdfdir@
215 prefix = @prefix@
216 program_transform_name = @program_transform_name@
217 psdir = @psdir@
218 sbindir = @sbindir@
219 sharedstatedir = @sharedstatedir@
220 srcdir = @srcdir@
221 sysconfdir = @sysconfdir@
222 target_alias = @target_alias@
223 top_build_prefix = @top_build_prefix@
224 top_builddir = @top_builddir@
225 top_builddir_ = @top_builddir_@
226 top_srcdir = @top_srcdir@
227 gladedir = $(datadir)/ghemical/@APPVERSION@/glade
228 glade_DATA = \
229 gtk_file_export_dialog.glade \
230 gtk_file_import_dialog.glade \
231 gtk_geomopt_dialog.glade \
232 gtk_moldyn_dialog.glade \
233 gtk_progress_dialog.glade \
234 gtk_setup_dialog.glade \
235 gtk_stereo_dialog.glade \
236 gtk_trajview_dialog.glade
237
238 pixmapdir = $(datadir)/ghemical/@APPVERSION@/pixmaps
239 pixmap_DATA = ghemical.png
240 xpmdir = $(datadir)/ghemical/@APPVERSION@/pixmaps
241 xpm_DATA = \
242 angle.xpm \
243 bondtype.xpm \
244 bond.xpm \
245 chain.xpm \
246 clipping.xpm \
247 dihedral.xpm \
248 distance.xpm \
249 draw.xpm \
250 element.xpm \
251 erase.xpm \
252 invert.xpm \
253 measure.xpm \
254 molecule.xpm \
255 orbit_xy.xpm \
256 orbit_z.xpm \
257 residue.xpm \
258 rotate_xy.xpm \
259 rotate_z.xpm \
260 select.xpm \
261 setup.xpm \
262 transl_xy.xpm \
263 transl_z.xpm \
264 zoom.xpm
265
266 EXTRA_DIST = $(glade_DATA) $(pixmap_DATA) $(xpm_DATA)
267 all: all-am
268
269 .SUFFIXES:
270 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
271 @for dep in $?; do \
272 case '$(am__configure_deps)' in \
273 *$$dep*) \
274 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
275 && { if test -f $@; then exit 0; else break; fi; }; \
276 exit 1;; \
277 esac; \
278 done; \
279 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/res_gtk/Makefile'; \
280 $(am__cd) $(top_srcdir) && \
281 $(AUTOMAKE) --gnu src/res_gtk/Makefile
282 .PRECIOUS: Makefile
283 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
284 @case '$?' in \
285 *config.status*) \
286 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
287 *) \
288 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
289 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
290 esac;
291
292 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
293 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
294
295 $(top_srcdir)/configure: $(am__configure_deps)
296 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
297 $(ACLOCAL_M4): $(am__aclocal_m4_deps)
298 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
299 $(am__aclocal_m4_deps):
300
301 mostlyclean-libtool:
302 -rm -f *.lo
303
304 clean-libtool:
305 -rm -rf .libs _libs
306 install-gladeDATA: $(glade_DATA)
307 @$(NORMAL_INSTALL)
308 test -z "$(gladedir)" || $(MKDIR_P) "$(DESTDIR)$(gladedir)"
309 @list='$(glade_DATA)'; test -n "$(gladedir)" || list=; \
310 for p in $$list; do \
311 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
312 echo "$$d$$p"; \
313 done | $(am__base_list) | \
314 while read files; do \
315 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(gladedir)'"; \
316 $(INSTALL_DATA) $$files "$(DESTDIR)$(gladedir)" || exit $$?; \
317 done
318
319 uninstall-gladeDATA:
320 @$(NORMAL_UNINSTALL)
321 @list='$(glade_DATA)'; test -n "$(gladedir)" || list=; \
322 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
323 test -n "$$files" || exit 0; \
324 echo " ( cd '$(DESTDIR)$(gladedir)' && rm -f" $$files ")"; \
325 cd "$(DESTDIR)$(gladedir)" && rm -f $$files
326 install-pixmapDATA: $(pixmap_DATA)
327 @$(NORMAL_INSTALL)
328 test -z "$(pixmapdir)" || $(MKDIR_P) "$(DESTDIR)$(pixmapdir)"
329 @list='$(pixmap_DATA)'; test -n "$(pixmapdir)" || list=; \
330 for p in $$list; do \
331 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
332 echo "$$d$$p"; \
333 done | $(am__base_list) | \
334 while read files; do \
335 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pixmapdir)'"; \
336 $(INSTALL_DATA) $$files "$(DESTDIR)$(pixmapdir)" || exit $$?; \
337 done
338
339 uninstall-pixmapDATA:
340 @$(NORMAL_UNINSTALL)
341 @list='$(pixmap_DATA)'; test -n "$(pixmapdir)" || list=; \
342 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
343 test -n "$$files" || exit 0; \
344 echo " ( cd '$(DESTDIR)$(pixmapdir)' && rm -f" $$files ")"; \
345 cd "$(DESTDIR)$(pixmapdir)" && rm -f $$files
346 install-xpmDATA: $(xpm_DATA)
347 @$(NORMAL_INSTALL)
348 test -z "$(xpmdir)" || $(MKDIR_P) "$(DESTDIR)$(xpmdir)"
349 @list='$(xpm_DATA)'; test -n "$(xpmdir)" || list=; \
350 for p in $$list; do \
351 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
352 echo "$$d$$p"; \
353 done | $(am__base_list) | \
354 while read files; do \
355 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(xpmdir)'"; \
356 $(INSTALL_DATA) $$files "$(DESTDIR)$(xpmdir)" || exit $$?; \
357 done
358
359 uninstall-xpmDATA:
360 @$(NORMAL_UNINSTALL)
361 @list='$(xpm_DATA)'; test -n "$(xpmdir)" || list=; \
362 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
363 test -n "$$files" || exit 0; \
364 echo " ( cd '$(DESTDIR)$(xpmdir)' && rm -f" $$files ")"; \
365 cd "$(DESTDIR)$(xpmdir)" && rm -f $$files
366 tags: TAGS
367 TAGS:
368
369 ctags: CTAGS
370 CTAGS:
371
372
373 distdir: $(DISTFILES)
374 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
375 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
376 list='$(DISTFILES)'; \
377 dist_files=`for file in $$list; do echo $$file; done | \
378 sed -e "s|^$$srcdirstrip/||;t" \
379 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
380 case $$dist_files in \
381 */*) $(MKDIR_P) `echo "$$dist_files" | \
382 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
383 sort -u` ;; \
384 esac; \
385 for file in $$dist_files; do \
386 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
387 if test -d $$d/$$file; then \
388 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
389 if test -d "$(distdir)/$$file"; then \
390 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
391 fi; \
392 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
393 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
394 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
395 fi; \
396 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
397 else \
398 test -f "$(distdir)/$$file" \
399 || cp -p $$d/$$file "$(distdir)/$$file" \
400 || exit 1; \
401 fi; \
402 done
403 check-am: all-am
404 check: check-am
405 all-am: Makefile $(DATA)
406 installdirs:
407 for dir in "$(DESTDIR)$(gladedir)" "$(DESTDIR)$(pixmapdir)" "$(DESTDIR)$(xpmdir)"; do \
408 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
409 done
410 install: install-am
411 install-exec: install-exec-am
412 install-data: install-data-am
413 uninstall: uninstall-am
414
415 install-am: all-am
416 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
417
418 installcheck: installcheck-am
419 install-strip:
420 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
421 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
422 `test -z '$(STRIP)' || \
423 echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
424 mostlyclean-generic:
425
426 clean-generic:
427
428 distclean-generic:
429 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
430 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
431
432 maintainer-clean-generic:
433 @echo "This command is intended for maintainers to use"
434 @echo "it deletes files that may require special tools to rebuild."
435 clean: clean-am
436
437 clean-am: clean-generic clean-libtool mostlyclean-am
438
439 distclean: distclean-am
440 -rm -f Makefile
441 distclean-am: clean-am distclean-generic
442
443 dvi: dvi-am
444
445 dvi-am:
446
447 html: html-am
448
449 html-am:
450
451 info: info-am
452
453 info-am:
454
455 install-data-am: install-gladeDATA install-pixmapDATA install-xpmDATA
456
457 install-dvi: install-dvi-am
458
459 install-dvi-am:
460
461 install-exec-am:
462
463 install-html: install-html-am
464
465 install-html-am:
466
467 install-info: install-info-am
468
469 install-info-am:
470
471 install-man:
472
473 install-pdf: install-pdf-am
474
475 install-pdf-am:
476
477 install-ps: install-ps-am
478
479 install-ps-am:
480
481 installcheck-am:
482
483 maintainer-clean: maintainer-clean-am
484 -rm -f Makefile
485 maintainer-clean-am: distclean-am maintainer-clean-generic
486
487 mostlyclean: mostlyclean-am
488
489 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
490
491 pdf: pdf-am
492
493 pdf-am:
494
495 ps: ps-am
496
497 ps-am:
498
499 uninstall-am: uninstall-gladeDATA uninstall-pixmapDATA \
500 uninstall-xpmDATA
501
502 .MAKE: install-am install-strip
503
504 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
505 distclean distclean-generic distclean-libtool distdir dvi \
506 dvi-am html html-am info info-am install install-am \
507 install-data install-data-am install-dvi install-dvi-am \
508 install-exec install-exec-am install-gladeDATA install-html \
509 install-html-am install-info install-info-am install-man \
510 install-pdf install-pdf-am install-pixmapDATA install-ps \
511 install-ps-am install-strip install-xpmDATA installcheck \
512 installcheck-am installdirs maintainer-clean \
513 maintainer-clean-generic mostlyclean mostlyclean-generic \
514 mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
515 uninstall-gladeDATA uninstall-pixmapDATA uninstall-xpmDATA
516
517
518 # Tell versions [3.59,3.63) of GNU make to not export all variables.
519 # Otherwise a system limit (for SysV at least) may be exceeded.
520 .NOEXPORT:
0 /* XPM */
1 static char * angle_xpm[] = {
2 "24 24 4 1",
3 " c None",
4 ". c #FFFFFF",
5 "+ c #FF0000",
6 "@ c #000000",
7 " ",
8 " ",
9 " .. ",
10 " ++ ",
11 " ++.. ",
12 " ++.. ",
13 " @++ ",
14 " @ ",
15 " @ ",
16 " @ @@@ ",
17 " @ @@ ",
18 " @ @ @ ",
19 " @ @@ ",
20 " @ @ ",
21 " @ @ ",
22 " @ @ ",
23 " @ @ @ ",
24 " ..@ @@ .. ",
25 " ++ @@@ ++ ",
26 " ++.. ++.. ",
27 " ++..@@@@@@@@@@@@@++.. ",
28 " ++ ++ ",
29 " ",
30 " "};
0 /* XPM */
1 static char * bond_xpm[] = {
2 "24 24 4 1",
3 " c None",
4 ". c #FF0000",
5 "+ c #FFFFFF",
6 "@ c #000000",
7 " ",
8 " ",
9 " ",
10 " .. .. ",
11 " ..++ ..++ ",
12 " ..++@@@@@@@@@@@@@@..++ ",
13 " .. .. ",
14 " ",
15 " ",
16 " ",
17 " .. .. ",
18 " ..++@@@@@@@@@@@@@@..++ ",
19 " ..++ ..++ ",
20 " .. @@@@@@@@@@@@@@ .. ",
21 " ",
22 " ",
23 " ",
24 " .. .. ",
25 " ..++@@ @@ @@ @@ @@..++ ",
26 " ..++ ..++ ",
27 " .. @@@@@@@@@@@@@@ .. ",
28 " ",
29 " ",
30 " "};
0 /* XPM */
1 static char * bondtype_xpm[] = {
2 "24 24 4 1",
3 " c None",
4 ". c #FF0000",
5 "+ c #FFFFFF",
6 "@ c #000000",
7 " ",
8 " ",
9 " ",
10 " .. .. ",
11 " ..++ ..++ ",
12 " ..++@@@@@@@@@@@@@@..++ ",
13 " .. .. ",
14 " ",
15 " ",
16 " ",
17 " .. .. ",
18 " ..++@@@@@@@@@@@@@@..++ ",
19 " ..++ ..++ ",
20 " .. @@@@@@@@@@@@@@ .. ",
21 " ",
22 " ",
23 " ",
24 " .. .. ",
25 " ..++@@ @@ @@ @@ @@..++ ",
26 " ..++ ..++ ",
27 " .. @@@@@@@@@@@@@@ .. ",
28 " ",
29 " ",
30 " "};
0 /* XPM */
1 static char * chain_xpm[] = {
2 "24 24 4 1",
3 " c None",
4 ". c #000000",
5 "+ c #FFFFFF",
6 "@ c #FF00FF",
7 " ",
8 " .............. ",
9 " .++++++++++++. ",
10 " .+............ ",
11 " .+. ",
12 " ...+... ",
13 " .+++++. ",
14 " .+++. ",
15 " .+++. ",
16 " .+. ",
17 " .+. ",
18 " . ",
19 " . ",
20 " ",
21 " ",
22 " @@@ @@@ @@@ ",
23 " @ @ @ @ @ @ ",
24 " @ @ @ @ ",
25 " @ @ @ @ ",
26 " @ @ @ @ ",
27 " @ @ @ @ @ @ ",
28 " @@@ @@@ @@@ ",
29 " ",
30 " "};
0 /* XPM */
1 static char * clipping_xpm[] = {
2 "24 24 2 1",
3 " c None",
4 ". c #000000",
5 " ",
6 " ",
7 " ",
8 " ............. ",
9 " . . ",
10 " . . ",
11 " . . ",
12 " . .............. ",
13 " . . . . ",
14 " . . . . ",
15 " . . . . ",
16 " . . . . ",
17 " . . . . ",
18 " . . . . ",
19 " . . . . ",
20 " ............. . ",
21 " . . ",
22 " . . ",
23 " . . ",
24 " . . ",
25 " .............. ",
26 " ",
27 " ",
28 " "};
0 /* XPM */
1 static char * dihedral_xpm[] = {
2 "24 24 4 1",
3 " c None",
4 ". c #FFFFFF",
5 "+ c #FF0000",
6 "@ c #000000",
7 " ",
8 " .. ",
9 " ++ ",
10 " ++.. ",
11 " ++.. ",
12 " ++ ",
13 " @ ",
14 " @@@ @ ",
15 " @@ @ ",
16 " @ @ @ ",
17 " .. @ .. ",
18 " ++ @ ++ ",
19 " ++.. @ ++.. ",
20 " ++..@@@@@@@++.. ",
21 " ++ @ ++ ",
22 " @ @ ",
23 " @ @ ",
24 " @ @ @ ",
25 " ..@ @@ ",
26 " ++ @@@ ",
27 " ++.. ",
28 " ++.. ",
29 " ++ ",
30 " "};
0 /* XPM */
1 static char * distance_xpm[] = {
2 "24 24 4 1",
3 " c None",
4 ". c #FF0000",
5 "+ c #000000",
6 "@ c #FFFFFF",
7 " ",
8 " ",
9 " ",
10 " ",
11 " ",
12 " ",
13 " ",
14 " ",
15 " ",
16 " .. + + .. ",
17 " ..@@ + + ..@@ ",
18 " ..@@++++++++++++++..@@ ",
19 " .. + + .. ",
20 " + + ",
21 " ",
22 " ",
23 " ",
24 " ",
25 " ",
26 " ",
27 " ",
28 " ",
29 " ",
30 " "};
0 /* XPM */
1 static char * draw_xpm[] = {
2 "24 24 4 1",
3 " c None",
4 ". c #000000",
5 "+ c #FF0000",
6 "@ c #FFFF00",
7 " ",
8 " ",
9 " .. ",
10 " .++. ",
11 " ..+++. ",
12 " .@@.++. ",
13 " .@@@@.. ",
14 " .@@@@@. ",
15 " .@@@@@. ",
16 " .@@@@@. ",
17 " .@@@@@. ",
18 " .@@@@@. ",
19 " .@@@@@. ",
20 " .@@@@@. ",
21 " .@@@@@. ",
22 " .@@@@@. ",
23 " ..@@@. ",
24 " ....@. ",
25 " ..... ",
26 " .... ",
27 " .. ",
28 " . ",
29 " ",
30 " "};
0 /* XPM */
1 static char * element_xpm[] = {
2 "24 24 4 1",
3 " c None",
4 ". c #000000",
5 "+ c #FFFFFF",
6 "@ c #FF0000",
7 " ",
8 " ",
9 " ... ... ",
10 " .+. .+. ",
11 " .+... .....+. ",
12 " .+++. .+@@++. ",
13 " .+++. .+@@++. ",
14 " .+++............+++++. ",
15 " .++++++++++++++++++++. ",
16 " .++++++++++++++++++++. ",
17 " .++++++++++++++++++++. ",
18 " .++++++++++++++++++++. ",
19 " .++++++++++++++++++++. ",
20 " .++++++++++........... ",
21 " .++++++++++. ",
22 " ............ ",
23 " ",
24 " ................ ",
25 " .++++++++++++++. ",
26 " .++++++++++++++. ",
27 " ................ ",
28 " ",
29 " ",
30 " "};
0 /* XPM */
1 static char * erase_xpm[] = {
2 "24 24 4 1",
3 " c None",
4 ". c #000000",
5 "+ c #FFFFFF",
6 "@ c #808080",
7 " ",
8 " ",
9 " ",
10 " ",
11 " .... ",
12 " .+.++. ",
13 " .+++.++. ",
14 " .+++++.++. ",
15 " .+++++++.++. ",
16 " .+++++++++.++. ",
17 " .+++++++++++..+. ",
18 " .+++++++++++.++. ",
19 " .+++++++++++.++. ",
20 " .+++++++++++.++. ",
21 " .+++++++++++.++. ",
22 " .+++++++++.++. ",
23 " .+++++++.++. ",
24 " .+++++.++. ",
25 " .+@@.@+. ",
26 " .@@@@@ ",
27 " ",
28 " ",
29 " ",
30 " "};
Binary diff not shown
0 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
2 <!--*- mode: xml -*-->
3 <glade-interface>
4 <widget class="GtkDialog" id="file_export_dialog">
5 <property name="visible">True</property>
6 <property name="title" translatable="yes">Export File</property>
7 <property name="modal">True</property>
8 <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
9 <signal name="destroy" handler="on_dialog_destroy"/>
10 <child internal-child="vbox">
11 <widget class="GtkVBox" id="vbox1">
12 <property name="visible">True</property>
13 <property name="spacing">8</property>
14 <child>
15 <placeholder/>
16 </child>
17 <child>
18 <widget class="GtkFrame" id="frame1">
19 <property name="visible">True</property>
20 <property name="border_width">3</property>
21 <property name="label_xalign">0</property>
22 <child>
23 <widget class="GtkVBox" id="vbox2">
24 <property name="visible">True</property>
25 <child>
26 <widget class="GtkOptionMenu" id="optionmenu1">
27 <property name="visible">True</property>
28 <property name="can_focus">True</property>
29 <property name="border_width">3</property>
30 <property name="response_id">0</property>
31 </widget>
32 <packing>
33 <property name="expand">False</property>
34 <property name="fill">False</property>
35 <property name="padding">2</property>
36 </packing>
37 </child>
38 <child>
39 <widget class="GtkHBox" id="hbox1">
40 <property name="visible">True</property>
41 <child>
42 <placeholder/>
43 </child>
44 <child>
45 <widget class="GtkEntry" id="entry_filename">
46 <property name="visible">True</property>
47 <property name="can_focus">True</property>
48 <property name="invisible_char">*</property>
49 </widget>
50 <packing>
51 <property name="position">1</property>
52 </packing>
53 </child>
54 <child>
55 <widget class="GtkButton" id="button_browse">
56 <property name="visible">True</property>
57 <property name="can_focus">True</property>
58 <property name="label" translatable="yes">Browse...</property>
59 <property name="use_underline">True</property>
60 <property name="response_id">0</property>
61 <signal name="clicked" handler="on_button_browse_clicked"/>
62 </widget>
63 <packing>
64 <property name="expand">False</property>
65 <property name="fill">False</property>
66 <property name="position">2</property>
67 </packing>
68 </child>
69 <child>
70 <placeholder/>
71 </child>
72 </widget>
73 <packing>
74 <property name="expand">False</property>
75 <property name="fill">False</property>
76 <property name="padding">4</property>
77 <property name="position">1</property>
78 </packing>
79 </child>
80 </widget>
81 </child>
82 <child>
83 <widget class="GtkLabel" id="label1">
84 <property name="visible">True</property>
85 <property name="label" translatable="yes">Export File</property>
86 </widget>
87 <packing>
88 <property name="type">label_item</property>
89 </packing>
90 </child>
91 </widget>
92 <packing>
93 <property name="padding">4</property>
94 <property name="position">3</property>
95 </packing>
96 </child>
97 <child internal-child="action_area">
98 <widget class="GtkHButtonBox" id="hbuttonbox1">
99 <property name="visible">True</property>
100 <property name="layout_style">GTK_BUTTONBOX_END</property>
101 <child>
102 <widget class="GtkButton" id="button_ok">
103 <property name="visible">True</property>
104 <property name="can_focus">True</property>
105 <property name="can_default">True</property>
106 <property name="label">gtk-ok</property>
107 <property name="use_stock">True</property>
108 <property name="response_id">0</property>
109 <signal name="clicked" handler="on_button_ok_clicked"/>
110 </widget>
111 </child>
112 <child>
113 <widget class="GtkButton" id="button_cancel">
114 <property name="visible">True</property>
115 <property name="can_focus">True</property>
116 <property name="can_default">True</property>
117 <property name="label">gtk-cancel</property>
118 <property name="use_stock">True</property>
119 <property name="response_id">0</property>
120 <signal name="clicked" handler="on_button_cancel_clicked"/>
121 </widget>
122 <packing>
123 <property name="position">1</property>
124 </packing>
125 </child>
126 </widget>
127 <packing>
128 <property name="expand">False</property>
129 <property name="pack_type">GTK_PACK_END</property>
130 </packing>
131 </child>
132 </widget>
133 </child>
134 </widget>
135 </glade-interface>
0 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
2 <!--*- mode: xml -*-->
3 <glade-interface>
4 <widget class="GtkDialog" id="file_import_dialog">
5 <property name="visible">True</property>
6 <property name="title" translatable="yes">Import File</property>
7 <property name="modal">True</property>
8 <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
9 <signal name="destroy" handler="on_dialog_destroy"/>
10 <child internal-child="vbox">
11 <widget class="GtkVBox" id="vbox1">
12 <property name="visible">True</property>
13 <property name="spacing">8</property>
14 <child>
15 <placeholder/>
16 </child>
17 <child>
18 <widget class="GtkFrame" id="frame1">
19 <property name="visible">True</property>
20 <property name="border_width">3</property>
21 <property name="label_xalign">0</property>
22 <child>
23 <widget class="GtkVBox" id="vbox2">
24 <property name="visible">True</property>
25 <child>
26 <widget class="GtkOptionMenu" id="optionmenu1">
27 <property name="visible">True</property>
28 <property name="can_focus">True</property>
29 <property name="border_width">3</property>
30 <property name="response_id">0</property>
31 </widget>
32 <packing>
33 <property name="expand">False</property>
34 <property name="fill">False</property>
35 <property name="padding">2</property>
36 </packing>
37 </child>
38 <child>
39 <widget class="GtkHBox" id="hbox1">
40 <property name="visible">True</property>
41 <child>
42 <placeholder/>
43 </child>
44 <child>
45 <widget class="GtkEntry" id="entry_filename">
46 <property name="visible">True</property>
47 <property name="can_focus">True</property>
48 <property name="invisible_char">*</property>
49 </widget>
50 <packing>
51 <property name="position">1</property>
52 </packing>
53 </child>
54 <child>
55 <widget class="GtkButton" id="button_browse">
56 <property name="visible">True</property>
57 <property name="can_focus">True</property>
58 <property name="label" translatable="yes">Browse...</property>
59 <property name="use_underline">True</property>
60 <property name="response_id">0</property>
61 <signal name="clicked" handler="on_button_browse_clicked"/>
62 </widget>
63 <packing>
64 <property name="expand">False</property>
65 <property name="fill">False</property>
66 <property name="position">2</property>
67 </packing>
68 </child>
69 <child>
70 <placeholder/>
71 </child>
72 </widget>
73 <packing>
74 <property name="expand">False</property>
75 <property name="fill">False</property>
76 <property name="padding">4</property>
77 <property name="position">1</property>
78 </packing>
79 </child>
80 </widget>
81 </child>
82 <child>
83 <widget class="GtkLabel" id="label1">
84 <property name="visible">True</property>
85 <property name="label" translatable="yes">Import File</property>
86 </widget>
87 <packing>
88 <property name="type">label_item</property>
89 </packing>
90 </child>
91 </widget>
92 <packing>
93 <property name="padding">4</property>
94 <property name="position">3</property>
95 </packing>
96 </child>
97 <child internal-child="action_area">
98 <widget class="GtkHButtonBox" id="hbuttonbox1">
99 <property name="visible">True</property>
100 <property name="layout_style">GTK_BUTTONBOX_END</property>
101 <child>
102 <widget class="GtkButton" id="button_ok">
103 <property name="visible">True</property>
104 <property name="can_focus">True</property>
105 <property name="can_default">True</property>
106 <property name="label">gtk-ok</property>
107 <property name="use_stock">True</property>
108 <property name="response_id">0</property>
109 <signal name="clicked" handler="on_button_ok_clicked"/>
110 </widget>
111 </child>
112 <child>
113 <widget class="GtkButton" id="button_cancel">
114 <property name="visible">True</property>
115 <property name="can_focus">True</property>
116 <property name="can_default">True</property>
117 <property name="label">gtk-cancel</property>
118 <property name="use_stock">True</property>
119 <property name="response_id">0</property>
120 <signal name="clicked" handler="on_button_cancel_clicked"/>
121 </widget>
122 <packing>
123 <property name="position">1</property>
124 </packing>
125 </child>
126 </widget>
127 <packing>
128 <property name="expand">False</property>
129 <property name="pack_type">GTK_PACK_END</property>
130 </packing>
131 </child>
132 </widget>
133 </child>
134 </widget>
135 </glade-interface>
0 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
2 <!--*- mode: xml -*-->
3 <glade-interface>
4 <widget class="GtkDialog" id="geomopt_dialog">
5 <property name="visible">True</property>
6 <property name="title" translatable="yes">Geometry Optimization</property>
7 <property name="modal">True</property>
8 <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
9 <signal name="destroy" handler="on_dialog_destroy"/>
10 <child internal-child="vbox">
11 <widget class="GtkVBox" id="vbox1">
12 <property name="visible">True</property>
13 <property name="spacing">8</property>
14 <child>
15 <placeholder/>
16 </child>
17 <child>
18 <widget class="GtkHBox" id="hbox1">
19 <property name="visible">True</property>
20 <property name="homogeneous">True</property>
21 <child>
22 <widget class="GtkCheckButton" id="checkbutton_nsteps">
23 <property name="visible">True</property>
24 <property name="can_focus">True</property>
25 <property name="label" translatable="yes">Maximum # of Steps:</property>
26 <property name="use_underline">True</property>
27 <property name="response_id">0</property>
28 <property name="active">True</property>
29 <property name="draw_indicator">True</property>
30 </widget>
31 <packing>
32 <property name="expand">False</property>
33 </packing>
34 </child>
35 <child>
36 <placeholder/>
37 </child>
38 <child>
39 <widget class="GtkEntry" id="entry_nsteps">
40 <property name="visible">True</property>
41 <property name="can_focus">True</property>
42 <property name="invisible_char">*</property>
43 </widget>
44 <packing>
45 <property name="position">2</property>
46 </packing>
47 </child>
48 </widget>
49 <packing>
50 <property name="position">3</property>
51 </packing>
52 </child>
53 <child>
54 <widget class="GtkHBox" id="hbox2">
55 <property name="visible">True</property>
56 <property name="homogeneous">True</property>
57 <child>
58 <widget class="GtkCheckButton" id="checkbutton_grad">
59 <property name="visible">True</property>
60 <property name="can_focus">True</property>
61 <property name="label" translatable="yes">Gradient Cutoff:</property>
62 <property name="use_underline">True</property>
63 <property name="response_id">0</property>
64 <property name="active">True</property>
65 <property name="draw_indicator">True</property>
66 </widget>
67 <packing>
68 <property name="expand">False</property>
69 </packing>
70 </child>
71 <child>
72 <placeholder/>
73 </child>
74 <child>
75 <widget class="GtkEntry" id="entry_grad">
76 <property name="visible">True</property>
77 <property name="can_focus">True</property>
78 <property name="invisible_char">*</property>
79 </widget>
80 <packing>
81 <property name="position">2</property>
82 </packing>
83 </child>
84 </widget>
85 <packing>
86 <property name="position">4</property>
87 </packing>
88 </child>
89 <child>
90 <widget class="GtkHBox" id="hbox3">
91 <property name="visible">True</property>
92 <property name="homogeneous">True</property>
93 <child>
94 <widget class="GtkCheckButton" id="checkbutton_delta_e">
95 <property name="visible">True</property>
96 <property name="can_focus">True</property>
97 <property name="label" translatable="yes">Delta-E Cutoff:</property>
98 <property name="use_underline">True</property>
99 <property name="response_id">0</property>
100 <property name="draw_indicator">True</property>
101 </widget>
102 <packing>
103 <property name="expand">False</property>
104 </packing>
105 </child>
106 <child>
107 <placeholder/>
108 </child>
109 <child>
110 <widget class="GtkEntry" id="entry_delta_e">
111 <property name="visible">True</property>
112 <property name="can_focus">True</property>
113 <property name="invisible_char">*</property>
114 </widget>
115 <packing>
116 <property name="position">2</property>
117 </packing>
118 </child>
119 </widget>
120 <packing>
121 <property name="position">5</property>
122 </packing>
123 </child>
124 <child>
125 <placeholder/>
126 </child>
127 <child internal-child="action_area">
128 <widget class="GtkHButtonBox" id="hbuttonbox1">
129 <property name="visible">True</property>
130 <property name="layout_style">GTK_BUTTONBOX_END</property>
131 <child>
132 <widget class="GtkButton" id="button_ok">
133 <property name="visible">True</property>
134 <property name="can_focus">True</property>
135 <property name="can_default">True</property>
136 <property name="label">gtk-ok</property>
137 <property name="use_stock">True</property>
138 <property name="response_id">0</property>
139 <signal name="clicked" handler="on_button_ok_clicked"/>
140 </widget>
141 </child>
142 <child>
143 <widget class="GtkButton" id="button_cancel">
144 <property name="visible">True</property>
145 <property name="can_focus">True</property>
146 <property name="can_default">True</property>
147 <property name="label">gtk-cancel</property>
148 <property name="use_stock">True</property>
149 <property name="response_id">0</property>
150 <signal name="clicked" handler="on_button_cancel_clicked"/>
151 </widget>
152 <packing>
153 <property name="position">1</property>
154 </packing>
155 </child>
156 </widget>
157 <packing>
158 <property name="expand">False</property>
159 <property name="pack_type">GTK_PACK_END</property>
160 </packing>
161 </child>
162 </widget>
163 </child>
164 </widget>
165 </glade-interface>
0 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
2 <!--*- mode: xml -*-->
3 <glade-interface>
4 <widget class="GtkDialog" id="moldyn_dialog">
5 <property name="visible">True</property>
6 <property name="title" translatable="yes">Molecular Dynamics</property>
7 <property name="modal">True</property>
8 <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
9 <signal name="destroy" handler="on_dialog_destroy"/>
10 <child internal-child="vbox">
11 <widget class="GtkVBox" id="vbox1">
12 <property name="visible">True</property>
13 <property name="spacing">8</property>
14 <child>
15 <placeholder/>
16 </child>
17 <child>
18 <widget class="GtkVBox" id="vbox2">
19 <property name="visible">True</property>
20 <child>
21 <widget class="GtkHBox" id="hbox6">
22 <property name="visible">True</property>
23 <property name="homogeneous">True</property>
24 <child>
25 <widget class="GtkLabel" id="label6">
26 <property name="visible">True</property>
27 <property name="label" translatable="yes">Number of steps : (heating)</property>
28 <property name="justify">GTK_JUSTIFY_CENTER</property>
29 </widget>
30 <packing>
31 <property name="expand">False</property>
32 <property name="fill">False</property>
33 </packing>
34 </child>
35 <child>
36 <widget class="GtkEntry" id="entry_nsteps_h">
37 <property name="visible">True</property>
38 <property name="can_focus">True</property>
39 <property name="invisible_char">*</property>
40 </widget>
41 <packing>
42 <property name="position">1</property>
43 </packing>
44 </child>
45 </widget>
46 </child>
47 <child>
48 <widget class="GtkHBox" id="hbox5">
49 <property name="visible">True</property>
50 <property name="homogeneous">True</property>
51 <child>
52 <widget class="GtkLabel" id="label5">
53 <property name="visible">True</property>
54 <property name="label" translatable="yes">Number of steps : (equilibration)</property>
55 <property name="justify">GTK_JUSTIFY_CENTER</property>
56 </widget>
57 <packing>
58 <property name="expand">False</property>
59 <property name="fill">False</property>
60 </packing>
61 </child>
62 <child>
63 <widget class="GtkEntry" id="entry_nsteps_e">
64 <property name="visible">True</property>
65 <property name="can_focus">True</property>
66 <property name="invisible_char">*</property>
67 </widget>
68 <packing>
69 <property name="position">1</property>
70 </packing>
71 </child>
72 </widget>
73 <packing>
74 <property name="position">1</property>
75 </packing>
76 </child>
77 <child>
78 <widget class="GtkHBox" id="hbox1">
79 <property name="visible">True</property>
80 <property name="homogeneous">True</property>
81 <child>
82 <widget class="GtkLabel" id="label1">
83 <property name="visible">True</property>
84 <property name="label" translatable="yes">Number of steps : (simulation)</property>
85 <property name="justify">GTK_JUSTIFY_CENTER</property>
86 </widget>
87 <packing>
88 <property name="expand">False</property>
89 <property name="fill">False</property>
90 </packing>
91 </child>
92 <child>
93 <widget class="GtkEntry" id="entry_nsteps_s">
94 <property name="visible">True</property>
95 <property name="can_focus">True</property>
96 <property name="invisible_char">*</property>
97 </widget>
98 <packing>
99 <property name="position">1</property>
100 </packing>
101 </child>
102 </widget>
103 <packing>
104 <property name="position">2</property>
105 </packing>
106 </child>
107 <child>
108 <widget class="GtkHBox" id="hbox7">
109 <property name="visible">True</property>
110 <property name="homogeneous">True</property>
111 <child>
112 <widget class="GtkLabel" id="label8">
113 <property name="visible">True</property>
114 <property name="label" translatable="yes">Number of steps : (cooling)</property>
115 <property name="justify">GTK_JUSTIFY_CENTER</property>
116 </widget>
117 <packing>
118 <property name="expand">False</property>
119 <property name="fill">False</property>
120 </packing>
121 </child>
122 <child>
123 <widget class="GtkEntry" id="entry_nsteps_c">
124 <property name="visible">True</property>
125 <property name="can_focus">True</property>
126 <property name="invisible_char">*</property>
127 </widget>
128 <packing>
129 <property name="position">1</property>
130 </packing>
131 </child>
132 </widget>
133 <packing>
134 <property name="position">3</property>
135 </packing>
136 </child>
137 <child>
138 <widget class="GtkHBox" id="hbox3">
139 <property name="visible">True</property>
140 <property name="homogeneous">True</property>
141 <child>
142 <widget class="GtkLabel" id="label3">
143 <property name="visible">True</property>
144 <property name="label" translatable="yes">Timestep [fs] :</property>
145 <property name="justify">GTK_JUSTIFY_CENTER</property>
146 </widget>
147 <packing>
148 <property name="expand">False</property>
149 <property name="fill">False</property>
150 </packing>
151 </child>
152 <child>
153 <widget class="GtkEntry" id="entry_timestep">
154 <property name="visible">True</property>
155 <property name="can_focus">True</property>
156 <property name="invisible_char">*</property>
157 </widget>
158 <packing>
159 <property name="position">1</property>
160 </packing>
161 </child>
162 </widget>
163 <packing>
164 <property name="position">4</property>
165 </packing>
166 </child>
167 <child>
168 <widget class="GtkHSeparator" id="hseparator3">
169 <property name="visible">True</property>
170 </widget>
171 <packing>
172 <property name="position">5</property>
173 </packing>
174 </child>
175 <child>
176 <widget class="GtkHBox" id="hbox2">
177 <property name="visible">True</property>
178 <property name="homogeneous">True</property>
179 <child>
180 <widget class="GtkLabel" id="label2">
181 <property name="visible">True</property>
182 <property name="label" translatable="yes">Temperature [K] :</property>
183 <property name="justify">GTK_JUSTIFY_CENTER</property>
184 </widget>
185 <packing>
186 <property name="expand">False</property>
187 <property name="fill">False</property>
188 </packing>
189 </child>
190 <child>
191 <widget class="GtkEntry" id="entry_temperature">
192 <property name="visible">True</property>
193 <property name="can_focus">True</property>
194 <property name="invisible_char">*</property>
195 </widget>
196 <packing>
197 <property name="position">1</property>
198 </packing>
199 </child>
200 </widget>
201 <packing>
202 <property name="position">6</property>
203 </packing>
204 </child>
205 <child>
206 <widget class="GtkHBox" id="hbox9">
207 <property name="visible">True</property>
208 <property name="homogeneous">True</property>
209 <child>
210 <widget class="GtkLabel" id="label10">
211 <property name="visible">True</property>
212 <property name="label" translatable="yes">T relaxation time [fs] : (heat/cool)</property>
213 <property name="justify">GTK_JUSTIFY_CENTER</property>
214 </widget>
215 <packing>
216 <property name="expand">False</property>
217 <property name="fill">False</property>
218 </packing>
219 </child>
220 <child>
221 <widget class="GtkEntry" id="entry_T_rt_hc">
222 <property name="visible">True</property>
223 <property name="can_focus">True</property>
224 <property name="invisible_char">*</property>
225 </widget>
226 <packing>
227 <property name="position">1</property>
228 </packing>
229 </child>
230 </widget>
231 <packing>
232 <property name="position">7</property>
233 </packing>
234 </child>
235 <child>
236 <widget class="GtkHBox" id="hbox10">
237 <property name="visible">True</property>
238 <property name="homogeneous">True</property>
239 <child>
240 <widget class="GtkLabel" id="label11">
241 <property name="visible">True</property>
242 <property name="label" translatable="yes">T relaxation time [fs] : (equil/simul)</property>
243 <property name="justify">GTK_JUSTIFY_CENTER</property>
244 </widget>
245 <packing>
246 <property name="expand">False</property>
247 <property name="fill">False</property>
248 </packing>
249 </child>
250 <child>
251 <widget class="GtkEntry" id="entry_T_rt_es">
252 <property name="visible">True</property>
253 <property name="can_focus">True</property>
254 <property name="invisible_char">*</property>
255 </widget>
256 <packing>
257 <property name="position">1</property>
258 </packing>
259 </child>
260 </widget>
261 <packing>
262 <property name="position">8</property>
263 </packing>
264 </child>
265 <child>
266 <widget class="GtkHSeparator" id="hseparator2">
267 <property name="visible">True</property>
268 </widget>
269 <packing>
270 <property name="position">9</property>
271 </packing>
272 </child>
273 <child>
274 <widget class="GtkHBox" id="hbox8">
275 <property name="visible">True</property>
276 <property name="homogeneous">True</property>
277 <child>
278 <widget class="GtkLabel" id="label9">
279 <property name="visible">True</property>
280 <property name="label" translatable="yes">Pressure [bar] :</property>
281 <property name="justify">GTK_JUSTIFY_CENTER</property>
282 </widget>
283 <packing>
284 <property name="expand">False</property>
285 <property name="fill">False</property>
286 </packing>
287 </child>
288 <child>
289 <widget class="GtkEntry" id="entry_pressure">
290 <property name="visible">True</property>
291 <property name="can_focus">True</property>
292 <property name="invisible_char">*</property>
293 </widget>
294 <packing>
295 <property name="position">1</property>
296 </packing>
297 </child>
298 </widget>
299 <packing>
300 <property name="position">10</property>
301 </packing>
302 </child>
303 <child>
304 <widget class="GtkHBox" id="hbox11">
305 <property name="visible">True</property>
306 <property name="homogeneous">True</property>
307 <child>
308 <widget class="GtkLabel" id="label12">
309 <property name="visible">True</property>
310 <property name="label" translatable="yes">P relaxation time [fs] :</property>
311 <property name="justify">GTK_JUSTIFY_CENTER</property>
312 </widget>
313 <packing>
314 <property name="expand">False</property>
315 <property name="fill">False</property>
316 </packing>
317 </child>
318 <child>
319 <widget class="GtkEntry" id="entry_P_rtime">
320 <property name="visible">True</property>
321 <property name="can_focus">True</property>
322 <property name="invisible_char">*</property>
323 </widget>
324 <packing>
325 <property name="position">1</property>
326 </packing>
327 </child>
328 </widget>
329 <packing>
330 <property name="position">11</property>
331 </packing>
332 </child>
333 <child>
334 <widget class="GtkHBox" id="hbox12">
335 <property name="visible">True</property>
336 <property name="homogeneous">True</property>
337 <child>
338 <widget class="GtkLabel" id="label13">
339 <property name="visible">True</property>
340 <property name="label" translatable="yes">Isothermal compressibility [1/bar] :</property>
341 <property name="justify">GTK_JUSTIFY_CENTER</property>
342 </widget>
343 <packing>
344 <property name="expand">False</property>
345 <property name="fill">False</property>
346 </packing>
347 </child>
348 <child>
349 <widget class="GtkEntry" id="entry_P_beta">
350 <property name="visible">True</property>
351 <property name="can_focus">True</property>
352 <property name="invisible_char">*</property>
353 </widget>
354 <packing>
355 <property name="position">1</property>
356 </packing>
357 </child>
358 </widget>
359 <packing>
360 <property name="position">12</property>
361 </packing>
362 </child>
363 <child>
364 <widget class="GtkHSeparator" id="hseparator1">
365 <property name="visible">True</property>
366 </widget>
367 <packing>
368 <property name="position">13</property>
369 </packing>
370 </child>
371 <child>
372 <placeholder/>
373 </child>
374 <child>
375 <widget class="GtkCheckButton" id="checkbutton_constant_T">
376 <property name="visible">True</property>
377 <property name="can_focus">True</property>
378 <property name="label" translatable="yes">Constant-T simulation (allow T-control at simulation stage)</property>
379 <property name="use_underline">True</property>
380 <property name="response_id">0</property>
381 <property name="draw_indicator">True</property>
382 </widget>
383 <packing>
384 <property name="expand">False</property>
385 <property name="fill">False</property>
386 <property name="position">15</property>
387 </packing>
388 </child>
389 <child>
390 <widget class="GtkCheckButton" id="checkbutton_constant_P">
391 <property name="visible">True</property>
392 <property name="can_focus">True</property>
393 <property name="label" translatable="yes">Constant-P simulation (allow P-control at simulation stage)</property>
394 <property name="use_underline">True</property>
395 <property name="response_id">0</property>
396 <property name="draw_indicator">True</property>
397 </widget>
398 <packing>
399 <property name="expand">False</property>
400 <property name="fill">False</property>
401 <property name="position">16</property>
402 </packing>
403 </child>
404 <child>
405 <placeholder/>
406 </child>
407 <child>
408 <placeholder/>
409 </child>
410 <child>
411 <widget class="GtkHBox" id="hbox4">
412 <property name="visible">True</property>
413 <child>
414 <widget class="GtkLabel" id="label7">
415 <property name="visible">True</property>
416 <property name="label" translatable="yes">Trajectory File : </property>
417 <property name="justify">GTK_JUSTIFY_CENTER</property>
418 </widget>
419 <packing>
420 <property name="expand">False</property>
421 <property name="fill">False</property>
422 </packing>
423 </child>
424 <child>
425 <widget class="GtkEntry" id="entry_trajfile">
426 <property name="visible">True</property>
427 <property name="can_focus">True</property>
428 <property name="invisible_char">*</property>
429 </widget>
430 <packing>
431 <property name="position">1</property>
432 </packing>
433 </child>
434 <child>
435 <widget class="GtkButton" id="button_browse">
436 <property name="visible">True</property>
437 <property name="can_focus">True</property>
438 <property name="label" translatable="yes">Browse...</property>
439 <property name="use_underline">True</property>
440 <property name="response_id">0</property>
441 <signal name="clicked" handler="on_button_browse_clicked"/>
442 </widget>
443 <packing>
444 <property name="expand">False</property>
445 <property name="fill">False</property>
446 <property name="position">2</property>
447 </packing>
448 </child>
449 <child>
450 <placeholder/>
451 </child>
452 </widget>
453 <packing>
454 <property name="position">19</property>
455 </packing>
456 </child>
457 <child>
458 <placeholder/>
459 </child>
460 </widget>
461 <packing>
462 <property name="position">3</property>
463 </packing>
464 </child>
465 <child internal-child="action_area">
466 <widget class="GtkHButtonBox" id="hbuttonbox1">
467 <property name="visible">True</property>
468 <property name="layout_style">GTK_BUTTONBOX_END</property>
469 <child>
470 <widget class="GtkButton" id="button_ok">
471 <property name="visible">True</property>
472 <property name="can_focus">True</property>
473 <property name="can_default">True</property>
474 <property name="label">gtk-ok</property>
475 <property name="use_stock">True</property>
476 <property name="response_id">0</property>
477 <signal name="clicked" handler="on_button_ok_clicked"/>
478 </widget>
479 </child>
480 <child>
481 <widget class="GtkButton" id="button_cancel">
482 <property name="visible">True</property>
483 <property name="can_focus">True</property>
484 <property name="can_default">True</property>
485 <property name="label">gtk-cancel</property>
486 <property name="use_stock">True</property>
487 <property name="response_id">0</property>
488 <signal name="clicked" handler="on_button_cancel_clicked"/>
489 </widget>
490 <packing>
491 <property name="position">1</property>
492 </packing>
493 </child>
494 </widget>
495 <packing>
496 <property name="expand">False</property>
497 <property name="pack_type">GTK_PACK_END</property>
498 </packing>
499 </child>
500 </widget>
501 </child>
502 </widget>
503 </glade-interface>
0 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
2 <!--*- mode: xml -*-->
3 <glade-interface>
4 <widget class="GtkDialog" id="progress_dialog">
5 <property name="visible">True</property>
6 <property name="title" translatable="yes">Background Job</property>
7 <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
8 <signal name="destroy" handler="on_dialog_destroy"/>
9 <child internal-child="vbox">
10 <widget class="GtkVBox" id="vbox1">
11 <property name="visible">True</property>
12 <property name="spacing">8</property>
13 <child>
14 <placeholder/>
15 </child>
16 <child>
17 <widget class="GtkHBox" id="hbox1">
18 <property name="visible">True</property>
19 <child>
20 <placeholder/>
21 </child>
22 <child>
23 <widget class="GtkLabel" id="label1">
24 <property name="visible">True</property>
25 <property name="label" translatable="yes">Job Title : </property>
26 </widget>
27 <packing>
28 <property name="expand">False</property>
29 <property name="fill">False</property>
30 <property name="position">1</property>
31 </packing>
32 </child>
33 <child>
34 <widget class="GtkEntry" id="entry_job">
35 <property name="visible">True</property>
36 <property name="can_focus">True</property>
37 <property name="editable">False</property>
38 <property name="invisible_char">*</property>
39 </widget>
40 <packing>
41 <property name="position">2</property>
42 </packing>
43 </child>
44 <child>
45 <placeholder/>
46 </child>
47 </widget>
48 <packing>
49 <property name="position">3</property>
50 </packing>
51 </child>
52 <child>
53 <widget class="GtkDrawingArea" id="drawingarea_job">
54 <property name="visible">True</property>
55 </widget>
56 <packing>
57 <property name="expand">False</property>
58 <property name="fill">False</property>
59 <property name="position">4</property>
60 </packing>
61 </child>
62 <child>
63 <widget class="GtkProgressBar" id="progressbar_job">
64 <property name="visible">True</property>
65 <property name="pulse_step">0.10000000149</property>
66 </widget>
67 <packing>
68 <property name="expand">False</property>
69 <property name="fill">False</property>
70 <property name="position">5</property>
71 </packing>
72 </child>
73 <child>
74 <placeholder/>
75 </child>
76 <child internal-child="action_area">
77 <widget class="GtkHButtonBox" id="hbuttonbox1">
78 <property name="visible">True</property>
79 <property name="layout_style">GTK_BUTTONBOX_END</property>
80 <child>
81 <widget class="GtkButton" id="button_cancel">
82 <property name="visible">True</property>
83 <property name="can_focus">True</property>
84 <property name="can_default">True</property>
85 <property name="label">gtk-cancel</property>
86 <property name="use_stock">True</property>
87 <property name="response_id">0</property>
88 <signal name="clicked" handler="on_button_cancel_clicked"/>
89 </widget>
90 </child>
91 </widget>
92 <packing>
93 <property name="expand">False</property>
94 <property name="pack_type">GTK_PACK_END</property>
95 </packing>
96 </child>
97 </widget>
98 </child>
99 </widget>
100 </glade-interface>
0 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
2 <!--*- mode: xml -*-->
3 <glade-interface>
4 <widget class="GtkDialog" id="setup_dialog">
5 <property name="visible">True</property>
6 <property name="title" translatable="yes">Setup</property>
7 <property name="modal">True</property>
8 <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
9 <signal name="destroy" handler="on_dialog_destroy"/>
10 <child internal-child="vbox">
11 <widget class="GtkVBox" id="vbox1">
12 <property name="visible">True</property>
13 <property name="spacing">8</property>
14 <child>
15 <placeholder/>
16 </child>
17 <child>
18 <widget class="GtkNotebook" id="notebook_su">
19 <property name="visible">True</property>
20 <property name="can_focus">True</property>
21 <child>
22 <widget class="GtkVBox" id="vbox2">
23 <property name="visible">True</property>
24 <child>
25 <placeholder/>
26 </child>
27 <child>
28 <widget class="GtkFrame" id="frame1">
29 <property name="visible">True</property>
30 <property name="label_xalign">0</property>
31 <property name="shadow_type">GTK_SHADOW_NONE</property>
32 <child>
33 <widget class="GtkAlignment" id="alignment1">
34 <property name="visible">True</property>
35 <property name="left_padding">12</property>
36 <child>
37 <widget class="GtkOptionMenu" id="optionmenu_allQM_eng">
38 <property name="visible">True</property>
39 <property name="can_focus">True</property>
40 <property name="response_id">0</property>
41 </widget>
42 </child>
43 </widget>
44 </child>
45 <child>
46 <widget class="GtkLabel" id="label6">
47 <property name="visible">True</property>
48 <property name="label" translatable="yes">&lt;b&gt;Select the Engine Class:&lt;/b&gt;</property>
49 <property name="use_markup">True</property>
50 </widget>
51 <packing>
52 <property name="type">label_item</property>
53 </packing>
54 </child>
55 </widget>
56 <packing>
57 <property name="expand">False</property>
58 <property name="fill">False</property>
59 <property name="position">1</property>
60 </packing>
61 </child>
62 <child>
63 <widget class="GtkHSeparator" id="hseparator1">
64 <property name="visible">True</property>
65 </widget>
66 <packing>
67 <property name="position">2</property>
68 </packing>
69 </child>
70 <child>
71 <widget class="GtkFrame" id="frame6">
72 <property name="visible">True</property>
73 <property name="label_xalign">0</property>
74 <property name="shadow_type">GTK_SHADOW_NONE</property>
75 <child>
76 <widget class="GtkAlignment" id="alignment6">
77 <property name="visible">True</property>
78 <property name="left_padding">12</property>
79 <child>
80 <widget class="GtkHBox" id="hbox1">
81 <property name="visible">True</property>
82 <property name="homogeneous">True</property>
83 <child>
84 <placeholder/>
85 </child>
86 <child>
87 <widget class="GtkLabel" id="label13">
88 <property name="visible">True</property>
89 <property name="label" translatable="yes">Total Charge:</property>
90 </widget>
91 <packing>
92 <property name="expand">False</property>
93 <property name="fill">False</property>
94 <property name="position">1</property>
95 </packing>
96 </child>
97 <child>
98 <widget class="GtkEntry" id="entry_allQM_totchrg">
99 <property name="visible">True</property>
100 <property name="can_focus">True</property>
101 <property name="max_length">6</property>
102 <property name="invisible_char">*</property>
103 </widget>
104 <packing>
105 <property name="position">2</property>
106 </packing>
107 </child>
108 <child>
109 <widget class="GtkButton" id="button1">
110 <property name="visible">True</property>
111 <property name="can_focus">True</property>
112 <property name="label" translatable="yes">Help</property>
113 <property name="use_underline">True</property>
114 <property name="response_id">0</property>
115 </widget>
116 <packing>
117 <property name="expand">False</property>
118 <property name="fill">False</property>
119 <property name="position">3</property>
120 </packing>
121 </child>
122 <child>
123 <placeholder/>
124 </child>
125 </widget>
126 </child>
127 </widget>
128 </child>
129 <child>
130 <widget class="GtkLabel" id="label11">
131 <property name="visible">True</property>
132 <property name="label" translatable="yes">&lt;b&gt;Set the total charge of the system:&lt;/b&gt;</property>
133 <property name="use_markup">True</property>
134 </widget>
135 <packing>
136 <property name="type">label_item</property>
137 </packing>
138 </child>
139 </widget>
140 <packing>
141 <property name="position">3</property>
142 </packing>
143 </child>
144 <child>
145 <widget class="GtkHSeparator" id="hseparator2">
146 <property name="visible">True</property>
147 </widget>
148 <packing>
149 <property name="position">4</property>
150 </packing>
151 </child>
152 <child>
153 <widget class="GtkFrame" id="frame7">
154 <property name="visible">True</property>
155 <property name="label_xalign">0</property>
156 <property name="shadow_type">GTK_SHADOW_NONE</property>
157 <child>
158 <widget class="GtkAlignment" id="alignment7">
159 <property name="visible">True</property>
160 <property name="left_padding">12</property>
161 <child>
162 <widget class="GtkHBox" id="hbox2">
163 <property name="visible">True</property>
164 <property name="homogeneous">True</property>
165 <child>
166 <placeholder/>
167 </child>
168 <child>
169 <widget class="GtkLabel" id="label14">
170 <property name="visible">True</property>
171 <property name="label" translatable="yes">Spin Multiplicity:</property>
172 </widget>
173 <packing>
174 <property name="expand">False</property>
175 <property name="fill">False</property>
176 <property name="position">1</property>
177 </packing>
178 </child>
179 <child>
180 <widget class="GtkEntry" id="entry_allQM_spinmult">
181 <property name="visible">True</property>
182 <property name="can_focus">True</property>
183 <property name="max_length">6</property>
184 <property name="invisible_char">*</property>
185 </widget>
186 <packing>
187 <property name="position">2</property>
188 </packing>
189 </child>
190 <child>
191 <widget class="GtkButton" id="button2">
192 <property name="visible">True</property>
193 <property name="can_focus">True</property>
194 <property name="label" translatable="yes">Help</property>
195 <property name="use_underline">True</property>
196 <property name="response_id">0</property>
197 </widget>
198 <packing>
199 <property name="expand">False</property>
200 <property name="fill">False</property>
201 <property name="position">3</property>
202 </packing>
203 </child>
204 <child>
205 <placeholder/>
206 </child>
207 </widget>
208 </child>
209 </widget>
210 </child>
211 <child>
212 <widget class="GtkLabel" id="label12">
213 <property name="visible">True</property>
214 <property name="label" translatable="yes">&lt;b&gt;Set the spin multiplicity of the system:&lt;/b&gt;</property>
215 <property name="use_markup">True</property>
216 </widget>
217 <packing>
218 <property name="type">label_item</property>
219 </packing>
220 </child>
221 </widget>
222 <packing>
223 <property name="position">5</property>
224 </packing>
225 </child>
226 <child>
227 <placeholder/>
228 </child>
229 </widget>
230 </child>
231 <child>
232 <widget class="GtkLabel" id="label1">
233 <property name="visible">True</property>
234 <property name="label" translatable="yes">all QM</property>
235 </widget>
236 <packing>
237 <property name="type">tab</property>
238 <property name="tab_fill">False</property>
239 </packing>
240 </child>
241 <child>
242 <widget class="GtkVBox" id="vbox3">
243 <property name="visible">True</property>
244 <child>
245 <placeholder/>
246 </child>
247 <child>
248 <widget class="GtkFrame" id="frame2">
249 <property name="visible">True</property>
250 <property name="label_xalign">0</property>
251 <property name="shadow_type">GTK_SHADOW_NONE</property>
252 <child>
253 <widget class="GtkAlignment" id="alignment2">
254 <property name="visible">True</property>
255 <property name="left_padding">12</property>
256 <child>
257 <widget class="GtkOptionMenu" id="optionmenu_allMM_eng">
258 <property name="visible">True</property>
259 <property name="can_focus">True</property>
260 <property name="response_id">0</property>
261 </widget>
262 </child>
263 </widget>
264 </child>
265 <child>
266 <widget class="GtkLabel" id="label7">
267 <property name="visible">True</property>
268 <property name="label" translatable="yes">&lt;b&gt;Select the Engine Class:&lt;/b&gt;</property>
269 <property name="use_markup">True</property>
270 </widget>
271 <packing>
272 <property name="type">label_item</property>
273 </packing>
274 </child>
275 </widget>
276 <packing>
277 <property name="position">1</property>
278 </packing>
279 </child>
280 <child>
281 <widget class="GtkHSeparator" id="hseparator3">
282 <property name="visible">True</property>
283 </widget>
284 <packing>
285 <property name="position">2</property>
286 </packing>
287 </child>
288 <child>
289 <widget class="GtkCheckButton" id="checkbutton_allMM_amber">
290 <property name="visible">True</property>
291 <property name="can_focus">True</property>
292 <property name="label" translatable="yes">Enable atomtype/parameter exceptions (AMBER FF).</property>
293 <property name="use_underline">True</property>
294 <property name="response_id">0</property>
295 <property name="draw_indicator">True</property>
296 </widget>
297 <packing>
298 <property name="expand">False</property>
299 <property name="fill">False</property>
300 <property name="position">3</property>
301 </packing>
302 </child>
303 <child>
304 <placeholder/>
305 </child>
306 <child>
307 <placeholder/>
308 </child>
309 <child>
310 <placeholder/>
311 </child>
312 </widget>
313 <packing>
314 <property name="position">1</property>
315 </packing>
316 </child>
317 <child>
318 <widget class="GtkLabel" id="label2">
319 <property name="visible">True</property>
320 <property name="label" translatable="yes">all MM</property>
321 </widget>
322 <packing>
323 <property name="type">tab</property>
324 <property name="position">1</property>
325 <property name="tab_fill">False</property>
326 </packing>
327 </child>
328 <child>
329 <widget class="GtkVBox" id="vbox4">
330 <property name="visible">True</property>
331 <child>
332 <placeholder/>
333 </child>
334 <child>
335 <widget class="GtkFrame" id="frame3">
336 <property name="visible">True</property>
337 <property name="label_xalign">0</property>
338 <property name="shadow_type">GTK_SHADOW_NONE</property>
339 <child>
340 <widget class="GtkAlignment" id="alignment3">
341 <property name="visible">True</property>
342 <property name="left_padding">12</property>
343 <child>
344 <widget class="GtkOptionMenu" id="optionmenu_allSF_eng">
345 <property name="visible">True</property>
346 <property name="can_focus">True</property>
347 <property name="response_id">0</property>
348 </widget>
349 </child>
350 </widget>
351 </child>
352 <child>
353 <widget class="GtkLabel" id="label8">
354 <property name="visible">True</property>
355 <property name="label" translatable="yes">&lt;b&gt;Select the Engine Class:&lt;/b&gt;</property>
356 <property name="use_markup">True</property>
357 </widget>
358 <packing>
359 <property name="type">label_item</property>
360 </packing>
361 </child>
362 </widget>
363 <packing>
364 <property name="position">1</property>
365 </packing>
366 </child>
367 <child>
368 <widget class="GtkHSeparator" id="hseparator4">
369 <property name="visible">True</property>
370 </widget>
371 <packing>
372 <property name="position">2</property>
373 </packing>
374 </child>
375 <child>
376 <placeholder/>
377 </child>
378 <child>
379 <placeholder/>
380 </child>
381 <child>
382 <placeholder/>
383 </child>
384 <child>
385 <placeholder/>
386 </child>
387 </widget>
388 <packing>
389 <property name="position">2</property>
390 </packing>
391 </child>
392 <child>
393 <widget class="GtkLabel" id="label3">
394 <property name="visible">True</property>
395 <property name="label" translatable="yes">all SF</property>
396 </widget>
397 <packing>
398 <property name="type">tab</property>
399 <property name="position">2</property>
400 <property name="tab_fill">False</property>
401 </packing>
402 </child>
403 <child>
404 <widget class="GtkVBox" id="vbox5">
405 <property name="visible">True</property>
406 <child>
407 <placeholder/>
408 </child>
409 <child>
410 <widget class="GtkFrame" id="frame4">
411 <property name="visible">True</property>
412 <property name="label_xalign">0</property>
413 <property name="shadow_type">GTK_SHADOW_NONE</property>
414 <child>
415 <widget class="GtkAlignment" id="alignment4">
416 <property name="visible">True</property>
417 <property name="left_padding">12</property>
418 <child>
419 <widget class="GtkOptionMenu" id="optionmenu_QMMM_eng">
420 <property name="visible">True</property>
421 <property name="can_focus">True</property>
422 <property name="response_id">0</property>
423 </widget>
424 </child>
425 </widget>
426 </child>
427 <child>
428 <widget class="GtkLabel" id="label9">
429 <property name="visible">True</property>
430 <property name="label" translatable="yes">&lt;b&gt;Select the Engine Class:&lt;/b&gt;</property>
431 <property name="use_markup">True</property>
432 </widget>
433 <packing>
434 <property name="type">label_item</property>
435 </packing>
436 </child>
437 </widget>
438 <packing>
439 <property name="position">1</property>
440 </packing>
441 </child>
442 <child>
443 <widget class="GtkHSeparator" id="hseparator5">
444 <property name="visible">True</property>
445 </widget>
446 <packing>
447 <property name="position">2</property>
448 </packing>
449 </child>
450 <child>
451 <placeholder/>
452 </child>
453 <child>
454 <placeholder/>
455 </child>
456 <child>
457 <placeholder/>
458 </child>
459 <child>
460 <widget class="GtkLabel" id="label15">
461 <property name="visible">True</property>
462 <property name="label" translatable="yes">this is under construction and DISABLED currently!</property>
463 </widget>
464 <packing>
465 <property name="expand">False</property>
466 <property name="fill">False</property>
467 <property name="position">6</property>
468 </packing>
469 </child>
470 </widget>
471 <packing>
472 <property name="position">3</property>
473 </packing>
474 </child>
475 <child>
476 <widget class="GtkLabel" id="label4">
477 <property name="visible">True</property>
478 <property name="label" translatable="yes">QM/MM</property>
479 </widget>
480 <packing>
481 <property name="type">tab</property>
482 <property name="position">3</property>
483 <property name="tab_fill">False</property>
484 </packing>
485 </child>
486 <child>
487 <widget class="GtkVBox" id="vbox6">
488 <property name="visible">True</property>
489 <child>
490 <placeholder/>
491 </child>
492 <child>
493 <widget class="GtkFrame" id="frame5">
494 <property name="visible">True</property>
495 <property name="label_xalign">0</property>
496 <property name="shadow_type">GTK_SHADOW_NONE</property>
497 <child>
498 <widget class="GtkAlignment" id="alignment5">
499 <property name="visible">True</property>
500 <property name="left_padding">12</property>
501 <child>
502 <widget class="GtkOptionMenu" id="optionmenu_MMSF_eng">
503 <property name="visible">True</property>
504 <property name="can_focus">True</property>
505 <property name="response_id">0</property>
506 </widget>
507 </child>
508 </widget>
509 </child>
510 <child>
511 <widget class="GtkLabel" id="label10">
512 <property name="visible">True</property>
513 <property name="label" translatable="yes">&lt;b&gt;Select the Engine Class:&lt;/b&gt;</property>
514 <property name="use_markup">True</property>
515 </widget>
516 <packing>
517 <property name="type">label_item</property>
518 </packing>
519 </child>
520 </widget>
521 <packing>
522 <property name="position">1</property>
523 </packing>
524 </child>
525 <child>
526 <widget class="GtkHSeparator" id="hseparator6">
527 <property name="visible">True</property>
528 </widget>
529 <packing>
530 <property name="position">2</property>
531 </packing>
532 </child>
533 <child>
534 <placeholder/>
535 </child>
536 <child>
537 <placeholder/>
538 </child>
539 <child>
540 <placeholder/>
541 </child>
542 <child>
543 <widget class="GtkLabel" id="label16">
544 <property name="visible">True</property>
545 <property name="label" translatable="yes">this is under construction and DISABLED currently!</property>
546 </widget>
547 <packing>
548 <property name="expand">False</property>
549 <property name="fill">False</property>
550 <property name="position">6</property>
551 </packing>
552 </child>
553 </widget>
554 <packing>
555 <property name="position">4</property>
556 </packing>
557 </child>
558 <child>
559 <widget class="GtkLabel" id="label5">
560 <property name="visible">True</property>
561 <property name="label" translatable="yes">MM/SF</property>
562 </widget>
563 <packing>
564 <property name="type">tab</property>
565 <property name="position">4</property>
566 <property name="tab_fill">False</property>
567 </packing>
568 </child>
569 </widget>
570 <packing>
571 <property name="position">3</property>
572 </packing>
573 </child>
574 <child>
575 <placeholder/>
576 </child>
577 <child internal-child="action_area">
578 <widget class="GtkHButtonBox" id="hbuttonbox1">
579 <property name="visible">True</property>
580 <property name="layout_style">GTK_BUTTONBOX_END</property>
581 <child>
582 <widget class="GtkButton" id="button_ok">
583 <property name="visible">True</property>
584 <property name="can_focus">True</property>
585 <property name="can_default">True</property>
586 <property name="label">gtk-ok</property>
587 <property name="use_stock">True</property>
588 <property name="response_id">0</property>
589 <signal name="clicked" handler="on_button_ok_clicked"/>
590 </widget>
591 </child>
592 <child>
593 <widget class="GtkButton" id="button_cancel">
594 <property name="visible">True</property>
595 <property name="can_focus">True</property>
596 <property name="can_default">True</property>
597 <property name="label">gtk-cancel</property>
598 <property name="use_stock">True</property>
599 <property name="response_id">0</property>
600 <signal name="clicked" handler="on_button_cancel_clicked"/>
601 </widget>
602 <packing>
603 <property name="position">1</property>
604 </packing>
605 </child>
606 </widget>
607 <packing>
608 <property name="expand">False</property>
609 <property name="pack_type">GTK_PACK_END</property>
610 </packing>
611 </child>
612 </widget>
613 </child>
614 </widget>
615 </glade-interface>
0 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
2 <!--*- mode: xml -*-->
3 <glade-interface>
4 <widget class="GtkDialog" id="stereo_dialog">
5 <property name="visible">True</property>
6 <property name="title" translatable="yes">Stereo View Settings</property>
7 <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
8 <signal name="destroy" handler="on_dialog_destroy"/>
9 <child internal-child="vbox">
10 <widget class="GtkVBox" id="dialog-vbox1">
11 <property name="visible">True</property>
12 <child>
13 <widget class="GtkVBox" id="vbox1">
14 <property name="visible">True</property>
15 <child>
16 <placeholder/>
17 </child>
18 <child>
19 <widget class="GtkHBox" id="hbox1">
20 <property name="visible">True</property>
21 <property name="homogeneous">True</property>
22 <child>
23 <widget class="GtkLabel" id="label1">
24 <property name="visible">True</property>
25 <property name="label" translatable="yes">Relaxed Separation :</property>
26 </widget>
27 <packing>
28 <property name="expand">False</property>
29 <property name="fill">False</property>
30 </packing>
31 </child>
32 <child>
33 <widget class="GtkHScale" id="hscale_separation">
34 <property name="visible">True</property>
35 <property name="can_focus">True</property>
36 <property name="adjustment">0 -9 9 0 0 0</property>
37 <property name="value_pos">GTK_POS_RIGHT</property>
38 <signal name="value_changed" handler="on_hscale_separation_value_changed"/>
39 </widget>
40 <packing>
41 <property name="position">1</property>
42 </packing>
43 </child>
44 </widget>
45 <packing>
46 <property name="position">1</property>
47 </packing>
48 </child>
49 <child>
50 <widget class="GtkHBox" id="hbox2">
51 <property name="visible">True</property>
52 <property name="homogeneous">True</property>
53 <child>
54 <widget class="GtkLabel" id="label2">
55 <property name="visible">True</property>
56 <property name="label" translatable="yes">Stereo Displacement :</property>
57 </widget>
58 <packing>
59 <property name="expand">False</property>
60 <property name="fill">False</property>
61 </packing>
62 </child>
63 <child>
64 <widget class="GtkHScale" id="hscale_displacement">
65 <property name="visible">True</property>
66 <property name="can_focus">True</property>
67 <property name="adjustment">0 -9 9 0 0 0</property>
68 <property name="value_pos">GTK_POS_RIGHT</property>
69 <signal name="value_changed" handler="on_hscale_displacement_value_changed"/>
70 </widget>
71 <packing>
72 <property name="position">1</property>
73 </packing>
74 </child>
75 </widget>
76 <packing>
77 <property name="position">2</property>
78 </packing>
79 </child>
80 <child>
81 <placeholder/>
82 </child>
83 </widget>
84 <packing>
85 <property name="position">2</property>
86 </packing>
87 </child>
88 <child internal-child="action_area">
89 <widget class="GtkHButtonBox" id="dialog-action_area1">
90 <property name="visible">True</property>
91 <property name="layout_style">GTK_BUTTONBOX_END</property>
92 </widget>
93 <packing>
94 <property name="expand">False</property>
95 <property name="pack_type">GTK_PACK_END</property>
96 </packing>
97 </child>
98 </widget>
99 </child>
100 </widget>
101 </glade-interface>
0 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
1 <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
2 <!--*- mode: xml -*-->
3 <glade-interface>
4 <widget class="GtkDialog" id="trajview_dialog">
5 <property name="visible">True</property>
6 <property name="title" translatable="yes">Trajectory Viewer</property>
7 <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
8 <signal name="destroy" handler="on_dialog_destroy"/>
9 <child internal-child="vbox">
10 <widget class="GtkVBox" id="vbox1">
11 <property name="visible">True</property>
12 <property name="spacing">8</property>
13 <child>
14 <placeholder/>
15 </child>
16 <child>
17 <widget class="GtkHBox" id="hbox1">
18 <property name="visible">True</property>
19 <property name="homogeneous">True</property>
20 <child>
21 <widget class="GtkButton" id="button2">
22 <property name="visible">True</property>
23 <property name="can_focus">True</property>
24 <property name="label" translatable="yes">Begin</property>
25 <property name="use_underline">True</property>
26 <property name="response_id">0</property>
27 <signal name="clicked" handler="on_button_begin_clicked"/>
28 </widget>
29 <packing>
30 <property name="expand">False</property>
31 </packing>
32 </child>
33 <child>
34 <widget class="GtkButton" id="button3">
35 <property name="visible">True</property>
36 <property name="can_focus">True</property>
37 <property name="label">gtk-go-back</property>
38 <property name="use_stock">True</property>
39 <property name="response_id">0</property>
40 <signal name="clicked" handler="on_button_prev_clicked"/>
41 </widget>
42 <packing>
43 <property name="expand">False</property>
44 <property name="position">1</property>
45 </packing>
46 </child>
47 <child>
48 <widget class="GtkButton" id="button4">
49 <property name="visible">True</property>
50 <property name="can_focus">True</property>
51 <property name="label" translatable="yes">Play</property>
52 <property name="use_underline">True</property>
53 <property name="response_id">0</property>
54 <signal name="clicked" handler="on_button_play_clicked"/>
55 </widget>
56 <packing>
57 <property name="expand">False</property>
58 <property name="position">2</property>
59 </packing>
60 </child>
61 <child>
62 <widget class="GtkButton" id="button5">
63 <property name="visible">True</property>
64 <property name="can_focus">True</property>
65 <property name="label">gtk-go-forward</property>
66 <property name="use_stock">True</property>
67 <property name="response_id">0</property>
68 <signal name="clicked" handler="on_button_next_clicked"/>
69 </widget>
70 <packing>
71 <property name="expand">False</property>
72 <property name="position">3</property>
73 </packing>
74 </child>
75 <child>
76 <widget class="GtkButton" id="button6">
77 <property name="visible">True</property>
78 <property name="can_focus">True</property>
79 <property name="label" translatable="yes">End</property>
80 <property name="use_underline">True</property>
81 <property name="response_id">0</property>
82 <signal name="clicked" handler="on_button_end_clicked"/>
83 </widget>
84 <packing>
85 <property name="expand">False</property>
86 <property name="position">4</property>
87 </packing>
88 </child>
89 </widget>
90 <packing>
91 <property name="position">3</property>
92 </packing>
93 </child>
94 <child>
95 <placeholder/>
96 </child>
97 <child internal-child="action_area">
98 <widget class="GtkHButtonBox" id="hbuttonbox1">
99 <property name="visible">True</property>
100 <property name="layout_style">GTK_BUTTONBOX_END</property>
101 <child>
102 <widget class="GtkButton" id="button1">
103 <property name="visible">True</property>
104 <property name="can_focus">True</property>
105 <property name="can_default">True</property>
106 <property name="label">gtk-close</property>
107 <property name="use_stock">True</property>
108 <property name="response_id">0</property>
109 <signal name="clicked" handler="on_button_close_clicked"/>
110 </widget>
111 </child>
112 </widget>
113 <packing>
114 <property name="expand">False</property>
115 <property name="pack_type">GTK_PACK_END</property>
116 </packing>
117 </child>
118 </widget>
119 </child>
120 </widget>
121 </glade-interface>
0 /* XPM */
1 static char * invert_xpm[] = {
2 "24 24 6 1",
3 " c None",
4 ". c #000000",
5 "+ c #FFFFFF",
6 "@ c #F0F0F0",
7 "# c #FF00FF",
8 "$ c #00C400",
9 " ",
10 " .............. ",
11 " .++++++++++++. ",
12 " .+............ ",
13 " .+. ",
14 " ...+... ",
15 " .+++++. ",
16 " .+++. ",
17 " .+++. ",
18 " .+. ",
19 " .+. @@ ",
20 " . ## ",
21 " . . . ##@@ ",
22 " . . ##@@ ",
23 " ++ ## ",
24 " $$ ",
25 " .. $$++ .. ",
26 " $$++ @@ ",
27 " $$ ## ",
28 " . . ##@@ ",
29 " . . . ##@@ ",
30 " . ## ",
31 " ",
32 " "};
0 /* XPM */
1 static char * measure_xpm[] = {
2 "24 24 4 1",
3 " c None",
4 ". c #FF0000",
5 "+ c #000000",
6 "@ c #FFFFFF",
7 " ",
8 " ",
9 " ",
10 " ",
11 " ",
12 " ",
13 " ",
14 " ",
15 " ",
16 " .. + + .. ",
17 " ..@@ + + ..@@ ",
18 " ..@@++++++++++++++..@@ ",
19 " .. + + .. ",
20 " + + ",
21 " ",
22 " ",
23 " ",
24 " ",
25 " ",
26 " ",
27 " ",
28 " ",
29 " ",
30 " "};
0 /* XPM */
1 static char * molecule_xpm[] = {
2 "24 24 5 1",
3 " c None",
4 ". c #000000",
5 "+ c #FFFFFF",
6 "@ c #F0F0F0",
7 "# c #FF00FF",
8 " ",
9 " .............. ",
10 " .++++++++++++. ",
11 " .+............ ",
12 " .+. ",
13 " ...+... ",
14 " .+++++. ",
15 " .+++. ",
16 " .+++. ",
17 " .+. ",
18 " .+. @@ ",
19 " . ## ",
20 " . .##@@ ",
21 " ..##@@ ",
22 " ++ .. ## ",
23 " ## .. . ",
24 " ##++. .. ",
25 " ##++ ..@@ ",
26 " ## .## ",
27 " ##@@ ",
28 " ##@@ ",
29 " ## ",
30 " ",
31 " "};
0 /* XPM */
1 static char * orbit_xy_xpm[] = {
2 "24 24 4 1",
3 " c None",
4 ". c #000000",
5 "+ c #FFFFFF",
6 "@ c #FF0000",
7 " ",
8 " ",
9 " ... ",
10 " . . ",
11 " . . ",
12 " . . . . ",
13 " ... . ",
14 " . . ",
15 " ....... ",
16 " ... .. ",
17 " .. ++ . .. ",
18 " . @@ . . ",
19 " . @@++ . . ",
20 " . @@++ . . ",
21 " . @@ . . ",
22 " . . . . ",
23 " .. . . . ",
24 " .... . ",
25 " . . ",
26 " . . ",
27 " . . ",
28 " . . ",
29 " ... ",
30 " "};
0 /* XPM */
1 static char * orbit_z_xpm[] = {
2 "24 24 4 1",
3 " c None",
4 ". c #000000",
5 "+ c #FFFFFF",
6 "@ c #FF0000",
7 " ",
8 " ",
9 " ...... ",
10 " .. .. ",
11 " . .. ",
12 " . . ",
13 " . . ",
14 " . . ",
15 " . . ",
16 " . ++ ",
17 " . @@ ",
18 " . @@++ ",
19 " . @@++ . ",
20 " . @@ ... ",
21 " . . . ..",
22 " . . ",
23 " . . ",
24 " . . ",
25 " . .. ",
26 " .. .. ",
27 " ...... ",
28 " ",
29 " ",
30 " "};
0 /* XPM */
1 static char * residue_xpm[] = {
2 "24 24 4 1",
3 " c None",
4 ". c #000000",
5 "+ c #FFFFFF",
6 "@ c #FF00FF",
7 " ",
8 " .............. ",
9 " .++++++++++++. ",
10 " .+............ ",
11 " .+. ",
12 " ...+... ",
13 " .+++++. ",
14 " .+++. ",
15 " .+++. ",
16 " .+. ",
17 " .+. ",
18 " . ",
19 " . . . ",
20 " . . ",
21 " ",
22 " . @@ . .. ",
23 " . . @ @ . . . ",
24 " . . @ @ . . . ",
25 " ... . @@ . . . .. ",
26 " . . @ @ . . ",
27 " . . @ @ . . ",
28 " . . @ @ ... . ",
29 " ",
30 " "};
0 /* XPM */
1 static char * rotate_xy_xpm[] = {
2 "24 24 3 1",
3 " c None",
4 ". c #000000",
5 "+ c #FFFF00",
6 " ",
7 " ",
8 " ",
9 " ... ",
10 " ... .. ",
11 " ..+++.. . . ",
12 " .+++++++. . ",
13 " .+++.+++.+. . ",
14 " .+++++++++. . ",
15 " .+++++++++++. . ",
16 " .++++.+++.++. . ",
17 " .++++...++. . ",
18 " .+++++++++. . ",
19 " .+++++++. . . ",
20 " ..+++.. .. ",
21 " ... ... ",
22 " ",
23 " ",
24 " ... ... ",
25 " .. .. ",
26 " . .. .. . ",
27 " ........ ",
28 " ",
29 " "};
0 /* XPM */
1 static char * rotate_z_xpm[] = {
2 "24 24 3 1",
3 " c None",
4 ". c #000000",
5 "+ c #FFFF00",
6 " ",
7 " ",
8 " ...... ",
9 " .. .. ",
10 " . .. ",
11 " . . ",
12 " . ... . ",
13 " . ..+++.. . ",
14 " . .+++++++. . ",
15 " . .+++++++++. ",
16 " . .++.+++.++. ",
17 " . .+++++++++++. ",
18 " . .+++++++++++. . ",
19 " . .++.+++.++. ... ",
20 " . .+++...+++. . . . ",
21 " . .+++++++. . ",
22 " . ..+++.. . ",
23 " . ... . ",
24 " . .. ",
25 " .. .. ",
26 " ...... ",
27 " ",
28 " ",
29 " "};
0 /* XPM */
1 static char * select_xpm[] = {
2 "24 24 6 1",
3 " c None",
4 ". c #000000",
5 "+ c #FFFFFF",
6 "@ c #F0F0F0",
7 "# c #00C400",
8 "$ c #FF00FF",
9 " ",
10 " .............. ",
11 " .++++++++++++. ",
12 " .+............ ",
13 " .+. ",
14 " ...+... ",
15 " .+++++. ",
16 " .+++. ",
17 " .+++. ",
18 " .+. ",
19 " .+. @@ ",
20 " . ## ",
21 " . . . ##@@ ",
22 " . . ##@@ ",
23 " ++ ## ",
24 " $$ ",
25 " .. $$++ .. ",
26 " $$++ @@ ",
27 " $$ ## ",
28 " . . ##@@ ",
29 " . . . ##@@ ",
30 " . ## ",
31 " ",
32 " "};
0 /* XPM */
1 static char * setup_xpm[] = {
2 "24 24 3 1",
3 " c None",
4 ". c #FFFFFF",
5 "+ c #000000",
6 " ",
7 " ",
8 ".................... ",
9 "....................+ ",
10 "....................+. ",
11 "....................+.+ ",
12 ".++....++..++....++.+.+.",
13 ".++....++..++....++.+.+.",
14 ".++ ...++..++ ...++.+.+.",
15 ".+.+..+.+..+.+..+.+.+.+.",
16 ".+.+..+.+..+.+..+.+.+.+.",
17 ".+.+ .+..+.+ .+.+.+.",
18 ".+..++..+..+..++..+.+.+.",
19 ".+..++..+..+..++..+.+.+.",
20 "....................+.+.",
21 "....................+.+.",
22 "....................+.+.",
23 "....................+.+.",
24 " ++++++++++++++++++++.+.",
25 " ....................+.",
26 " ++++++++++++++++++++.",
27 " ....................",
28 " ",
29 " "};
0 /* XPM */
1 static char * transl_xy_xpm[] = {
2 "24 24 4 1",
3 " c None",
4 ". c #000000",
5 "+ c #FFFFFF",
6 "@ c #FF0000",
7 " . ",
8 " ... ",
9 " . . . ",
10 " . ",
11 " . ",
12 " . ",
13 " . ",
14 " . ",
15 " ",
16 " . ++ . ",
17 " . @@ . ",
18 "........ @@++ ........ ",
19 " . @@++ . ",
20 " . @@ . ",
21 " ",
22 " ",
23 " . ",
24 " . ",
25 " . ",
26 " . ",
27 " . . . ",
28 " ... ",
29 " . ",
30 " "};
0 /* XPM */
1 static char * transl_z_xpm[] = {
2 "24 24 4 1",
3 " c None",
4 ". c #000000",
5 "+ c #FFFFFF",
6 "@ c #FF0000",
7 " ",
8 " ",
9 " . ",
10 " ",
11 " . ",
12 " ",
13 " . ... ",
14 " .. ",
15 " . . . ",
16 " ++ . ",
17 " @@ ",
18 " @@++ ",
19 " . . . . @@++ . . . . ",
20 " @@ ",
21 " . ",
22 " . . ",
23 " . ",
24 " . . . ",
25 " .. ",
26 " ... . ",
27 " ",
28 " . ",
29 " ",
30 " "};
0 /* XPM */
1 static char * zoom_xpm[] = {
2 "24 24 4 1",
3 " c None",
4 ". c #000000",
5 "+ c #FFFFFF",
6 "@ c #C0C0C0",
7 " ",
8 " ........ ",
9 " .......... ",
10 " ... .. ",
11 " ... .. ",
12 " .. .. ",
13 " .. .. ",
14 " .. .. ",
15 " .. + .. ",
16 " .. + .. ",
17 " .. + .. ",
18 " .. ++ .. ",
19 " .. +++ .. ",
20 " .. +++ .. ",
21 " ..@+++++ ... ",
22 " .. ..... ",
23 " .............. ",
24 " ....... ..... ",
25 " ..... ",
26 " ..... ",
27 " .... ",
28 " ... ",
29 " ",
30 " "};
0 // SPLINE.CPP
1
2 // Copyright (C) 1998 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #include "spline.h"
21
22 /*################################################################################################*/
23
24 spline::spline(i32s p1, i32s p2)
25 {
26 order = p1; ncp = p2; nk = order + ncp;
27 knot = new fGL[nk]; weight = new fGL[ncp + 1];
28 cpcrd = new ref_fGL[ncp];
29 }
30
31 spline::~spline(void)
32 {
33 delete[] weight;
34 delete[] cpcrd;
35 delete[] knot;
36 }
37
38 void spline::Compute(fGL p1, fGL * p2)
39 {
40 p2[0] = p2[1] = p2[2] = 0.0;
41 for (i32s n1 = 0;n1 < ncp + 1;n1++)
42 {
43 if (p1 < knot[n1]) weight[n1] = 0.0;
44 else if (p1 < knot[n1 + 1]) weight[n1] = 1.0;
45 else weight[n1] = 0.0;
46 }
47
48 for (i32s n1 = 1;n1 < order;n1++)
49 {
50 for (i32s n2 = 0;n2 < ncp;n2++)
51 {
52 fGL tmp1 = (p1 - knot[n2]) / (knot[n2 + n1] - knot[n2]) * weight[n2];
53 fGL tmp2 = (knot[n2 + n1 + 1] - p1) / (knot[n2 + n1 + 1] - knot[n2 + 1]) * weight[n2 + 1];
54 weight[n2] = tmp1 + tmp2;
55 }
56 }
57
58 for (i32s n1 = 0;n1 < ncp;n1++)
59 {
60 p2[0] += cpcrd[n1][0] * weight[n1];
61 p2[1] += cpcrd[n1][1] * weight[n1];
62 p2[2] += cpcrd[n1][2] * weight[n1];
63 }
64 }
65
66 /*################################################################################################*/
67
68 // eof
0 // SPLINE.H : a "B-spline" class for ribbon models.
1
2 // Copyright (C) 1998 Tommi Hassinen.
3
4 // This package is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation; either version 2 of the License, or
7 // (at your option) any later version.
8
9 // This package is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13
14 // You should have received a copy of the GNU General Public License
15 // along with this package; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
18 /*################################################################################################*/
19
20 #ifndef SPLINE_H
21 #define SPLINE_H
22
23 //#include "ghemicalconfig2.h"
24
25 class spline;
26
27 /*################################################################################################*/
28
29 #include <ghemical/typedef.h>
30
31 /*################################################################################################*/
32
33 /// This is a "##B-spline" class for those ribbon models...
34
35 class spline
36 {
37 private:
38
39 i32s order;
40 i32s ncp; i32s nk;
41
42 fGL * knot;
43 fGL * weight;
44 fGL ** cpcrd; // no data, just the pointers...
45
46 public:
47
48 spline(i32s p1, i32s p2);
49 ~spline(void);
50
51 void Compute(fGL, fGL *);
52
53 void SetPoint(i32s p1, fGL * p2) { cpcrd[p1] = p2; }
54 void SetKnot(i32s p1, fGL p2) { knot[p1] = p2; }
55
56 i32s GetOrder(void) { return order; }
57 };
58
59 /*################################################################################################*/
60
61 #endif // SPLINE_H
62
63 // eof