@ -0,0 +1,3 @@ | |||
TDE integration by Timothy Pearson <kb9vqf@pearsoncomputing.net> | |||
Portions of this engine are based on Unico by Andrea Cimitan <andrea.cimitan@canonical.com> |
@ -0,0 +1,510 @@ | |||
GNU LESSER GENERAL PUBLIC LICENSE | |||
Version 2.1, February 1999 | |||
Copyright (C) 1991, 1999 Free Software Foundation, Inc. | |||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |||
Everyone is permitted to copy and distribute verbatim copies | |||
of this license document, but changing it is not allowed. | |||
[This is the first released version of the Lesser GPL. It also counts | |||
as the successor of the GNU Library Public License, version 2, hence | |||
the version number 2.1.] | |||
Preamble | |||
The licenses for most software are designed to take away your | |||
freedom to share and change it. By contrast, the GNU General Public | |||
Licenses are intended to guarantee your freedom to share and change | |||
free software--to make sure the software is free for all its users. | |||
This license, the Lesser General Public License, applies to some | |||
specially designated software packages--typically libraries--of the | |||
Free Software Foundation and other authors who decide to use it. You | |||
can use it too, but we suggest you first think carefully about whether | |||
this license or the ordinary General Public License is the better | |||
strategy to use in any particular case, based on the explanations | |||
below. | |||
When we speak of free software, we are referring to freedom of use, | |||
not price. Our General Public Licenses are designed to make sure that | |||
you have the freedom to distribute copies of free software (and charge | |||
for this service if you wish); that you receive source code or can get | |||
it if you want it; that you can change the software and use pieces of | |||
it in new free programs; and that you are informed that you can do | |||
these things. | |||
To protect your rights, we need to make restrictions that forbid | |||
distributors to deny you these rights or to ask you to surrender these | |||
rights. These restrictions translate to certain responsibilities for | |||
you if you distribute copies of the library or if you modify it. | |||
For example, if you distribute copies of the library, whether gratis | |||
or for a fee, you must give the recipients all the rights that we gave | |||
you. You must make sure that they, too, receive or can get the source | |||
code. If you link other code with the library, you must provide | |||
complete object files to the recipients, so that they can relink them | |||
with the library after making changes to the library and recompiling | |||
it. And you must show them these terms so they know their rights. | |||
We protect your rights with a two-step method: (1) we copyright the | |||
library, and (2) we offer you this license, which gives you legal | |||
permission to copy, distribute and/or modify the library. | |||
To protect each distributor, we want to make it very clear that | |||
there is no warranty for the free library. Also, if the library is | |||
modified by someone else and passed on, the recipients should know | |||
that what they have is not the original version, so that the original | |||
author's reputation will not be affected by problems that might be | |||
introduced by others. | |||
Finally, software patents pose a constant threat to the existence of | |||
any free program. We wish to make sure that a company cannot | |||
effectively restrict the users of a free program by obtaining a | |||
restrictive license from a patent holder. Therefore, we insist that | |||
any patent license obtained for a version of the library must be | |||
consistent with the full freedom of use specified in this license. | |||
Most GNU software, including some libraries, is covered by the | |||
ordinary GNU General Public License. This license, the GNU Lesser | |||
General Public License, applies to certain designated libraries, and | |||
is quite different from the ordinary General Public License. We use | |||
this license for certain libraries in order to permit linking those | |||
libraries into non-free programs. | |||
When a program is linked with a library, whether statically or using | |||
a shared library, the combination of the two is legally speaking a | |||
combined work, a derivative of the original library. The ordinary | |||
General Public License therefore permits such linking only if the | |||
entire combination fits its criteria of freedom. The Lesser General | |||
Public License permits more lax criteria for linking other code with | |||
the library. | |||
We call this license the "Lesser" General Public License because it | |||
does Less to protect the user's freedom than the ordinary General | |||
Public License. It also provides other free software developers Less | |||
of an advantage over competing non-free programs. These disadvantages | |||
are the reason we use the ordinary General Public License for many | |||
libraries. However, the Lesser license provides advantages in certain | |||
special circumstances. | |||
For example, on rare occasions, there may be a special need to | |||
encourage the widest possible use of a certain library, so that it | |||
becomes a de-facto standard. To achieve this, non-free programs must | |||
be allowed to use the library. A more frequent case is that a free | |||
library does the same job as widely used non-free libraries. In this | |||
case, there is little to gain by limiting the free library to free | |||
software only, so we use the Lesser General Public License. | |||
In other cases, permission to use a particular library in non-free | |||
programs enables a greater number of people to use a large body of | |||
free software. For example, permission to use the GNU C Library in | |||
non-free programs enables many more people to use the whole GNU | |||
operating system, as well as its variant, the GNU/Linux operating | |||
system. | |||
Although the Lesser General Public License is Less protective of the | |||
users' freedom, it does ensure that the user of a program that is | |||
linked with the Library has the freedom and the wherewithal to run | |||
that program using a modified version of the Library. | |||
The precise terms and conditions for copying, distribution and | |||
modification follow. Pay close attention to the difference between a | |||
"work based on the library" and a "work that uses the library". The | |||
former contains code derived from the library, whereas the latter must | |||
be combined with the library in order to run. | |||
GNU LESSER GENERAL PUBLIC LICENSE | |||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | |||
0. This License Agreement applies to any software library or other | |||
program which contains a notice placed by the copyright holder or | |||
other authorized party saying it may be distributed under the terms of | |||
this Lesser General Public License (also called "this License"). | |||
Each licensee is addressed as "you". | |||
A "library" means a collection of software functions and/or data | |||
prepared so as to be conveniently linked with application programs | |||
(which use some of those functions and data) to form executables. | |||
The "Library", below, refers to any such software library or work | |||
which has been distributed under these terms. A "work based on the | |||
Library" means either the Library or any derivative work under | |||
copyright law: that is to say, a work containing the Library or a | |||
portion of it, either verbatim or with modifications and/or translated | |||
straightforwardly into another language. (Hereinafter, translation is | |||
included without limitation in the term "modification".) | |||
"Source code" for a work means the preferred form of the work for | |||
making modifications to it. For a library, complete source code means | |||
all the source code for all modules it contains, plus any associated | |||
interface definition files, plus the scripts used to control | |||
compilation and installation of the library. | |||
Activities other than copying, distribution and modification are not | |||
covered by this License; they are outside its scope. The act of | |||
running a program using the Library is not restricted, and output from | |||
such a program is covered only if its contents constitute a work based | |||
on the Library (independent of the use of the Library in a tool for | |||
writing it). Whether that is true depends on what the Library does | |||
and what the program that uses the Library does. | |||
1. You may copy and distribute verbatim copies of the Library's | |||
complete source code as you receive it, in any medium, provided that | |||
you conspicuously and appropriately publish on each copy an | |||
appropriate copyright notice and disclaimer of warranty; keep intact | |||
all the notices that refer to this License and to the absence of any | |||
warranty; and distribute a copy of this License along with the | |||
Library. | |||
You may charge a fee for the physical act of transferring a copy, | |||
and you may at your option offer warranty protection in exchange for a | |||
fee. | |||
2. You may modify your copy or copies of the Library or any portion | |||
of it, thus forming a work based on the Library, and copy and | |||
distribute such modifications or work under the terms of Section 1 | |||
above, provided that you also meet all of these conditions: | |||
a) The modified work must itself be a software library. | |||
b) You must cause the files modified to carry prominent notices | |||
stating that you changed the files and the date of any change. | |||
c) You must cause the whole of the work to be licensed at no | |||
charge to all third parties under the terms of this License. | |||
d) If a facility in the modified Library refers to a function or a | |||
table of data to be supplied by an application program that uses | |||
the facility, other than as an argument passed when the facility | |||
is invoked, then you must make a good faith effort to ensure that, | |||
in the event an application does not supply such function or | |||
table, the facility still operates, and performs whatever part of | |||
its purpose remains meaningful. | |||
(For example, a function in a library to compute square roots has | |||
a purpose that is entirely well-defined independent of the | |||
application. Therefore, Subsection 2d requires that any | |||
application-supplied function or table used by this function must | |||
be optional: if the application does not supply it, the square | |||
root function must still compute square roots.) | |||
These requirements apply to the modified work as a whole. If | |||
identifiable sections of that work are not derived from the Library, | |||
and can be reasonably considered independent and separate works in | |||
themselves, then this License, and its terms, do not apply to those | |||
sections when you distribute them as separate works. But when you | |||
distribute the same sections as part of a whole which is a work based | |||
on the Library, the distribution of the whole must be on the terms of | |||
this License, whose permissions for other licensees extend to the | |||
entire whole, and thus to each and every part regardless of who wrote | |||
it. | |||
Thus, it is not the intent of this section to claim rights or contest | |||
your rights to work written entirely by you; rather, the intent is to | |||
exercise the right to control the distribution of derivative or | |||
collective works based on the Library. | |||
In addition, mere aggregation of another work not based on the Library | |||
with the Library (or with a work based on the Library) on a volume of | |||
a storage or distribution medium does not bring the other work under | |||
the scope of this License. | |||
3. You may opt to apply the terms of the ordinary GNU General Public | |||
License instead of this License to a given copy of the Library. To do | |||
this, you must alter all the notices that refer to this License, so | |||
that they refer to the ordinary GNU General Public License, version 2, | |||
instead of to this License. (If a newer version than version 2 of the | |||
ordinary GNU General Public License has appeared, then you can specify | |||
that version instead if you wish.) Do not make any other change in | |||
these notices. | |||
Once this change is made in a given copy, it is irreversible for | |||
that copy, so the ordinary GNU General Public License applies to all | |||
subsequent copies and derivative works made from that copy. | |||
This option is useful when you wish to copy part of the code of | |||
the Library into a program that is not a library. | |||
4. You may copy and distribute the Library (or a portion or | |||
derivative of it, under Section 2) in object code or executable form | |||
under the terms of Sections 1 and 2 above provided that you accompany | |||
it with the complete corresponding machine-readable source code, which | |||
must be distributed under the terms of Sections 1 and 2 above on a | |||
medium customarily used for software interchange. | |||
If distribution of object code is made by offering access to copy | |||
from a designated place, then offering equivalent access to copy the | |||
source code from the same place satisfies the requirement to | |||
distribute the source code, even though third parties are not | |||
compelled to copy the source along with the object code. | |||
5. A program that contains no derivative of any portion of the | |||
Library, but is designed to work with the Library by being compiled or | |||
linked with it, is called a "work that uses the Library". Such a | |||
work, in isolation, is not a derivative work of the Library, and | |||
therefore falls outside the scope of this License. | |||
However, linking a "work that uses the Library" with the Library | |||
creates an executable that is a derivative of the Library (because it | |||
contains portions of the Library), rather than a "work that uses the | |||
library". The executable is therefore covered by this License. | |||
Section 6 states terms for distribution of such executables. | |||
When a "work that uses the Library" uses material from a header file | |||
that is part of the Library, the object code for the work may be a | |||
derivative work of the Library even though the source code is not. | |||
Whether this is true is especially significant if the work can be | |||
linked without the Library, or if the work is itself a library. The | |||
threshold for this to be true is not precisely defined by law. | |||
If such an object file uses only numerical parameters, data | |||
structure layouts and accessors, and small macros and small inline | |||
functions (ten lines or less in length), then the use of the object | |||
file is unrestricted, regardless of whether it is legally a derivative | |||
work. (Executables containing this object code plus portions of the | |||
Library will still fall under Section 6.) | |||
Otherwise, if the work is a derivative of the Library, you may | |||
distribute the object code for the work under the terms of Section 6. | |||
Any executables containing that work also fall under Section 6, | |||
whether or not they are linked directly with the Library itself. | |||
6. As an exception to the Sections above, you may also combine or | |||
link a "work that uses the Library" with the Library to produce a | |||
work containing portions of the Library, and distribute that work | |||
under terms of your choice, provided that the terms permit | |||
modification of the work for the customer's own use and reverse | |||
engineering for debugging such modifications. | |||
You must give prominent notice with each copy of the work that the | |||
Library is used in it and that the Library and its use are covered by | |||
this License. You must supply a copy of this License. If the work | |||
during execution displays copyright notices, you must include the | |||
copyright notice for the Library among them, as well as a reference | |||
directing the user to the copy of this License. Also, you must do one | |||
of these things: | |||
a) Accompany the work with the complete corresponding | |||
machine-readable source code for the Library including whatever | |||
changes were used in the work (which must be distributed under | |||
Sections 1 and 2 above); and, if the work is an executable linked | |||
with the Library, with the complete machine-readable "work that | |||
uses the Library", as object code and/or source code, so that the | |||
user can modify the Library and then relink to produce a modified | |||
executable containing the modified Library. (It is understood | |||
that the user who changes the contents of definitions files in the | |||
Library will not necessarily be able to recompile the application | |||
to use the modified definitions.) | |||
b) Use a suitable shared library mechanism for linking with the | |||
Library. A suitable mechanism is one that (1) uses at run time a | |||
copy of the library already present on the user's computer system, | |||
rather than copying library functions into the executable, and (2) | |||
will operate properly with a modified version of the library, if | |||
the user installs one, as long as the modified version is | |||
interface-compatible with the version that the work was made with. | |||
c) Accompany the work with a written offer, valid for at least | |||
three years, to give the same user the materials specified in | |||
Subsection 6a, above, for a charge no more than the cost of | |||
performing this distribution. | |||
d) If distribution of the work is made by offering access to copy | |||
from a designated place, offer equivalent access to copy the above | |||
specified materials from the same place. | |||
e) Verify that the user has already received a copy of these | |||
materials or that you have already sent this user a copy. | |||
For an executable, the required form of the "work that uses the | |||
Library" must include any data and utility programs needed for | |||
reproducing the executable from it. However, as a special exception, | |||
the materials to be distributed need not include anything that is | |||
normally distributed (in either source or binary form) with the major | |||
components (compiler, kernel, and so on) of the operating system on | |||
which the executable runs, unless that component itself accompanies | |||
the executable. | |||
It may happen that this requirement contradicts the license | |||
restrictions of other proprietary libraries that do not normally | |||
accompany the operating system. Such a contradiction means you cannot | |||
use both them and the Library together in an executable that you | |||
distribute. | |||
7. You may place library facilities that are a work based on the | |||
Library side-by-side in a single library together with other library | |||
facilities not covered by this License, and distribute such a combined | |||
library, provided that the separate distribution of the work based on | |||
the Library and of the other library facilities is otherwise | |||
permitted, and provided that you do these two things: | |||
a) Accompany the combined library with a copy of the same work | |||
based on the Library, uncombined with any other library | |||
facilities. This must be distributed under the terms of the | |||
Sections above. | |||
b) Give prominent notice with the combined library of the fact | |||
that part of it is a work based on the Library, and explaining | |||
where to find the accompanying uncombined form of the same work. | |||
8. You may not copy, modify, sublicense, link with, or distribute | |||
the Library except as expressly provided under this License. Any | |||
attempt otherwise to copy, modify, sublicense, link with, or | |||
distribute the Library is void, and will automatically terminate your | |||
rights under this License. However, parties who have received copies, | |||
or rights, from you under this License will not have their licenses | |||
terminated so long as such parties remain in full compliance. | |||
9. You are not required to accept this License, since you have not | |||
signed it. However, nothing else grants you permission to modify or | |||
distribute the Library or its derivative works. These actions are | |||
prohibited by law if you do not accept this License. Therefore, by | |||
modifying or distributing the Library (or any work based on the | |||
Library), you indicate your acceptance of this License to do so, and | |||
all its terms and conditions for copying, distributing or modifying | |||
the Library or works based on it. | |||
10. Each time you redistribute the Library (or any work based on the | |||
Library), the recipient automatically receives a license from the | |||
original licensor to copy, distribute, link with or modify the Library | |||
subject to these terms and conditions. You may not impose any further | |||
restrictions on the recipients' exercise of the rights granted herein. | |||
You are not responsible for enforcing compliance by third parties with | |||
this License. | |||
11. If, as a consequence of a court judgment or allegation of patent | |||
infringement or for any other reason (not limited to patent issues), | |||
conditions are imposed on you (whether by court order, agreement or | |||
otherwise) that contradict the conditions of this License, they do not | |||
excuse you from the conditions of this License. If you cannot | |||
distribute so as to satisfy simultaneously your obligations under this | |||
License and any other pertinent obligations, then as a consequence you | |||
may not distribute the Library at all. For example, if a patent | |||
license would not permit royalty-free redistribution of the Library by | |||
all those who receive copies directly or indirectly through you, then | |||
the only way you could satisfy both it and this License would be to | |||
refrain entirely from distribution of the Library. | |||
If any portion of this section is held invalid or unenforceable under | |||
any particular circumstance, the balance of the section is intended to | |||
apply, and the section as a whole is intended to apply in other | |||
circumstances. | |||
It is not the purpose of this section to induce you to infringe any | |||
patents or other property right claims or to contest validity of any | |||
such claims; this section has the sole purpose of protecting the | |||
integrity of the free software distribution system which is | |||
implemented by public license practices. Many people have made | |||
generous contributions to the wide range of software distributed | |||
through that system in reliance on consistent application of that | |||
system; it is up to the author/donor to decide if he or she is willing | |||
to distribute software through any other system and a licensee cannot | |||
impose that choice. | |||
This section is intended to make thoroughly clear what is believed to | |||
be a consequence of the rest of this License. | |||
12. If the distribution and/or use of the Library is restricted in | |||
certain countries either by patents or by copyrighted interfaces, the | |||
original copyright holder who places the Library under this License | |||
may add an explicit geographical distribution limitation excluding those | |||
countries, so that distribution is permitted only in or among | |||
countries not thus excluded. In such case, this License incorporates | |||
the limitation as if written in the body of this License. | |||
13. The Free Software Foundation may publish revised and/or new | |||
versions of the Lesser General Public License from time to time. | |||
Such new versions will be similar in spirit to the present version, | |||
but may differ in detail to address new problems or concerns. | |||
Each version is given a distinguishing version number. If the Library | |||
specifies a version number of this License which applies to it and | |||
"any later version", you have the option of following the terms and | |||
conditions either of that version or of any later version published by | |||
the Free Software Foundation. If the Library does not specify a | |||
license version number, you may choose any version ever published by | |||
the Free Software Foundation. | |||
14. If you wish to incorporate parts of the Library into other free | |||
programs whose distribution conditions are incompatible with these, | |||
write to the author to ask for permission. For software which is | |||
copyrighted by the Free Software Foundation, write to the Free | |||
Software Foundation; we sometimes make exceptions for this. Our | |||
decision will be guided by the two goals of preserving the free status | |||
of all derivatives of our free software and of promoting the sharing | |||
and reuse of software generally. | |||
NO WARRANTY | |||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO | |||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. | |||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR | |||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY | |||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE | |||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | |||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE | |||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME | |||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. | |||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN | |||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY | |||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU | |||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR | |||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE | |||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING | |||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A | |||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF | |||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH | |||
DAMAGES. | |||
END OF TERMS AND CONDITIONS | |||
How to Apply These Terms to Your New Libraries | |||
If you develop a new library, and you want it to be of the greatest | |||
possible use to the public, we recommend making it free software that | |||
everyone can redistribute and change. You can do so by permitting | |||
redistribution under these terms (or, alternatively, under the terms | |||
of the ordinary General Public License). | |||
To apply these terms, attach the following notices to the library. | |||
It is safest to attach them to the start of each source file to most | |||
effectively convey the exclusion of warranty; and each file should | |||
have at least the "copyright" line and a pointer to where the full | |||
notice is found. | |||
<one line to give the library's name and a brief idea of what it does.> | |||
Copyright (C) <year> <name of author> | |||
This library is free software; you can redistribute it and/or | |||
modify it under the terms of the GNU Lesser General Public | |||
License as published by the Free Software Foundation; either | |||
version 2.1 of the License, or (at your option) any later version. | |||
This library is distributed in the hope that it will be useful, | |||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
Lesser General Public License for more details. | |||
You should have received a copy of the GNU Lesser General Public | |||
License along with this library; if not, write to the Free Software | |||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |||
Also add information on how to contact you by electronic and paper mail. | |||
You should also get your employer (if you work as a programmer) or | |||
your school, if any, to sign a "copyright disclaimer" for the library, | |||
if necessary. Here is a sample; alter the names: | |||
Yoyodyne, Inc., hereby disclaims all copyright interest in the | |||
library `Frob' (a library for tweaking knobs) written by James | |||
Random Hacker. | |||
<signature of Ty Coon>, 1 April 1990 | |||
Ty Coon, President of Vice | |||
That's all there is to it! | |||
@ -0,0 +1,365 @@ | |||
Installation Instructions | |||
************************* | |||
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, | |||
2006, 2007, 2008, 2009 Free Software Foundation, Inc. | |||
Copying and distribution of this file, with or without modification, | |||
are permitted in any medium without royalty provided the copyright | |||
notice and this notice are preserved. This file is offered as-is, | |||
without warranty of any kind. | |||
Basic Installation | |||
================== | |||
Briefly, the shell commands `./configure; make; make install' should | |||
configure, build, and install this package. The following | |||
more-detailed instructions are generic; see the `README' file for | |||
instructions specific to this package. Some packages provide this | |||
`INSTALL' file but do not implement all of the features documented | |||
below. The lack of an optional feature in a given package is not | |||
necessarily a bug. More recommendations for GNU packages can be found | |||
in *note Makefile Conventions: (standards)Makefile Conventions. | |||
The `configure' shell script attempts to guess correct values for | |||
various system-dependent variables used during compilation. It uses | |||
those values to create a `Makefile' in each directory of the package. | |||
It may also create one or more `.h' files containing system-dependent | |||
definitions. Finally, it creates a shell script `config.status' that | |||
you can run in the future to recreate the current configuration, and a | |||
file `config.log' containing compiler output (useful mainly for | |||
debugging `configure'). | |||
It can also use an optional file (typically called `config.cache' | |||
and enabled with `--cache-file=config.cache' or simply `-C') that saves | |||
the results of its tests to speed up reconfiguring. Caching is | |||
disabled by default to prevent problems with accidental use of stale | |||
cache files. | |||
If you need to do unusual things to compile the package, please try | |||
to figure out how `configure' could check whether to do them, and mail | |||
diffs or instructions to the address given in the `README' so they can | |||
be considered for the next release. If you are using the cache, and at | |||
some point `config.cache' contains results you don't want to keep, you | |||
may remove or edit it. | |||
The file `configure.ac' (or `configure.in') is used to create | |||
`configure' by a program called `autoconf'. You need `configure.ac' if | |||
you want to change it or regenerate `configure' using a newer version | |||
of `autoconf'. | |||
The simplest way to compile this package is: | |||
1. `cd' to the directory containing the package's source code and type | |||
`./configure' to configure the package for your system. | |||
Running `configure' might take a while. While running, it prints | |||
some messages telling which features it is checking for. | |||
2. Type `make' to compile the package. | |||
3. Optionally, type `make check' to run any self-tests that come with | |||
the package, generally using the just-built uninstalled binaries. | |||
4. Type `make install' to install the programs and any data files and | |||
documentation. When installing into a prefix owned by root, it is | |||
recommended that the package be configured and built as a regular | |||
user, and only the `make install' phase executed with root | |||
privileges. | |||
5. Optionally, type `make installcheck' to repeat any self-tests, but | |||
this time using the binaries in their final installed location. | |||
This target does not install anything. Running this target as a | |||
regular user, particularly if the prior `make install' required | |||
root privileges, verifies that the installation completed | |||
correctly. | |||
6. You can remove the program binaries and object files from the | |||
source code directory by typing `make clean'. To also remove the | |||
files that `configure' created (so you can compile the package for | |||
a different kind of computer), type `make distclean'. There is | |||
also a `make maintainer-clean' target, but that is intended mainly | |||
for the package's developers. If you use it, you may have to get | |||
all sorts of other programs in order to regenerate files that came | |||
with the distribution. | |||
7. Often, you can also type `make uninstall' to remove the installed | |||
files again. In practice, not all packages have tested that | |||
uninstallation works correctly, even though it is required by the | |||
GNU Coding Standards. | |||
8. Some packages, particularly those that use Automake, provide `make | |||
distcheck', which can by used by developers to test that all other | |||
targets like `make install' and `make uninstall' work correctly. | |||
This target is generally not run by end users. | |||
Compilers and Options | |||
===================== | |||
Some systems require unusual options for compilation or linking that | |||
the `configure' script does not know about. Run `./configure --help' | |||
for details on some of the pertinent environment variables. | |||
You can give `configure' initial values for configuration parameters | |||
by setting variables in the command line or in the environment. Here | |||
is an example: | |||
./configure CC=c99 CFLAGS=-g LIBS=-lposix | |||
*Note Defining Variables::, for more details. | |||
Compiling For Multiple Architectures | |||
==================================== | |||
You can compile the package for more than one kind of computer at the | |||
same time, by placing the object files for each architecture in their | |||
own directory. To do this, you can use GNU `make'. `cd' to the | |||
directory where you want the object files and executables to go and run | |||
the `configure' script. `configure' automatically checks for the | |||
source code in the directory that `configure' is in and in `..'. This | |||
is known as a "VPATH" build. | |||
With a non-GNU `make', it is safer to compile the package for one | |||
architecture at a time in the source code directory. After you have | |||
installed the package for one architecture, use `make distclean' before | |||
reconfiguring for another architecture. | |||
On MacOS X 10.5 and later systems, you can create libraries and | |||
executables that work on multiple system types--known as "fat" or | |||
"universal" binaries--by specifying multiple `-arch' options to the | |||
compiler but only a single `-arch' option to the preprocessor. Like | |||
this: | |||
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ | |||
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ | |||
CPP="gcc -E" CXXCPP="g++ -E" | |||
This is not guaranteed to produce working output in all cases, you | |||
may have to build one architecture at a time and combine the results | |||
using the `lipo' tool if you have problems. | |||
Installation Names | |||
================== | |||
By default, `make install' installs the package's commands under | |||
`/usr/local/bin', include files under `/usr/local/include', etc. You | |||
can specify an installation prefix other than `/usr/local' by giving | |||
`configure' the option `--prefix=PREFIX', where PREFIX must be an | |||
absolute file name. | |||
You can specify separate installation prefixes for | |||
architecture-specific files and architecture-independent files. If you | |||
pass the option `--exec-prefix=PREFIX' to `configure', the package uses | |||
PREFIX as the prefix for installing programs and libraries. | |||
Documentation and other data files still use the regular prefix. | |||
In addition, if you use an unusual directory layout you can give | |||
options like `--bindir=DIR' to specify different values for particular | |||
kinds of files. Run `configure --help' for a list of the directories | |||
you can set and what kinds of files go in them. In general, the | |||
default for these options is expressed in terms of `${prefix}', so that | |||
specifying just `--prefix' will affect all of the other directory | |||
specifications that were not explicitly provided. | |||
The most portable way to affect installation locations is to pass the | |||
correct locations to `configure'; however, many packages provide one or | |||
both of the following shortcuts of passing variable assignments to the | |||
`make install' command line to change installation locations without | |||
having to reconfigure or recompile. | |||
The first method involves providing an override variable for each | |||
affected directory. For example, `make install | |||
prefix=/alternate/directory' will choose an alternate location for all | |||
directory configuration variables that were expressed in terms of | |||
`${prefix}'. Any directories that were specified during `configure', | |||
but not in terms of `${prefix}', must each be overridden at install | |||
time for the entire installation to be relocated. The approach of | |||
makefile variable overrides for each directory variable is required by | |||
the GNU Coding Standards, and ideally causes no recompilation. | |||
However, some platforms have known limitations with the semantics of | |||
shared libraries that end up requiring recompilation when using this | |||
method, particularly noticeable in packages that use GNU Libtool. | |||
The second method involves providing the `DESTDIR' variable. For | |||
example, `make install DESTDIR=/alternate/directory' will prepend | |||
`/alternate/directory' before all installation names. The approach of | |||
`DESTDIR' overrides is not required by the GNU Coding Standards, and | |||
does not work on platforms that have drive letters. On the other hand, | |||
it does better at avoiding recompilation issues, and works well even | |||
when some directory options were not specified in terms of `${prefix}' | |||
at `configure' time. | |||
Optional Features | |||
================= | |||
If the package supports it, you can cause programs to be installed | |||
with an extra prefix or suffix on their names by giving `configure' the | |||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. | |||
Some packages pay attention to `--enable-FEATURE' options to | |||
`configure', where FEATURE indicates an optional part of the package. | |||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE | |||
is something like `gnu-as' or `x' (for the X Window System). The | |||
`README' should mention any `--enable-' and `--with-' options that the | |||
package recognizes. | |||
For packages that use the X Window System, `configure' can usually | |||
find the X include and library files automatically, but if it doesn't, | |||
you can use the `configure' options `--x-includes=DIR' and | |||
`--x-libraries=DIR' to specify their locations. | |||
Some packages offer the ability to configure how verbose the | |||
execution of `make' will be. For these packages, running `./configure | |||
--enable-silent-rules' sets the default to minimal output, which can be | |||
overridden with `make V=1'; while running `./configure | |||
--disable-silent-rules' sets the default to verbose, which can be | |||
overridden with `make V=0'. | |||
Particular systems | |||
================== | |||
On HP-UX, the default C compiler is not ANSI C compatible. If GNU | |||
CC is not installed, it is recommended to use the following options in | |||
order to use an ANSI C compiler: | |||
./configure CC="cc -Ae -D_XOPEN_SOURCE=500" | |||
and if that doesn't work, install pre-built binaries of GCC for HP-UX. | |||
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot | |||
parse its `<wchar.h>' header file. The option `-nodtk' can be used as | |||
a workaround. If GNU CC is not installed, it is therefore recommended | |||
to try | |||
./configure CC="cc" | |||
and if that doesn't work, try | |||
./configure CC="cc -nodtk" | |||
On Solaris, don't put `/usr/ucb' early in your `PATH'. This | |||
directory contains several dysfunctional programs; working variants of | |||
these programs are available in `/usr/bin'. So, if you need `/usr/ucb' | |||
in your `PATH', put it _after_ `/usr/bin'. | |||
On Haiku, software installed for all users goes in `/boot/common', | |||
not `/usr/local'. It is recommended to use the following options: | |||
./configure --prefix=/boot/common | |||
Specifying the System Type | |||
========================== | |||
There may be some features `configure' cannot figure out | |||
automatically, but needs to determine by the type of machine the package | |||
will run on. Usually, assuming the package is built to be run on the | |||
_same_ architectures, `configure' can figure that out, but if it prints | |||
a message saying it cannot guess the machine type, give it the | |||
`--build=TYPE' option. TYPE can either be a short name for the system | |||
type, such as `sun4', or a canonical name which has the form: | |||
CPU-COMPANY-SYSTEM | |||
where SYSTEM can have one of these forms: | |||
OS | |||
KERNEL-OS | |||
See the file `config.sub' for the possible values of each field. If | |||
`config.sub' isn't included in this package, then this package doesn't | |||
need to know the machine type. | |||
If you are _building_ compiler tools for cross-compiling, you should | |||
use the option `--target=TYPE' to select the type of system they will | |||
produce code for. | |||
If you want to _use_ a cross compiler, that generates code for a | |||
platform different from the build platform, you should specify the | |||
"host" platform (i.e., that on which the generated programs will | |||
eventually be run) with `--host=TYPE'. | |||
Sharing Defaults | |||
================ | |||
If you want to set default values for `configure' scripts to share, | |||
you can create a site shell script called `config.site' that gives | |||
default values for variables like `CC', `cache_file', and `prefix'. | |||
`configure' looks for `PREFIX/share/config.site' if it exists, then | |||
`PREFIX/etc/config.site' if it exists. Or, you can set the | |||
`CONFIG_SITE' environment variable to the location of the site script. | |||
A warning: not all `configure' scripts look for a site script. | |||
Defining Variables | |||
================== | |||
Variables not defined in a site shell script can be set in the | |||
environment passed to `configure'. However, some packages may run | |||
configure again during the build, and the customized values of these | |||
variables may be lost. In order to avoid this problem, you should set | |||
them in the `configure' command line, using `VAR=value'. For example: | |||
./configure CC=/usr/local2/bin/gcc | |||
causes the specified `gcc' to be used as the C compiler (unless it is | |||
overridden in the site shell script). | |||
Unfortunately, this technique does not work for `CONFIG_SHELL' due to | |||
an Autoconf bug. Until the bug is fixed you can use this workaround: | |||
CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash | |||
`configure' Invocation | |||
====================== | |||
`configure' recognizes the following options to control how it | |||
operates. | |||
`--help' | |||
`-h' | |||
Print a summary of all of the options to `configure', and exit. | |||
`--help=short' | |||
`--help=recursive' | |||
Print a summary of the options unique to this package's | |||
`configure', and exit. The `short' variant lists options used | |||
only in the top level, while the `recursive' variant lists options | |||
also present in any nested packages. | |||
`--version' | |||
`-V' | |||
Print the version of Autoconf used to generate the `configure' | |||
script, and exit. | |||
`--cache-file=FILE' | |||
Enable the cache: use and save the results of the tests in FILE, | |||
traditionally `config.cache'. FILE defaults to `/dev/null' to | |||
disable caching. | |||
`--config-cache' | |||
`-C' | |||
Alias for `--cache-file=config.cache'. | |||
`--quiet' | |||
`--silent' | |||
`-q' | |||
Do not print messages saying which checks are being made. To | |||
suppress all normal output, redirect it to `/dev/null' (any error | |||
messages will still be shown). | |||
`--srcdir=DIR' | |||
Look for the package's source code in directory DIR. Usually | |||
`configure' can determine that directory automatically. | |||
`--prefix=DIR' | |||
Use DIR as the installation prefix. *note Installation Names:: | |||
for more details, including other options available for fine-tuning | |||
the installation locations. | |||
`--no-create' | |||
`-n' | |||
Run the configure checks, but stop before creating any output | |||
files. | |||
`configure' also accepts some other, not widely useful, options. Run | |||
`configure --help' for more details. | |||
@ -0,0 +1,30 @@ | |||
SUBDIRS = \ | |||
build \ | |||
tdegtk \ | |||
tests | |||
ACLOCAL_AMFLAGS = -I build | |||
EXTRA_DIST = autogen.sh COPYING | |||
DISTCHECK_CONFIGURE_FLAGS = --disable-scrollkeeper | |||
MAINTAINERCLEANFILES = \ | |||
build/compile \ | |||
build/config.guess \ | |||
build/config.sub \ | |||
build/depcomp \ | |||
build/install-sh \ | |||
build/ltmain.sh \ | |||
build/missing \ | |||
Makefile.in \ | |||
config.h.in \ | |||
configure \ | |||
aclocal.m4 | |||
release: dist | |||
make $(PACKAGE)-$(VERSION).tar.gz.md5 | |||
make $(PACKAGE)-$(VERSION).tar.bz2.md5 | |||
%.md5: % | |||
md5sum $< > $@ |
@ -0,0 +1,23 @@ | |||
#!/bin/sh | |||
# Run this to generate all the initial makefiles, etc. | |||
srcdir=`dirname $0` | |||
test -z "$srcdir" && srcdir=. | |||
PKG_NAME="tdegtk" | |||
(test -f $srcdir/tdegtk/tdegtk-theme.c) || { | |||
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" | |||
echo " top-level $PKG_NAME directory" | |||
exit 1 | |||
} | |||
which gnome-autogen.sh || { | |||
echo "You need to install gnome-common from the GNOME CVS" | |||
exit 1 | |||
} | |||
REQUIRED_AUTOCONF_VERSION=2.63 | |||
REQUIRED_AUTOMAKE_VERSION=1.9 | |||
REQUIRED_INTLTOOL_VERSION=0.40.0 | |||
REQUIRED_PKG_CONFIG_VERSION=0.16.0 . gnome-autogen.sh |
@ -0,0 +1 @@ | |||
EXTRA_DIST = as-compiler-flag.m4 |
@ -0,0 +1,61 @@ | |||
dnl as-compiler-flag.m4 0.1.0 | |||
dnl autostars m4 macro for detection of compiler flags | |||
dnl David Schleef <ds@schleef.org> | |||
dnl $Id: as-compiler-flag.m4,v 1.1 2005/12/15 23:35:19 ds Exp $ | |||
dnl AS_COMPILER_FLAG(CFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED]) | |||
dnl Tries to compile with the given CFLAGS. | |||
dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags, | |||
dnl and ACTION-IF-NOT-ACCEPTED otherwise. | |||
AC_DEFUN([AS_COMPILER_FLAG], | |||
[ | |||
AC_MSG_CHECKING([to see if compiler understands $1]) | |||
save_CFLAGS="$CFLAGS" | |||
CFLAGS="$CFLAGS $1" | |||
AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no]) | |||
CFLAGS="$save_CFLAGS" | |||
if test "X$flag_ok" = Xyes ; then | |||
m4_ifvaln([$2],[$2]) | |||
true | |||
else | |||
m4_ifvaln([$3],[$3]) | |||
true | |||
fi | |||
AC_MSG_RESULT([$flag_ok]) | |||
]) | |||
dnl AS_COMPILER_FLAGS(VAR, FLAGS) | |||
dnl Tries to compile with the given CFLAGS. | |||
AC_DEFUN([AS_COMPILER_FLAGS], | |||
[ | |||
list=$2 | |||
flags_supported="" | |||
flags_unsupported="" | |||
AC_MSG_CHECKING([for supported compiler flags]) | |||
for each in $list | |||
do | |||
save_CFLAGS="$CFLAGS" | |||
CFLAGS="$CFLAGS $each" | |||
AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no]) | |||
CFLAGS="$save_CFLAGS" | |||
if test "X$flag_ok" = Xyes ; then | |||
flags_supported="$flags_supported $each" | |||
else | |||
flags_unsupported="$flags_unsupported $each" | |||
fi | |||
done | |||
AC_MSG_RESULT([$flags_supported]) | |||
if test "X$flags_unsupported" != X ; then | |||
AC_MSG_WARN([unsupported compiler flags: $flags_unsupported]) | |||
fi | |||
$1="$$1 $flags_supported" | |||
]) |
@ -0,0 +1,143 @@ | |||
#! /bin/sh | |||
# Wrapper for compilers which do not understand `-c -o'. | |||
scriptversion=2009-10-06.20; # UTC | |||
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software | |||
# Foundation, Inc. | |||
# Written by Tom Tromey <tromey@cygnus.com>. | |||
# | |||
# This program is free software; you can redistribute it and/or modify | |||
# it under the terms of the GNU General Public License as published by | |||
# the Free Software Foundation; either version 2, or (at your option) | |||
# any later version. | |||
# | |||
# This program is distributed in the hope that it will be useful, | |||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
# GNU General Public License for more details. | |||
# | |||
# You should have received a copy of the GNU General Public License | |||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
# As a special exception to the GNU General Public License, if you | |||
# distribute this file as part of a program that contains a | |||
# configuration script generated by Autoconf, you may include it under | |||
# the same distribution terms that you use for the rest of that program. | |||
# This file is maintained in Automake, please report | |||
# bugs to <bug-automake@gnu.org> or send patches to | |||
# <automake-patches@gnu.org>. | |||
case $1 in | |||
'') | |||
echo "$0: No command. Try \`$0 --help' for more information." 1>&2 | |||
exit 1; | |||
;; | |||
-h | --h*) | |||
cat <<\EOF | |||
Usage: compile [--help] [--version] PROGRAM [ARGS] | |||
Wrapper for compilers which do not understand `-c -o'. | |||
Remove `-o dest.o' from ARGS, run PROGRAM with the remaining | |||
arguments, and rename the output as expected. | |||
If you are trying to build a whole package this is not the | |||
right script to run: please start by reading the file `INSTALL'. | |||
Report bugs to <bug-automake@gnu.org>. | |||
EOF | |||
exit $? | |||
;; | |||
-v | --v*) | |||
echo "compile $scriptversion" | |||
exit $? | |||
;; | |||
esac | |||
ofile= | |||
cfile= | |||
eat= | |||
for arg | |||
do | |||
if test -n "$eat"; then | |||
eat= | |||
else | |||
case $1 in | |||
-o) | |||
# configure might choose to run compile as `compile cc -o foo foo.c'. | |||
# So we strip `-o arg' only if arg is an object. | |||
eat=1 | |||
case $2 in | |||
*.o | *.obj) | |||
ofile=$2 | |||
;; | |||
*) | |||
set x "$@" -o "$2" | |||
shift | |||
;; | |||
esac | |||
;; | |||
*.c) | |||
cfile=$1 | |||
set x "$@" "$1" | |||
shift | |||
;; | |||
*) | |||
set x "$@" "$1" | |||
shift | |||
;; | |||
esac | |||
fi | |||
shift | |||
done | |||
if test -z "$ofile" || test -z "$cfile"; then | |||
# If no `-o' option was seen then we might have been invoked from a | |||
# pattern rule where we don't need one. That is ok -- this is a | |||
# normal compilation that the losing compiler can handle. If no | |||
# `.c' file was seen then we are probably linking. That is also | |||
# ok. | |||
exec "$@" | |||
fi | |||
# Name of file we expect compiler to create. | |||
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` | |||
# Create the lock directory. | |||
# Note: use `[/\\:.-]' here to ensure that we don't use the same name | |||
# that we are using for the .o file. Also, base the name on the expected | |||
# object file name, since that is what matters with a parallel build. | |||
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d | |||
while true; do | |||
if mkdir "$lockdir" >/dev/null 2>&1; then | |||
break | |||
fi | |||
sleep 1 | |||
done | |||
# FIXME: race condition here if user kills between mkdir and trap. | |||
trap "rmdir '$lockdir'; exit 1" 1 2 15 | |||
# Run the compile. | |||
"$@" | |||
ret=$? | |||
if test -f "$cofile"; then | |||
test "$cofile" = "$ofile" || mv "$cofile" "$ofile" | |||
elif test -f "${cofile}bj"; then | |||
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" | |||
fi | |||
rmdir "$lockdir" | |||
exit $ret | |||
# Local Variables: | |||
# mode: shell-script | |||
# sh-indentation: 2 | |||
# eval: (add-hook 'write-file-hooks 'time-stamp) | |||
# time-stamp-start: "scriptversion=" | |||
# time-stamp-format: "%:y-%02m-%02d.%02H" | |||
# time-stamp-time-zone: "UTC" | |||
# time-stamp-end: "; # UTC" | |||
# End: |
@ -0,0 +1,630 @@ | |||
#! /bin/sh | |||
# depcomp - compile a program generating dependencies as side-effects | |||
scriptversion=2009-04-28.21; # UTC | |||
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free | |||
# Software Foundation, Inc. | |||
# This program is free software; you can redistribute it and/or modify | |||
# it under the terms of the GNU General Public License as published by | |||
# the Free Software Foundation; either version 2, or (at your option) | |||
# any later version. | |||
# This program is distributed in the hope that it will be useful, | |||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
# GNU General Public License for more details. | |||
# You should have received a copy of the GNU General Public License | |||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
# As a special exception to the GNU General Public License, if you | |||
# distribute this file as part of a program that contains a | |||
# configuration script generated by Autoconf, you may include it under | |||
# the same distribution terms that you use for the rest of that program. | |||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. | |||
case $1 in | |||
'') | |||
echo "$0: No command. Try \`$0 --help' for more information." 1>&2 | |||
exit 1; | |||
;; | |||
-h | --h*) | |||
cat <<\EOF | |||
Usage: depcomp [--help] [--version] PROGRAM [ARGS] | |||
Run PROGRAMS ARGS to compile a file, generating dependencies | |||
as side-effects. | |||
Environment variables: | |||
depmode Dependency tracking mode. | |||
source Source file read by `PROGRAMS ARGS'. | |||
object Object file output by `PROGRAMS ARGS'. | |||
DEPDIR directory where to store dependencies. | |||
depfile Dependency file to output. | |||
tmpdepfile Temporary file to use when outputing dependencies. | |||
libtool Whether libtool is used (yes/no). | |||
Report bugs to <bug-automake@gnu.org>. | |||
EOF | |||
exit $? | |||
;; | |||
-v | --v*) | |||
echo "depcomp $scriptversion" | |||
exit $? | |||
;; | |||
esac | |||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then | |||
echo "depcomp: Variables source, object and depmode must be set" 1>&2 | |||
exit 1 | |||
fi | |||
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. | |||
depfile=${depfile-`echo "$object" | | |||
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} | |||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} | |||
rm -f "$tmpdepfile" | |||
# Some modes work just like other modes, but use different flags. We | |||
# parameterize here, but still list the modes in the big case below, | |||
# to make depend.m4 easier to write. Note that we *cannot* use a case | |||
# here, because this file can only contain one case statement. | |||
if test "$depmode" = hp; then | |||
# HP compiler uses -M and no extra arg. | |||
gccflag=-M | |||
depmode=gcc | |||
fi | |||
if test "$depmode" = dashXmstdout; then | |||
# This is just like dashmstdout with a different argument. | |||
dashmflag=-xM | |||
depmode=dashmstdout | |||
fi | |||
cygpath_u="cygpath -u -f -" | |||
if test "$depmode" = msvcmsys; then | |||
# This is just like msvisualcpp but w/o cygpath translation. | |||
# Just convert the backslash-escaped backslashes to single forward | |||
# slashes to satisfy depend.m4 | |||
cygpath_u="sed s,\\\\\\\\,/,g" | |||
depmode=msvisualcpp | |||
fi | |||
case "$depmode" in | |||
gcc3) | |||
## gcc 3 implements dependency tracking that does exactly what | |||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like | |||
## it if -MD -MP comes after the -MF stuff. Hmm. | |||
## Unfortunately, FreeBSD c89 acceptance of flags depends upon | |||
## the command line argument order; so add the flags where they | |||
## appear in depend2.am. Note that the slowdown incurred here | |||
## affects only configure: in makefiles, %FASTDEP% shortcuts this. | |||
for arg | |||
do | |||
case $arg in | |||
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; | |||
*) set fnord "$@" "$arg" ;; | |||
esac | |||
shift # fnord | |||
shift # $arg | |||
done | |||
"$@" | |||
stat=$? | |||
if test $stat -eq 0; then : | |||
else | |||
rm -f "$tmpdepfile" | |||
exit $stat | |||
fi | |||
mv "$tmpdepfile" "$depfile" | |||
;; | |||
gcc) | |||
## There are various ways to get dependency output from gcc. Here's | |||
## why we pick this rather obscure method: | |||
## - Don't want to use -MD because we'd like the dependencies to end | |||
## up in a subdir. Having to rename by hand is ugly. | |||
## (We might end up doing this anyway to support other compilers.) | |||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like | |||
## -MM, not -M (despite what the docs say). | |||
## - Using -M directly means running the compiler twice (even worse | |||
## than renaming). | |||
if test -z "$gccflag"; then | |||
gccflag=-MD, | |||
fi | |||
"$@" -Wp,"$gccflag$tmpdepfile" | |||
stat=$? | |||
if test $stat -eq 0; then : | |||
else | |||
rm -f "$tmpdepfile" | |||
exit $stat | |||
fi | |||
rm -f "$depfile" | |||
echo "$object : \\" > "$depfile" | |||
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz | |||
## The second -e expression handles DOS-style file names with drive letters. | |||
sed -e 's/^[^:]*: / /' \ | |||
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" | |||
## This next piece of magic avoids the `deleted header file' problem. | |||
## The problem is that when a header file which appears in a .P file | |||
## is deleted, the dependency causes make to die (because there is | |||
## typically no way to rebuild the header). We avoid this by adding | |||
## dummy dependencies for each header file. Too bad gcc doesn't do | |||
## this for us directly. | |||
tr ' ' ' | |||
' < "$tmpdepfile" | | |||
## Some versions of gcc put a space before the `:'. On the theory | |||
## that the space means something, we add a space to the output as | |||
## well. | |||
## Some versions of the HPUX 10.20 sed can't process this invocation | |||
## correctly. Breaking it into two sed invocations is a workaround. | |||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" | |||
rm -f "$tmpdepfile" | |||
;; | |||
hp) | |||
# This case exists only to let depend.m4 do its work. It works by | |||
# looking at the text of this script. This case will never be run, | |||
# since it is checked for above. | |||
exit 1 | |||
;; | |||
sgi) | |||
if test "$libtool" = yes; then | |||
"$@" "-Wp,-MDupdate,$tmpdepfile" | |||
else | |||
"$@" -MDupdate "$tmpdepfile" | |||
fi | |||
stat=$? | |||
if test $stat -eq 0; then : | |||
else | |||
rm -f "$tmpdepfile" | |||
exit $stat | |||
fi | |||
rm -f "$depfile" | |||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files | |||
echo "$object : \\" > "$depfile" | |||
# Clip off the initial element (the dependent). Don't try to be | |||
# clever and replace this with sed code, as IRIX sed won't handle | |||
# lines with more than a fixed number of characters (4096 in | |||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; | |||
# the IRIX cc adds comments like `#:fec' to the end of the | |||
# dependency line. | |||
tr ' ' ' | |||
' < "$tmpdepfile" \ | |||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ | |||
tr ' | |||
' ' ' >> "$depfile" | |||
echo >> "$depfile" | |||
# The second pass generates a dummy entry for each header file. | |||
tr ' ' ' | |||
' < "$tmpdepfile" \ | |||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ | |||
>> "$depfile" | |||
else | |||
# The sourcefile does not contain any dependencies, so just | |||
# store a dummy comment line, to avoid errors with the Makefile | |||
# "include basename.Plo" scheme. | |||
echo "#dummy" > "$depfile" | |||
fi | |||
rm -f "$tmpdepfile" | |||
;; | |||
aix) | |||
# The C for AIX Compiler uses -M and outputs the dependencies | |||
# in a .u file. In older versions, this file always lives in the | |||
# current directory. Also, the AIX compiler puts `$object:' at the | |||
# start of each line; $object doesn't have directory information. | |||
# Version 6 uses the directory in both cases. | |||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` | |||
test "x$dir" = "x$object" && dir= | |||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` | |||
if test "$libtool" = yes; then | |||
tmpdepfile1=$dir$base.u | |||
tmpdepfile2=$base.u | |||
tmpdepfile3=$dir.libs/$base.u | |||
"$@" -Wc,-M | |||
else | |||
tmpdepfile1=$dir$base.u | |||
tmpdepfile2=$dir$base.u | |||
tmpdepfile3=$dir$base.u | |||
"$@" -M | |||
fi | |||
stat=$? | |||
if test $stat -eq 0; then : | |||
else | |||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" | |||
exit $stat | |||
fi | |||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" | |||
do | |||
test -f "$tmpdepfile" && break | |||
done | |||
if test -f "$tmpdepfile"; then | |||
# Each line is of the form `foo.o: dependent.h'. | |||
# Do two passes, one to just change these to | |||
# `$object: dependent.h' and one to simply `dependent.h:'. | |||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" | |||
# That's a tab and a space in the []. | |||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" | |||
else | |||
# The sourcefile does not contain any dependencies, so just | |||
# store a dummy comment line, to avoid errors with the Makefile | |||
# "include basename.Plo" scheme. | |||
echo "#dummy" > "$depfile" | |||
fi | |||
rm -f "$tmpdepfile" | |||
;; | |||
icc) | |||
# Intel's C compiler understands `-MD -MF file'. However on | |||
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c | |||
# ICC 7.0 will fill foo.d with something like | |||
# foo.o: sub/foo.c | |||
# foo.o: sub/foo.h | |||
# which is wrong. We want: | |||
# sub/foo.o: sub/foo.c | |||
# sub/foo.o: sub/foo.h | |||
# sub/foo.c: | |||
# sub/foo.h: | |||
# ICC 7.1 will output | |||
# foo.o: sub/foo.c sub/foo.h | |||
# and will wrap long lines using \ : | |||
# foo.o: sub/foo.c ... \ | |||
# sub/foo.h ... \ | |||
# ... | |||
"$@" -MD -MF "$tmpdepfile" | |||
stat=$? | |||
if test $stat -eq 0; then : | |||
else | |||
rm -f "$tmpdepfile" | |||
exit $stat | |||
fi | |||
rm -f "$depfile" | |||
# Each line is of the form `foo.o: dependent.h', | |||
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. | |||
# Do two passes, one to just change these to | |||
# `$object: dependent.h' and one to simply `dependent.h:'. | |||
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" | |||
# Some versions of the HPUX 10.20 sed can't process this invocation | |||
# correctly. Breaking it into two sed invocations is a workaround. | |||
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | | |||
sed -e 's/$/ :/' >> "$depfile" | |||
rm -f "$tmpdepfile" | |||
;; | |||
hp2) | |||
# The "hp" stanza above does not work with aCC (C++) and HP's ia64 | |||
# compilers, which have integrated preprocessors. The correct option | |||
# to use with these is +Maked; it writes dependencies to a file named | |||
# 'foo.d', which lands next to the object file, wherever that | |||
# happens to be. | |||
# Much of this is similar to the tru64 case; see comments there. | |||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` | |||
test "x$dir" = "x$object" && dir= | |||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` | |||
if test "$libtool" = yes; then | |||
tmpdepfile1=$dir$base.d | |||
tmpdepfile2=$dir.libs/$base.d | |||
"$@" -Wc,+Maked | |||
else | |||
tmpdepfile1=$dir$base.d | |||
tmpdepfile2=$dir$base.d | |||
"$@" +Maked | |||
fi | |||
stat=$? | |||
if test $stat -eq 0; then : | |||
else | |||
rm -f "$tmpdepfile1" "$tmpdepfile2" | |||
exit $stat | |||
fi | |||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" | |||
do | |||
test -f "$tmpdepfile" && break | |||
done | |||
if test -f "$tmpdepfile"; then | |||
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" | |||
# Add `dependent.h:' lines. | |||
sed -ne '2,${ | |||
s/^ *// | |||
s/ \\*$// | |||
s/$/:/ | |||
p | |||
}' "$tmpdepfile" >> "$depfile" | |||
else | |||
echo "#dummy" > "$depfile" | |||
fi | |||
rm -f "$tmpdepfile" "$tmpdepfile2" | |||
;; | |||
tru64) | |||
# The Tru64 compiler uses -MD to generate dependencies as a side | |||
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. | |||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put | |||
# dependencies in `foo.d' instead, so we check for that too. | |||
# Subdirectories are respected. | |||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` | |||
test "x$dir" = "x$object" && dir= | |||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` | |||
if test "$libtool" = yes; then | |||
# With Tru64 cc, shared objects can also be used to make a | |||
# static library. This mechanism is used in libtool 1.4 series to | |||
# handle both shared and static libraries in a single compilation. | |||
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. | |||
# | |||
# With libtool 1.5 this exception was removed, and libtool now | |||
# generates 2 separate objects for the 2 libraries. These two | |||
# compilations output dependencies in $dir.libs/$base.o.d and | |||
# in $dir$base.o.d. We have to check for both files, because | |||
# one of the two compilations can be disabled. We should prefer | |||
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is | |||
# automatically cleaned when .libs/ is deleted, while ignoring | |||
# the former would cause a distcleancheck panic. | |||
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 | |||
tmpdepfile2=$dir$base.o.d # libtool 1.5 | |||
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 | |||
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 | |||
"$@" -Wc,-MD | |||
else | |||
tmpdepfile1=$dir$base.o.d | |||
tmpdepfile2=$dir$base.d | |||
tmpdepfile3=$dir$base.d | |||
tmpdepfile4=$dir$base.d | |||
"$@" -MD | |||
fi | |||
stat=$? | |||
if test $stat -eq 0; then : | |||
else | |||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" | |||
exit $stat | |||
fi | |||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" | |||
do | |||
test -f "$tmpdepfile" && break | |||
done | |||
if test -f "$tmpdepfile"; then | |||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" | |||
# That's a tab and a space in the []. | |||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" | |||
else | |||
echo "#dummy" > "$depfile" | |||
fi | |||
rm -f "$tmpdepfile" | |||
;; | |||
#nosideeffect) | |||
# This comment above is used by automake to tell side-effect | |||
# dependency tracking mechanisms from slower ones. | |||
dashmstdout) | |||
# Important note: in order to support this mode, a compiler *must* | |||
# always write the preprocessed file to stdout, regardless of -o. | |||
"$@" || exit $? | |||
# Remove the call to Libtool. | |||
if test "$libtool" = yes; then | |||
while test "X$1" != 'X--mode=compile'; do | |||
shift | |||
done | |||
shift | |||
fi | |||
# Remove `-o $object'. | |||
IFS=" " | |||
for arg | |||
do | |||
case $arg in | |||
-o) | |||
shift | |||
;; | |||
$object) | |||
shift | |||
;; | |||
*) | |||
set fnord "$@" "$arg" | |||
shift # fnord | |||
shift # $arg | |||
;; | |||
esac | |||
done | |||
test -z "$dashmflag" && dashmflag=-M | |||
# Require at least two characters before searching for `:' | |||
# in the target name. This is to cope with DOS-style filenames: | |||
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. | |||
"$@" $dashmflag | | |||
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" | |||
rm -f "$depfile" | |||
cat < "$tmpdepfile" > "$depfile" | |||
tr ' ' ' | |||
' < "$tmpdepfile" | \ | |||
## Some versions of the HPUX 10.20 sed can't process this invocation | |||
## correctly. Breaking it into two sed invocations is a workaround. | |||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" | |||
rm -f "$tmpdepfile" | |||
;; | |||
dashXmstdout) | |||
# This case only exists to satisfy depend.m4. It is never actually | |||
# run, as this mode is specially recognized in the preamble. | |||
exit 1 | |||
;; | |||
makedepend) | |||
"$@" || exit $? | |||
# Remove any Libtool call | |||
if test "$libtool" = yes; then | |||
while test "X$1" != 'X--mode=compile'; do | |||
shift | |||
done | |||
shift | |||
fi | |||
# X makedepend | |||
shift | |||
cleared=no eat=no | |||
for arg | |||
do | |||
case $cleared in | |||
no) | |||
set ""; shift | |||
cleared=yes ;; | |||
esac | |||
if test $eat = yes; then | |||
eat=no | |||
continue | |||
fi | |||
case "$arg" in | |||
-D*|-I*) | |||
set fnord "$@" "$arg"; shift ;; | |||
# Strip any option that makedepend may not understand. Remove | |||
# the object too, otherwise makedepend will parse it as a source file. | |||
-arch) | |||
eat=yes ;; | |||
-*|$object) | |||
;; | |||
*) | |||
set fnord "$@" "$arg"; shift ;; | |||
esac | |||
done | |||
obj_suffix=`echo "$object" | sed 's/^.*\././'` | |||
touch "$tmpdepfile" | |||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" | |||
rm -f "$depfile" | |||
cat < "$tmpdepfile" > "$depfile" | |||
sed '1,2d' "$tmpdepfile" | tr ' ' ' | |||
' | \ | |||
## Some versions of the HPUX 10.20 sed can't process this invocation | |||
## correctly. Breaking it into two sed invocations is a workaround. | |||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" | |||
rm -f "$tmpdepfile" "$tmpdepfile".bak | |||
;; | |||
cpp) | |||
# Important note: in order to support this mode, a compiler *must* | |||
# always write the preprocessed file to stdout. | |||
"$@" || exit $? | |||
# Remove the call to Libtool. | |||
if test "$libtool" = yes; then | |||
while test "X$1" != 'X--mode=compile'; do | |||
shift | |||
done | |||
shift | |||
fi | |||
# Remove `-o $object'. | |||
IFS=" " | |||
for arg | |||
do | |||
case $arg in | |||
-o) | |||
shift | |||
;; | |||
$object) | |||
shift | |||
;; | |||
*) | |||
set fnord "$@" "$arg" | |||
shift # fnord | |||
shift # $arg | |||
;; | |||
esac | |||
done | |||
"$@" -E | | |||
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ | |||
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | | |||
sed '$ s: \\$::' > "$tmpdepfile" | |||
rm -f "$depfile" | |||
echo "$object : \\" > "$depfile" | |||
cat < "$tmpdepfile" >> "$depfile" | |||
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" | |||
rm -f "$tmpdepfile" | |||
;; | |||
msvisualcpp) | |||
# Important note: in order to support this mode, a compiler *must* | |||
# always write the preprocessed file to stdout. | |||
"$@" || exit $? | |||
# Remove the call to Libtool. | |||
if test "$libtool" = yes; then | |||
while test "X$1" != 'X--mode=compile'; do | |||
shift | |||
done | |||
shift | |||
fi | |||
IFS=" " | |||
for arg | |||
do | |||
case "$arg" in | |||
-o) | |||
shift | |||
;; | |||
$object) | |||
shift | |||
;; | |||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") | |||
set fnord "$@" | |||
shift | |||
shift | |||
;; | |||
*) | |||
set fnord "$@" "$arg" | |||
shift | |||
shift | |||
;; | |||
esac | |||
done | |||
"$@" -E 2>/dev/null | | |||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" | |||
rm -f "$depfile" | |||
echo "$object : \\" > "$depfile" | |||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" | |||
echo " " >> "$depfile" | |||
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" | |||
rm -f "$tmpdepfile" | |||
;; | |||
msvcmsys) | |||
# This case exists only to let depend.m4 do its work. It works by | |||
# looking at the text of this script. This case will never be run, | |||
# since it is checked for above. | |||
exit 1 | |||
;; | |||
none) | |||
exec "$@" | |||
;; | |||
*) | |||
echo "Unknown depmode $depmode" 1>&2 | |||
exit 1 | |||
;; | |||
esac | |||
exit 0 | |||
# Local Variables: | |||
# mode: shell-script | |||
# sh-indentation: 2 | |||
# eval: (add-hook 'write-file-hooks 'time-stamp) | |||
# time-stamp-start: "scriptversion=" | |||
# time-stamp-format: "%:y-%02m-%02d.%02H" | |||
# time-stamp-time-zone: "UTC" | |||
# time-stamp-end: "; # UTC" | |||
# End: |
@ -0,0 +1,520 @@ | |||
#!/bin/sh | |||
# install - install a program, script, or datafile | |||
scriptversion=2009-04-28.21; # UTC | |||
# This originates from X11R5 (mit/util/scripts/install.sh), which was | |||
# later released in X11R6 (xc/config/util/install.sh) with the | |||
# following copyright and license. | |||
# | |||
# Copyright (C) 1994 X Consortium | |||
# | |||
# Permission is hereby granted, free of charge, to any person obtaining a copy | |||
# of this software and associated documentation files (the "Software"), to | |||
# deal in the Software without restriction, including without limitation the | |||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or | |||
# sell copies of the Software, and to permit persons to whom the Software is | |||
# furnished to do so, subject to the following conditions: | |||
# | |||
# The above copyright notice and this permission notice shall be included in | |||
# all copies or substantial portions of the Software. | |||
# | |||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | |||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- | |||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |||
# | |||
# Except as contained in this notice, the name of the X Consortium shall not | |||
# be used in advertising or otherwise to promote the sale, use or other deal- | |||
# ings in this Software without prior written authorization from the X Consor- | |||
# tium. | |||
# | |||
# | |||
# FSF changes to this file are in the public domain. | |||
# | |||
# Calling this script install-sh is preferred over install.sh, to prevent | |||
# `make' implicit rules from creating a file called install from it | |||
# when there is no Makefile. | |||
# | |||
# This script is compatible with the BSD install script, but was written | |||
# from scratch. | |||
nl=' | |||
' | |||
IFS=" "" $nl" | |||
# set DOITPROG to echo to test this script | |||
# Don't use :- since 4.3BSD and earlier shells don't like it. | |||
doit=${DOITPROG-} | |||
if test -z "$doit"; then | |||
doit_exec=exec | |||
else | |||
doit_exec=$doit | |||
fi | |||
# Put in absolute file names if you don't have them in your path; | |||
# or use environment vars. | |||
chgrpprog=${CHGRPPROG-chgrp} | |||
chmodprog=${CHMODPROG-chmod} | |||
chownprog=${CHOWNPROG-chown} | |||
cmpprog=${CMPPROG-cmp} | |||
cpprog=${CPPROG-cp} | |||
mkdirprog=${MKDIRPROG-mkdir} | |||
mvprog=${MVPROG-mv} | |||
rmprog=${RMPROG-rm} | |||
stripprog=${STRIPPROG-strip} | |||
posix_glob='?' | |||
initialize_posix_glob=' | |||
test "$posix_glob" != "?" || { | |||
if (set -f) 2>/dev/null; then | |||
posix_glob= | |||
else | |||
posix_glob=: | |||
fi | |||
} | |||
' | |||
posix_mkdir= | |||
# Desired mode of installed file. | |||
mode=0755 | |||
chgrpcmd= | |||
chmodcmd=$chmodprog | |||
chowncmd= | |||
mvcmd=$mvprog | |||
rmcmd="$rmprog -f" | |||
stripcmd= | |||
src= | |||
dst= | |||
dir_arg= | |||
dst_arg= | |||
copy_on_change=false | |||
no_target_directory= | |||
usage="\ | |||
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE | |||
or: $0 [OPTION]... SRCFILES... DIRECTORY | |||
or: $0 [OPTION]... -t DIRECTORY SRCFILES... | |||
or: $0 [OPTION]... -d DIRECTORIES... | |||
In the 1st form, copy SRCFILE to DSTFILE. | |||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. | |||
In the 4th, create DIRECTORIES. | |||
Options: | |||
--help display this help and exit. | |||
--version display version info and exit. | |||
-c (ignored) | |||
-C install only if different (preserve the last data modification time) | |||
-d create directories instead of installing files. | |||
-g GROUP $chgrpprog installed files to GROUP. | |||
-m MODE $chmodprog installed files to MODE. | |||
-o USER $chownprog installed files to USER. | |||
-s $stripprog installed files. | |||
-t DIRECTORY install into DIRECTORY. | |||
-T report an error if DSTFILE is a directory. | |||
Environment variables override the default commands: | |||
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG | |||
RMPROG STRIPPROG | |||
" | |||
while test $# -ne 0; do | |||
case $1 in | |||
-c) ;; | |||
-C) copy_on_change=true;; | |||
-d) dir_arg=true;; | |||
-g) chgrpcmd="$chgrpprog $2" | |||
shift;; | |||
--help) echo "$usage"; exit $?;; | |||
-m) mode=$2 | |||
case $mode in | |||
*' '* | *' '* | *' | |||
'* | *'*'* | *'?'* | *'['*) | |||
echo "$0: invalid mode: $mode" >&2 | |||
exit 1;; | |||
esac | |||
shift;; | |||
-o) chowncmd="$chownprog $2" | |||
shift;; | |||
-s) stripcmd=$stripprog;; | |||
-t) dst_arg=$2 | |||
shift;; | |||
-T) no_target_directory=true;; | |||
--version) echo "$0 $scriptversion"; exit $?;; | |||
--) shift | |||
break;; | |||
-*) echo "$0: invalid option: $1" >&2 | |||
exit 1;; | |||
*) break;; | |||
esac | |||
shift | |||
done | |||
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then | |||
# When -d is used, all remaining arguments are directories to create. | |||
# When -t is used, the destination is already specified. | |||
# Otherwise, the last argument is the destination. Remove it from $@. | |||
for arg | |||
do | |||
if test -n "$dst_arg"; then | |||
# $@ is not empty: it contains at least $arg. | |||
set fnord "$@" "$dst_arg" | |||
shift # fnord | |||
fi | |||
shift # arg | |||
dst_arg=$arg | |||
done | |||
fi | |||
if test $# -eq 0; then | |||
if test -z "$dir_arg"; then | |||
echo "$0: no input file specified." >&2 | |||
exit 1 | |||
fi | |||
# It's OK to call `install-sh -d' without argument. | |||
# This can happen when creating conditional directories. | |||
exit 0 | |||