1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/maemo-ui/COPYING Thu Sep 28 16:11:10 2006 +0100
1.3 @@ -0,0 +1,504 @@
1.4 + GNU LESSER GENERAL PUBLIC LICENSE
1.5 + Version 2.1, February 1999
1.6 +
1.7 + Copyright (C) 1991, 1999 Free Software Foundation, Inc.
1.8 + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1.9 + Everyone is permitted to copy and distribute verbatim copies
1.10 + of this license document, but changing it is not allowed.
1.11 +
1.12 +[This is the first released version of the Lesser GPL. It also counts
1.13 + as the successor of the GNU Library Public License, version 2, hence
1.14 + the version number 2.1.]
1.15 +
1.16 + Preamble
1.17 +
1.18 + The licenses for most software are designed to take away your
1.19 +freedom to share and change it. By contrast, the GNU General Public
1.20 +Licenses are intended to guarantee your freedom to share and change
1.21 +free software--to make sure the software is free for all its users.
1.22 +
1.23 + This license, the Lesser General Public License, applies to some
1.24 +specially designated software packages--typically libraries--of the
1.25 +Free Software Foundation and other authors who decide to use it. You
1.26 +can use it too, but we suggest you first think carefully about whether
1.27 +this license or the ordinary General Public License is the better
1.28 +strategy to use in any particular case, based on the explanations below.
1.29 +
1.30 + When we speak of free software, we are referring to freedom of use,
1.31 +not price. Our General Public Licenses are designed to make sure that
1.32 +you have the freedom to distribute copies of free software (and charge
1.33 +for this service if you wish); that you receive source code or can get
1.34 +it if you want it; that you can change the software and use pieces of
1.35 +it in new free programs; and that you are informed that you can do
1.36 +these things.
1.37 +
1.38 + To protect your rights, we need to make restrictions that forbid
1.39 +distributors to deny you these rights or to ask you to surrender these
1.40 +rights. These restrictions translate to certain responsibilities for
1.41 +you if you distribute copies of the library or if you modify it.
1.42 +
1.43 + For example, if you distribute copies of the library, whether gratis
1.44 +or for a fee, you must give the recipients all the rights that we gave
1.45 +you. You must make sure that they, too, receive or can get the source
1.46 +code. If you link other code with the library, you must provide
1.47 +complete object files to the recipients, so that they can relink them
1.48 +with the library after making changes to the library and recompiling
1.49 +it. And you must show them these terms so they know their rights.
1.50 +
1.51 + We protect your rights with a two-step method: (1) we copyright the
1.52 +library, and (2) we offer you this license, which gives you legal
1.53 +permission to copy, distribute and/or modify the library.
1.54 +
1.55 + To protect each distributor, we want to make it very clear that
1.56 +there is no warranty for the free library. Also, if the library is
1.57 +modified by someone else and passed on, the recipients should know
1.58 +that what they have is not the original version, so that the original
1.59 +author's reputation will not be affected by problems that might be
1.60 +introduced by others.
1.61 +
1.62 + Finally, software patents pose a constant threat to the existence of
1.63 +any free program. We wish to make sure that a company cannot
1.64 +effectively restrict the users of a free program by obtaining a
1.65 +restrictive license from a patent holder. Therefore, we insist that
1.66 +any patent license obtained for a version of the library must be
1.67 +consistent with the full freedom of use specified in this license.
1.68 +
1.69 + Most GNU software, including some libraries, is covered by the
1.70 +ordinary GNU General Public License. This license, the GNU Lesser
1.71 +General Public License, applies to certain designated libraries, and
1.72 +is quite different from the ordinary General Public License. We use
1.73 +this license for certain libraries in order to permit linking those
1.74 +libraries into non-free programs.
1.75 +
1.76 + When a program is linked with a library, whether statically or using
1.77 +a shared library, the combination of the two is legally speaking a
1.78 +combined work, a derivative of the original library. The ordinary
1.79 +General Public License therefore permits such linking only if the
1.80 +entire combination fits its criteria of freedom. The Lesser General
1.81 +Public License permits more lax criteria for linking other code with
1.82 +the library.
1.83 +
1.84 + We call this license the "Lesser" General Public License because it
1.85 +does Less to protect the user's freedom than the ordinary General
1.86 +Public License. It also provides other free software developers Less
1.87 +of an advantage over competing non-free programs. These disadvantages
1.88 +are the reason we use the ordinary General Public License for many
1.89 +libraries. However, the Lesser license provides advantages in certain
1.90 +special circumstances.
1.91 +
1.92 + For example, on rare occasions, there may be a special need to
1.93 +encourage the widest possible use of a certain library, so that it becomes
1.94 +a de-facto standard. To achieve this, non-free programs must be
1.95 +allowed to use the library. A more frequent case is that a free
1.96 +library does the same job as widely used non-free libraries. In this
1.97 +case, there is little to gain by limiting the free library to free
1.98 +software only, so we use the Lesser General Public License.
1.99 +
1.100 + In other cases, permission to use a particular library in non-free
1.101 +programs enables a greater number of people to use a large body of
1.102 +free software. For example, permission to use the GNU C Library in
1.103 +non-free programs enables many more people to use the whole GNU
1.104 +operating system, as well as its variant, the GNU/Linux operating
1.105 +system.
1.106 +
1.107 + Although the Lesser General Public License is Less protective of the
1.108 +users' freedom, it does ensure that the user of a program that is
1.109 +linked with the Library has the freedom and the wherewithal to run
1.110 +that program using a modified version of the Library.
1.111 +
1.112 + The precise terms and conditions for copying, distribution and
1.113 +modification follow. Pay close attention to the difference between a
1.114 +"work based on the library" and a "work that uses the library". The
1.115 +former contains code derived from the library, whereas the latter must
1.116 +be combined with the library in order to run.
1.117 +
1.118 + GNU LESSER GENERAL PUBLIC LICENSE
1.119 + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
1.120 +
1.121 + 0. This License Agreement applies to any software library or other
1.122 +program which contains a notice placed by the copyright holder or
1.123 +other authorized party saying it may be distributed under the terms of
1.124 +this Lesser General Public License (also called "this License").
1.125 +Each licensee is addressed as "you".
1.126 +
1.127 + A "library" means a collection of software functions and/or data
1.128 +prepared so as to be conveniently linked with application programs
1.129 +(which use some of those functions and data) to form executables.
1.130 +
1.131 + The "Library", below, refers to any such software library or work
1.132 +which has been distributed under these terms. A "work based on the
1.133 +Library" means either the Library or any derivative work under
1.134 +copyright law: that is to say, a work containing the Library or a
1.135 +portion of it, either verbatim or with modifications and/or translated
1.136 +straightforwardly into another language. (Hereinafter, translation is
1.137 +included without limitation in the term "modification".)
1.138 +
1.139 + "Source code" for a work means the preferred form of the work for
1.140 +making modifications to it. For a library, complete source code means
1.141 +all the source code for all modules it contains, plus any associated
1.142 +interface definition files, plus the scripts used to control compilation
1.143 +and installation of the library.
1.144 +
1.145 + Activities other than copying, distribution and modification are not
1.146 +covered by this License; they are outside its scope. The act of
1.147 +running a program using the Library is not restricted, and output from
1.148 +such a program is covered only if its contents constitute a work based
1.149 +on the Library (independent of the use of the Library in a tool for
1.150 +writing it). Whether that is true depends on what the Library does
1.151 +and what the program that uses the Library does.
1.152 +
1.153 + 1. You may copy and distribute verbatim copies of the Library's
1.154 +complete source code as you receive it, in any medium, provided that
1.155 +you conspicuously and appropriately publish on each copy an
1.156 +appropriate copyright notice and disclaimer of warranty; keep intact
1.157 +all the notices that refer to this License and to the absence of any
1.158 +warranty; and distribute a copy of this License along with the
1.159 +Library.
1.160 +
1.161 + You may charge a fee for the physical act of transferring a copy,
1.162 +and you may at your option offer warranty protection in exchange for a
1.163 +fee.
1.164 +
1.165 + 2. You may modify your copy or copies of the Library or any portion
1.166 +of it, thus forming a work based on the Library, and copy and
1.167 +distribute such modifications or work under the terms of Section 1
1.168 +above, provided that you also meet all of these conditions:
1.169 +
1.170 + a) The modified work must itself be a software library.
1.171 +
1.172 + b) You must cause the files modified to carry prominent notices
1.173 + stating that you changed the files and the date of any change.
1.174 +
1.175 + c) You must cause the whole of the work to be licensed at no
1.176 + charge to all third parties under the terms of this License.
1.177 +
1.178 + d) If a facility in the modified Library refers to a function or a
1.179 + table of data to be supplied by an application program that uses
1.180 + the facility, other than as an argument passed when the facility
1.181 + is invoked, then you must make a good faith effort to ensure that,
1.182 + in the event an application does not supply such function or
1.183 + table, the facility still operates, and performs whatever part of
1.184 + its purpose remains meaningful.
1.185 +
1.186 + (For example, a function in a library to compute square roots has
1.187 + a purpose that is entirely well-defined independent of the
1.188 + application. Therefore, Subsection 2d requires that any
1.189 + application-supplied function or table used by this function must
1.190 + be optional: if the application does not supply it, the square
1.191 + root function must still compute square roots.)
1.192 +
1.193 +These requirements apply to the modified work as a whole. If
1.194 +identifiable sections of that work are not derived from the Library,
1.195 +and can be reasonably considered independent and separate works in
1.196 +themselves, then this License, and its terms, do not apply to those
1.197 +sections when you distribute them as separate works. But when you
1.198 +distribute the same sections as part of a whole which is a work based
1.199 +on the Library, the distribution of the whole must be on the terms of
1.200 +this License, whose permissions for other licensees extend to the
1.201 +entire whole, and thus to each and every part regardless of who wrote
1.202 +it.
1.203 +
1.204 +Thus, it is not the intent of this section to claim rights or contest
1.205 +your rights to work written entirely by you; rather, the intent is to
1.206 +exercise the right to control the distribution of derivative or
1.207 +collective works based on the Library.
1.208 +
1.209 +In addition, mere aggregation of another work not based on the Library
1.210 +with the Library (or with a work based on the Library) on a volume of
1.211 +a storage or distribution medium does not bring the other work under
1.212 +the scope of this License.
1.213 +
1.214 + 3. You may opt to apply the terms of the ordinary GNU General Public
1.215 +License instead of this License to a given copy of the Library. To do
1.216 +this, you must alter all the notices that refer to this License, so
1.217 +that they refer to the ordinary GNU General Public License, version 2,
1.218 +instead of to this License. (If a newer version than version 2 of the
1.219 +ordinary GNU General Public License has appeared, then you can specify
1.220 +that version instead if you wish.) Do not make any other change in
1.221 +these notices.
1.222 +
1.223 + Once this change is made in a given copy, it is irreversible for
1.224 +that copy, so the ordinary GNU General Public License applies to all
1.225 +subsequent copies and derivative works made from that copy.
1.226 +
1.227 + This option is useful when you wish to copy part of the code of
1.228 +the Library into a program that is not a library.
1.229 +
1.230 + 4. You may copy and distribute the Library (or a portion or
1.231 +derivative of it, under Section 2) in object code or executable form
1.232 +under the terms of Sections 1 and 2 above provided that you accompany
1.233 +it with the complete corresponding machine-readable source code, which
1.234 +must be distributed under the terms of Sections 1 and 2 above on a
1.235 +medium customarily used for software interchange.
1.236 +
1.237 + If distribution of object code is made by offering access to copy
1.238 +from a designated place, then offering equivalent access to copy the
1.239 +source code from the same place satisfies the requirement to
1.240 +distribute the source code, even though third parties are not
1.241 +compelled to copy the source along with the object code.
1.242 +
1.243 + 5. A program that contains no derivative of any portion of the
1.244 +Library, but is designed to work with the Library by being compiled or
1.245 +linked with it, is called a "work that uses the Library". Such a
1.246 +work, in isolation, is not a derivative work of the Library, and
1.247 +therefore falls outside the scope of this License.
1.248 +
1.249 + However, linking a "work that uses the Library" with the Library
1.250 +creates an executable that is a derivative of the Library (because it
1.251 +contains portions of the Library), rather than a "work that uses the
1.252 +library". The executable is therefore covered by this License.
1.253 +Section 6 states terms for distribution of such executables.
1.254 +
1.255 + When a "work that uses the Library" uses material from a header file
1.256 +that is part of the Library, the object code for the work may be a
1.257 +derivative work of the Library even though the source code is not.
1.258 +Whether this is true is especially significant if the work can be
1.259 +linked without the Library, or if the work is itself a library. The
1.260 +threshold for this to be true is not precisely defined by law.
1.261 +
1.262 + If such an object file uses only numerical parameters, data
1.263 +structure layouts and accessors, and small macros and small inline
1.264 +functions (ten lines or less in length), then the use of the object
1.265 +file is unrestricted, regardless of whether it is legally a derivative
1.266 +work. (Executables containing this object code plus portions of the
1.267 +Library will still fall under Section 6.)
1.268 +
1.269 + Otherwise, if the work is a derivative of the Library, you may
1.270 +distribute the object code for the work under the terms of Section 6.
1.271 +Any executables containing that work also fall under Section 6,
1.272 +whether or not they are linked directly with the Library itself.
1.273 +
1.274 + 6. As an exception to the Sections above, you may also combine or
1.275 +link a "work that uses the Library" with the Library to produce a
1.276 +work containing portions of the Library, and distribute that work
1.277 +under terms of your choice, provided that the terms permit
1.278 +modification of the work for the customer's own use and reverse
1.279 +engineering for debugging such modifications.
1.280 +
1.281 + You must give prominent notice with each copy of the work that the
1.282 +Library is used in it and that the Library and its use are covered by
1.283 +this License. You must supply a copy of this License. If the work
1.284 +during execution displays copyright notices, you must include the
1.285 +copyright notice for the Library among them, as well as a reference
1.286 +directing the user to the copy of this License. Also, you must do one
1.287 +of these things:
1.288 +
1.289 + a) Accompany the work with the complete corresponding
1.290 + machine-readable source code for the Library including whatever
1.291 + changes were used in the work (which must be distributed under
1.292 + Sections 1 and 2 above); and, if the work is an executable linked
1.293 + with the Library, with the complete machine-readable "work that
1.294 + uses the Library", as object code and/or source code, so that the
1.295 + user can modify the Library and then relink to produce a modified
1.296 + executable containing the modified Library. (It is understood
1.297 + that the user who changes the contents of definitions files in the
1.298 + Library will not necessarily be able to recompile the application
1.299 + to use the modified definitions.)
1.300 +
1.301 + b) Use a suitable shared library mechanism for linking with the
1.302 + Library. A suitable mechanism is one that (1) uses at run time a
1.303 + copy of the library already present on the user's computer system,
1.304 + rather than copying library functions into the executable, and (2)
1.305 + will operate properly with a modified version of the library, if
1.306 + the user installs one, as long as the modified version is
1.307 + interface-compatible with the version that the work was made with.
1.308 +
1.309 + c) Accompany the work with a written offer, valid for at
1.310 + least three years, to give the same user the materials
1.311 + specified in Subsection 6a, above, for a charge no more
1.312 + than the cost of performing this distribution.
1.313 +
1.314 + d) If distribution of the work is made by offering access to copy
1.315 + from a designated place, offer equivalent access to copy the above
1.316 + specified materials from the same place.
1.317 +
1.318 + e) Verify that the user has already received a copy of these
1.319 + materials or that you have already sent this user a copy.
1.320 +
1.321 + For an executable, the required form of the "work that uses the
1.322 +Library" must include any data and utility programs needed for
1.323 +reproducing the executable from it. However, as a special exception,
1.324 +the materials to be distributed need not include anything that is
1.325 +normally distributed (in either source or binary form) with the major
1.326 +components (compiler, kernel, and so on) of the operating system on
1.327 +which the executable runs, unless that component itself accompanies
1.328 +the executable.
1.329 +
1.330 + It may happen that this requirement contradicts the license
1.331 +restrictions of other proprietary libraries that do not normally
1.332 +accompany the operating system. Such a contradiction means you cannot
1.333 +use both them and the Library together in an executable that you
1.334 +distribute.
1.335 +
1.336 + 7. You may place library facilities that are a work based on the
1.337 +Library side-by-side in a single library together with other library
1.338 +facilities not covered by this License, and distribute such a combined
1.339 +library, provided that the separate distribution of the work based on
1.340 +the Library and of the other library facilities is otherwise
1.341 +permitted, and provided that you do these two things:
1.342 +
1.343 + a) Accompany the combined library with a copy of the same work
1.344 + based on the Library, uncombined with any other library
1.345 + facilities. This must be distributed under the terms of the
1.346 + Sections above.
1.347 +
1.348 + b) Give prominent notice with the combined library of the fact
1.349 + that part of it is a work based on the Library, and explaining
1.350 + where to find the accompanying uncombined form of the same work.
1.351 +
1.352 + 8. You may not copy, modify, sublicense, link with, or distribute
1.353 +the Library except as expressly provided under this License. Any
1.354 +attempt otherwise to copy, modify, sublicense, link with, or
1.355 +distribute the Library is void, and will automatically terminate your
1.356 +rights under this License. However, parties who have received copies,
1.357 +or rights, from you under this License will not have their licenses
1.358 +terminated so long as such parties remain in full compliance.
1.359 +
1.360 + 9. You are not required to accept this License, since you have not
1.361 +signed it. However, nothing else grants you permission to modify or
1.362 +distribute the Library or its derivative works. These actions are
1.363 +prohibited by law if you do not accept this License. Therefore, by
1.364 +modifying or distributing the Library (or any work based on the
1.365 +Library), you indicate your acceptance of this License to do so, and
1.366 +all its terms and conditions for copying, distributing or modifying
1.367 +the Library or works based on it.
1.368 +
1.369 + 10. Each time you redistribute the Library (or any work based on the
1.370 +Library), the recipient automatically receives a license from the
1.371 +original licensor to copy, distribute, link with or modify the Library
1.372 +subject to these terms and conditions. You may not impose any further
1.373 +restrictions on the recipients' exercise of the rights granted herein.
1.374 +You are not responsible for enforcing compliance by third parties with
1.375 +this License.
1.376 +
1.377 + 11. If, as a consequence of a court judgment or allegation of patent
1.378 +infringement or for any other reason (not limited to patent issues),
1.379 +conditions are imposed on you (whether by court order, agreement or
1.380 +otherwise) that contradict the conditions of this License, they do not
1.381 +excuse you from the conditions of this License. If you cannot
1.382 +distribute so as to satisfy simultaneously your obligations under this
1.383 +License and any other pertinent obligations, then as a consequence you
1.384 +may not distribute the Library at all. For example, if a patent
1.385 +license would not permit royalty-free redistribution of the Library by
1.386 +all those who receive copies directly or indirectly through you, then
1.387 +the only way you could satisfy both it and this License would be to
1.388 +refrain entirely from distribution of the Library.
1.389 +
1.390 +If any portion of this section is held invalid or unenforceable under any
1.391 +particular circumstance, the balance of the section is intended to apply,
1.392 +and the section as a whole is intended to apply in other circumstances.
1.393 +
1.394 +It is not the purpose of this section to induce you to infringe any
1.395 +patents or other property right claims or to contest validity of any
1.396 +such claims; this section has the sole purpose of protecting the
1.397 +integrity of the free software distribution system which is
1.398 +implemented by public license practices. Many people have made
1.399 +generous contributions to the wide range of software distributed
1.400 +through that system in reliance on consistent application of that
1.401 +system; it is up to the author/donor to decide if he or she is willing
1.402 +to distribute software through any other system and a licensee cannot
1.403 +impose that choice.
1.404 +
1.405 +This section is intended to make thoroughly clear what is believed to
1.406 +be a consequence of the rest of this License.
1.407 +
1.408 + 12. If the distribution and/or use of the Library is restricted in
1.409 +certain countries either by patents or by copyrighted interfaces, the
1.410 +original copyright holder who places the Library under this License may add
1.411 +an explicit geographical distribution limitation excluding those countries,
1.412 +so that distribution is permitted only in or among countries not thus
1.413 +excluded. In such case, this License incorporates the limitation as if
1.414 +written in the body of this License.
1.415 +
1.416 + 13. The Free Software Foundation may publish revised and/or new
1.417 +versions of the Lesser General Public License from time to time.
1.418 +Such new versions will be similar in spirit to the present version,
1.419 +but may differ in detail to address new problems or concerns.
1.420 +
1.421 +Each version is given a distinguishing version number. If the Library
1.422 +specifies a version number of this License which applies to it and
1.423 +"any later version", you have the option of following the terms and
1.424 +conditions either of that version or of any later version published by
1.425 +the Free Software Foundation. If the Library does not specify a
1.426 +license version number, you may choose any version ever published by
1.427 +the Free Software Foundation.
1.428 +
1.429 + 14. If you wish to incorporate parts of the Library into other free
1.430 +programs whose distribution conditions are incompatible with these,
1.431 +write to the author to ask for permission. For software which is
1.432 +copyrighted by the Free Software Foundation, write to the Free
1.433 +Software Foundation; we sometimes make exceptions for this. Our
1.434 +decision will be guided by the two goals of preserving the free status
1.435 +of all derivatives of our free software and of promoting the sharing
1.436 +and reuse of software generally.
1.437 +
1.438 + NO WARRANTY
1.439 +
1.440 + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
1.441 +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
1.442 +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
1.443 +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
1.444 +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
1.445 +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1.446 +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
1.447 +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
1.448 +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
1.449 +
1.450 + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
1.451 +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
1.452 +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
1.453 +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
1.454 +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
1.455 +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
1.456 +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
1.457 +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
1.458 +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
1.459 +DAMAGES.
1.460 +
1.461 + END OF TERMS AND CONDITIONS
1.462 +
1.463 + How to Apply These Terms to Your New Libraries
1.464 +
1.465 + If you develop a new library, and you want it to be of the greatest
1.466 +possible use to the public, we recommend making it free software that
1.467 +everyone can redistribute and change. You can do so by permitting
1.468 +redistribution under these terms (or, alternatively, under the terms of the
1.469 +ordinary General Public License).
1.470 +
1.471 + To apply these terms, attach the following notices to the library. It is
1.472 +safest to attach them to the start of each source file to most effectively
1.473 +convey the exclusion of warranty; and each file should have at least the
1.474 +"copyright" line and a pointer to where the full notice is found.
1.475 +
1.476 + <one line to give the library's name and a brief idea of what it does.>
1.477 + Copyright (C) <year> <name of author>
1.478 +
1.479 + This library is free software; you can redistribute it and/or
1.480 + modify it under the terms of the GNU Lesser General Public
1.481 + License as published by the Free Software Foundation; either
1.482 + version 2.1 of the License, or (at your option) any later version.
1.483 +
1.484 + This library is distributed in the hope that it will be useful,
1.485 + but WITHOUT ANY WARRANTY; without even the implied warranty of
1.486 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1.487 + Lesser General Public License for more details.
1.488 +
1.489 + You should have received a copy of the GNU Lesser General Public
1.490 + License along with this library; if not, write to the Free Software
1.491 + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1.492 +
1.493 +Also add information on how to contact you by electronic and paper mail.
1.494 +
1.495 +You should also get your employer (if you work as a programmer) or your
1.496 +school, if any, to sign a "copyright disclaimer" for the library, if
1.497 +necessary. Here is a sample; alter the names:
1.498 +
1.499 + Yoyodyne, Inc., hereby disclaims all copyright interest in the
1.500 + library `Frob' (a library for tweaking knobs) written by James Random Hacker.
1.501 +
1.502 + <signature of Ty Coon>, 1 April 1990
1.503 + Ty Coon, President of Vice
1.504 +
1.505 +That's all there is to it!
1.506 +
1.507 +
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/maemo-ui/common/Makefile.am Thu Sep 28 16:11:10 2006 +0100
2.3 @@ -0,0 +1,1 @@
2.4 +EXTRA_DIST = autogen-helper.sh
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/maemo-ui/common/autogen-helper.sh Thu Sep 28 16:11:10 2006 +0100
3.3 @@ -0,0 +1,302 @@
3.4 +# a silly hack that generates autoregen.sh but it's handy
3.5 +echo "#!/bin/sh" > autoregen.sh
3.6 +echo "./autogen.sh $@ \$@" >> autoregen.sh
3.7 +chmod +x autoregen.sh
3.8 +
3.9 +# helper functions for autogen.sh
3.10 +
3.11 +debug ()
3.12 +# print out a debug message if DEBUG is a defined variable
3.13 +{
3.14 + if test ! -z "$DEBUG"
3.15 + then
3.16 + echo "DEBUG: $1"
3.17 + fi
3.18 +}
3.19 +
3.20 +version_check ()
3.21 +# check the version of a package
3.22 +# first argument : package name (executable)
3.23 +# second argument : optional path where to look for it instead
3.24 +# third argument : source download url
3.25 +# rest of arguments : major, minor, micro version
3.26 +# all consecutive ones : suggestions for binaries to use
3.27 +# (if not specified in second argument)
3.28 +{
3.29 + PACKAGE=$1
3.30 + PKG_PATH=$2
3.31 + URL=$3
3.32 + MAJOR=$4
3.33 + MINOR=$5
3.34 + MICRO=$6
3.35 +
3.36 + # for backwards compatibility, we let PKG_PATH=PACKAGE when PKG_PATH null
3.37 + if test -z "$PKG_PATH"; then PKG_PATH=$PACKAGE; fi
3.38 + debug "major $MAJOR minor $MINOR micro $MICRO"
3.39 + VERSION=$MAJOR
3.40 + if test ! -z "$MINOR"; then VERSION=$VERSION.$MINOR; else MINOR=0; fi
3.41 + if test ! -z "$MICRO"; then VERSION=$VERSION.$MICRO; else MICRO=0; fi
3.42 +
3.43 + debug "major $MAJOR minor $MINOR micro $MICRO"
3.44 +
3.45 + for SUGGESTION in $PKG_PATH; do
3.46 + COMMAND="$SUGGESTION"
3.47 +
3.48 + # don't check if asked not to
3.49 + test -z "$NOCHECK" && {
3.50 + echo -n " checking for $COMMAND >= $VERSION ... "
3.51 + } || {
3.52 + # we set a var with the same name as the package, but stripped of
3.53 + # unwanted chars
3.54 + VAR=`echo $PACKAGE | sed 's/-//g'`
3.55 + debug "setting $VAR"
3.56 + eval $VAR="$COMMAND"
3.57 + return 0
3.58 + }
3.59 +
3.60 + debug "checking version with $COMMAND"
3.61 + ($COMMAND --version) < /dev/null > /dev/null 2>&1 ||
3.62 + {
3.63 + echo "not found."
3.64 + continue
3.65 + }
3.66 + # strip everything that's not a digit, then use cut to get the first field
3.67 + pkg_version=`$COMMAND --version|head -n 1|sed 's/^[^0-9]*//'|cut -d' ' -f1`
3.68 + debug "pkg_version $pkg_version"
3.69 + # remove any non-digit characters from the version numbers to permit numeric
3.70 + # comparison
3.71 + pkg_major=`echo $pkg_version | cut -d. -f1 | sed s/[a-zA-Z\-].*//g`
3.72 + pkg_minor=`echo $pkg_version | cut -d. -f2 | sed s/[a-zA-Z\-].*//g`
3.73 + pkg_micro=`echo $pkg_version | cut -d. -f3 | sed s/[a-zA-Z\-].*//g`
3.74 + test -z "$pkg_major" && pkg_major=0
3.75 + test -z "$pkg_minor" && pkg_minor=0
3.76 + test -z "$pkg_micro" && pkg_micro=0
3.77 + debug "found major $pkg_major minor $pkg_minor micro $pkg_micro"
3.78 +
3.79 + #start checking the version
3.80 + debug "version check"
3.81 +
3.82 + # reset check
3.83 + WRONG=
3.84 +
3.85 + if [ ! "$pkg_major" -gt "$MAJOR" ]; then
3.86 + debug "major: $pkg_major <= $MAJOR"
3.87 + if [ "$pkg_major" -lt "$MAJOR" ]; then
3.88 + debug "major: $pkg_major < $MAJOR"
3.89 + WRONG=1
3.90 + elif [ ! "$pkg_minor" -gt "$MINOR" ]; then
3.91 + debug "minor: $pkg_minor <= $MINOR"
3.92 + if [ "$pkg_minor" -lt "$MINOR" ]; then
3.93 + debug "minor: $pkg_minor < $MINOR"
3.94 + WRONG=1
3.95 + elif [ "$pkg_micro" -lt "$MICRO" ]; then
3.96 + debug "micro: $pkg_micro < $MICRO"
3.97 + WRONG=1
3.98 + fi
3.99 + fi
3.100 + fi
3.101 +
3.102 + if test ! -z "$WRONG"; then
3.103 + echo "found $pkg_version, not ok !"
3.104 + continue
3.105 + else
3.106 + echo "found $pkg_version, ok."
3.107 + # we set a var with the same name as the package, but stripped of
3.108 + # unwanted chars
3.109 + VAR=`echo $PACKAGE | sed 's/-//g'`
3.110 + debug "setting $VAR"
3.111 + eval $VAR="$COMMAND"
3.112 + return 0
3.113 + fi
3.114 + done
3.115 +
3.116 + echo "not found !"
3.117 + echo "You must have $PACKAGE installed to compile $package."
3.118 + echo "Download the appropriate package for your distribution,"
3.119 + echo "or get the source tarball at $URL"
3.120 + return 1;
3.121 +}
3.122 +
3.123 +aclocal_check ()
3.124 +{
3.125 + # normally aclocal is part of automake
3.126 + # so we expect it to be in the same place as automake
3.127 + # so if a different automake is supplied, we need to adapt as well
3.128 + # so how's about replacing automake with aclocal in the set var,
3.129 + # and saving that in $aclocal ?
3.130 + # note, this will fail if the actual automake isn't called automake*
3.131 + # or if part of the path before it contains it
3.132 + if [ -z "$automake" ]; then
3.133 + echo "Error: no automake variable set !"
3.134 + return 1
3.135 + else
3.136 + aclocal=`echo $automake | sed s/automake/aclocal/`
3.137 + debug "aclocal: $aclocal"
3.138 + if [ "$aclocal" != "aclocal" ];
3.139 + then
3.140 + CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --with-aclocal=$aclocal"
3.141 + fi
3.142 + if [ ! -x `which $aclocal` ]; then
3.143 + echo "Error: cannot execute $aclocal !"
3.144 + return 1
3.145 + fi
3.146 + fi
3.147 +}
3.148 +
3.149 +autoheader_check ()
3.150 +{
3.151 + # same here - autoheader is part of autoconf
3.152 + # use the same voodoo
3.153 + if [ -z "$autoconf" ]; then
3.154 + echo "Error: no autoconf variable set !"
3.155 + return 1
3.156 + else
3.157 + autoheader=`echo $autoconf | sed s/autoconf/autoheader/`
3.158 + debug "autoheader: $autoheader"
3.159 + if [ "$autoheader" != "autoheader" ];
3.160 + then
3.161 + CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --with-autoheader=$autoheader"
3.162 + fi
3.163 + if [ ! -x `which $autoheader` ]; then
3.164 + echo "Error: cannot execute $autoheader !"
3.165 + return 1
3.166 + fi
3.167 + fi
3.168 +
3.169 +}
3.170 +
3.171 +autoconf_2_52d_check ()
3.172 +{
3.173 + # autoconf 2.52d has a weird issue involving a yes:no error
3.174 + # so don't allow it's use
3.175 + test -z "$NOCHECK" && {
3.176 + ac_version=`$autoconf --version|head -n 1|sed 's/^[a-zA-Z\.\ ()]*//;s/ .*$//'`
3.177 + if test "$ac_version" = "2.52d"; then
3.178 + echo "autoconf 2.52d has an issue with our current build."
3.179 + echo "We don't know who's to blame however. So until we do, get a"
3.180 + echo "regular version. RPM's of a working version are on the gstreamer site."
3.181 + exit 1
3.182 + fi
3.183 + }
3.184 + return 0
3.185 +}
3.186 +
3.187 +die_check ()
3.188 +{
3.189 + # call with $DIE
3.190 + # if set to 1, we need to print something helpful then die
3.191 + DIE=$1
3.192 + if test "x$DIE" = "x1";
3.193 + then
3.194 + echo
3.195 + echo "- Please get the right tools before proceeding."
3.196 + echo "- Alternatively, if you're sure we're wrong, run with --nocheck."
3.197 + exit 1
3.198 + fi
3.199 +}
3.200 +
3.201 +autogen_options ()
3.202 +{
3.203 + if test "x$1" = "x"; then
3.204 + return 0
3.205 + fi
3.206 +
3.207 + while test "x$1" != "x" ; do
3.208 + optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
3.209 + case "$1" in
3.210 + --noconfigure)
3.211 + NOCONFIGURE=defined
3.212 + AUTOGEN_EXT_OPT="$AUTOGEN_EXT_OPT --noconfigure"
3.213 + echo "+ configure run disabled"
3.214 + shift
3.215 + ;;
3.216 + --nocheck)
3.217 + AUTOGEN_EXT_OPT="$AUTOGEN_EXT_OPT --nocheck"
3.218 + NOCHECK=defined
3.219 + echo "+ autotools version check disabled"
3.220 + shift
3.221 + ;;
3.222 + --debug)
3.223 + DEBUG=defined
3.224 + AUTOGEN_EXT_OPT="$AUTOGEN_EXT_OPT --debug"
3.225 + echo "+ debug output enabled"
3.226 + shift
3.227 + ;;
3.228 + --prefix=*)
3.229 + CONFIGURE_EXT_OPT="$CONFIGURE_EXT_OPT --prefix=$optarg"
3.230 + echo "+ passing --prefix=$optarg to configure"
3.231 + shift
3.232 + ;;
3.233 + --prefix)
3.234 + shift
3.235 + echo "DEBUG: $1"
3.236 + CONFIGURE_EXT_OPT="$CONFIGURE_EXT_OPT --prefix=$1"
3.237 + echo "+ passing --prefix=$1 to configure"
3.238 + shift
3.239 + ;;
3.240 + -h|--help)
3.241 + echo "autogen.sh (autogen options) -- (configure options)"
3.242 + echo "autogen.sh help options: "
3.243 + echo " --noconfigure don't run the configure script"
3.244 + echo " --nocheck don't do version checks"
3.245 + echo " --debug debug the autogen process"
3.246 + echo " --prefix will be passed on to configure"
3.247 + echo
3.248 + echo " --with-autoconf PATH use autoconf in PATH"
3.249 + echo " --with-automake PATH use automake in PATH"
3.250 + echo
3.251 + echo "to pass options to configure, put them as arguments after -- "
3.252 + exit 1
3.253 + ;;
3.254 + --with-automake=*)
3.255 + AUTOMAKE=$optarg
3.256 + echo "+ using alternate automake in $optarg"
3.257 + CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --with-automake=$AUTOMAKE"
3.258 + shift
3.259 + ;;
3.260 + --with-autoconf=*)
3.261 + AUTOCONF=$optarg
3.262 + echo "+ using alternate autoconf in $optarg"
3.263 + CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --with-autoconf=$AUTOCONF"
3.264 + shift
3.265 + ;;
3.266 + --disable*|--enable*|--with*)
3.267 + echo "+ passing option $1 to configure"
3.268 + CONFIGURE_EXT_OPT="$CONFIGURE_EXT_OPT $1"
3.269 + shift
3.270 + ;;
3.271 + --) shift ; break ;;
3.272 + *) echo "- ignoring unknown autogen.sh argument $1"; shift ;;
3.273 + esac
3.274 + done
3.275 +
3.276 + for arg do CONFIGURE_EXT_OPT="$CONFIGURE_EXT_OPT $arg"; done
3.277 + if test ! -z "$CONFIGURE_EXT_OPT"
3.278 + then
3.279 + echo "+ options passed to configure: $CONFIGURE_EXT_OPT"
3.280 + fi
3.281 +}
3.282 +
3.283 +toplevel_check ()
3.284 +{
3.285 + srcfile=$1
3.286 + test -f $srcfile || {
3.287 + echo "You must run this script in the top-level $package directory"
3.288 + exit 1
3.289 + }
3.290 +}
3.291 +
3.292 +
3.293 +tool_run ()
3.294 +{
3.295 + tool=$1
3.296 + options=$2
3.297 + run_if_fail=$3
3.298 + echo "+ running $tool $options..."
3.299 + $tool $options || {
3.300 + echo
3.301 + echo $tool failed
3.302 + eval $run_if_fail
3.303 + exit 1
3.304 + }
3.305 +}
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/maemo-ui/m4/Makefile.am Thu Sep 28 16:11:10 2006 +0100
4.3 @@ -0,0 +1,7 @@
4.4 +EXTRA_DIST = \
4.5 + ac_doxygen.m4 \
4.6 + as-compiler-flag.m4 \
4.7 + as-expand.m4 \
4.8 + as-version.m4 \
4.9 + as-gtk-doc.m4
4.10 +
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/maemo-ui/m4/ac_doxygen.m4 Thu Sep 28 16:11:10 2006 +0100
5.3 @@ -0,0 +1,312 @@
5.4 +# This file is part of Autoconf. -*- Autoconf -*-
5.5 +
5.6 +# Copyright (C) 2004 Oren Ben-Kiki
5.7 +# This file is distributed under the same terms as the Autoconf macro files.
5.8 +
5.9 +# Generate automatic documentation using Doxygen. Works in concert with the
5.10 +# aminclude.m4 file and a compatible doxygen configuration file. Defines the
5.11 +# following public macros:
5.12 +#
5.13 +# DX_???_FEATURE(ON|OFF) - control the default setting fo a Doxygen feature.
5.14 +# Supported features are 'DOXYGEN' itself, 'DOT' for generating graphics,
5.15 +# 'HTML' for plain HTML, 'CHM' for compressed HTML help (for MS users), 'CHI'
5.16 +# for generating a seperate .chi file by the .chm file, and 'MAN', 'RTF',
5.17 +# 'XML', 'PDF' and 'PS' for the appropriate output formats. The environment
5.18 +# variable DOXYGEN_PAPER_SIZE may be specified to override the default 'a4wide'
5.19 +# paper size.
5.20 +#
5.21 +# By default, HTML, PDF and PS documentation is generated as this seems to be
5.22 +# the most popular and portable combination. MAN pages created by Doxygen are
5.23 +# usually problematic, though by picking an appropriate subset and doing some
5.24 +# massaging they might be better than nothing. CHM and RTF are specific for MS
5.25 +# (note that you can't generate both HTML and CHM at the same time). The XML is
5.26 +# rather useless unless you apply specialized post-processing to it.
5.27 +#
5.28 +# The macro mainly controls the default state of the feature. The use can
5.29 +# override the default by specifying --enable or --disable. The macros ensure
5.30 +# that contradictory flags are not given (e.g., --enable-doxygen-html and
5.31 +# --enable-doxygen-chm, --enable-doxygen-anything with --disable-doxygen, etc.)
5.32 +# Finally, each feature will be automatically disabled (with a warning) if the
5.33 +# required programs are missing.
5.34 +#
5.35 +# Once all the feature defaults have been specified, call DX_INIT_DOXYGEN with
5.36 +# the following parameters: a one-word name for the project for use as a
5.37 +# filename base etc., an optional configuration file name (the default is
5.38 +# 'Doxyfile', the same as Doxygen's default), and an optional output directory
5.39 +# name (the default is 'doxygen-doc').
5.40 +
5.41 +## ----------##
5.42 +## Defaults. ##
5.43 +## ----------##
5.44 +
5.45 +DX_ENV=""
5.46 +AC_DEFUN([DX_FEATURE_doc], ON)
5.47 +AC_DEFUN([DX_FEATURE_dot], ON)
5.48 +AC_DEFUN([DX_FEATURE_man], OFF)
5.49 +AC_DEFUN([DX_FEATURE_html], ON)
5.50 +AC_DEFUN([DX_FEATURE_chm], OFF)
5.51 +AC_DEFUN([DX_FEATURE_chi], OFF)
5.52 +AC_DEFUN([DX_FEATURE_rtf], OFF)
5.53 +AC_DEFUN([DX_FEATURE_xml], OFF)
5.54 +AC_DEFUN([DX_FEATURE_pdf], ON)
5.55 +AC_DEFUN([DX_FEATURE_ps], ON)
5.56 +
5.57 +## --------------- ##
5.58 +## Private macros. ##
5.59 +## --------------- ##
5.60 +
5.61 +# DX_ENV_APPEND(VARIABLE, VALUE)
5.62 +# ------------------------------
5.63 +# Append VARIABLE="VALUE" to DX_ENV for invoking doxygen.
5.64 +AC_DEFUN([DX_ENV_APPEND], [AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])])
5.65 +
5.66 +# DX_DIRNAME_EXPR
5.67 +# ---------------
5.68 +# Expand into a shell expression prints the directory part of a path.
5.69 +AC_DEFUN([DX_DIRNAME_EXPR],
5.70 + [[expr ".$1" : '\(\.\)[^/]*$' \| "x$1" : 'x\(.*\)/[^/]*$']])
5.71 +
5.72 +# DX_IF_FEATURE(FEATURE, IF-ON, IF-OFF)
5.73 +# -------------------------------------
5.74 +# Expands according to the M4 (static) status of the feature.
5.75 +AC_DEFUN([DX_IF_FEATURE], [ifelse(DX_FEATURE_$1, ON, [$2], [$3])])
5.76 +
5.77 +# DX_REQUIRE_PROG(VARIABLE, PROGRAM)
5.78 +# ----------------------------------
5.79 +# Require the specified program to be found for the DX_CURRENT_FEATURE to work.
5.80 +AC_DEFUN([DX_REQUIRE_PROG], [
5.81 +AC_PATH_TOOL([$1], [$2])
5.82 +if test "$DX_FLAG_[]DX_CURRENT_FEATURE$$1" = 1; then
5.83 + AC_MSG_WARN([$2 not found - will not DX_CURRENT_DESCRIPTION])
5.84 + AC_SUBST([DX_FLAG_[]DX_CURRENT_FEATURE], 0)
5.85 +fi
5.86 +])
5.87 +
5.88 +# DX_TEST_FEATURE(FEATURE)
5.89 +# ------------------------
5.90 +# Expand to a shell expression testing whether the feature is active.
5.91 +AC_DEFUN([DX_TEST_FEATURE], [test "$DX_FLAG_$1" = 1])
5.92 +
5.93 +# DX_CHECK_DEPEND(REQUIRED_FEATURE, REQUIRED_STATE)
5.94 +# -------------------------------------------------
5.95 +# Verify that a required features has the right state before trying to turn on
5.96 +# the DX_CURRENT_FEATURE.
5.97 +AC_DEFUN([DX_CHECK_DEPEND], [
5.98 +test "$DX_FLAG_$1" = "$2" \
5.99 +|| AC_MSG_ERROR([doxygen-DX_CURRENT_FEATURE ifelse([$2], 1,
5.100 + requires, contradicts) doxygen-DX_CURRENT_FEATURE])
5.101 +])
5.102 +
5.103 +# DX_CLEAR_DEPEND(FEATURE, REQUIRED_FEATURE, REQUIRED_STATE)
5.104 +# ----------------------------------------------------------
5.105 +# Turn off the DX_CURRENT_FEATURE if the required feature is off.
5.106 +AC_DEFUN([DX_CLEAR_DEPEND], [
5.107 +test "$DX_FLAG_$1" = "$2" || AC_SUBST([DX_FLAG_[]DX_CURRENT_FEATURE], 0)
5.108 +])
5.109 +
5.110 +# DX_FEATURE_ARG(FEATURE, DESCRIPTION,
5.111 +# CHECK_DEPEND, CLEAR_DEPEND,
5.112 +# REQUIRE, DO-IF-ON, DO-IF-OFF)
5.113 +# --------------------------------------------
5.114 +# Parse the command-line option controlling a feature. CHECK_DEPEND is called
5.115 +# if the user explicitly turns the feature on (and invokes DX_CHECK_DEPEND),
5.116 +# otherwise CLEAR_DEPEND is called to turn off the default state if a required
5.117 +# feature is disabled (using DX_CLEAR_DEPEND). REQUIRE performs additional
5.118 +# requirement tests (DX_REQUIRE_PROG). Finally, an automake flag is set and
5.119 +# DO-IF-ON or DO-IF-OFF are called according to the final state of the feature.
5.120 +AC_DEFUN([DX_ARG_ABLE], [
5.121 + AC_DEFUN([DX_CURRENT_FEATURE], [$1])
5.122 + AC_DEFUN([DX_CURRENT_DESCRIPTION], [$2])
5.123 + AC_ARG_ENABLE(doxygen-$1,
5.124 + [AS_HELP_STRING(DX_IF_FEATURE([$1], [--disable-doxygen-$1],
5.125 + [--enable-doxygen-$1]),
5.126 + DX_IF_FEATURE([$1], [don't $2], [$2]))],
5.127 + [
5.128 +case "$enableval" in
5.129 +#(
5.130 +y|Y|yes|Yes|YES)
5.131 + AC_SUBST([DX_FLAG_$1], 1)
5.132 + $3
5.133 +;; #(
5.134 +n|N|no|No|NO)
5.135 + AC_SUBST([DX_FLAG_$1], 0)
5.136 +;; #(
5.137 +*)
5.138 + AC_MSG_ERROR([invalid value '$enableval' given to doxygen-$1])
5.139 +;;
5.140 +esac
5.141 +], [
5.142 +AC_SUBST([DX_FLAG_$1], [DX_IF_FEATURE([$1], 1, 0)])
5.143 +$4
5.144 +])
5.145 +if DX_TEST_FEATURE([$1]); then
5.146 + $5
5.147 + :
5.148 +fi
5.149 +if DX_TEST_FEATURE([$1]); then
5.150 + AM_CONDITIONAL(DX_COND_$1, :)
5.151 + $6
5.152 + :
5.153 +else
5.154 + AM_CONDITIONAL(DX_COND_$1, false)
5.155 + $7
5.156 + :
5.157 +fi
5.158 +])
5.159 +
5.160 +## -------------- ##
5.161 +## Public macros. ##
5.162 +## -------------- ##
5.163 +
5.164 +# DX_XXX_FEATURE(DEFAULT_STATE)
5.165 +# -----------------------------
5.166 +AC_DEFUN([DX_DOXYGEN_FEATURE], [AC_DEFUN([DX_FEATURE_doc], [$1])])
5.167 +AC_DEFUN([DX_MAN_FEATURE], [AC_DEFUN([DX_FEATURE_man], [$1])])
5.168 +AC_DEFUN([DX_HTML_FEATURE], [AC_DEFUN([DX_FEATURE_html], [$1])])
5.169 +AC_DEFUN([DX_CHM_FEATURE], [AC_DEFUN([DX_FEATURE_chm], [$1])])
5.170 +AC_DEFUN([DX_CHI_FEATURE], [AC_DEFUN([DX_FEATURE_chi], [$1])])
5.171 +AC_DEFUN([DX_RTF_FEATURE], [AC_DEFUN([DX_FEATURE_rtf], [$1])])
5.172 +AC_DEFUN([DX_XML_FEATURE], [AC_DEFUN([DX_FEATURE_xml], [$1])])
5.173 +AC_DEFUN([DX_XML_FEATURE], [AC_DEFUN([DX_FEATURE_xml], [$1])])
5.174 +AC_DEFUN([DX_PDF_FEATURE], [AC_DEFUN([DX_FEATURE_pdf], [$1])])
5.175 +AC_DEFUN([DX_PS_FEATURE], [AC_DEFUN([DX_FEATURE_ps], [$1])])
5.176 +
5.177 +# DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR])
5.178 +# ---------------------------------------------------------
5.179 +# PROJECT also serves as the base name for the documentation files.
5.180 +# The default CONFIG-FILE is "Doxyfile" and OUTPUT-DOC-DIR is "doxygen-doc".
5.181 +AC_DEFUN([DX_INIT_DOXYGEN], [
5.182 +
5.183 +# Files:
5.184 +AC_SUBST([DX_PROJECT], [$1])
5.185 +AC_SUBST([DX_CONFIG], [ifelse([$2], [], Doxyfile, [$2])])
5.186 +AC_SUBST([DX_DOCDIR], [ifelse([$3], [], doxygen-doc, [$3])])
5.187 +
5.188 +# Environment variables used inside doxygen.cfg:
5.189 +DX_ENV_APPEND(SRCDIR, $srcdir)
5.190 +DX_ENV_APPEND(PROJECT, $DX_PROJECT)
5.191 +DX_ENV_APPEND(DOCDIR, $DX_DOCDIR)
5.192 +DX_ENV_APPEND(VERSION, $PACKAGE_VERSION)
5.193 +
5.194 +# Doxygen itself:
5.195 +DX_ARG_ABLE(doc, [generate any doxygen documentation],
5.196 + [],
5.197 + [],
5.198 + [DX_REQUIRE_PROG([DX_DOXYGEN], doxygen)
5.199 + DX_REQUIRE_PROG([DX_PERL], perl)],
5.200 + [DX_ENV_APPEND(PERL_PATH, $DX_PERL)])
5.201 +
5.202 +# Dot for graphics:
5.203 +DX_ARG_ABLE(dot, [generate graphics for doxygen documentation],
5.204 + [DX_CHECK_DEPEND(doc, 1)],
5.205 + [DX_CLEAR_DEPEND(doc, 1)],
5.206 + [DX_REQUIRE_PROG([DX_DOT], dot)],
5.207 + [DX_ENV_APPEND(HAVE_DOT, YES)
5.208 + DX_ENV_APPEND(DOT_PATH, [`DX_DIRNAME_EXPR($DX_DOT)`])],
5.209 + [DX_ENV_APPEND(HAVE_DOT, NO)])
5.210 +
5.211 +# Man pages generation:
5.212 +DX_ARG_ABLE(man, [generate doxygen manual pages],
5.213 + [DX_CHECK_DEPEND(doc, 1)],
5.214 + [DX_CLEAR_DEPEND(doc, 1)],
5.215 + [],
5.216 + [DX_ENV_APPEND(GENERATE_MAN, YES)],
5.217 + [DX_ENV_APPEND(GENERATE_MAN, NO)])
5.218 +
5.219 +# RTF file generation:
5.220 +DX_ARG_ABLE(rtf, [generate doxygen RTF documentation],
5.221 + [DX_CHECK_DEPEND(doc, 1)],
5.222 + [DX_CLEAR_DEPEND(doc, 1)],
5.223 + [],
5.224 + [DX_ENV_APPEND(GENERATE_RTF, YES)],
5.225 + [DX_ENV_APPEND(GENERATE_RTF, NO)])
5.226 +
5.227 +# XML file generation:
5.228 +DX_ARG_ABLE(xml, [generate doxygen XML documentation],
5.229 + [DX_CHECK_DEPEND(doc, 1)],
5.230 + [DX_CLEAR_DEPEND(doc, 1)],
5.231 + [],
5.232 + [DX_ENV_APPEND(GENERATE_XML, YES)],
5.233 + [DX_ENV_APPEND(GENERATE_XML, NO)])
5.234 +
5.235 +# (Compressed) HTML help generation:
5.236 +DX_ARG_ABLE(chm, [generate doxygen compressed HTML help documentation],
5.237 + [DX_CHECK_DEPEND(doc, 1)],
5.238 + [DX_CLEAR_DEPEND(doc, 1)],
5.239 + [DX_REQUIRE_PROG([DX_HHC], hhc)],
5.240 + [DX_ENV_APPEND(HHC_PATH, $DX_HHC)
5.241 + DX_ENV_APPEND(GENERATE_HTML, YES)
5.242 + DX_ENV_APPEND(GENERATE_HTMLHELP, YES)],
5.243 + [DX_ENV_APPEND(GENERATE_HTMLHELP, NO)])
5.244 +
5.245 +# Seperate CHI file generation.
5.246 +DX_ARG_ABLE(chi, [generate doxygen seperate compressed HTML help index file],
5.247 + [DX_CHECK_DEPEND(chm, 1)],
5.248 + [DX_CLEAR_DEPEND(chm, 1)],
5.249 + [],
5.250 + [DX_ENV_APPEND(GENERATE_CHI, YES)],
5.251 + [DX_ENV_APPEND(GENERATE_CHI, NO)])
5.252 +
5.253 +# Plain HTML pages generation:
5.254 +DX_ARG_ABLE(html, [generate doxygen plain HTML documentation],
5.255 + [DX_CHECK_DEPEND(doc, 1) DX_CHECK_DEPEND(chm, 0)],
5.256 + [DX_CLEAR_DEPEND(doc, 1) DX_CLEAR_DEPEND(chm, 0)],
5.257 + [],
5.258 + [DX_ENV_APPEND(GENERATE_HTML, YES)],
5.259 + [DX_TEST_FEATURE(chm) || DX_ENV_APPEND(GENERATE_HTML, NO)])
5.260 +
5.261 +# PostScript file generation:
5.262 +DX_ARG_ABLE(ps, [generate doxygen PostScript documentation],
5.263 + [DX_CHECK_DEPEND(doc, 1)],
5.264 + [DX_CLEAR_DEPEND(doc, 1)],
5.265 + [DX_REQUIRE_PROG([DX_LATEX], latex)
5.266 + DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex)
5.267 + DX_REQUIRE_PROG([DX_DVIPS], dvips)
5.268 + DX_REQUIRE_PROG([DX_EGREP], egrep)])
5.269 +
5.270 +# PDF file generation:
5.271 +DX_ARG_ABLE(pdf, [generate doxygen PDF documentation],
5.272 + [DX_CHECK_DEPEND(doc, 1)],
5.273 + [DX_CLEAR_DEPEND(doc, 1)],
5.274 + [DX_REQUIRE_PROG([DX_PDFLATEX], pdflatex)
5.275 + DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex)
5.276 + DX_REQUIRE_PROG([DX_EGREP], egrep)])
5.277 +
5.278 +# LaTeX generation for PS and/or PDF:
5.279 +if DX_TEST_FEATURE(ps) || DX_TEST_FEATURE(pdf); then
5.280 + AM_CONDITIONAL(DX_COND_latex, :)
5.281 + DX_ENV_APPEND(GENERATE_LATEX, YES)
5.282 +else
5.283 + AM_CONDITIONAL(DX_COND_latex, false)
5.284 + DX_ENV_APPEND(GENERATE_LATEX, NO)
5.285 +fi
5.286 +
5.287 +# Paper size for PS and/or PDF:
5.288 +AC_ARG_VAR(DOXYGEN_PAPER_SIZE,
5.289 + [a4wide (default), a4, letter, legal or executive])
5.290 +case "$DOXYGEN_PAPER_SIZE" in
5.291 +#(
5.292 +"")
5.293 + AC_SUBST(DOXYGEN_PAPER_SIZE, "")
5.294 +;; #(
5.295 +a4wide|a4|letter|legal|executive)
5.296 + DX_ENV_APPEND(PAPER_SIZE, $DOXYGEN_PAPER_SIZE)
5.297 +;; #(
5.298 +*)
5.299 + AC_MSG_ERROR([unknown DOXYGEN_PAPER_SIZE='$DOXYGEN_PAPER_SIZE'])
5.300 +;;
5.301 +esac
5.302 +
5.303 +#For debugging:
5.304 +#echo DX_FLAG_doc=$DX_FLAG_doc
5.305 +#echo DX_FLAG_dot=$DX_FLAG_dot
5.306 +#echo DX_FLAG_man=$DX_FLAG_man
5.307 +#echo DX_FLAG_html=$DX_FLAG_html
5.308 +#echo DX_FLAG_chm=$DX_FLAG_chm
5.309 +#echo DX_FLAG_chi=$DX_FLAG_chi
5.310 +#echo DX_FLAG_rtf=$DX_FLAG_rtf
5.311 +#echo DX_FLAG_xml=$DX_FLAG_xml
5.312 +#echo DX_FLAG_pdf=$DX_FLAG_pdf
5.313 +#echo DX_FLAG_ps=$DX_FLAG_ps
5.314 +#echo DX_ENV=$DX_ENV
5.315 +])
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/maemo-ui/m4/as-compiler-flag.m4 Thu Sep 28 16:11:10 2006 +0100
6.3 @@ -0,0 +1,33 @@
6.4 +dnl as-compiler-flag.m4 0.1.0
6.5 +
6.6 +dnl autostars m4 macro for detection of compiler flags
6.7 +
6.8 +dnl David Schleef <ds@schleef.org>
6.9 +
6.10 +dnl $Id: as-compiler-flag.m4,v 1.1.1.1 2005/08/26 00:42:44 andrunko Exp $
6.11 +
6.12 +dnl AS_COMPILER_FLAG(CFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
6.13 +dnl Tries to compile with the given CFLAGS.
6.14 +dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags,
6.15 +dnl and ACTION-IF-NOT-ACCEPTED otherwise.
6.16 +
6.17 +AC_DEFUN([AS_COMPILER_FLAG],
6.18 +[
6.19 + AC_MSG_CHECKING([to see if compiler understands $1])
6.20 +
6.21 + save_CFLAGS="$CFLAGS"
6.22 + CFLAGS="$CFLAGS $1"
6.23 +
6.24 + AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
6.25 + CFLAGS="$save_CFLAGS"
6.26 +
6.27 + if test "X$flag_ok" = Xyes ; then
6.28 + $2
6.29 + true
6.30 + else
6.31 + $3
6.32 + true
6.33 + fi
6.34 + AC_MSG_RESULT([$flag_ok])
6.35 +])
6.36 +
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
7.2 +++ b/maemo-ui/m4/as-expand.m4 Thu Sep 28 16:11:10 2006 +0100
7.3 @@ -0,0 +1,40 @@
7.4 +dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR)
7.5 +dnl
7.6 +dnl example
7.7 +dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
7.8 +dnl will set SYSCONFDIR to /usr/local/etc if prefix=/usr/local
7.9 +
7.10 +AC_DEFUN([AS_AC_EXPAND],
7.11 +[
7.12 + EXP_VAR=[$1]
7.13 + FROM_VAR=[$2]
7.14 +
7.15 + dnl first expand prefix and exec_prefix if necessary
7.16 + prefix_save=$prefix
7.17 + exec_prefix_save=$exec_prefix
7.18 +
7.19 + dnl if no prefix given, then use /usr/local, the default prefix
7.20 + if test "x$prefix" = "xNONE"; then
7.21 + prefix=$ac_default_prefix
7.22 + fi
7.23 + dnl if no exec_prefix given, then use prefix
7.24 + if test "x$exec_prefix" = "xNONE"; then
7.25 + exec_prefix=$prefix
7.26 + fi
7.27 +
7.28 + full_var="$FROM_VAR"
7.29 + dnl loop until it doesn't change anymore
7.30 + while true; do
7.31 + new_full_var="`eval echo $full_var`"
7.32 + if test "x$new_full_var"="x$full_var"; then break; fi
7.33 + full_var=$new_full_var
7.34 + done
7.35 +
7.36 + dnl clean up
7.37 + full_var=$new_full_var
7.38 + AC_SUBST([$1], "$full_var")
7.39 +
7.40 + dnl restore prefix and exec_prefix
7.41 + prefix=$prefix_save
7.42 + exec_prefix=$exec_prefix_save
7.43 +])
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
8.2 +++ b/maemo-ui/m4/as-version.m4 Thu Sep 28 16:11:10 2006 +0100
8.3 @@ -0,0 +1,59 @@
8.4 +dnl version.m4 0.0.5
8.5 +dnl autostars m4 macro for versioning
8.6 +dnl thomas@apestaart.org
8.7 +dnl
8.8 +dnl AS_VERSION(PACKAGE, PREFIX, MAJOR, MINOR, MICRO, NANO, ACTION_IF_NO_NANO, ACTION_IF_NANO)
8.9 +dnl example
8.10 +dnl AS_VERSION(gstreamer, GST_VERSION, 0, 3, 2,)
8.11 +dnl for a 0.3.2 release version
8.12 +dnl
8.13 +dnl this macro
8.14 +dnl - defines [$PREFIX]_MAJOR, MINOR and MICRO
8.15 +dnl - if NANO is empty, then we're in release mode, else in cvs/dev mode
8.16 +dnl - defines [$PREFIX], VERSION, and [$PREFIX]_RELEASE
8.17 +dnl - executes the relevant action
8.18 +dnl - AC_SUBST's PACKAGE, VERSION, [$PREFIX] and [$PREFIX]_RELEASE
8.19 +dnl as well as the little ones
8.20 +dnl - doesn't call AM_INIT_AUTOMAKE anymore because it prevents
8.21 +dnl maintainer mode from running ok
8.22 +dnl
8.23 +dnl don't forget to put #undef [$2] and [$2]_RELEASE in acconfig.h
8.24 +
8.25 +AC_DEFUN([AS_VERSION],
8.26 +[
8.27 + PACKAGE=[$1]
8.28 + [$2]_MAJOR_VERSION=[$3]
8.29 + [$2]_MINOR_VERSION=[$4]
8.30 + [$2]_MICRO_VERSION=[$5]
8.31 + NANO=[$6]
8.32 + [$2]_NANO_VERSION=$NANO
8.33 + if test "x$NANO" = "x" || test "x$NANO" = "x0";
8.34 + then
8.35 + AC_MSG_NOTICE(configuring [$1] for release)
8.36 + VERSION=[$3].[$4].[$5]
8.37 + [$2]_RELEASE=1
8.38 + dnl execute action
8.39 + ifelse([$7], , :, [$7])
8.40 + else
8.41 + AC_MSG_NOTICE(configuring [$1] for development with nano $NANO)
8.42 + VERSION=[$3].[$4].[$5].$NANO
8.43 + [$2]_RELEASE=`date +%Y%m%d_%H%M%S`
8.44 + dnl execute action
8.45 + ifelse([$8], , :, [$8])
8.46 + fi
8.47 +
8.48 + [$2]_VERSION=$VERSION
8.49 + AC_DEFINE_UNQUOTED([$2]_VERSION, "$[$2]_VERSION", [Define the version])
8.50 + AC_SUBST([$2]_VERSION)
8.51 +
8.52 + AC_SUBST([$2]_RELEASE)
8.53 +
8.54 + AC_SUBST([$2]_MAJOR_VERSION)
8.55 + AC_SUBST([$2]_MINOR_VERSION)
8.56 + AC_SUBST([$2]_MICRO_VERSION)
8.57 + AC_SUBST([$2]_NANO_VERSION)
8.58 + AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Define the package name])
8.59 + AC_SUBST(PACKAGE)
8.60 + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Define the version])
8.61 + AC_SUBST(VERSION)
8.62 +])