Import Upstream version 1.16.2
This commit is contained in:
commit
8f09a9143c
|
@ -0,0 +1,23 @@
|
|||
Erik Walthinsen <omega@temple-baptist.com>
|
||||
Matt Howell <mhowell@users.sourceforge.net>
|
||||
Brent Bradburn <bbradburn@users.sourceforge.net>
|
||||
Wim Taymans <wim.taymans@gmail.com>
|
||||
Richard Boulton <richard@tartarus.org>
|
||||
Zaheer Abbas Merali <zaheerabbas at merali dot org>
|
||||
David I. Lehn <dlehn@users.sourceforge.net>
|
||||
Chris Emerson <chris@tartarus.org>
|
||||
Jens Thiele <karme@unforgettable.com>
|
||||
Thomas Nyberg <thomas@codefactory.se>
|
||||
Bastien Nocera <hadess@hadess.net>
|
||||
Christian Fredrik Kalager Schaller <Uraeus@linuxrising.org>
|
||||
Thomas Vander Stichele <thomas@apestaart.org>
|
||||
Andy Wingo <wingo@pobox.com>
|
||||
Cameron Hutchison <camh@xdna.net>
|
||||
David Schleef <ds@schleef.org>
|
||||
Benjamin Otte <in7y118@public.uni-hamburg.de>
|
||||
Ronald Bultje <rbultje@ronald.bitfreak.net>
|
||||
Julien MOUTTE <julien@moutte.net>
|
||||
Jan Schmidt <thaytan@mad.scientist.com>
|
||||
Arwed v. Merkatz <v.merkatz@gmx.net>
|
||||
Tim-Philipp Müller <tim at centricular dot net>
|
||||
Mark Borgerding <mark at borgerding dot net> (kissfft, used in libgstfft)
|
|
@ -0,0 +1,481 @@
|
|||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1991 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 library GPL. It is
|
||||
numbered 2 because it goes with version 2 of the ordinary GPL.]
|
||||
|
||||
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 Library General Public License, applies to some
|
||||
specially designated Free Software Foundation software, and to any
|
||||
other libraries whose authors decide to use it. You can use it for
|
||||
your libraries, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, 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 or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the 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 a program 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.
|
||||
|
||||
Our method of protecting your rights has two steps: (1) copyright
|
||||
the library, and (2) offer you this license which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
Also, for each distributor's protection, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
library. If the library is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original
|
||||
version, so that any problems introduced by others will not reflect on
|
||||
the original authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that companies distributing free
|
||||
software will individually obtain patent licenses, thus in effect
|
||||
transforming the program into proprietary software. To prevent this,
|
||||
we have made it clear that any patent must be licensed for everyone's
|
||||
free use or not licensed at all.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the ordinary
|
||||
GNU General Public License, which was designed for utility programs. This
|
||||
license, the GNU Library General Public License, applies to certain
|
||||
designated libraries. This license is quite different from the ordinary
|
||||
one; be sure to read it in full, and don't assume that anything in it is
|
||||
the same as in the ordinary license.
|
||||
|
||||
The reason we have a separate public license for some libraries is that
|
||||
they blur the distinction we usually make between modifying or adding to a
|
||||
program and simply using it. Linking a program with a library, without
|
||||
changing the library, is in some sense simply using the library, and is
|
||||
analogous to running a utility program or application program. However, in
|
||||
a textual and legal sense, the linked executable is a combined work, a
|
||||
derivative of the original library, and the ordinary General Public License
|
||||
treats it as such.
|
||||
|
||||
Because of this blurred distinction, using the ordinary General
|
||||
Public License for libraries did not effectively promote software
|
||||
sharing, because most developers did not use the libraries. We
|
||||
concluded that weaker conditions might promote sharing better.
|
||||
|
||||
However, unrestricted linking of non-free programs would deprive the
|
||||
users of those programs of all benefit from the free status of the
|
||||
libraries themselves. This Library General Public License is intended to
|
||||
permit developers of non-free programs to use free libraries, while
|
||||
preserving your freedom as a user of such programs to change the free
|
||||
libraries that are incorporated in them. (We have not seen how to achieve
|
||||
this as regards changes in header files, but we have achieved it as regards
|
||||
changes in the actual functions of the Library.) The hope is that this
|
||||
will lead to faster development of free libraries.
|
||||
|
||||
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, while the latter only
|
||||
works together with the library.
|
||||
|
||||
Note that it is possible for a library to be covered by the ordinary
|
||||
General Public License rather than by this special one.
|
||||
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library which
|
||||
contains a notice placed by the copyright holder or other authorized
|
||||
party saying it may be distributed under the terms of this Library
|
||||
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 compile 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) 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.
|
||||
|
||||
c) 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.
|
||||
|
||||
d) 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 source code 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 to
|
||||
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 Library 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
|
||||
|
||||
Appendix: 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 Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 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
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library 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,368 @@
|
|||
Installation Instructions
|
||||
*************************
|
||||
|
||||
Copyright (C) 1994-1996, 1999-2002, 2004-2016 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 command './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.
|
||||
|
||||
HP-UX 'make' updates targets which have the same time stamps as their
|
||||
prerequisites, which makes it generally unusable when shipped generated
|
||||
files such as 'configure' are involved. Use GNU 'make' instead.
|
||||
|
||||
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 limitation. Until the limitation is lifted, you can use this
|
||||
workaround:
|
||||
|
||||
CONFIG_SHELL=/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,91 @@
|
|||
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
|
||||
|
||||
if BUILD_EXTERNAL
|
||||
SUBDIRS_EXT = ext
|
||||
else
|
||||
SUBDIRS_EXT =
|
||||
endif
|
||||
|
||||
SUBDIRS = \
|
||||
pkgconfig \
|
||||
gst-libs \
|
||||
gst sys $(SUBDIRS_EXT) \
|
||||
tools \
|
||||
tests \
|
||||
docs \
|
||||
po \
|
||||
common \
|
||||
m4
|
||||
|
||||
DIST_SUBDIRS = \
|
||||
pkgconfig \
|
||||
docs \
|
||||
gst-libs \
|
||||
gst sys ext \
|
||||
tools \
|
||||
tests \
|
||||
po \
|
||||
common \
|
||||
m4
|
||||
|
||||
EXTRA_DIST = \
|
||||
depcomp \
|
||||
AUTHORS COPYING NEWS README RELEASE REQUIREMENTS \
|
||||
ChangeLog gst-plugins-base.doap autogen.sh \
|
||||
$(shell find "$(top_srcdir)" -type f -name meson.build ! -path "$(top_srcdir)/$(PACKAGE_TARNAME)-*" ) \
|
||||
gst-libs/gst/gl/gstglconfig.h.meson \
|
||||
meson_options.txt
|
||||
|
||||
DISTCLEANFILES = _stdint.h
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4 -I common/m4
|
||||
|
||||
include $(top_srcdir)/common/release.mak
|
||||
include $(top_srcdir)/common/po.mak
|
||||
|
||||
check-valgrind:
|
||||
$(MAKE) -C tests/check check-valgrind
|
||||
|
||||
if HAVE_GST_CHECK
|
||||
check-torture:
|
||||
$(MAKE) -C tests/check torture
|
||||
build-checks:
|
||||
$(MAKE) -C tests/check build-checks
|
||||
else
|
||||
check-torture:
|
||||
true
|
||||
build-checks:
|
||||
true
|
||||
endif
|
||||
|
||||
include $(top_srcdir)/common/coverage/lcov.mak
|
||||
|
||||
# cruft: plugins that have been merged or moved or renamed
|
||||
|
||||
CRUFT_FILES = \
|
||||
$(top_builddir)/gst-plugins-base.spec \
|
||||
$(top_builddir)/common/shave \
|
||||
$(top_builddir)/common/shave-libtool \
|
||||
$(top_builddir)/gst-libs/gst/audio/testchannels \
|
||||
$(top_builddir)/gst-libs/gst/app/gstapp-marshal.c \
|
||||
$(top_builddir)/gst-libs/gst/app/gstapp-marshal.h \
|
||||
$(top_builddir)/gst/encoding/.libs/libgstencodebin.so \
|
||||
$(top_builddir)/tests/check/elements/gdppay \
|
||||
$(top_builddir)/tests/check/elements/gdpdepay \
|
||||
$(top_builddir)/tests/check/pipelines/streamheader \
|
||||
$(top_builddir)/tests/examples/audio/testchannels \
|
||||
$(top_builddir)/tests/examples/volume/volume \
|
||||
$(top_builddir)/tools/gst-discoverer
|
||||
|
||||
CRUFT_DIRS = \
|
||||
$(top_srcdir)/docs/design \
|
||||
$(top_srcdir)/docs/plugins/tmpl \
|
||||
$(top_srcdir)/ext/gio \
|
||||
$(top_srcdir)/gst/gdp \
|
||||
$(top_srcdir)/sys/v4l \
|
||||
$(top_srcdir)/win32 \
|
||||
$(top_srcdir)/tests/examples/v4l
|
||||
|
||||
include $(top_srcdir)/common/cruft.mak
|
||||
|
||||
all-local: check-cruft
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,255 @@
|
|||
GStreamer 1.16.x stable series
|
||||
|
||||
WHAT IT IS
|
||||
----------
|
||||
|
||||
This is GStreamer, a framework for streaming media.
|
||||
|
||||
WHERE TO START
|
||||
--------------
|
||||
|
||||
We have a website at
|
||||
http://gstreamer.freedesktop.org/
|
||||
|
||||
You should start by going through our FAQ at
|
||||
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/
|
||||
|
||||
There is more documentation; go to
|
||||
http://gstreamer.freedesktop.org/documentation
|
||||
|
||||
You can subscribe to our mailing lists; see the website for details.
|
||||
|
||||
We track bugs in GNOME's bugzilla; see the website for details.
|
||||
|
||||
You can join us on IRC - #gstreamer on irc.freenode.org
|
||||
|
||||
GStreamer 1.0 series
|
||||
--------------------
|
||||
|
||||
Starring
|
||||
|
||||
GSTREAMER
|
||||
|
||||
The core around which all other modules revolve. Base functionality and
|
||||
libraries, some essential elements, documentation, and testing.
|
||||
|
||||
BASE
|
||||
|
||||
A well-groomed and well-maintained collection of GStreamer plug-ins and
|
||||
elements, spanning the range of possible types of elements one would want
|
||||
to write for GStreamer.
|
||||
|
||||
And introducing, for the first time ever, on the development screen ...
|
||||
|
||||
THE GOOD
|
||||
|
||||
--- "Such ingratitude. After all the times I've saved your life."
|
||||
|
||||
A collection of plug-ins you'd want to have right next to you on the
|
||||
battlefield. Shooting sharp and making no mistakes, these plug-ins have it
|
||||
all: good looks, good code, and good licensing. Documented and dressed up
|
||||
in tests. If you're looking for a role model to base your own plug-in on,
|
||||
here it is.
|
||||
|
||||
If you find a plot hole or a badly lip-synced line of code in them,
|
||||
let us know - it is a matter of honour for us to ensure Blondie doesn't look
|
||||
like he's been walking 100 miles through the desert without water.
|
||||
|
||||
THE UGLY
|
||||
|
||||
--- "When you have to shoot, shoot. Don't talk."
|
||||
|
||||
There are times when the world needs a color between black and white.
|
||||
Quality code to match the good's, but two-timing, backstabbing and ready to
|
||||
sell your freedom down the river. These plug-ins might have a patent noose
|
||||
around their neck, or a lock-up license, or any other problem that makes you
|
||||
think twice about shipping them.
|
||||
|
||||
We don't call them ugly because we like them less. Does a mother love her
|
||||
son less because he's not as pretty as the other ones ? No - she commends
|
||||
him on his great personality. These plug-ins are the life of the party.
|
||||
And we'll still step in and set them straight if you report any unacceptable
|
||||
behaviour - because there are two kinds of people in the world, my friend:
|
||||
those with a rope around their neck and the people who do the cutting.
|
||||
|
||||
THE BAD
|
||||
|
||||
--- "That an accusation?"
|
||||
|
||||
No perfectly groomed moustache or any amount of fine clothing is going to
|
||||
cover up the truth - these plug-ins are Bad with a capital B.
|
||||
They look fine on the outside, and might even appear to get the job done, but
|
||||
at the end of the day they're a black sheep. Without a golden-haired angel
|
||||
to watch over them, they'll probably land in an unmarked grave at the final
|
||||
showdown.
|
||||
|
||||
Don't bug us about their quality - exercise your Free Software rights,
|
||||
patch up the offender and send us the patch on the fastest steed you can
|
||||
steal from the Confederates. Because you see, in this world, there's two
|
||||
kinds of people, my friend: those with loaded guns and those who dig.
|
||||
You dig.
|
||||
|
||||
The Lowdown
|
||||
-----------
|
||||
|
||||
--- "I've never seen so many plug-ins wasted so badly."
|
||||
|
||||
GStreamer Plug-ins has grown so big that it's hard to separate the wheat from
|
||||
the chaff. Also, distributors have brought up issues about the legal status
|
||||
of some of the plug-ins we ship. To remedy this, we've divided the previous
|
||||
set of available plug-ins into four modules:
|
||||
|
||||
- gst-plugins-base: a small and fixed set of plug-ins, covering a wide range
|
||||
of possible types of elements; these are continuously kept up-to-date
|
||||
with any core changes during the development series.
|
||||
|
||||
- We believe distributors can safely ship these plug-ins.
|
||||
- People writing elements should base their code on these elements.
|
||||
- These elements come with examples, documentation, and regression tests.
|
||||
|
||||
- gst-plugins-good: a set of plug-ins that we consider to have good quality
|
||||
code, correct functionality, our preferred license (LGPL for the plug-in
|
||||
code, LGPL or LGPL-compatible for the supporting library).
|
||||
|
||||
- We believe distributors can safely ship these plug-ins.
|
||||
- People writing elements should base their code on these elements.
|
||||
|
||||
- gst-plugins-ugly: a set of plug-ins that have good quality and correct
|
||||
functionality, but distributing them might pose problems. The license
|
||||
on either the plug-ins or the supporting libraries might not be how we'd
|
||||
like. The code might be widely known to present patent problems.
|
||||
|
||||
- Distributors should check if they want/can ship these plug-ins.
|
||||
- People writing elements should base their code on these elements.
|
||||
|
||||
- gst-plugins-bad: a set of plug-ins that aren't up to par compared to the
|
||||
rest. They might be close to being good quality, but they're missing
|
||||
something - be it a good code review, some documentation, a set of tests,
|
||||
a real live maintainer, or some actual wide use.
|
||||
If the blanks are filled in they might be upgraded to become part of
|
||||
either gst-plugins-good or gst-plugins-ugly, depending on the other factors.
|
||||
|
||||
- If the plug-ins break, you can't complain - instead, you can fix the
|
||||
problem and send us a patch, or bribe someone into fixing them for you.
|
||||
- New contributors can start here for things to work on.
|
||||
|
||||
PLATFORMS
|
||||
---------
|
||||
|
||||
- Linux is of course fully supported
|
||||
- FreeBSD is reported to work; other BSDs should work too
|
||||
- Solaris is reported to work; a specific sunaudiosink plugin has been written
|
||||
- MacOSX works, binary 1.x packages can be built using the cerbero build tool
|
||||
- Windows works; binary 1.x packages can be built using the cerbero build tool
|
||||
- MSys/MinGW builds
|
||||
- Microsoft Visual Studio builds are not yet available or supported
|
||||
- Android works, binary 1.x packages can be built using the cerbero build tool
|
||||
- iOS works
|
||||
|
||||
INSTALLING FROM PACKAGES
|
||||
------------------------
|
||||
|
||||
You should always prefer installing from packages first. GStreamer is
|
||||
well-maintained for a number of distributions, including Fedora, Debian,
|
||||
Ubuntu, Mandrake, Gentoo, ...
|
||||
|
||||
Only in cases where you:
|
||||
- want to hack on GStreamer
|
||||
- want to verify that a bug has been fixed
|
||||
- do not have a sane distribution
|
||||
should you choose to build from source tarballs or git.
|
||||
|
||||
Find more information about the various packages at
|
||||
http://gstreamer.freedesktop.org/download/
|
||||
|
||||
COMPILING FROM SOURCE TARBALLS
|
||||
------------------------------
|
||||
|
||||
- again, make sure that you really need to install from source !
|
||||
If GStreamer is one of your first projects ever that you build from source,
|
||||
consider taking on an easier project.
|
||||
|
||||
- check output of ./configure --help to see if any options apply to you
|
||||
- run
|
||||
./configure
|
||||
make
|
||||
|
||||
to build GStreamer.
|
||||
- if you want to install it (not required, but what you usually want to do), run
|
||||
make install
|
||||
|
||||
- try out a simple test:
|
||||
gst-launch -v fakesrc num_buffers=5 ! fakesink
|
||||
(If you didn't install GStreamer, prefix gst-launch with tools/)
|
||||
|
||||
If it outputs a bunch of messages from fakesrc and fakesink, everything is
|
||||
ok.
|
||||
|
||||
If it did not work, keep in mind that you might need to adjust the
|
||||
PATH and/or LD_LIBRARY_PATH environment variables to make the system
|
||||
find GStreamer in the prefix where you installed (by default that is /usr/local).
|
||||
|
||||
- After this, you're ready to install gst-plugins, which will provide the
|
||||
functionality you're probably looking for by now, so go on and read
|
||||
that README.
|
||||
|
||||
COMPILING FROM GIT
|
||||
------------------
|
||||
|
||||
When building from git sources, you will need to run autogen.sh to generate
|
||||
the build system files.
|
||||
|
||||
You will need a set of additional tools typical for building from git,
|
||||
including:
|
||||
- autoconf
|
||||
- automake
|
||||
- libtool
|
||||
|
||||
autogen.sh will check for recent enough versions and complain if you don't have
|
||||
them. You can also specify specific versions of automake and autoconf with
|
||||
--with-automake and --with-autoconf
|
||||
|
||||
Check autogen.sh options by running autogen.sh --help
|
||||
|
||||
autogen.sh can pass on arguments to configure
|
||||
|
||||
When you have done this once, you can use autoregen.sh to re-autogen with
|
||||
the last passed options as a handy shortcut. Use it.
|
||||
|
||||
After the autogen.sh stage, you can follow the directions listed in
|
||||
"COMPILING FROM SOURCE"
|
||||
|
||||
You can also run your whole git stack uninstalled in your home directory,
|
||||
so that you can quickly test changes without affecting your system setup or
|
||||
interfering with GStreamer installed from packages. Many GStreamer developers
|
||||
use an uninstalled setup for their work.
|
||||
|
||||
There is a 'create-uninstalled-setup.sh' script in
|
||||
|
||||
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/scripts/
|
||||
|
||||
to easily create an uninstalled setup from scratch.
|
||||
|
||||
|
||||
PLUG-IN DEPENDENCIES AND LICENSES
|
||||
---------------------------------
|
||||
|
||||
GStreamer is developed under the terms of the LGPL (see LICENSE file for
|
||||
details). Some of our plug-ins however rely on libraries which are available
|
||||
under other licenses. This means that if you are distributing an application
|
||||
which has a non-GPL compatible license (for instance a closed-source
|
||||
application) with GStreamer, you have to make sure not to distribute GPL-linked
|
||||
plug-ins.
|
||||
|
||||
When using GPL-linked plug-ins, GStreamer is for all practical reasons
|
||||
under the GPL itself.
|
||||
|
||||
HISTORY
|
||||
-------
|
||||
|
||||
The fundamental design comes from the video pipeline at Oregon Graduate
|
||||
Institute, as well as some ideas from DirectMedia. It's based on plug-ins that
|
||||
will provide the various codec and other functionality. The interface
|
||||
hopefully is generic enough for various companies (ahem, Apple) to release
|
||||
binary codecs for Linux, until such time as they get a clue and release the
|
||||
source.
|
|
@ -0,0 +1,96 @@
|
|||
This is GStreamer gst-plugins-base 1.16.2.
|
||||
|
||||
The GStreamer team is pleased to announce another bug-fix release in the
|
||||
stable 1.x API series of your favourite cross-platform multimedia framework!
|
||||
|
||||
The 1.16 release series adds new features on top of the 1.14 series and is
|
||||
part of the API and ABI-stable 1.x release series of the GStreamer multimedia
|
||||
framework.
|
||||
|
||||
Full release notes will one day be found at:
|
||||
|
||||
https://gstreamer.freedesktop.org/releases/1.16/
|
||||
|
||||
Binaries for Android, iOS, Mac OS X and Windows will usually be provided
|
||||
shortly after the release.
|
||||
|
||||
This module will not be very useful by itself and should be used in conjunction
|
||||
with other GStreamer modules for a complete multimedia experience.
|
||||
|
||||
- gstreamer: provides the core GStreamer libraries and some generic plugins
|
||||
|
||||
- gst-plugins-base: a basic set of well-supported plugins and additional
|
||||
media-specific GStreamer helper libraries for audio,
|
||||
video, rtsp, rtp, tags, OpenGL, etc.
|
||||
|
||||
- gst-plugins-good: a set of well-supported plugins under our preferred
|
||||
license
|
||||
|
||||
- gst-plugins-ugly: a set of well-supported plugins which might pose
|
||||
problems for distributors
|
||||
|
||||
- gst-plugins-bad: a set of plugins of varying quality that have not made
|
||||
their way into one of core/base/good/ugly yet, for one
|
||||
reason or another. Many of these are are production quality
|
||||
elements, but may still be missing documentation or unit
|
||||
tests; others haven't passed the rigorous quality testing
|
||||
we expect yet.
|
||||
|
||||
- gst-libav: a set of codecs plugins based on the ffmpeg library. This is
|
||||
where you can find audio and video decoders and encoders
|
||||
for a wide variety of formats including H.264, AAC, etc.
|
||||
|
||||
- gstreamer-vaapi: hardware-accelerated video decoding and encoding using
|
||||
VA-API on Linux. Primarily for Intel graphics hardware.
|
||||
|
||||
- gst-omx: hardware-accelerated video decoding and encoding, primarily for
|
||||
embedded Linux systems that provide an OpenMax
|
||||
implementation layer such as the Raspberry Pi.
|
||||
|
||||
- gst-rtsp-server: library to serve files or streaming pipelines via RTSP
|
||||
|
||||
- gst-editing-services: library an plugins for non-linear editing
|
||||
|
||||
==== Download ====
|
||||
|
||||
You can find source releases of gstreamer in the download
|
||||
directory: https://gstreamer.freedesktop.org/src/gstreamer/
|
||||
|
||||
The git repository and details how to clone it can be found at
|
||||
https://gitlab.freedesktop.org/gstreamer/
|
||||
|
||||
==== Homepage ====
|
||||
|
||||
The project's website is https://gstreamer.freedesktop.org/
|
||||
|
||||
==== Support and Bugs ====
|
||||
|
||||
We have recently moved from GNOME Bugzilla to GitLab on freedesktop.org
|
||||
for bug reports and feature requests:
|
||||
|
||||
https://gitlab.freedesktop.org/gstreamer
|
||||
|
||||
Please submit patches via GitLab as well, in form of Merge Requests. See
|
||||
|
||||
https://gstreamer.freedesktop.org/documentation/contribute/
|
||||
|
||||
for more details.
|
||||
|
||||
For help and support, please subscribe to and send questions to the
|
||||
gstreamer-devel mailing list (see below for details).
|
||||
|
||||
There is also a #gstreamer IRC channel on the Freenode IRC network.
|
||||
|
||||
==== Developers ====
|
||||
|
||||
GStreamer source code repositories can be found on GitLab on freedesktop.org:
|
||||
|
||||
https://gitlab.freedesktop.org/gstreamer
|
||||
|
||||
and can also be cloned from there and this is also where you can submit
|
||||
Merge Requests or file issues for bugs or feature requests.
|
||||
|
||||
Interested developers of the core library, plugins, and applications should
|
||||
subscribe to the gstreamer-devel list:
|
||||
|
||||
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
|
|
@ -0,0 +1,99 @@
|
|||
GStreamer uses a *large* array of tools and libraries, most of which are
|
||||
optional. We have attempted to make sure that any code that depends on
|
||||
optional libraries doesn't get built unless you have those libraries. If
|
||||
you find this not to be the case, please, let us know by filing a bug
|
||||
report at http://bugzilla.gnome.org/.
|
||||
|
||||
|
||||
Required tools:
|
||||
===============
|
||||
|
||||
An extra set of tools is required if you wish to build GStreamer out of
|
||||
CVS (using autogen.sh):
|
||||
|
||||
autoconf 2.52 or better
|
||||
automake 1.5
|
||||
gettext 0.11.5
|
||||
libtool v1.4 or better
|
||||
pkgconfig 0.9.0 or better (http://www.freedesktop.org/software/pkgconfig/)
|
||||
|
||||
Required libraries:
|
||||
===================
|
||||
|
||||
The core GStreamer libraries. See the gstreamer/ module in GStreamer cvs, or
|
||||
the version that corresponds to this plugin release.
|
||||
|
||||
Package: GStreamer
|
||||
Version: 0.10.11.2
|
||||
Recommended: 0.10.latest
|
||||
URL: http://gstreamer.freedesktop.org/
|
||||
DebianPackage: libgstreamer0.10-dev
|
||||
Notes: The required version is updated frequently, so the version
|
||||
listed in this file is often wrong. If you are compiling from CVS,
|
||||
the required version is often the latest GStreamer CVS.
|
||||
|
||||
|
||||
Optional libraries:
|
||||
===================
|
||||
|
||||
This file lists supporting libraries for which gst-plugins-base contains
|
||||
plugins, as well as their minimum version. You can find the corresponding
|
||||
plugins in ext/(library)
|
||||
|
||||
Package: Orc
|
||||
Version: >= 0.4.5
|
||||
Recommended: 0.4.latest
|
||||
URL: http://code.entropywave.com/orc
|
||||
DebianPackage: liborc-0.4-dev
|
||||
|
||||
Package: GTK+
|
||||
Version: >= 2.0
|
||||
Recommended: >= 2.2
|
||||
URL: http://www.gtk.org/
|
||||
DebianPackage: libgtk2.0-dev
|
||||
Notes: Required by several examples
|
||||
|
||||
Package: Xlib
|
||||
Plugins: xvimagesink, ximagesink, v4l (v4lsrc), ximagesrc
|
||||
DebianPackage: libx11-dev libxv-dev libxt-dev
|
||||
|
||||
Package: Alsa
|
||||
Version: >= 0.9.1
|
||||
Plugins: alsa (alsasrc, alsasink)
|
||||
URL: http://www.alsa-project.org/
|
||||
DebianPackage: libasound2-dev
|
||||
|
||||
Package: CDParanoia
|
||||
Plugins: cdparanoia
|
||||
URL: http://xiph.org/paranoia/
|
||||
DebianPackage: libcdparanoia0-dev
|
||||
|
||||
Package: libvisual
|
||||
Version: >= 0.2.0
|
||||
Recommended: 0.4.0
|
||||
Plugins: libvisual
|
||||
URL: http://localhost.nl/~synap/libvisual-wiki/index.php/Main_Page
|
||||
DebianPackage: libvisual0.4-dev
|
||||
|
||||
Package: Ogg
|
||||
Version: >= 1.0
|
||||
Plugins: ogg (oggdemux, oggmux)
|
||||
URL: http://xiph.org/ogg/
|
||||
DebianPackage: libogg-dev
|
||||
|
||||
Package: Pango
|
||||
Plugins: pango
|
||||
DebianPackage: libpango1.0-dev
|
||||
URL: http://www.pango.org/
|
||||
|
||||
Package: Theora
|
||||
Plugins: theora (theoradec, theoraenc)
|
||||
URL: http://www.theora.org/
|
||||
DebianPackage: libtheora-dev
|
||||
|
||||
Package: Vorbis
|
||||
Plugins: vorbis (vorbisdec, vorbisenc)
|
||||
DebianPackage: libvorbis-dev
|
||||
URL: http://www.vorbis.com/
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,124 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# gst-plugins-base autogen.sh
|
||||
#
|
||||
# Run this to generate all the initial makefiles, etc.
|
||||
#
|
||||
# This file has been generated from common/autogen.sh.in via common/update-autogen
|
||||
|
||||
|
||||
test -n "$srcdir" || srcdir=`dirname "$0"`
|
||||
test -n "$srcdir" || srcdir=.
|
||||
|
||||
olddir=`pwd`
|
||||
cd "$srcdir"
|
||||
|
||||
package=gst-plugins-base
|
||||
srcfile=gst-plugins-base.doap
|
||||
|
||||
# Make sure we have common
|
||||
if test ! -f common/gst-autogen.sh;
|
||||
then
|
||||
echo "+ Setting up common submodule"
|
||||
git submodule init
|
||||
fi
|
||||
git submodule update
|
||||
|
||||
# source helper functions
|
||||
if test ! -f common/gst-autogen.sh;
|
||||
then
|
||||
echo There is something wrong with your source tree.
|
||||
echo You are missing common/gst-autogen.sh
|
||||
exit 1
|
||||
fi
|
||||
. common/gst-autogen.sh
|
||||
|
||||
# install pre-commit hook for doing clean commits
|
||||
if test ! \( -x .git/hooks/pre-commit -a -L .git/hooks/pre-commit \);
|
||||
then
|
||||
rm -f .git/hooks/pre-commit
|
||||
if ! ln -s ../../common/hooks/pre-commit.hook .git/hooks/pre-commit 2> /dev/null
|
||||
then
|
||||
echo "Failed to create commit hook symlink, copying instead ..."
|
||||
cp common/hooks/pre-commit.hook .git/hooks/pre-commit
|
||||
fi
|
||||
fi
|
||||
|
||||
# GNU gettext automake support doesn't get along with git.
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=661128
|
||||
if test -d po ; then
|
||||
touch -t 200001010000 po/gst-plugins-base-1.0.pot
|
||||
fi
|
||||
|
||||
CONFIGURE_DEF_OPT='--enable-maintainer-mode --enable-gtk-doc'
|
||||
|
||||
if test "x$package" = "xgstreamer"; then
|
||||
CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --enable-failing-tests --enable-poisoning"
|
||||
elif test "x$package" = "xgst-plugins-bad"; then
|
||||
CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --with-player-tests"
|
||||
fi
|
||||
|
||||
autogen_options $@
|
||||
|
||||
printf "+ check for build tools"
|
||||
if test -z "$NOCHECK"; then
|
||||
echo
|
||||
|
||||
printf " checking for autoreconf ... "
|
||||
echo
|
||||
which "autoreconf" 2>/dev/null || {
|
||||
echo "not found! Please install the autoconf package."
|
||||
exit 1
|
||||
}
|
||||
|
||||
printf " checking for pkg-config ... "
|
||||
echo
|
||||
which "pkg-config" 2>/dev/null || {
|
||||
echo "not found! Please install pkg-config."
|
||||
exit 1
|
||||
}
|
||||
else
|
||||
echo ": skipped version checks"
|
||||
fi
|
||||
|
||||
# if no arguments specified then this will be printed
|
||||
if test -z "$*" && test -z "$NOCONFIGURE"; then
|
||||
echo "+ checking for autogen.sh options"
|
||||
echo " This autogen script will automatically run ./configure as:"
|
||||
echo " ./configure $CONFIGURE_DEF_OPT"
|
||||
echo " To pass any additional options, please specify them on the $0"
|
||||
echo " command line."
|
||||
fi
|
||||
|
||||
toplevel_check $srcfile
|
||||
|
||||
# autopoint
|
||||
if test -d po && grep ^AM_GNU_GETTEXT_VERSION configure.ac >/dev/null ; then
|
||||
tool_run "autopoint" "--force"
|
||||
fi
|
||||
|
||||
# aclocal
|
||||
if test -f acinclude.m4; then rm acinclude.m4; fi
|
||||
|
||||
autoreconf --force --install || exit 1
|
||||
|
||||
test -n "$NOCONFIGURE" && {
|
||||
echo "+ skipping configure stage for package $package, as requested."
|
||||
echo "+ autogen.sh done."
|
||||
exit 0
|
||||
}
|
||||
|
||||
cd "$olddir"
|
||||
|
||||
echo "+ running configure ... "
|
||||
test ! -z "$CONFIGURE_DEF_OPT" && echo " default flags: $CONFIGURE_DEF_OPT"
|
||||
test ! -z "$CONFIGURE_EXT_OPT" && echo " external flags: $CONFIGURE_EXT_OPT"
|
||||
echo
|
||||
|
||||
echo "$srcdir/configure" $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT
|
||||
"$srcdir/configure" $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT || {
|
||||
echo " configure failed"
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo "Now type 'make' to compile $package."
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,22 @@
|
|||
SUBDIRS = m4
|
||||
|
||||
EXTRA_DIST = \
|
||||
ChangeLog \
|
||||
gettext.patch \
|
||||
glib-gen.mak gtk-doc.mak upload-doc.mak \
|
||||
cruft.mak release.mak win32.mak po.mak \
|
||||
parallel-subdirs.mak \
|
||||
gst-autogen.sh \
|
||||
check-exports \
|
||||
c-to-xml.py mangle-db.py scangobj-merge.py \
|
||||
gtk-doc-plugins.mak \
|
||||
plugins.xsl gstdoc-scangobj \
|
||||
gst.supp check.mak \
|
||||
coverage/lcov.mak \
|
||||
coverage/coverage-report.pl \
|
||||
coverage/coverage-report.xsl \
|
||||
coverage/coverage-report-entry.pl \
|
||||
download-translations \
|
||||
extract-release-date-from-doap-file \
|
||||
gst-indent \
|
||||
orc.mak
|
|
@ -0,0 +1,906 @@
|
|||
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
false; \
|
||||
elif test -n '$(MAKE_HOST)'; then \
|
||||
true; \
|
||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||
true; \
|
||||
else \
|
||||
false; \
|
||||
fi; \
|
||||
}
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
target_triplet = @target@
|
||||
subdir = common
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
|
||||
$(top_srcdir)/common/m4/as-auto-alt.m4 \
|
||||
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
|
||||
$(top_srcdir)/common/m4/as-libtool.m4 \
|
||||
$(top_srcdir)/common/m4/as-version.m4 \
|
||||
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
|
||||
$(top_srcdir)/common/m4/ax_pthread.m4 \
|
||||
$(top_srcdir)/common/m4/gst-arch.m4 \
|
||||
$(top_srcdir)/common/m4/gst-args.m4 \
|
||||
$(top_srcdir)/common/m4/gst-check.m4 \
|
||||
$(top_srcdir)/common/m4/gst-default.m4 \
|
||||
$(top_srcdir)/common/m4/gst-error.m4 \
|
||||
$(top_srcdir)/common/m4/gst-feature.m4 \
|
||||
$(top_srcdir)/common/m4/gst-function.m4 \
|
||||
$(top_srcdir)/common/m4/gst-gettext.m4 \
|
||||
$(top_srcdir)/common/m4/gst-glib2.m4 \
|
||||
$(top_srcdir)/common/m4/gst-package-release-datetime.m4 \
|
||||
$(top_srcdir)/common/m4/gst-platform.m4 \
|
||||
$(top_srcdir)/common/m4/gst-plugin-docs.m4 \
|
||||
$(top_srcdir)/common/m4/gst-plugindir.m4 \
|
||||
$(top_srcdir)/common/m4/gst.m4 \
|
||||
$(top_srcdir)/common/m4/gtk-doc.m4 \
|
||||
$(top_srcdir)/common/m4/introspection.m4 \
|
||||
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
|
||||
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-alsa.m4 \
|
||||
$(top_srcdir)/m4/gst-gl.m4 $(top_srcdir)/m4/iconv.m4 \
|
||||
$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
|
||||
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
|
||||
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/lrint.m4 \
|
||||
$(top_srcdir)/m4/lrintf.m4 $(top_srcdir)/m4/ltoptions.m4 \
|
||||
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
|
||||
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
|
||||
$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
|
||||
ctags-recursive dvi-recursive html-recursive info-recursive \
|
||||
install-data-recursive install-dvi-recursive \
|
||||
install-exec-recursive install-html-recursive \
|
||||
install-info-recursive install-pdf-recursive \
|
||||
install-ps-recursive install-recursive installcheck-recursive \
|
||||
installdirs-recursive pdf-recursive ps-recursive \
|
||||
tags-recursive uninstall-recursive
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||
distclean-recursive maintainer-clean-recursive
|
||||
am__recursive_targets = \
|
||||
$(RECURSIVE_TARGETS) \
|
||||
$(RECURSIVE_CLEAN_TARGETS) \
|
||||
$(am__extra_recursive_targets)
|
||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||
distdir distdir-am
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in ChangeLog README
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
am__relativize = \
|
||||
dir0=`pwd`; \
|
||||
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
||||
sed_rest='s,^[^/]*/*,,'; \
|
||||
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
||||
sed_butlast='s,/*[^/]*$$,,'; \
|
||||
while test -n "$$dir1"; do \
|
||||
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
||||
if test "$$first" != "."; then \
|
||||
if test "$$first" = ".."; then \
|
||||
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
||||
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
||||
else \
|
||||
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
||||
if test "$$first2" = "$$first"; then \
|
||||
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
||||
else \
|
||||
dir2="../$$dir2"; \
|
||||
fi; \
|
||||
dir0="$$dir0"/"$$first"; \
|
||||
fi; \
|
||||
fi; \
|
||||
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
||||
done; \
|
||||
reldir="$$dir2"
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
|
||||
ALSA_CFLAGS = @ALSA_CFLAGS@
|
||||
ALSA_LIBS = @ALSA_LIBS@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUDIORESAMPLE_FORMAT_AUTO = @AUDIORESAMPLE_FORMAT_AUTO@
|
||||
AUDIORESAMPLE_FORMAT_FLOAT = @AUDIORESAMPLE_FORMAT_FLOAT@
|
||||
AUDIORESAMPLE_FORMAT_INT = @AUDIORESAMPLE_FORMAT_INT@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCASFLAGS = @CCASFLAGS@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CDPARANOIA_CFLAGS = @CDPARANOIA_CFLAGS@
|
||||
CDPARANOIA_LIBS = @CDPARANOIA_LIBS@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFAULT_AUDIOSINK = @DEFAULT_AUDIOSINK@
|
||||
DEFAULT_AUDIOSRC = @DEFAULT_AUDIOSRC@
|
||||
DEFAULT_VIDEOSINK = @DEFAULT_VIDEOSINK@
|
||||
DEFAULT_VIDEOSRC = @DEFAULT_VIDEOSRC@
|
||||
DEFAULT_VISUALIZER = @DEFAULT_VISUALIZER@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DEPRECATED_CFLAGS = @DEPRECATED_CFLAGS@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DRM_CFLAGS = @DRM_CFLAGS@
|
||||
DRM_LIBS = @DRM_LIBS@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGL_CFLAGS = @EGL_CFLAGS@
|
||||
EGL_LIBS = @EGL_LIBS@
|
||||
EGREP = @EGREP@
|
||||
ERROR_CFLAGS = @ERROR_CFLAGS@
|
||||
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
|
||||
ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
|
||||
EXEEXT = @EXEEXT@
|
||||
EXTRA_CFLAGS = @EXTRA_CFLAGS@
|
||||
FFLAGS = @FFLAGS@
|
||||
FGREP = @FGREP@
|
||||
GBM_CFLAGS = @GBM_CFLAGS@
|
||||
GBM_LIBS = @GBM_LIBS@
|
||||
GCOV = @GCOV@
|
||||
GCOV_CFLAGS = @GCOV_CFLAGS@
|
||||
GCOV_LIBS = @GCOV_LIBS@
|
||||
GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@
|
||||
GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@
|
||||
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
|
||||
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
|
||||
GIO_CFLAGS = @GIO_CFLAGS@
|
||||
GIO_LDFLAGS = @GIO_LDFLAGS@
|
||||
GIO_LIBS = @GIO_LIBS@
|
||||
GIO_UNIX_2_0_CFLAGS = @GIO_UNIX_2_0_CFLAGS@
|
||||
GIO_UNIX_2_0_LIBS = @GIO_UNIX_2_0_LIBS@
|
||||
GLES2_CFLAGS = @GLES2_CFLAGS@
|
||||
GLES2_LIBS = @GLES2_LIBS@
|
||||
GLIB_CFLAGS = @GLIB_CFLAGS@
|
||||
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
|
||||
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
|
||||
GLIB_LIBS = @GLIB_LIBS@
|
||||
GLIB_MKENUMS = @GLIB_MKENUMS@
|
||||
GLIB_PREFIX = @GLIB_PREFIX@
|
||||
GLIB_REQ = @GLIB_REQ@
|
||||
GL_APIS = @GL_APIS@
|
||||
GL_CFLAGS = @GL_CFLAGS@
|
||||
GL_LIBS = @GL_LIBS@
|
||||
GL_OBJCFLAGS = @GL_OBJCFLAGS@
|
||||
GL_PLATFORMS = @GL_PLATFORMS@
|
||||
GL_WINDOWS = @GL_WINDOWS@
|
||||
GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
|
||||
GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GMSGFMT_015 = @GMSGFMT_015@
|
||||
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
|
||||
GRAPHENE_LIBS = @GRAPHENE_LIBS@
|
||||
GREP = @GREP@
|
||||
GST_AGE = @GST_AGE@
|
||||
GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
|
||||
GST_API_VERSION = @GST_API_VERSION@
|
||||
GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
|
||||
GST_BASE_LIBS = @GST_BASE_LIBS@
|
||||
GST_CFLAGS = @GST_CFLAGS@
|
||||
GST_CHECK_CFLAGS = @GST_CHECK_CFLAGS@
|
||||
GST_CHECK_LIBS = @GST_CHECK_LIBS@
|
||||
GST_CONTROLLER_CFLAGS = @GST_CONTROLLER_CFLAGS@
|
||||
GST_CONTROLLER_LIBS = @GST_CONTROLLER_LIBS@
|
||||
GST_CURRENT = @GST_CURRENT@
|
||||
GST_CXXFLAGS = @GST_CXXFLAGS@
|
||||
GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
|
||||
GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
|
||||
GST_LIBS = @GST_LIBS@
|
||||
GST_LIBVERSION = @GST_LIBVERSION@
|
||||
GST_LIB_LDFLAGS = @GST_LIB_LDFLAGS@
|
||||
GST_LICENSE = @GST_LICENSE@
|
||||
GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
|
||||
GST_NET_CFLAGS = @GST_NET_CFLAGS@
|
||||
GST_NET_LIBS = @GST_NET_LIBS@
|
||||
GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
|
||||
GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
|
||||
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
|
||||
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
|
||||
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
|
||||
GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
|
||||
GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
|
||||
GST_PLUGINS_DIR = @GST_PLUGINS_DIR@
|
||||
GST_PLUGINS_NONPORTED = @GST_PLUGINS_NONPORTED@
|
||||
GST_PLUGINS_SELECTED = @GST_PLUGINS_SELECTED@
|
||||
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
|
||||
GST_PREFIX = @GST_PREFIX@
|
||||
GST_REVISION = @GST_REVISION@
|
||||
GST_TOOLS_DIR = @GST_TOOLS_DIR@
|
||||
GTKDOC_CHECK = @GTKDOC_CHECK@
|
||||
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
|
||||
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
|
||||
GTKDOC_MKPDF = @GTKDOC_MKPDF@
|
||||
GTKDOC_REBASE = @GTKDOC_REBASE@
|
||||
GTK_CFLAGS = @GTK_CFLAGS@
|
||||
GTK_LIBS = @GTK_LIBS@
|
||||
GTK_QUARTZ_CFLAGS = @GTK_QUARTZ_CFLAGS@
|
||||
GTK_QUARTZ_LIBS = @GTK_QUARTZ_LIBS@
|
||||
GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
|
||||
GTK_X11_LIBS = @GTK_X11_LIBS@
|
||||
G_UDEV_CFLAGS = @G_UDEV_CFLAGS@
|
||||
G_UDEV_LIBS = @G_UDEV_LIBS@
|
||||
HAVE_CDPARANOIA = @HAVE_CDPARANOIA@
|
||||
HAVE_EGL = @HAVE_EGL@
|
||||
HAVE_GL = @HAVE_GL@
|
||||
HAVE_GLES2 = @HAVE_GLES2@
|
||||
HAVE_GRAPHENE = @HAVE_GRAPHENE@
|
||||
HAVE_JPEG = @HAVE_JPEG@
|
||||
HAVE_PNG = @HAVE_PNG@
|
||||
HAVE_XSHM = @HAVE_XSHM@
|
||||
HAVE_ZLIB = @HAVE_ZLIB@
|
||||
HTML_DIR = @HTML_DIR@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
|
||||
INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
|
||||
INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
|
||||
INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
|
||||
INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
|
||||
INTROSPECTION_INIT = @INTROSPECTION_INIT@
|
||||
INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
|
||||
INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
|
||||
INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
|
||||
INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
|
||||
IVORBIS_CFLAGS = @IVORBIS_CFLAGS@
|
||||
IVORBIS_LIBS = @IVORBIS_LIBS@
|
||||
JPEG_LIBS = @JPEG_LIBS@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBINTL = @LIBINTL@
|
||||
LIBM = @LIBM@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
|
||||
LIBPNG_LIBS = @LIBPNG_LIBS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIBVISUAL_CFLAGS = @LIBVISUAL_CFLAGS@
|
||||
LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LOCALEDIR = @LOCALEDIR@
|
||||
LTLIBICONV = @LTLIBICONV@
|
||||
LTLIBINTL = @LTLIBINTL@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
MSGFMT = @MSGFMT@
|
||||
MSGFMT_015 = @MSGFMT_015@
|
||||
MSGMERGE = @MSGMERGE@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJC = @OBJC@
|
||||
OBJCDEPMODE = @OBJCDEPMODE@
|
||||
OBJCFLAGS = @OBJCFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OGG_CFLAGS = @OGG_CFLAGS@
|
||||
OGG_LIBS = @OGG_LIBS@
|
||||
OPUS_CFLAGS = @OPUS_CFLAGS@
|
||||
OPUS_LIBS = @OPUS_LIBS@
|
||||
ORCC = @ORCC@
|
||||
ORCC_FLAGS = @ORCC_FLAGS@
|
||||
ORC_CFLAGS = @ORC_CFLAGS@
|
||||
ORC_LIBS = @ORC_LIBS@
|
||||
ORC_PC = @ORC_PC@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@
|
||||
PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@
|
||||
PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@
|
||||
PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@
|
||||
PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@
|
||||
PANGO_CFLAGS = @PANGO_CFLAGS@
|
||||
PANGO_LIBS = @PANGO_LIBS@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PLUGINDIR = @PLUGINDIR@
|
||||
POSUB = @POSUB@
|
||||
PROFILE_CFLAGS = @PROFILE_CFLAGS@
|
||||
PTHREAD_CC = @PTHREAD_CC@
|
||||
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
|
||||
PTHREAD_LIBS = @PTHREAD_LIBS@
|
||||
PYTHON = @PYTHON@
|
||||
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
|
||||
PYTHON_PLATFORM = @PYTHON_PLATFORM@
|
||||
PYTHON_PREFIX = @PYTHON_PREFIX@
|
||||
PYTHON_VERSION = @PYTHON_VERSION@
|
||||
QTCHOOSER = @QTCHOOSER@
|
||||
QT_CFLAGS = @QT_CFLAGS@
|
||||
QT_LIBS = @QT_LIBS@
|
||||
QT_MOC = @QT_MOC@
|
||||
RANLIB = @RANLIB@
|
||||
SDL_CFLAGS = @SDL_CFLAGS@
|
||||
SDL_LIBS = @SDL_LIBS@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
SSE2_CFLAGS = @SSE2_CFLAGS@
|
||||
SSE41_CFLAGS = @SSE41_CFLAGS@
|
||||
SSE_CFLAGS = @SSE_CFLAGS@
|
||||
STRIP = @STRIP@
|
||||
THEORA_CFLAGS = @THEORA_CFLAGS@
|
||||
THEORA_LIBS = @THEORA_LIBS@
|
||||
USE_GLES2 = @USE_GLES2@
|
||||
USE_NLS = @USE_NLS@
|
||||
USE_OPENGL = @USE_OPENGL@
|
||||
VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
|
||||
VALGRIND_LIBS = @VALGRIND_LIBS@
|
||||
VALGRIND_PATH = @VALGRIND_PATH@
|
||||
VERSION = @VERSION@
|
||||
VISIBILITY_CFLAGS = @VISIBILITY_CFLAGS@
|
||||
VISIBILITY_CXXFLAGS = @VISIBILITY_CXXFLAGS@
|
||||
VORBIS_CFLAGS = @VORBIS_CFLAGS@
|
||||
VORBIS_LIBS = @VORBIS_LIBS@
|
||||
WARNING_CFLAGS = @WARNING_CFLAGS@
|
||||
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
|
||||
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
|
||||
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
|
||||
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
|
||||
WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
|
||||
WAYLAND_SCANNER = @WAYLAND_SCANNER@
|
||||
WIN32_LIBS = @WIN32_LIBS@
|
||||
X11_XCB_CFLAGS = @X11_XCB_CFLAGS@
|
||||
X11_XCB_LIBS = @X11_XCB_LIBS@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
XGETTEXT_015 = @XGETTEXT_015@
|
||||
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
|
||||
XSHM_CFLAGS = @XSHM_CFLAGS@
|
||||
XSHM_LIBS = @XSHM_LIBS@
|
||||
XVIDEO_CFLAGS = @XVIDEO_CFLAGS@
|
||||
XVIDEO_LIBS = @XVIDEO_LIBS@
|
||||
X_CFLAGS = @X_CFLAGS@
|
||||
X_LIBS = @X_LIBS@
|
||||
ZLIB_CFLAGS = @ZLIB_CFLAGS@
|
||||
ZLIB_LIBS = @ZLIB_LIBS@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
ac_ct_OBJC = @ac_ct_OBJC@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
ax_pthread_config = @ax_pthread_config@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
pkgpyexecdir = @pkgpyexecdir@
|
||||
pkgpythondir = @pkgpythondir@
|
||||
plugindir = @plugindir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
pyexecdir = @pyexecdir@
|
||||
pythondir = @pythondir@
|
||||
runstatedir = @runstatedir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target = @target@
|
||||
target_alias = @target_alias@
|
||||
target_cpu = @target_cpu@
|
||||
target_os = @target_os@
|
||||
target_vendor = @target_vendor@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
SUBDIRS = m4
|
||||
EXTRA_DIST = \
|
||||
ChangeLog \
|
||||
gettext.patch \
|
||||
glib-gen.mak gtk-doc.mak upload-doc.mak \
|
||||
cruft.mak release.mak win32.mak po.mak \
|
||||
parallel-subdirs.mak \
|
||||
gst-autogen.sh \
|
||||
check-exports \
|
||||
c-to-xml.py mangle-db.py scangobj-merge.py \
|
||||
gtk-doc-plugins.mak \
|
||||
plugins.xsl gstdoc-scangobj \
|
||||
gst.supp check.mak \
|
||||
coverage/lcov.mak \
|
||||
coverage/coverage-report.pl \
|
||||
coverage/coverage-report.xsl \
|
||||
coverage/coverage-report-entry.pl \
|
||||
download-translations \
|
||||
extract-release-date-from-doap-file \
|
||||
gst-indent \
|
||||
orc.mak
|
||||
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu common/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu common/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run 'make' without going through this Makefile.
|
||||
# To change the values of 'make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in 'config.status', edit 'config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run 'make');
|
||||
# (2) otherwise, pass the desired values on the 'make' command line.
|
||||
$(am__recursive_targets):
|
||||
@fail=; \
|
||||
if $(am__make_keepgoing); then \
|
||||
failcom='fail=yes'; \
|
||||
else \
|
||||
failcom='exit 1'; \
|
||||
fi; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
case "$@" in \
|
||||
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||
*) list='$(SUBDIRS)' ;; \
|
||||
esac; \
|
||||
for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-recursive
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||
include_option=--etags-include; \
|
||||
empty_fix=.; \
|
||||
else \
|
||||
include_option=--include; \
|
||||
empty_fix=; \
|
||||
fi; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test ! -f $$subdir/TAGS || \
|
||||
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-recursive
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-recursive
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||
|
||||
distdir-am: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
$(am__make_dryrun) \
|
||||
|| test -d "$(distdir)/$$subdir" \
|
||||
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||
$(am__relativize); \
|
||||
new_distdir=$$reldir; \
|
||||
dir1=$$subdir; dir2="$(top_distdir)"; \
|
||||
$(am__relativize); \
|
||||
new_top_distdir=$$reldir; \
|
||||
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
||||
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
||||
($(am__cd) $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$$new_top_distdir" \
|
||||
distdir="$$new_distdir" \
|
||||
am__remove_distdir=: \
|
||||
am__skip_length_check=: \
|
||||
am__skip_mode_fix=: \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
all-am: Makefile
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
install: install-recursive
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
uninstall: uninstall-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-recursive
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-recursive
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-recursive
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-recursive
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-recursive
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-recursive
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: $(am__recursive_targets) install-am install-strip
|
||||
|
||||
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
|
||||
check-am clean clean-generic clean-libtool cscopelist-am ctags \
|
||||
ctags-am distclean distclean-generic distclean-libtool \
|
||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
installdirs-am maintainer-clean maintainer-clean-generic \
|
||||
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
|
||||
ps ps-am tags tags-am uninstall uninstall-am
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
|
@ -0,0 +1,255 @@
|
|||
GStreamer @SERIES_VERSION@
|
||||
|
||||
WHAT IT IS
|
||||
----------
|
||||
|
||||
This is GStreamer, a framework for streaming media.
|
||||
|
||||
WHERE TO START
|
||||
--------------
|
||||
|
||||
We have a website at
|
||||
http://gstreamer.freedesktop.org/
|
||||
|
||||
You should start by going through our FAQ at
|
||||
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/
|
||||
|
||||
There is more documentation; go to
|
||||
http://gstreamer.freedesktop.org/documentation
|
||||
|
||||
You can subscribe to our mailing lists; see the website for details.
|
||||
|
||||
We track bugs in GNOME's bugzilla; see the website for details.
|
||||
|
||||
You can join us on IRC - #gstreamer on irc.freenode.org
|
||||
|
||||
GStreamer 1.0 series
|
||||
--------------------
|
||||
|
||||
Starring
|
||||
|
||||
GSTREAMER
|
||||
|
||||
The core around which all other modules revolve. Base functionality and
|
||||
libraries, some essential elements, documentation, and testing.
|
||||
|
||||
BASE
|
||||
|
||||
A well-groomed and well-maintained collection of GStreamer plug-ins and
|
||||
elements, spanning the range of possible types of elements one would want
|
||||
to write for GStreamer.
|
||||
|
||||
And introducing, for the first time ever, on the development screen ...
|
||||
|
||||
THE GOOD
|
||||
|
||||
--- "Such ingratitude. After all the times I've saved your life."
|
||||
|
||||
A collection of plug-ins you'd want to have right next to you on the
|
||||
battlefield. Shooting sharp and making no mistakes, these plug-ins have it
|
||||
all: good looks, good code, and good licensing. Documented and dressed up
|
||||
in tests. If you're looking for a role model to base your own plug-in on,
|
||||
here it is.
|
||||
|
||||
If you find a plot hole or a badly lip-synced line of code in them,
|
||||
let us know - it is a matter of honour for us to ensure Blondie doesn't look
|
||||
like he's been walking 100 miles through the desert without water.
|
||||
|
||||
THE UGLY
|
||||
|
||||
--- "When you have to shoot, shoot. Don't talk."
|
||||
|
||||
There are times when the world needs a color between black and white.
|
||||
Quality code to match the good's, but two-timing, backstabbing and ready to
|
||||
sell your freedom down the river. These plug-ins might have a patent noose
|
||||
around their neck, or a lock-up license, or any other problem that makes you
|
||||
think twice about shipping them.
|
||||
|
||||
We don't call them ugly because we like them less. Does a mother love her
|
||||
son less because he's not as pretty as the other ones ? No - she commends
|
||||
him on his great personality. These plug-ins are the life of the party.
|
||||
And we'll still step in and set them straight if you report any unacceptable
|
||||
behaviour - because there are two kinds of people in the world, my friend:
|
||||
those with a rope around their neck and the people who do the cutting.
|
||||
|
||||
THE BAD
|
||||
|
||||
--- "That an accusation?"
|
||||
|
||||
No perfectly groomed moustache or any amount of fine clothing is going to
|
||||
cover up the truth - these plug-ins are Bad with a capital B.
|
||||
They look fine on the outside, and might even appear to get the job done, but
|
||||
at the end of the day they're a black sheep. Without a golden-haired angel
|
||||
to watch over them, they'll probably land in an unmarked grave at the final
|
||||
showdown.
|
||||
|
||||
Don't bug us about their quality - exercise your Free Software rights,
|
||||
patch up the offender and send us the patch on the fastest steed you can
|
||||
steal from the Confederates. Because you see, in this world, there's two
|
||||
kinds of people, my friend: those with loaded guns and those who dig.
|
||||
You dig.
|
||||
|
||||
The Lowdown
|
||||
-----------
|
||||
|
||||
--- "I've never seen so many plug-ins wasted so badly."
|
||||
|
||||
GStreamer Plug-ins has grown so big that it's hard to separate the wheat from
|
||||
the chaff. Also, distributors have brought up issues about the legal status
|
||||
of some of the plug-ins we ship. To remedy this, we've divided the previous
|
||||
set of available plug-ins into four modules:
|
||||
|
||||
- gst-plugins-base: a small and fixed set of plug-ins, covering a wide range
|
||||
of possible types of elements; these are continuously kept up-to-date
|
||||
with any core changes during the development series.
|
||||
|
||||
- We believe distributors can safely ship these plug-ins.
|
||||
- People writing elements should base their code on these elements.
|
||||
- These elements come with examples, documentation, and regression tests.
|
||||
|
||||
- gst-plugins-good: a set of plug-ins that we consider to have good quality
|
||||
code, correct functionality, our preferred license (LGPL for the plug-in
|
||||
code, LGPL or LGPL-compatible for the supporting library).
|
||||
|
||||
- We believe distributors can safely ship these plug-ins.
|
||||
- People writing elements should base their code on these elements.
|
||||
|
||||
- gst-plugins-ugly: a set of plug-ins that have good quality and correct
|
||||
functionality, but distributing them might pose problems. The license
|
||||
on either the plug-ins or the supporting libraries might not be how we'd
|
||||
like. The code might be widely known to present patent problems.
|
||||
|
||||
- Distributors should check if they want/can ship these plug-ins.
|
||||
- People writing elements should base their code on these elements.
|
||||
|
||||
- gst-plugins-bad: a set of plug-ins that aren't up to par compared to the
|
||||
rest. They might be close to being good quality, but they're missing
|
||||
something - be it a good code review, some documentation, a set of tests,
|
||||
a real live maintainer, or some actual wide use.
|
||||
If the blanks are filled in they might be upgraded to become part of
|
||||
either gst-plugins-good or gst-plugins-ugly, depending on the other factors.
|
||||
|
||||
- If the plug-ins break, you can't complain - instead, you can fix the
|
||||
problem and send us a patch, or bribe someone into fixing them for you.
|
||||
- New contributors can start here for things to work on.
|
||||
|
||||
PLATFORMS
|
||||
---------
|
||||
|
||||
- Linux is of course fully supported
|
||||
- FreeBSD is reported to work; other BSDs should work too
|
||||
- Solaris is reported to work; a specific sunaudiosink plugin has been written
|
||||
- MacOSX works, binary 1.x packages can be built using the cerbero build tool
|
||||
- Windows works; binary 1.x packages can be built using the cerbero build tool
|
||||
- MSys/MinGW builds
|
||||
- Microsoft Visual Studio builds are not yet available or supported
|
||||
- Android works, binary 1.x packages can be built using the cerbero build tool
|
||||
- iOS works
|
||||
|
||||
INSTALLING FROM PACKAGES
|
||||
------------------------
|
||||
|
||||
You should always prefer installing from packages first. GStreamer is
|
||||
well-maintained for a number of distributions, including Fedora, Debian,
|
||||
Ubuntu, Mandrake, Gentoo, ...
|
||||
|
||||
Only in cases where you:
|
||||
- want to hack on GStreamer
|
||||
- want to verify that a bug has been fixed
|
||||
- do not have a sane distribution
|
||||
should you choose to build from source tarballs or git.
|
||||
|
||||
Find more information about the various packages at
|
||||
http://gstreamer.freedesktop.org/download/
|
||||
|
||||
COMPILING FROM SOURCE TARBALLS
|
||||
------------------------------
|
||||
|
||||
- again, make sure that you really need to install from source !
|
||||
If GStreamer is one of your first projects ever that you build from source,
|
||||
consider taking on an easier project.
|
||||
|
||||
- check output of ./configure --help to see if any options apply to you
|
||||
- run
|
||||
./configure
|
||||
make
|
||||
|
||||
to build GStreamer.
|
||||
- if you want to install it (not required, but what you usually want to do), run
|
||||
make install
|
||||
|
||||
- try out a simple test:
|
||||
gst-launch -v fakesrc num_buffers=5 ! fakesink
|
||||
(If you didn't install GStreamer, prefix gst-launch with tools/)
|
||||
|
||||
If it outputs a bunch of messages from fakesrc and fakesink, everything is
|
||||
ok.
|
||||
|
||||
If it did not work, keep in mind that you might need to adjust the
|
||||
PATH and/or LD_LIBRARY_PATH environment variables to make the system
|
||||
find GStreamer in the prefix where you installed (by default that is /usr/local).
|
||||
|
||||
- After this, you're ready to install gst-plugins, which will provide the
|
||||
functionality you're probably looking for by now, so go on and read
|
||||
that README.
|
||||
|
||||
COMPILING FROM GIT
|
||||
------------------
|
||||
|
||||
When building from git sources, you will need to run autogen.sh to generate
|
||||
the build system files.
|
||||
|
||||
You will need a set of additional tools typical for building from git,
|
||||
including:
|
||||
- autoconf
|
||||
- automake
|
||||
- libtool
|
||||
|
||||
autogen.sh will check for recent enough versions and complain if you don't have
|
||||
them. You can also specify specific versions of automake and autoconf with
|
||||
--with-automake and --with-autoconf
|
||||
|
||||
Check autogen.sh options by running autogen.sh --help
|
||||
|
||||
autogen.sh can pass on arguments to configure
|
||||
|
||||
When you have done this once, you can use autoregen.sh to re-autogen with
|
||||
the last passed options as a handy shortcut. Use it.
|
||||
|
||||
After the autogen.sh stage, you can follow the directions listed in
|
||||
"COMPILING FROM SOURCE"
|
||||
|
||||
You can also run your whole git stack uninstalled in your home directory,
|
||||
so that you can quickly test changes without affecting your system setup or
|
||||
interfering with GStreamer installed from packages. Many GStreamer developers
|
||||
use an uninstalled setup for their work.
|
||||
|
||||
There is a 'create-uninstalled-setup.sh' script in
|
||||
|
||||
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/scripts/
|
||||
|
||||
to easily create an uninstalled setup from scratch.
|
||||
|
||||
|
||||
PLUG-IN DEPENDENCIES AND LICENSES
|
||||
---------------------------------
|
||||
|
||||
GStreamer is developed under the terms of the LGPL (see LICENSE file for
|
||||
details). Some of our plug-ins however rely on libraries which are available
|
||||
under other licenses. This means that if you are distributing an application
|
||||
which has a non-GPL compatible license (for instance a closed-source
|
||||
application) with GStreamer, you have to make sure not to distribute GPL-linked
|
||||
plug-ins.
|
||||
|
||||
When using GPL-linked plug-ins, GStreamer is for all practical reasons
|
||||
under the GPL itself.
|
||||
|
||||
HISTORY
|
||||
-------
|
||||
|
||||
The fundamental design comes from the video pipeline at Oregon Graduate
|
||||
Institute, as well as some ideas from DirectMedia. It's based on plug-ins that
|
||||
will provide the various codec and other functionality. The interface
|
||||
hopefully is generic enough for various companies (ahem, Apple) to release
|
||||
binary codecs for Linux, until such time as they get a clue and release the
|
||||
source.
|
|
@ -0,0 +1,36 @@
|
|||
# -*- Mode: Python -*-
|
||||
# vi:si:et:sw=4:sts=4:ts=4
|
||||
|
||||
"""
|
||||
Convert a C program to valid XML to be included in docbook
|
||||
"""
|
||||
|
||||
from __future__ import print_function, unicode_literals
|
||||
|
||||
import sys
|
||||
import os
|
||||
from xml.sax import saxutils
|
||||
|
||||
def main():
|
||||
if len(sys.argv) == 1:
|
||||
sys.stderr.write("Please specify a source file to convert")
|
||||
sys.exit(1)
|
||||
source = sys.argv[1]
|
||||
|
||||
if not os.path.exists(source):
|
||||
sys.stderr.write("%s does not exist.\n" % source)
|
||||
sys.exit(1)
|
||||
|
||||
content = open(source, "r").read()
|
||||
|
||||
# print header
|
||||
print ('<?xml version="1.0"?>')
|
||||
print ('<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">')
|
||||
print ()
|
||||
print ('<programlisting>')
|
||||
|
||||
# print content
|
||||
print (saxutils.escape(content))
|
||||
print ('</programlisting>')
|
||||
|
||||
main()
|
|
@ -0,0 +1,54 @@
|
|||
#!/bin/sh
|
||||
# check-exports
|
||||
#
|
||||
# quick'n'dirty script that retrieves the list of exported symbols of a given
|
||||
# library using 'nm', and compares that against the list of symbols-to-export
|
||||
# of our win32/common/libfoo.def files.
|
||||
|
||||
if [ $# -ne 2 ]; then
|
||||
echo "Usage: $0 library.def library.so"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
def_path="$1"
|
||||
def_name="$(basename $def_path)"
|
||||
lib_path="$2"
|
||||
|
||||
lib_result="`mktemp /tmp/defname.XXXXXX`"
|
||||
|
||||
LC_ALL=C
|
||||
export LC_ALL
|
||||
|
||||
# On Solaris, add -p to get the correct output format
|
||||
NMARGS=
|
||||
if nm -V 2>&1 |grep Solaris > /dev/null; then
|
||||
NMARGS=-p
|
||||
fi
|
||||
|
||||
# _end is special cased because for some reason it is reported as an exported
|
||||
# BSS symbol, unlike on linux where it's a local absolute symbol.
|
||||
nm $NMARGS $lib_path | awk \
|
||||
'{
|
||||
if ($3 ~ /^[_]?(gst_|Gst|GST_|ges_|Ges|GES_).*/)
|
||||
{
|
||||
if ($2 ~ /^[BSDG]$/)
|
||||
print "\t" $3 " DATA"
|
||||
else if ($2 == "T")
|
||||
print "\t" $3
|
||||
}
|
||||
}' | sort | awk '{ if (NR == 1) print "EXPORTS"; print $0; }' \
|
||||
> $lib_result
|
||||
|
||||
diffoutput=`diff -u $def_path $lib_result`
|
||||
diffresult=$?
|
||||
|
||||
rm $lib_result
|
||||
|
||||
if test "$diffresult" -eq 0; then
|
||||
exit 0;
|
||||
else
|
||||
echo -n "$diffoutput" >&2
|
||||
echo >&2
|
||||
exit 1;
|
||||
fi
|
||||
|
|
@ -0,0 +1,251 @@
|
|||
# keep target around, since it's referenced in the modules' Makefiles
|
||||
clean-local-check:
|
||||
@echo
|
||||
|
||||
if HAVE_VALGRIND
|
||||
# hangs spectacularly on some machines, so let's not do this by default yet
|
||||
check-valgrind:
|
||||
$(MAKE) valgrind
|
||||
else
|
||||
check-valgrind:
|
||||
@true
|
||||
endif
|
||||
|
||||
LOOPS ?= 10
|
||||
AM_TESTS_ENVIRONMENT = CK_DEFAULT_TIMEOUT=20
|
||||
|
||||
# run any given test by running make test.check
|
||||
# if the test fails, run it again at at least debug level 2
|
||||
%.check: %
|
||||
@$(AM_TESTS_ENVIRONMENT) \
|
||||
$* || \
|
||||
$(AM_TESTS_ENVIRONMENT) \
|
||||
GST_DEBUG=$$GST_DEBUG,*:2 \
|
||||
$*
|
||||
|
||||
# just like 'check', but don't run it again if it fails (useful for debugging)
|
||||
%.check-norepeat: %
|
||||
@$(AM_TESTS_ENVIRONMENT) \
|
||||
$*
|
||||
|
||||
# run any given test in a loop
|
||||
%.torture: %
|
||||
@for i in `seq 1 $(LOOPS)`; do \
|
||||
$(AM_TESTS_ENVIRONMENT) \
|
||||
$*; done
|
||||
|
||||
# run any given test in an infinite loop
|
||||
%.forever: %
|
||||
@while true; do \
|
||||
$(AM_TESTS_ENVIRONMENT) \
|
||||
$* || break; done
|
||||
|
||||
# valgrind any given test by running make test.valgrind
|
||||
%.valgrind: %
|
||||
@valgrind_log=$(subst /,-,$*-valgrind.log); \
|
||||
$(AM_TESTS_ENVIRONMENT) \
|
||||
CK_DEFAULT_TIMEOUT=360 \
|
||||
G_SLICE=always-malloc \
|
||||
$(LIBTOOL) --mode=execute \
|
||||
$(VALGRIND_PATH) -q \
|
||||
$(foreach s,$(SUPPRESSIONS),--suppressions=$(s)) \
|
||||
--tool=memcheck --leak-check=full --trace-children=yes \
|
||||
--show-possibly-lost=no \
|
||||
--leak-resolution=high --num-callers=20 \
|
||||
./$* 2>&1 | tee $$valgrind_log ; \
|
||||
if grep "^==" $$valgrind_log > /dev/null 2>&1; then \
|
||||
rm $$valgrind_log; \
|
||||
exit 1; \
|
||||
fi ; \
|
||||
rm $$valgrind_log
|
||||
|
||||
# valgrind any given test and generate suppressions for it
|
||||
%.valgrind.gen-suppressions: %
|
||||
@$(AM_TESTS_ENVIRONMENT) \
|
||||
CK_DEFAULT_TIMEOUT=360 \
|
||||
G_SLICE=always-malloc \
|
||||
$(LIBTOOL) --mode=execute \
|
||||
$(VALGRIND_PATH) -q \
|
||||
$(foreach s,$(SUPPRESSIONS),--suppressions=$(s)) \
|
||||
--tool=memcheck --leak-check=full --trace-children=yes \
|
||||
--show-possibly-lost=no \
|
||||
--leak-resolution=high --num-callers=20 \
|
||||
--gen-suppressions=all \
|
||||
./$* 2>&1 | tee suppressions.log
|
||||
|
||||
# valgrind torture any given test
|
||||
%.valgrind-torture: %
|
||||
@for i in `seq 1 $(LOOPS)`; do \
|
||||
$(MAKE) $*.valgrind || \
|
||||
(echo "Failure after $$i runs"; exit 1) || \
|
||||
exit 1; \
|
||||
done
|
||||
@banner="All $(LOOPS) loops passed"; \
|
||||
dashes=`echo "$$banner" | sed s/./=/g`; \
|
||||
echo $$dashes; echo $$banner; echo $$dashes
|
||||
|
||||
# valgrind any given test until failure by running make test.valgrind-forever
|
||||
%.valgrind-forever: %
|
||||
@while $(MAKE) $*.valgrind; do \
|
||||
true; done
|
||||
|
||||
# gdb any given test by running make test.gdb
|
||||
%.gdb: %
|
||||
@$(AM_TESTS_ENVIRONMENT) \
|
||||
CK_FORK=no \
|
||||
$(LIBTOOL) --mode=execute \
|
||||
gdb $(GDB_ARGS) $*
|
||||
|
||||
%.gdb-forever: %
|
||||
@while $(MAKE) GDB_ARGS="-ex run -ex quit" $*.gdb ; do \
|
||||
sleep 1; done
|
||||
|
||||
%.lcov-reset:
|
||||
$(MAKE) $*.lcov-run
|
||||
$(MAKE) $*.lcov-report
|
||||
|
||||
%.lcov: %
|
||||
$(MAKE) $*.lcov-reset
|
||||
|
||||
if GST_GCOV_ENABLED
|
||||
%.lcov-clean:
|
||||
$(MAKE) -C $(top_builddir) lcov-clean
|
||||
|
||||
%.lcov-run:
|
||||
$(MAKE) $*.lcov-clean
|
||||
$(MAKE) $*.check
|
||||
|
||||
%.lcov-report:
|
||||
$(MAKE) -C $(top_builddir) lcov-report
|
||||
else
|
||||
%.lcov-run:
|
||||
echo "Need to reconfigure with --enable-gcov"
|
||||
|
||||
%.lcov-report:
|
||||
echo "Need to reconfigure with --enable-gcov"
|
||||
endif
|
||||
|
||||
# torture tests
|
||||
torture: $(TESTS)
|
||||
-rm test-registry.*
|
||||
@echo "Torturing tests ..."
|
||||
@for i in `seq 1 $(LOOPS)`; do \
|
||||
$(MAKE) check || \
|
||||
(echo "Failure after $$i runs"; exit 1) || \
|
||||
exit 1; \
|
||||
done
|
||||
@banner="All $(LOOPS) loops passed"; \
|
||||
dashes=`echo "$$banner" | sed s/./=/g`; \
|
||||
echo $$dashes; echo $$banner; echo $$dashes
|
||||
|
||||
# forever tests
|
||||
forever: $(TESTS)
|
||||
-rm test-registry.*
|
||||
@echo "Forever tests ..."
|
||||
@while true; do \
|
||||
$(MAKE) check || \
|
||||
(echo "Failure"; exit 1) || \
|
||||
exit 1; \
|
||||
done
|
||||
|
||||
# valgrind all tests
|
||||
valgrind: $(TESTS)
|
||||
@echo "Valgrinding tests ..."
|
||||
@failed=0; valgrind_targets=""; \
|
||||
for t in $(filter-out $(VALGRIND_TESTS_DISABLE),$(TESTS)); do \
|
||||
valgrind_targets="$$valgrind_targets $$t.valgrind"; \
|
||||
done; \
|
||||
if ! $(MAKE) $$valgrind_targets ; then \
|
||||
echo "Some tests had leaks or errors under valgrind"; \
|
||||
false; \
|
||||
fi
|
||||
|
||||
# valgrind all tests until failure
|
||||
valgrind-forever: $(TESTS)
|
||||
-rm test-registry.*
|
||||
@echo "Forever valgrinding tests ..."
|
||||
@while true; do \
|
||||
$(MAKE) valgrind || \
|
||||
(echo "Failure"; exit 1) || \
|
||||
exit 1; \
|
||||
done
|
||||
|
||||
# valgrind torture all tests
|
||||
valgrind-torture: $(TESTS)
|
||||
-rm test-registry.*
|
||||
@echo "Torturing and valgrinding tests ..."
|
||||
@for i in `seq 1 $(LOOPS)`; do \
|
||||
$(MAKE) valgrind || \
|
||||
(echo "Failure after $$i runs"; exit 1) || \
|
||||
exit 1; \
|
||||
done
|
||||
@banner="All $(LOOPS) loops passed"; \
|
||||
dashes=`echo "$$banner" | sed s/./=/g`; \
|
||||
echo $$dashes; echo $$banner; echo $$dashes
|
||||
|
||||
# valgrind all tests and generate suppressions
|
||||
valgrind.gen-suppressions: $(TESTS)
|
||||
@echo "Valgrinding tests ..."
|
||||
@failed=0; \
|
||||
for t in $(filter-out $(VALGRIND_TESTS_DISABLE),$(TESTS)); do \
|
||||
$(MAKE) $$t.valgrind.gen-suppressions; \
|
||||
if test "$$?" -ne 0; then \
|
||||
echo "Valgrind error for test $$t"; \
|
||||
failed=`expr $$failed + 1`; \
|
||||
whicht="$$whicht $$t"; \
|
||||
fi; \
|
||||
done; \
|
||||
if test "$$failed" -ne 0; then \
|
||||
echo "$$failed tests had leaks or errors under valgrind:"; \
|
||||
echo "$$whicht"; \
|
||||
false; \
|
||||
fi
|
||||
|
||||
# inspect every plugin feature
|
||||
GST_INSPECT = $(GST_TOOLS_DIR)/gst-inspect-$(GST_API_VERSION)
|
||||
inspect:
|
||||
@echo "Inspecting features ..."
|
||||
@for e in `$(AM_TESTS_ENVIRONMENT) $(GST_INSPECT) | head -n -2 \
|
||||
| cut -d: -f2`; \
|
||||
do echo Inspecting $$e; \
|
||||
$(GST_INSPECT) $$e > /dev/null 2>&1; done
|
||||
|
||||
# build all tests
|
||||
build-checks: $(TESTS)
|
||||
|
||||
help:
|
||||
@echo
|
||||
@echo "make check -- run all checks"
|
||||
@echo "make torture -- run all checks $(LOOPS) times"
|
||||
@echo "make (dir)/(test).check -- run the given check once, repeat with GST_DEBUG=*:2 if it fails"
|
||||
@echo "make (dir)/(test).check-norepeat -- run the given check once, but don't run it again if it fails"
|
||||
@echo "make (dir)/(test).forever -- run the given check forever"
|
||||
@echo "make (dir)/(test).torture -- run the given check $(LOOPS) times"
|
||||
@echo
|
||||
@echo "make (dir)/(test).gdb -- start up gdb for the given test"
|
||||
@echo
|
||||
@echo "make valgrind -- valgrind all tests"
|
||||
@echo "make valgrind-forever -- valgrind all tests forever"
|
||||
@echo "make valgrind-torture -- valgrind all tests $(LOOPS) times"
|
||||
@echo "make valgrind.gen-suppressions -- generate suppressions for all tests"
|
||||
@echo " and save to suppressions.log"
|
||||
@echo "make (dir)/(test).valgrind -- valgrind the given test"
|
||||
@echo "make (dir)/(test).valgrind-forever -- valgrind the given test forever"
|
||||
@echo "make (dir)/(test).valgrind-torture -- valgrind the given test $(LOOPS) times"
|
||||
@echo "make (dir)/(test).valgrind.gen-suppressions -- generate suppressions"
|
||||
@echo " and save to suppressions.log"
|
||||
@echo "make inspect -- inspect all plugin features"
|
||||
@echo "make build-checks -- build all checks (but don't run them)"
|
||||
@echo
|
||||
@echo
|
||||
@echo "Additionally, you can use the GST_CHECKS environment variable to"
|
||||
@echo "specify which test(s) should be run. This is useful if you are"
|
||||
@echo "debugging a failure in one particular test, or want to reproduce"
|
||||
@echo "a race condition in a single test."
|
||||
@echo
|
||||
@echo "Examples:"
|
||||
@echo
|
||||
@echo " GST_CHECKS=test_this,test_that make element/foobar.check"
|
||||
@echo " GST_CHECKS=test_many_threads make element/foobar.forever"
|
||||
@echo
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
#!/usr/bin/perl
|
||||
#
|
||||
# Copyright (C) 2006 Daniel Berrange
|
||||
#
|
||||
# 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 of the License, 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, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
|
||||
print <<EOF;
|
||||
<html>
|
||||
<head>
|
||||
<title>Coverage report for $ARGV[0]</title>
|
||||
<style type="text/css">
|
||||
span.perfect {
|
||||
background: rgb(0,255,0);
|
||||
}
|
||||
span.terrible {
|
||||
background: rgb(255,0,0);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Coverage report for $ARGV[0]</h1>
|
||||
|
||||
<pre>
|
||||
EOF
|
||||
|
||||
|
||||
while (<>) {
|
||||
s/&/&/g;
|
||||
s/</</g;
|
||||
s/>/>/g;
|
||||
|
||||
if (/^\s*function (\S+) called (\d+) returned \d+% blocks executed \d+%/) {
|
||||
my $class = $2 > 0 ? "perfect" : "terrible";
|
||||
$_ = "<span class=\"$class\" id=\"" . $1 . "\">$_</span>";
|
||||
} elsif (/^\s*branch\s+\d+\s+taken\s+(\d+)%\s+.*$/) {
|
||||
my $class = $1 > 0 ? "perfect" : "terrible";
|
||||
$_ = "<span class=\"$class\">$_</span>";
|
||||
} elsif (/^\s*branch\s+\d+\s+never executed.*$/) {
|
||||
my $class = "terrible";
|
||||
$_ = "<span class=\"$class\">$_</span>";
|
||||
} elsif (/^\s*call\s+\d+\s+never executed.*$/) {
|
||||
my $class = "terrible";
|
||||
$_ = "<span class=\"$class\">$_</span>";
|
||||
} elsif (/^\s*call\s+\d+\s+returned\s+(\d+)%.*$/) {
|
||||
my $class = $1 > 0 ? "perfect" : "terrible";
|
||||
$_ = "<span class=\"$class\">$_</span>";
|
||||
}
|
||||
|
||||
print;
|
||||
}
|
||||
|
||||
print <<EOF;
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
EOF
|
|
@ -0,0 +1,125 @@
|
|||
#!/usr/bin/perl
|
||||
#
|
||||
# Copyright (C) 2006 Daniel Berrange
|
||||
#
|
||||
# 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 of the License, 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, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
use warnings;
|
||||
use strict;
|
||||
|
||||
my %coverage = ( functions => {}, files => {} );
|
||||
|
||||
my %filemap;
|
||||
|
||||
my $type;
|
||||
my $name;
|
||||
|
||||
my @functions;
|
||||
|
||||
while (<>) {
|
||||
if (/^Function '(.*)'\s*$/) {
|
||||
$type = "function";
|
||||
$name = $1;
|
||||
$coverage{$type}->{$name} = {};
|
||||
push @functions, $name;
|
||||
} elsif (/^File '(.*?)'\s*$/) {
|
||||
$type = "file";
|
||||
$name = $1;
|
||||
$coverage{$type}->{$name} = {};
|
||||
|
||||
foreach my $func (@functions) {
|
||||
$coverage{"function"}->{$func}->{file} = $name;
|
||||
}
|
||||
@functions = ();
|
||||
} elsif (/^Lines executed:(.*)%\s*of\s*(\d+)\s*$/) {
|
||||
$coverage{$type}->{$name}->{lines} = $2;
|
||||
$coverage{$type}->{$name}->{linesCoverage} = $1;
|
||||
} elsif (/^Branches executed:(.*)%\s*of\s*(\d+)\s*$/) {
|
||||
$coverage{$type}->{$name}->{branches} = $2;
|
||||
$coverage{$type}->{$name}->{branchesCoverage} = $1;
|
||||
} elsif (/^Taken at least once:(.*)%\s*of\s*(\d+)\s*$/) {
|
||||
$coverage{$type}->{$name}->{conds} = $2;
|
||||
$coverage{$type}->{$name}->{condsCoverage} = $1;
|
||||
} elsif (/^Calls executed:(.*)%\s*of\s*(\d+)\s*$/) {
|
||||
$coverage{$type}->{$name}->{calls} = $2;
|
||||
$coverage{$type}->{$name}->{callsCoverage} = $1;
|
||||
} elsif (/^No branches$/) {
|
||||
$coverage{$type}->{$name}->{branches} = 0;
|
||||
$coverage{$type}->{$name}->{branchesCoverage} = "100.00";
|
||||
$coverage{$type}->{$name}->{conds} = 0;
|
||||
$coverage{$type}->{$name}->{condsCoverage} = "100.00";
|
||||
} elsif (/^No calls$/) {
|
||||
$coverage{$type}->{$name}->{calls} = 0;
|
||||
$coverage{$type}->{$name}->{callsCoverage} = "100.00";
|
||||
} elsif (/^\s*(.*):creating '(.*)'\s*$/) {
|
||||
$filemap{$1} = $2;
|
||||
} elsif (/^\s*$/) {
|
||||
# nada
|
||||
} else {
|
||||
warn "Shit [$_]\n";
|
||||
}
|
||||
}
|
||||
|
||||
my %summary;
|
||||
foreach my $type ("function", "file") {
|
||||
$summary{$type} = {};
|
||||
foreach my $m ("lines", "branches", "conds", "calls") {
|
||||
my $totalGot = 0;
|
||||
my $totalMiss = 0;
|
||||
my $count = 0;
|
||||
foreach my $func (keys %{$coverage{function}}) {
|
||||
$count++;
|
||||
my $got = $coverage{function}->{$func}->{$m};
|
||||
$totalGot += $got;
|
||||
my $miss = $got * $coverage{function}->{$func}->{$m ."Coverage"} / 100;
|
||||
$totalMiss += $miss;
|
||||
}
|
||||
$summary{$type}->{$m} = sprintf("%d", $totalGot);
|
||||
$summary{$type}->{$m . "Coverage"} = sprintf("%.2f", $totalMiss / $totalGot * 100);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
print "<coverage>\n";
|
||||
|
||||
foreach my $type ("function", "file") {
|
||||
printf "<%ss>\n", $type;
|
||||
foreach my $name (sort { $a cmp $b } keys %{$coverage{$type}}) {
|
||||
my $rec = $coverage{$type}->{$name};
|
||||
printf " <entry name=\"%s\" details=\"%s\">\n", $name, ($type eq "file" ? $filemap{$name} : $filemap{$rec->{file}});
|
||||
printf " <lines count=\"%s\" coverage=\"%s\"/>\n", $rec->{lines}, $rec->{linesCoverage};
|
||||
if (exists $rec->{branches}) {
|
||||
printf " <branches count=\"%s\" coverage=\"%s\"/>\n", $rec->{branches}, $rec->{branchesCoverage};
|
||||
}
|
||||
if (exists $rec->{conds}) {
|
||||
printf " <conditions count=\"%s\" coverage=\"%s\"/>\n", $rec->{conds}, $rec->{condsCoverage};
|
||||
}
|
||||
if (exists $rec->{calls}) {
|
||||
printf " <calls count=\"%s\" coverage=\"%s\"/>\n", $rec->{calls}, $rec->{callsCoverage};
|
||||
}
|
||||
print " </entry>\n";
|
||||
}
|
||||
|
||||
printf " <summary>\n";
|
||||
printf " <lines count=\"%s\" coverage=\"%s\"/>\n", $summary{$type}->{lines}, $summary{$type}->{linesCoverage};
|
||||
printf " <branches count=\"%s\" coverage=\"%s\"/>\n", $summary{$type}->{branches}, $summary{$type}->{branchesCoverage};
|
||||
printf " <conditions count=\"%s\" coverage=\"%s\"/>\n", $summary{$type}->{conds}, $summary{$type}->{condsCoverage};
|
||||
printf " <calls count=\"%s\" coverage=\"%s\"/>\n", $summary{$type}->{calls}, $summary{$type}->{callsCoverage};
|
||||
printf " </summary>\n";
|
||||
printf "</%ss>\n", $type;
|
||||
}
|
||||
|
||||
print "</coverage>\n";
|
|
@ -0,0 +1,235 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
#
|
||||
# Copyright (C) 2006 Daniel Berrange
|
||||
#
|
||||
# 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 of the License, 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, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
-->
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
version="1.0">
|
||||
|
||||
<xsl:output method="html"/>
|
||||
|
||||
<xsl:template match="coverage">
|
||||
<html>
|
||||
<head>
|
||||
<title>Coverage report</title>
|
||||
<style type="text/css">
|
||||
tbody tr.odd td.label {
|
||||
border-top: 1px solid rgb(128,128,128);
|
||||
border-bottom: 1px solid rgb(128,128,128);
|
||||
}
|
||||
tbody tr.odd td.label {
|
||||
background: rgb(200,200,200);
|
||||
}
|
||||
|
||||
thead, tfoot {
|
||||
background: rgb(60,60,60);
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
tr td.perfect {
|
||||
background: rgb(0,255,0);
|
||||
color: black;
|
||||
}
|
||||
tr td.excellant {
|
||||
background: rgb(140,255,140);
|
||||
color: black;
|
||||
}
|
||||
tr td.good {
|
||||
background: rgb(160,255,0);
|
||||
color: black;
|
||||
}
|
||||
tr td.poor {
|
||||
background: rgb(255,160,0);
|
||||
color: black;
|
||||
}
|
||||
tr td.bad {
|
||||
background: rgb(255,140,140);
|
||||
color: black;
|
||||
}
|
||||
tr td.terrible {
|
||||
background: rgb(255,0,0);
|
||||
color: black;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Coverage report</h1>
|
||||
<xsl:apply-templates/>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="functions">
|
||||
<h2>Function coverage</h2>
|
||||
<xsl:call-template name="content">
|
||||
<xsl:with-param name="type" select="'function'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="files">
|
||||
<h2>File coverage</h2>
|
||||
<xsl:call-template name="content">
|
||||
<xsl:with-param name="type" select="'file'"/>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="content">
|
||||
<xsl:param name="type"/>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Lines</th>
|
||||
<th>Branches</th>
|
||||
<th>Conditions</th>
|
||||
<th>Calls</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<xsl:for-each select="entry">
|
||||
<xsl:call-template name="entry">
|
||||
<xsl:with-param name="type" select="$type"/>
|
||||
<xsl:with-param name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="position() mod 2">
|
||||
<xsl:text>odd</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:text>even</xsl:text>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<xsl:for-each select="summary">
|
||||
<xsl:call-template name="entry">
|
||||
<xsl:with-param name="type" select="'summary'"/>
|
||||
<xsl:with-param name="class">
|
||||
<xsl:choose>
|
||||
<xsl:when test="position() mod 2">
|
||||
<xsl:text>odd</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:text>even</xsl:text>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</tfoot>
|
||||
</table>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="entry">
|
||||
<xsl:param name="type"/>
|
||||
<xsl:param name="class"/>
|
||||
<tr class="{$class}">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$type = 'function'">
|
||||
<td class="label"><a href="{@details}.html#{@name}"><xsl:value-of select="@name"/></a></td>
|
||||
</xsl:when>
|
||||
<xsl:when test="$type = 'file'">
|
||||
<td class="label"><a href="{@details}.html"><xsl:value-of select="@name"/></a></td>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<td class="label">Summary</td>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:if test="count(lines)">
|
||||
<xsl:apply-templates select="lines"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(count(lines))">
|
||||
<xsl:call-template name="missing"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="count(branches)">
|
||||
<xsl:apply-templates select="branches"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(count(branches))">
|
||||
<xsl:call-template name="missing"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="count(conditions)">
|
||||
<xsl:apply-templates select="conditions"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(count(conditions))">
|
||||
<xsl:call-template name="missing"/>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="count(calls)">
|
||||
<xsl:apply-templates select="calls"/>
|
||||
</xsl:if>
|
||||
<xsl:if test="not(count(calls))">
|
||||
<xsl:call-template name="missing"/>
|
||||
</xsl:if>
|
||||
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="lines">
|
||||
<xsl:call-template name="row"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="branches">
|
||||
<xsl:call-template name="row"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="conditions">
|
||||
<xsl:call-template name="row"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="calls">
|
||||
<xsl:call-template name="row"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="missing">
|
||||
<td></td>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="row">
|
||||
<xsl:variable name="quality">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@coverage = 100">
|
||||
<xsl:text>perfect</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:when test="@coverage >= 80.0">
|
||||
<xsl:text>excellant</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:when test="@coverage >= 60.0">
|
||||
<xsl:text>good</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:when test="@coverage >= 40.0">
|
||||
<xsl:text>poor</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:when test="@coverage >= 20.0">
|
||||
<xsl:text>bad</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:text>terrible</xsl:text>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<td class="{$quality}"><xsl:value-of select="@coverage"/>% of <xsl:value-of select="@count"/></td>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -0,0 +1,47 @@
|
|||
## .PHONY so it always rebuilds it
|
||||
.PHONY: lcov-reset lcov lcov-run lcov-report lcov-upload lcov-clean
|
||||
|
||||
# run lcov from scratch, always
|
||||
lcov-reset:
|
||||
$(MAKE) lcov-run
|
||||
$(MAKE) lcov-report
|
||||
|
||||
# run lcov from scratch if the dir is not there
|
||||
lcov:
|
||||
$(MAKE) lcov-reset
|
||||
|
||||
if GST_GCOV_ENABLED
|
||||
# reset lcov stats
|
||||
lcov-clean:
|
||||
@-rm -rf lcov
|
||||
lcov --directory . --zerocounters
|
||||
|
||||
# reset run coverage tests
|
||||
lcov-run:
|
||||
-$(MAKE) lcov-clean
|
||||
-if test -d tests/check; then $(MAKE) -C tests/check inspect; fi
|
||||
-$(MAKE) check
|
||||
|
||||
# generate report based on current coverage data
|
||||
lcov-report:
|
||||
mkdir lcov
|
||||
lcov --compat-libtool --directory . --capture --output-file lcov/lcov.info
|
||||
lcov --list-full-path -l lcov/lcov.info | grep -v "`cd $(top_srcdir) && pwd`" | cut -d\| -f1 > lcov/remove
|
||||
lcov --list-full-path -l lcov/lcov.info | grep "tests/check/" | cut -d\| -f1 >> lcov/remove
|
||||
lcov --list-full-path -l lcov/lcov.info | grep "docs/plugins/" | cut -d\| -f1 >> lcov/remove
|
||||
lcov -r lcov/lcov.info `cat lcov/remove` > lcov/lcov.cleaned.info
|
||||
rm lcov/remove
|
||||
mv lcov/lcov.cleaned.info lcov/lcov.info
|
||||
genhtml -t "$(PACKAGE_STRING)" -o lcov --num-spaces 2 lcov/lcov.info
|
||||
|
||||
lcov-upload: lcov
|
||||
rsync -rvz -e ssh --delete lcov/* gstreamer.freedesktop.org:/srv/gstreamer.freedesktop.org/www/data/coverage/lcov/$(PACKAGE)
|
||||
|
||||
else
|
||||
lcov-run:
|
||||
echo "Need to reconfigure with --enable-gcov"
|
||||
|
||||
lcov-report:
|
||||
echo "Need to reconfigure with --enable-gcov"
|
||||
endif
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
# checks for left-over files in the (usually uninstalled) tree, ie. for
|
||||
# stuff that best be deleted to avoid problems like having old plugin binaries
|
||||
# lying around.
|
||||
#
|
||||
# set CRUFT_FILES and/or CRUFT_DIRS in your Makefile.am when you include this
|
||||
|
||||
check-cruft:
|
||||
@cruft_files=""; cruft_dirs=""; \
|
||||
for f in $(CRUFT_FILES); do \
|
||||
if test -e $$f; then \
|
||||
cruft_files="$$cruft_files $$f"; \
|
||||
fi \
|
||||
done; \
|
||||
for d in $(CRUFT_DIRS); do \
|
||||
if test -e $$d; then \
|
||||
cruft_dirs="$$cruft_dirs $$d"; \
|
||||
fi \
|
||||
done; \
|
||||
if test "x$$cruft_files$$cruft_dirs" != x; then \
|
||||
echo; \
|
||||
echo "**** CRUFT ALERT *****"; \
|
||||
echo; \
|
||||
echo "The following files and directories may not be needed any "; \
|
||||
echo "longer (usually because a plugin has been merged into "; \
|
||||
echo "another plugin, moved to a different module, or been "; \
|
||||
echo "renamed), and you probably want to clean them up if you "; \
|
||||
echo "don't have local changes: "; \
|
||||
echo; \
|
||||
for f in $$cruft_files; do echo "file $$f"; done; \
|
||||
echo; \
|
||||
for d in $$cruft_dirs; do echo "directory $$d"; done; \
|
||||
echo; \
|
||||
echo "'make clean-cruft' will remove these for you."; \
|
||||
echo; \
|
||||
fi
|
||||
|
||||
clean-cruft-dirs:
|
||||
@for d in $(CRUFT_DIRS); do \
|
||||
if test -e $$d; then \
|
||||
rm -r "$$d" && echo "Removed directory $$d"; \
|
||||
fi \
|
||||
done
|
||||
|
||||
clean-cruft-files:
|
||||
@for f in $(CRUFT_FILES); do \
|
||||
if test -e $$f; then \
|
||||
rm "$$f" && echo "Removed file $$f"; \
|
||||
fi \
|
||||
done
|
||||
|
||||
clean-cruft: clean-cruft-dirs clean-cruft-files
|
||||
|
||||
# also might want to add this to your Makefile.am:
|
||||
#
|
||||
# all-local: check-cruft
|
||||
|
|
@ -0,0 +1,152 @@
|
|||
#!/bin/sh
|
||||
# Shell script to download the latest translations for a given GStreamer
|
||||
# package from translationproject.org
|
||||
|
||||
|
||||
# DOMAINS based on http://translationproject.org/extra/matrix.html
|
||||
# We need to check all domains, not only po/LINGUAS, since there might be
|
||||
# new translations
|
||||
DOMAINS=\
|
||||
"af am ar ast az be bg pt_BR bs ca zh_CN cs cy da de el eo es et eu fa fi fr fur "\
|
||||
"ga en_GB gl gu he hi zh_HK hr hu id is it ja ko ku ky lg lt lv mk mn ms "\
|
||||
"mt nb ne nl nn or pa pl pt rm ro ru rw sk sl sq sr sv ta tq th tk "\
|
||||
"tr zh_TW uk ven vi wa xh zu"
|
||||
|
||||
# for testing/debugging:
|
||||
#DOMAINS="es fr hu sv pl xx"
|
||||
|
||||
# check for 'diff' program
|
||||
diff --version 2>/dev/null >/dev/null
|
||||
if [ ! $? ]; then
|
||||
echo "==== You must have the 'diff' program installed for this script ===="
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# check for 'wget' program
|
||||
wget --version 2>/dev/null >/dev/null
|
||||
if [ ! $? ]; then
|
||||
echo "==== You must have the 'wget' program installed for this script ===="
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# make sure we're in the top-level directory
|
||||
if [ ! -d ./po ]; then
|
||||
echo "==== No ./po directory in the current working directory ===="
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# make sure a package argument was passed to us
|
||||
if [ -z "$1" ]; then
|
||||
echo "Usage: $0 PACKAGE, e.g. $0 gst-plugins-good"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test "$1" != "gstreamer" -a \
|
||||
"$1" != "gst-plugins-base" -a \
|
||||
"$1" != "gst-plugins-good" -a \
|
||||
"$1" != "gst-plugins-ugly" -a \
|
||||
"$1" != "gst-plugins-bad"; then
|
||||
echo "Unexpected package '$1' ?!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PACKAGE="$1"
|
||||
|
||||
DOMAINS_TO_ADD=""
|
||||
DOMAINS_UPDATED=""
|
||||
DOMAINS_NOT_IN_LINGUAS=""
|
||||
|
||||
echo "Downloading latest translation files for package $PACKAGE ..."
|
||||
echo
|
||||
|
||||
for d in $DOMAINS
|
||||
do
|
||||
PACKAGE_PO_URL_BASE="http://translationproject.org/latest/$PACKAGE"
|
||||
PO_URL="$PACKAGE_PO_URL_BASE/$d.po"
|
||||
PO_FILENAME="$PACKAGE.$d.po"
|
||||
if wget -q -nc -O $PO_FILENAME $PO_URL; then
|
||||
# we want all .po files in UTF-8 format really, so convert if needed..
|
||||
CHARSET=`grep Content-Type $PO_FILENAME | sed -e 's/.*charset=\(.*\)\\\\n.*/\1/'`
|
||||
if test "x$CHARSET" != "xUTF-8" -a "x$CHARSET" != "xutf-8"; then
|
||||
# note: things like the bugs address will be added back by make update-po
|
||||
if msguniq $PO_FILENAME --no-location \
|
||||
--output-file=$PO_FILENAME.utf8 \
|
||||
--to-code=UTF-8; then
|
||||
mv $PO_FILENAME.utf8 $PO_FILENAME
|
||||
else
|
||||
echo "**** $d: conversion from $CHARSET to UTF-8 failed ****"
|
||||
fi
|
||||
fi
|
||||
if [ -f "po/$d.po" ]; then
|
||||
# ./po/foo.po exists, so let's check if ours matches the latest from the
|
||||
# translation project website
|
||||
REVDATE_NEW=`grep PO-Revision-Date $PO_FILENAME`;
|
||||
REVDATE_OLD=`grep PO-Revision-Date po/$d.po`;
|
||||
CHARSET_OLD=`grep Content-Type po/$d.po | sed -e 's/.*charset=\(.*\)\\\\n.*/\1/'`
|
||||
if test "x$REVDATE_NEW" = "x$REVDATE_OLD" -a "x$CHARSET_OLD" = "xUTF-8"; then
|
||||
# note: source code line markers will be removed later by make upload-po
|
||||
echo "$d.po: up-to-date"
|
||||
rm -f $PO_FILENAME
|
||||
else
|
||||
mv $PO_FILENAME "po/$d.po"
|
||||
if test "x$CHARSET_OLD" != "xUTF-8" -a "x$CHARSET_OLD" != "xutf-8"; then
|
||||
echo "$d.po: update (and charset converted from $CHARSET_OLD to UTF-8)"
|
||||
else
|
||||
echo "$d.po: updated"
|
||||
fi
|
||||
DOMAINS_UPDATED="$DOMAINS_UPDATED $d"
|
||||
fi
|
||||
# make sure domain is listed in LINGUAS
|
||||
if ! grep $d "po/LINGUAS" >/dev/null 2>/dev/null; then
|
||||
DOMAINS_NOT_IN_LINGUAS="$DOMAINS_NOT_IN_LINGUAS $d"
|
||||
fi
|
||||
else
|
||||
# ./po/foo.po doesn't exist, but foo.po exists on the translation project
|
||||
# website, so it's probably a new translation
|
||||
echo "$d.po: new language"
|
||||
mv $PO_FILENAME "po/$d.po"
|
||||
DOMAINS_UPDATED="$DOMAINS_UPDATED $d"
|
||||
DOMAINS_TO_ADD="$DOMAINS_TO_ADD $d"
|
||||
fi
|
||||
else
|
||||
rm -f $PO_FILENAME
|
||||
echo "$d.po: failure (does probably not exist)"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -n "$DOMAINS_UPDATED" ]; then
|
||||
echo "===================================================================="
|
||||
echo
|
||||
echo "Language domains updated :$DOMAINS_UPDATED"
|
||||
echo "Language domains to git add :$DOMAINS_TO_ADD"
|
||||
echo
|
||||
echo "Source: http://translationproject.org/latest/$PACKAGE/"
|
||||
echo
|
||||
if [ -n "$DOMAINS_TO_ADD" ]; then
|
||||
CMD_STRING="git add"
|
||||
for d in $DOMAINS_TO_ADD; do
|
||||
CMD_STRING="$CMD_STRING po/$d.po"
|
||||
done
|
||||
echo "Please run"
|
||||
echo
|
||||
echo " $CMD_STRING"
|
||||
echo
|
||||
echo "now and add the following domains to the po/LINGUAS file:"
|
||||
echo
|
||||
echo " $DOMAINS_TO_ADD"
|
||||
echo
|
||||
echo
|
||||
fi
|
||||
echo "===================================================================="
|
||||
fi
|
||||
|
||||
if [ -n "$DOMAINS_NOT_IN_LINGUAS" ]; then
|
||||
echo
|
||||
echo "Existing domains missing from the po/LINGUAS file:"
|
||||
echo
|
||||
echo " $DOMAINS_NOT_IN_LINGUAS"
|
||||
echo
|
||||
echo
|
||||
fi
|
||||
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
#!/bin/sh
|
||||
# Shell script to extract the date given a release version and a .doap file
|
||||
|
||||
if test "x$1" = "x" -o "x$2" = "x" -o ! -s "$2"; then
|
||||
echo "Usage: $0 RELEASE-VERSION-NUMBER DOAP-FILE" >&2;
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! grep '<Project' "$2" >/dev/null ; then
|
||||
echo "$2 does not look lika a .doap file" >&2;
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! grep "$1" "$2" >/dev/null ; then
|
||||
echo "$2 contains no reference to a version $1" >&2;
|
||||
exit 1
|
||||
fi
|
||||
|
||||
awk 'BEGIN {x=0}
|
||||
{
|
||||
if ( $0 ~ /<release>/ ) {x=1; chunk=""}
|
||||
if (x==1) {
|
||||
if ($0 ~ /<revision>/) { chunk = chunk $0 }
|
||||
if ($0 ~ /<created>/) { chunk = chunk $0 }
|
||||
}
|
||||
if ($0 ~ /<\/release>/) {x=0; print chunk}
|
||||
}' < "$2" | \
|
||||
\
|
||||
grep '<revision>'"$1"'</revision>' | \
|
||||
\
|
||||
sed -e 's/^.*<created>//' -e 's/<\/created>.*$//'
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
--- po/Makefile.in.in.orig 2006-01-07 12:03:45.000000000 +0100
|
||||
+++ po/Makefile.in.in 2006-01-07 12:04:23.000000000 +0100
|
||||
@@ -11,6 +11,9 @@
|
||||
PACKAGE = @PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
|
||||
+# thomas: add GETTEXT_PACKAGE substitution as used in Makevars
|
||||
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
|
||||
+
|
||||
SHELL = /bin/sh
|
||||
@SET_MAKE@
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
# these are the variables your Makefile.am should set
|
||||
# the example is based on the colorbalance interface
|
||||
|
||||
#glib_enum_headers=$(colorbalance_headers)
|
||||
#glib_enum_define=GST_COLOR_BALANCE
|
||||
#glib_enum_prefix=gst_color_balance
|
||||
|
||||
enum_headers=$(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
|
||||
|
||||
# these are all the rules generating the relevant files
|
||||
%-marshal.h: %-marshal.list
|
||||
$(AM_V_GEN)glib-genmarshal --header --prefix=$(glib_enum_prefix)_marshal $^ > $*-marshal.h.tmp && \
|
||||
mv $*-marshal.h.tmp $*-marshal.h
|
||||
|
||||
%-marshal.c: %-marshal.list
|
||||
$(AM_V_GEN)echo "#include \"$*-marshal.h\"" >> $*-marshal.c.tmp && \
|
||||
glib-genmarshal --body --prefix=$(glib_enum_prefix)_marshal $^ >> $*-marshal.c.tmp && \
|
||||
mv $*-marshal.c.tmp $*-marshal.c
|
||||
|
||||
%-enumtypes.h: $(glib_enum_headers)
|
||||
$(AM_V_GEN)glib-mkenums \
|
||||
--fhead "#ifndef __$(glib_enum_define)_ENUM_TYPES_H__\n#define __$(glib_enum_define)_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
|
||||
--fprod "\n/* enumerations from \"@filename@\" */\n" \
|
||||
--vhead "GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
|
||||
--ftail "G_END_DECLS\n\n#endif /* __$(glib_enum_define)_ENUM_TYPES_H__ */" \
|
||||
$^ > $@
|
||||
|
||||
%-enumtypes.c: $(glib_enum_headers)
|
||||
@if test "x$(glib_enum_headers)" = "x"; then echo "ERROR: glib_enum_headers is empty, please fix Makefile"; exit 1; fi
|
||||
$(AM_V_GEN)glib-mkenums \
|
||||
--fhead "#include \"$*-enumtypes.h\"\n$(enum_headers)" \
|
||||
--fprod "\n/* enumerations from \"@filename@\" */" \
|
||||
--vhead "GType\n@enum_name@_get_type (void)\n{\n static volatile gsize g_define_type_id__volatile = 0;\n if (g_once_init_enter (&g_define_type_id__volatile)) {\n static const G@Type@Value values[] = {" \
|
||||
--vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
|
||||
--vtail " { 0, NULL, NULL }\n };\n GType g_define_type_id = g_@type@_register_static (\"@EnumName@\", values);\n g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);\n }\n return g_define_type_id__volatile;\n}\n" \
|
||||
$^ > $@
|
||||
|
||||
# a hack rule to make sure .Plo files exist because they get include'd
|
||||
# from Makefile's
|
||||
.deps/%-marshal.Plo:
|
||||
@touch $@
|
||||
|
||||
.deps/%-enumtypes.Plo:
|
||||
@touch $@
|
|
@ -0,0 +1,135 @@
|
|||
# a silly hack that generates autoregen.sh but it's handy
|
||||
# Remove the old autoregen.sh first to create a new file,
|
||||
# as the current one may be being read by the shell executing
|
||||
# this script.
|
||||
if [ -f "autoregen.sh" ]; then
|
||||
rm autoregen.sh
|
||||
fi
|
||||
echo "#!/bin/sh" > autoregen.sh
|
||||
echo "./autogen.sh $@ \$@" >> autoregen.sh
|
||||
chmod +x autoregen.sh
|
||||
|
||||
# helper functions for autogen.sh
|
||||
|
||||
debug ()
|
||||
# print out a debug message if DEBUG is a defined variable
|
||||
{
|
||||
if test ! -z "$DEBUG"
|
||||
then
|
||||
echo "DEBUG: $1"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
autogen_options ()
|
||||
{
|
||||
if test "x$1" = "x"; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
while test "x$1" != "x" ; do
|
||||
optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
|
||||
case "$1" in
|
||||
--noconfigure)
|
||||
NOCONFIGURE=defined
|
||||
AUTOGEN_EXT_OPT="$AUTOGEN_EXT_OPT --noconfigure"
|
||||
echo "+ configure run disabled"
|
||||
shift
|
||||
;;
|
||||
--nocheck)
|
||||
AUTOGEN_EXT_OPT="$AUTOGEN_EXT_OPT --nocheck"
|
||||
NOCHECK=defined
|
||||
echo "+ autotools version check disabled"
|
||||
shift
|
||||
;;
|
||||
-d|--debug)
|
||||
DEBUG=defined
|
||||
AUTOGEN_EXT_OPT="$AUTOGEN_EXT_OPT --debug"
|
||||
echo "+ debug output enabled"
|
||||
shift
|
||||
;;
|
||||
-h|--help)
|
||||
echo "autogen.sh (autogen options) -- (configure options)"
|
||||
echo "autogen.sh help options: "
|
||||
echo " --noconfigure don't run the configure script"
|
||||
echo " --nocheck don't do version checks"
|
||||
echo " --debug debug the autogen process"
|
||||
echo
|
||||
echo " --with-autoconf PATH use autoconf in PATH"
|
||||
echo " --with-automake PATH use automake in PATH"
|
||||
echo
|
||||
echo "Any argument either not in the above list or after a '--' will be "
|
||||
echo "passed to ./configure."
|
||||
exit 1
|
||||
;;
|
||||
--with-automake=*)
|
||||
AUTOMAKE=$optarg
|
||||
echo "+ using alternate automake in $optarg"
|
||||
CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --with-automake=$AUTOMAKE"
|
||||
shift
|
||||
;;
|
||||
--with-autoconf=*)
|
||||
AUTOCONF=$optarg
|
||||
echo "+ using alternate autoconf in $optarg"
|
||||
CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --with-autoconf=$AUTOCONF"
|
||||
shift
|
||||
;;
|
||||
--) shift ; break ;;
|
||||
*)
|
||||
echo "+ passing argument $1 to configure"
|
||||
CONFIGURE_EXT_OPT="$CONFIGURE_EXT_OPT $1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
for arg do CONFIGURE_EXT_OPT="$CONFIGURE_EXT_OPT $arg"; done
|
||||
if test ! -z "$CONFIGURE_EXT_OPT"
|
||||
then
|
||||
echo "+ options passed to configure: $CONFIGURE_EXT_OPT"
|
||||
fi
|
||||
}
|
||||
|
||||
toplevel_check ()
|
||||
{
|
||||
srcfile=$1
|
||||
test -f $srcfile || {
|
||||
echo "You must run this script in the top-level $package directory"
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
tool_run ()
|
||||
{
|
||||
tool=$1
|
||||
options=$2
|
||||
run_if_fail=$3
|
||||
echo "+ running $tool $options..."
|
||||
$tool $options || {
|
||||
echo
|
||||
echo $tool failed
|
||||
eval $run_if_fail
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
install_git_hooks ()
|
||||
{
|
||||
if test -d .git; then
|
||||
# install pre-commit hook for doing clean commits
|
||||
for hook in pre-commit; do
|
||||
if test ! \( -x .git/hooks/$hook -a -L .git/hooks/$hook \); then
|
||||
echo "+ Installing git $hook hook"
|
||||
rm -f .git/hooks/$hook
|
||||
ln -s ../../common/hooks/$hook.hook .git/hooks/$hook || {
|
||||
# if we couldn't create a symbolic link, try doing a plain cp
|
||||
if cp common/hooks/pre-commit.hook .git/hooks/pre-commit; then
|
||||
chmod +x .git/hooks/pre-commit;
|
||||
else
|
||||
echo "********** Couldn't install git $hook hook **********";
|
||||
fi
|
||||
}
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
# these are the variables your Makefile.am should set
|
||||
# the example is based on the colorbalance interface
|
||||
|
||||
#glib_enum_headers=$(colorbalance_headers)
|
||||
#glib_enum_define=GST_COLOR_BALANCE
|
||||
#glib_gen_prefix=gst_color_balance
|
||||
#glib_gen_basename=colorbalance
|
||||
#glib_gen_decl_banner=GST_EXPORT
|
||||
#glib_gen_decl_include=\#include <gst/foo/foo-prelude.h>
|
||||
|
||||
enum_headers=$(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
|
||||
|
||||
# these are all the rules generating the relevant files
|
||||
$(glib_gen_basename)-marshal.h: $(glib_gen_basename)-marshal.list
|
||||
$(AM_V_GEN)$(GLIB_GENMARSHAL) --header --prefix=$(glib_gen_prefix)_marshal $^ > $(glib_gen_basename)-marshal.h.tmp && \
|
||||
mv $(glib_gen_basename)-marshal.h.tmp $(glib_gen_basename)-marshal.h
|
||||
|
||||
$(glib_gen_basename)-marshal.c: $(glib_gen_basename)-marshal.list
|
||||
$(AM_V_GEN)echo "#include \"config.h\"\n#include \"$(glib_gen_basename)-marshal.h\"" >> $(glib_gen_basename)-marshal.c.tmp && \
|
||||
$(GLIB_GENMARSHAL) --body --prefix=$(glib_gen_prefix)_marshal $^ >> $(glib_gen_basename)-marshal.c.tmp && \
|
||||
mv $(glib_gen_basename)-marshal.c.tmp $(glib_gen_basename)-marshal.c
|
||||
|
||||
$(glib_gen_basename)-enumtypes.h: $(glib_enum_headers)
|
||||
$(AM_V_GEN)$(GLIB_MKENUMS) \
|
||||
--fhead "#ifndef __$(glib_enum_define)_ENUM_TYPES_H__\n#define __$(glib_enum_define)_ENUM_TYPES_H__\n\n#include <gst/gst.h>\n$(glib_gen_decl_include)\nG_BEGIN_DECLS\n" \
|
||||
--fprod "\n/* enumerations from \"@filename@\" */\n" \
|
||||
--vhead "$(glib_gen_decl_banner)\nGType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
|
||||
--ftail "G_END_DECLS\n\n#endif /* __$(glib_enum_define)_ENUM_TYPES_H__ */" \
|
||||
$^ > $@
|
||||
|
||||
$(glib_gen_basename)-enumtypes.c: $(glib_enum_headers)
|
||||
@if test "x$(glib_enum_headers)" = "x"; then echo "ERROR: glib_enum_headers is empty, please fix Makefile"; exit 1; fi
|
||||
$(AM_V_GEN)$(GLIB_MKENUMS) \
|
||||
--fhead "#ifdef HAVE_CONFIG_H\n#include \"config.h\"\n#endif\n\n#include \"$(glib_gen_basename)-enumtypes.h\"\n$(enum_headers)" \
|
||||
--fprod "\n/* enumerations from \"@filename@\" */" \
|
||||
--vhead "GType\n@enum_name@_get_type (void)\n{\n static volatile gsize g_define_type_id__volatile = 0;\n if (g_once_init_enter (&g_define_type_id__volatile)) {\n static const G@Type@Value values[] = {" \
|
||||
--vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
|
||||
--vtail " { 0, NULL, NULL }\n };\n GType g_define_type_id = g_@type@_register_static (\"@EnumName@\", values);\n g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);\n }\n return g_define_type_id__volatile;\n}\n" \
|
||||
$^ > $@
|
||||
|
||||
# a hack rule to make sure .Plo files exist because they get include'd
|
||||
# from Makefile's
|
||||
.deps/%-marshal.Plo:
|
||||
@touch $@
|
||||
|
||||
.deps/%-enumtypes.Plo:
|
||||
@touch $@
|
|
@ -0,0 +1,55 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Check that the code follows a consistant code style
|
||||
#
|
||||
|
||||
# Check for existence of indent, and error out if not present.
|
||||
# On some *bsd systems the binary seems to be called gnunindent,
|
||||
# so check for that first.
|
||||
|
||||
version=`gnuindent --version 2>/dev/null`
|
||||
if test "x$version" = "x"; then
|
||||
version=`gindent --version 2>/dev/null`
|
||||
if test "x$version" = "x"; then
|
||||
version=`indent --version 2>/dev/null`
|
||||
if test "x$version" = "x"; then
|
||||
echo "GStreamer git pre-commit hook:"
|
||||
echo "Did not find GNU indent, please install it before continuing."
|
||||
exit 1
|
||||
else
|
||||
INDENT=indent
|
||||
fi
|
||||
else
|
||||
INDENT=gindent
|
||||
fi
|
||||
else
|
||||
INDENT=gnuindent
|
||||
fi
|
||||
|
||||
case `$INDENT --version` in
|
||||
GNU*)
|
||||
;;
|
||||
default)
|
||||
echo "GStreamer git pre-commit hook:"
|
||||
echo "Did not find GNU indent, please install it before continuing."
|
||||
echo "(Found $INDENT, but it doesn't seem to be GNU indent)"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
INDENT_PARAMETERS="--braces-on-if-line \
|
||||
--case-brace-indentation0 \
|
||||
--case-indentation2 \
|
||||
--braces-after-struct-decl-line \
|
||||
--line-length80 \
|
||||
--no-tabs \
|
||||
--cuddle-else \
|
||||
--dont-line-up-parentheses \
|
||||
--continuation-indentation4 \
|
||||
--honour-newlines \
|
||||
--tab-size8 \
|
||||
--indent-level2 \
|
||||
--leave-preprocessor-space"
|
||||
|
||||
$INDENT ${INDENT_PARAMETERS} $@
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,379 @@
|
|||
# This is an include file specifically tuned for building documentation
|
||||
# for GStreamer plug-ins
|
||||
|
||||
help:
|
||||
@echo
|
||||
@echo "If you are a doc maintainer, run 'make update' to update"
|
||||
@echo "the documentation files maintained in git"
|
||||
@echo
|
||||
@echo Other useful make targets:
|
||||
@echo
|
||||
@echo check-inspected-versions: make sure the inspected plugin info
|
||||
@echo is up to date before a release
|
||||
@echo
|
||||
|
||||
# update the stuff maintained by doc maintainers
|
||||
update: scanobj-update
|
||||
$(MAKE) check-outdated-docs
|
||||
|
||||
if GTK_DOC_USE_LIBTOOL
|
||||
GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
|
||||
GTKDOC_RUN = $(LIBTOOL) --mode=execute
|
||||
else
|
||||
GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
|
||||
GTKDOC_RUN =
|
||||
endif
|
||||
|
||||
# We set GPATH here; this gives us semantics for GNU make
|
||||
# which are more like other make's VPATH, when it comes to
|
||||
# whether a source that is a target of one rule is then
|
||||
# searched for in VPATH/GPATH.
|
||||
#
|
||||
GPATH = $(srcdir)
|
||||
|
||||
# thomas: make docs parallel installable
|
||||
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)-@GST_API_VERSION@
|
||||
|
||||
MAINTAINER_DOC_STAMPS = \
|
||||
scanobj-build.stamp
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(MAINTAINER_DOC_STAMPS) \
|
||||
$(srcdir)/inspect/*.xml \
|
||||
$(SCANOBJ_FILES) \
|
||||
$(content_files) \
|
||||
$(extra_files) \
|
||||
$(HTML_IMAGES) \
|
||||
$(DOC_MAIN_SGML_FILE) \
|
||||
$(DOC_OVERRIDES) \
|
||||
$(DOC_MODULE)-sections.txt
|
||||
|
||||
# we don't add scanobj-build.stamp here since they are built manually by docs
|
||||
# maintainers and result is commited to git
|
||||
DOC_STAMPS = \
|
||||
scan-build.stamp \
|
||||
sgml-build.stamp \
|
||||
html-build.stamp \
|
||||
scan.stamp \
|
||||
sgml.stamp \
|
||||
html.stamp
|
||||
|
||||
# files generated/updated by gtkdoc-scangobj
|
||||
SCANOBJ_FILES = \
|
||||
$(DOC_MODULE).args \
|
||||
$(DOC_MODULE).hierarchy \
|
||||
$(DOC_MODULE).interfaces \
|
||||
$(DOC_MODULE).prerequisites \
|
||||
$(DOC_MODULE).signals \
|
||||
$(DOC_MODULE).types
|
||||
|
||||
SCANOBJ_FILES_O = \
|
||||
.libs/$(DOC_MODULE)-scan.o
|
||||
|
||||
# files generated/updated by gtkdoc-scan
|
||||
SCAN_FILES = \
|
||||
$(DOC_MODULE)-sections.txt \
|
||||
$(DOC_MODULE)-overrides.txt \
|
||||
$(DOC_MODULE)-decl.txt \
|
||||
$(DOC_MODULE)-decl-list.txt
|
||||
|
||||
|
||||
REPORT_FILES = \
|
||||
$(DOC_MODULE)-undocumented.txt \
|
||||
$(DOC_MODULE)-undeclared.txt \
|
||||
$(DOC_MODULE)-unused.txt
|
||||
|
||||
CLEANFILES = \
|
||||
$(SCANOBJ_FILES_O) \
|
||||
$(REPORT_FILES) \
|
||||
$(DOC_STAMPS) \
|
||||
inspect-registry.xml
|
||||
|
||||
INSPECT_DIR = inspect
|
||||
|
||||
if ENABLE_GTK_DOC
|
||||
all-local: html-build.stamp
|
||||
|
||||
### inspect GStreamer plug-ins; done by documentation maintainer ###
|
||||
|
||||
# only look at the plugins in this module when building inspect .xml stuff
|
||||
INSPECT_REGISTRY=$(top_builddir)/docs/plugins/inspect-registry.xml
|
||||
INSPECT_ENVIRONMENT=\
|
||||
LC_ALL=C \
|
||||
GST_PLUGIN_SYSTEM_PATH_1_0= \
|
||||
GST_PLUGIN_PATH_1_0=$(top_builddir)/gst:$(top_builddir)/sys:$(top_builddir)/ext:$(top_builddir)/plugins:$(top_builddir)/src:$(top_builddir)/gnl \
|
||||
GST_REGISTRY_1_0=$(INSPECT_REGISTRY) \
|
||||
PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
|
||||
$(INSPECT_EXTRA_ENVIRONMENT)
|
||||
|
||||
#### scan gobjects; done by documentation maintainer ####
|
||||
scanobj-update:
|
||||
-rm scanobj-build.stamp
|
||||
$(MAKE) scanobj-build.stamp
|
||||
|
||||
# gstdoc-scanobj produces 5 output files (.new)
|
||||
# scangobj-merge.py merges them into the file which we commit later
|
||||
# TODO: also merge the hierarchy
|
||||
scanobj-build.stamp: $(SCANOBJ_DEPS) $(basefiles)
|
||||
@echo " DOC Introspecting gobjects"
|
||||
@if test x"$(srcdir)" != x. ; then \
|
||||
for f in $(SCANOBJ_FILES) $(SCAN_FILES); \
|
||||
do \
|
||||
if test -e $(srcdir)/$$f; then \
|
||||
cp -u $(srcdir)/$$f . || cp $(srcdir)/$$f . ; \
|
||||
fi; \
|
||||
done; \
|
||||
fi; \
|
||||
mkdir -p $(INSPECT_DIR); \
|
||||
scanobj_options=""; \
|
||||
if test "x$(V)" = "x1"; then \
|
||||
scanobj_options="--verbose"; \
|
||||
fi; \
|
||||
$(INSPECT_ENVIRONMENT) \
|
||||
CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" \
|
||||
CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS) $(WARNING_CFLAGS)" \
|
||||
LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
|
||||
$(GST_DOC_SCANOBJ) $$scanobj_options --type-init-func="gst_init(NULL,NULL)" \
|
||||
--module=$(DOC_MODULE) --source=$(PACKAGE) --inspect-dir=$(INSPECT_DIR) && \
|
||||
echo " DOC Merging introspection data" && \
|
||||
$(PYTHON) \
|
||||
$(top_srcdir)/common/scangobj-merge.py $(DOC_MODULE) || exit 1; \
|
||||
if test x"$(srcdir)" != x. ; then \
|
||||
for f in $(SCANOBJ_FILES); \
|
||||
do \
|
||||
cmp -s ./$$f $(srcdir)/$$f || cp ./$$f $(srcdir)/ ; \
|
||||
done; \
|
||||
fi; \
|
||||
touch scanobj-build.stamp
|
||||
|
||||
$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(SCANOBJ_FILES_O): scan-build.stamp
|
||||
@true
|
||||
|
||||
### scan headers; done on every build ###
|
||||
scan-build.stamp: $(HFILE_GLOB) $(EXTRA_HFILES) $(basefiles) scanobj-build.stamp
|
||||
@echo ' DOC Scanning header files'
|
||||
@if test x"$(srcdir)" != x. ; then \
|
||||
for f in $(SCANOBJ_FILES) $(SCAN_FILES); \
|
||||
do \
|
||||
if test -e $(srcdir)/$$f; then \
|
||||
cp -u $(srcdir)/$$f . || cp $(srcdir)/$$f .; \
|
||||
fi; \
|
||||
done; \
|
||||
fi
|
||||
@_source_dir='' ; \
|
||||
for i in $(DOC_SOURCE_DIR) ; do \
|
||||
_source_dir="$${_source_dir} --source-dir=$$i" ; \
|
||||
done ; \
|
||||
gtkdoc-scan \
|
||||
$(SCAN_OPTIONS) $(EXTRA_HFILES) \
|
||||
--module=$(DOC_MODULE) \
|
||||
$${_source_dir} \
|
||||
--ignore-headers="$(IGNORE_HFILES)"; \
|
||||
touch scan-build.stamp
|
||||
|
||||
#### xml ####
|
||||
|
||||
sgml-build.stamp: scan-build.stamp $(CFILE_GLOB) $(top_srcdir)/common/plugins.xsl $(expand_content_files)
|
||||
@echo ' DOC Building XML'
|
||||
@-mkdir -p xml
|
||||
@for a in $(inspect_files); do \
|
||||
xsltproc --stringparam module $(MODULE) \
|
||||
$(top_srcdir)/common/plugins.xsl $$a > xml/`basename $$a`; done
|
||||
@for f in $(EXAMPLE_CFILES); do \
|
||||
$(PYTHON) $(top_srcdir)/common/c-to-xml.py $$f > xml/element-`basename $$f .c`.xml; done
|
||||
@_source_dir='' ; \
|
||||
for i in $(DOC_SOURCE_DIR) ; do \
|
||||
_source_dir="$${_source_dir} --source-dir=$$i" ; \
|
||||
done ; \
|
||||
gtkdoc-mkdb \
|
||||
--module=$(DOC_MODULE) \
|
||||
$${_source_dir} \
|
||||
--expand-content-files="$(expand_content_files)" \
|
||||
--main-sgml-file=$(srcdir)/$(DOC_MAIN_SGML_FILE) \
|
||||
--output-format=xml \
|
||||
--ignore-files="$(IGNORE_HFILES) $(IGNORE_CFILES)" \
|
||||
$(MKDB_OPTIONS)
|
||||
@$(PYTHON) $(top_srcdir)/common/mangle-db.py xml
|
||||
@cp ../version.entities xml
|
||||
@touch sgml-build.stamp
|
||||
|
||||
sgml.stamp: sgml-build.stamp
|
||||
@true
|
||||
|
||||
#### html ####
|
||||
|
||||
html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
|
||||
@echo ' DOC Building HTML'
|
||||
@rm -rf html
|
||||
@mkdir html
|
||||
@cp $(srcdir)/$(DOC_MAIN_SGML_FILE) html
|
||||
@for f in $(content_files); do cp $(srcdir)/$$f html; done
|
||||
@cp -pr xml html
|
||||
@cp ../version.entities html
|
||||
@mkhtml_options=""; \
|
||||
gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
|
||||
if test "$(?)" = "0"; then \
|
||||
if test "x$(V)" = "x1"; then \
|
||||
mkhtml_options="$$mkhtml_options --verbose"; \
|
||||
fi; \
|
||||
fi; \
|
||||
cd html && gtkdoc-mkhtml $$mkhtml_options $(DOC_MODULE)-@GST_API_VERSION@ $(DOC_MAIN_SGML_FILE)
|
||||
@rm -f html/$(DOC_MAIN_SGML_FILE)
|
||||
@rm -rf html/xml
|
||||
@rm -f html/version.entities
|
||||
@test "x$(HTML_IMAGES)" = "x" || for i in "" $(HTML_IMAGES) ; do \
|
||||
if test "$$i" != ""; then cp $(srcdir)/$$i html ; fi; done
|
||||
@echo ' DOC Fixing cross-references'
|
||||
@gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
|
||||
@touch html-build.stamp
|
||||
|
||||
clean-local-gtkdoc:
|
||||
@rm -rf xml tmpl html
|
||||
# clean files copied for nonsrcdir templates build
|
||||
@if test x"$(srcdir)" != x. ; then \
|
||||
rm -rf $(SCANOBJ_FILES) $(SCAN_FILES) $(REPORT_FILES) \
|
||||
$(MAINTAINER_DOC_STAMPS); \
|
||||
fi
|
||||
else
|
||||
all-local:
|
||||
clean-local-gtkdoc:
|
||||
endif
|
||||
|
||||
clean-local: clean-local-gtkdoc
|
||||
@rm -f *~ *.bak
|
||||
@rm -rf .libs
|
||||
|
||||
distclean-local:
|
||||
@rm -f $(REPORT_FILES) \
|
||||
$(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
|
||||
@rm -rf tmpl/*.sgml.bak
|
||||
@rm -f $(DOC_MODULE).hierarchy
|
||||
@rm -f *.stamp || true
|
||||
@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
|
||||
rm -f $(DOC_MODULE)-docs.sgml ; \
|
||||
rm -f $(DOC_MODULE).types ; \
|
||||
rm -f $(DOC_MODULE).interfaces ; \
|
||||
rm -f $(DOC_MODULE)-overrides.txt ; \
|
||||
rm -f $(DOC_MODULE).prerequisites ; \
|
||||
rm -f $(DOC_MODULE)-sections.txt ; \
|
||||
rm -rf tmpl/*.sgml ; \
|
||||
rm -rf $(INSPECT_DIR); \
|
||||
fi
|
||||
@rm -rf *.o
|
||||
|
||||
MAINTAINERCLEANFILES = $(MAINTAINER_DOC_STAMPS)
|
||||
|
||||
# thomas: make docs parallel installable; devhelp requires majorminor too
|
||||
install-data-local:
|
||||
(installfiles=`echo $(builddir)/html/*.sgml $(builddir)/html/*.html $(builddir)/html/*.png $(builddir)/html/*.css`; \
|
||||
if test "$$installfiles" = '$(builddir)/html/*.sgml $(builddir)/html/*.html $(builddir)/html/*.png $(builddir)/html/*.css'; \
|
||||
then echo '-- Nothing to install' ; \
|
||||
else \
|
||||
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \
|
||||
for i in $$installfiles; do \
|
||||
echo '-- Installing '$$i ; \
|
||||
$(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
|
||||
done; \
|
||||
pngfiles=`echo ./html/*.png`; \
|
||||
if test "$$pngfiles" != './html/*.png'; then \
|
||||
for i in $$pngfiles; do \
|
||||
echo '-- Installing '$$i ; \
|
||||
$(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
|
||||
done; \
|
||||
fi; \
|
||||
echo '-- Installing $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2' ; \
|
||||
if test -e $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; then \
|
||||
$(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2 \
|
||||
$(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \
|
||||
fi; \
|
||||
$(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) || true ; \
|
||||
fi)
|
||||
uninstall-local:
|
||||
if test -d $(DESTDIR)$(TARGET_DIR); then \
|
||||
rm -rf $(DESTDIR)$(TARGET_DIR)/*; \
|
||||
rmdir -p $(DESTDIR)$(TARGET_DIR) 2>/dev/null || true; \
|
||||
else \
|
||||
echo '-- Nothing to uninstall' ; \
|
||||
fi;
|
||||
|
||||
#
|
||||
# Checks
|
||||
#
|
||||
if ENABLE_GTK_DOC
|
||||
check-hierarchy: $(DOC_MODULE).hierarchy
|
||||
@if grep ' ' $(DOC_MODULE).hierarchy; then \
|
||||
echo "$(DOC_MODULE).hierarchy contains tabs, please fix"; \
|
||||
/bin/false; \
|
||||
fi
|
||||
|
||||
check: check-hierarchy
|
||||
endif
|
||||
|
||||
# wildcard is apparently not portable to other makes, hence the use of find
|
||||
inspect_files = $(sort $(shell find $(srcdir)/$(INSPECT_DIR) -name '*.xml'))
|
||||
|
||||
check-inspected-versions:
|
||||
@echo Checking plugin versions of inspected plugin data ...; \
|
||||
fail=0 ; \
|
||||
for each in $(inspect_files) ; do \
|
||||
if (grep -H '<version>' $$each | grep -v '<version>$(VERSION)'); then \
|
||||
echo $$each should be fixed to say version $(VERSION) or be removed ; \
|
||||
echo "sed -i -e 's/<version.*version>/<version>$(VERSION)<\/version>/'" $$each; \
|
||||
echo ; \
|
||||
fail=1; \
|
||||
fi ; \
|
||||
done ; \
|
||||
exit $$fail
|
||||
|
||||
check-outdated-docs:
|
||||
$(AM_V_GEN)echo Checking for outdated plugin inspect data ...; \
|
||||
fail=0 ; \
|
||||
if [ -d $(top_srcdir)/.git/ ]; then \
|
||||
files=`find $(srcdir)/inspect/ -name '*xml'`; \
|
||||
for f in $$files; do \
|
||||
ver=`grep '<version>$(PACKAGE_VERSION)</version>' $$f`; \
|
||||
if test "x$$ver" = "x"; then \
|
||||
plugin=`echo $$f | sed -e 's/^.*plugin-//' -e 's/.xml//'`; \
|
||||
# echo "Checking $$plugin $$f"; \
|
||||
pushd "$(top_srcdir)" >/dev/null; \
|
||||
pinit=`git grep -A3 GST_PLUGIN_DEFINE -- ext/ gst/ sys/ | grep "\"$$plugin\""`; \
|
||||
popd >/dev/null; \
|
||||
# echo "[$$pinit]"; \
|
||||
if test "x$$pinit" = "x"; then \
|
||||
printf " **** outdated docs for plugin %-15s: %s\n" $$plugin $$f; \
|
||||
fail=1; \
|
||||
fi; \
|
||||
fi; \
|
||||
done; \
|
||||
fi ; \
|
||||
exit $$fail
|
||||
|
||||
#
|
||||
# Require gtk-doc when making dist
|
||||
#
|
||||
if ENABLE_GTK_DOC
|
||||
dist-check-gtkdoc:
|
||||
else
|
||||
dist-check-gtkdoc:
|
||||
@echo "*** gtk-doc must be installed and enabled in order to make dist"
|
||||
@false
|
||||
endif
|
||||
|
||||
# FIXME: decide whether we want to dist generated html or not
|
||||
# also this only works, if the project has been build before
|
||||
# we could dist html only if its there, but that might lead to missing html in
|
||||
# tarballs
|
||||
dist-hook: dist-check-gtkdoc dist-hook-local
|
||||
mkdir $(distdir)/html
|
||||
cp html/* $(distdir)/html
|
||||
-cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
|
||||
-cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
|
||||
cd $(distdir) && rm -f $(DISTCLEANFILES)
|
||||
-gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
|
||||
|
||||
.PHONY : dist-hook-local docs check-outdated-docs inspect
|
||||
|
||||
# avoid spurious build errors when distchecking with -jN
|
||||
.NOTPARALLEL:
|
|
@ -0,0 +1,248 @@
|
|||
###########################################################################
|
||||
# Everything below here is generic and you shouldn't need to change it.
|
||||
###########################################################################
|
||||
# thomas: except of course that we did
|
||||
|
||||
if GTK_DOC_USE_LIBTOOL
|
||||
GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
|
||||
GTKDOC_RUN = $(LIBTOOL) --mode=execute
|
||||
else
|
||||
GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
|
||||
GTKDOC_RUN =
|
||||
endif
|
||||
|
||||
# We set GPATH here; this gives us semantics for GNU make
|
||||
# which are more like other make's VPATH, when it comes to
|
||||
# whether a source that is a target of one rule is then
|
||||
# searched for in VPATH/GPATH.
|
||||
#
|
||||
GPATH = $(srcdir)
|
||||
|
||||
# thomas: make docs parallel installable
|
||||
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)-@GST_API_VERSION@
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(content_files) \
|
||||
$(extra_files) \
|
||||
$(HTML_IMAGES) \
|
||||
$(DOC_MAIN_SGML_FILE) \
|
||||
$(DOC_MODULE).types \
|
||||
$(DOC_OVERRIDES) \
|
||||
$(DOC_MODULE)-sections.txt
|
||||
|
||||
DOC_STAMPS = \
|
||||
setup-build.stamp \
|
||||
scan-build.stamp \
|
||||
sgml-build.stamp \
|
||||
html-build.stamp \
|
||||
sgml.stamp \
|
||||
html.stamp
|
||||
|
||||
SCANOBJ_FILES = \
|
||||
$(DOC_MODULE).args \
|
||||
$(DOC_MODULE).hierarchy \
|
||||
$(DOC_MODULE).interfaces \
|
||||
$(DOC_MODULE).prerequisites \
|
||||
$(DOC_MODULE).signals \
|
||||
.libs/$(DOC_MODULE)-scan.o
|
||||
|
||||
REPORT_FILES = \
|
||||
$(DOC_MODULE)-undocumented.txt \
|
||||
$(DOC_MODULE)-undeclared.txt \
|
||||
$(DOC_MODULE)-unused.txt
|
||||
|
||||
CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) doc-registry.xml
|
||||
|
||||
if ENABLE_GTK_DOC
|
||||
all-local: html-build.stamp
|
||||
|
||||
#### setup ####
|
||||
|
||||
setup-build.stamp: $(content_files)
|
||||
-@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
|
||||
echo ' DOC Preparing build'; \
|
||||
files=`echo $(DOC_MAIN_SGML_FILE) $(DOC_OVERRIDES) $(DOC_MODULE)-sections.txt $(DOC_MODULE).types $(content_files)`; \
|
||||
if test "x$$files" != "x" ; then \
|
||||
for file in $$files ; do \
|
||||
test -f $(abs_srcdir)/$$file && \
|
||||
cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \
|
||||
done; \
|
||||
fi; \
|
||||
fi
|
||||
@touch setup-build.stamp
|
||||
|
||||
#### scan ####
|
||||
|
||||
# in the case of non-srcdir builds, the built gst directory gets added
|
||||
# to gtk-doc scanning; but only then, to avoid duplicates
|
||||
scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
|
||||
@echo ' DOC Scanning header files'
|
||||
@_source_dir='' ; \
|
||||
for i in $(DOC_SOURCE_DIR) ; do \
|
||||
_source_dir="$${_source_dir} --source-dir=$$i" ; \
|
||||
done ; \
|
||||
gtkdoc-scan \
|
||||
$(SCAN_OPTIONS) $(EXTRA_HFILES) \
|
||||
--module=$(DOC_MODULE) \
|
||||
$${_source_dir} \
|
||||
--ignore-headers="$(IGNORE_HFILES)"
|
||||
@if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null; then \
|
||||
echo " DOC Introspecting gobjects"; \
|
||||
scanobj_options=""; \
|
||||
gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
|
||||
if test "$$?" = "0"; then \
|
||||
if test "x$(V)" = "x1"; then \
|
||||
scanobj_options="--verbose"; \
|
||||
fi; \
|
||||
fi; \
|
||||
GST_PLUGIN_SYSTEM_PATH_1_0=`cd $(top_builddir) && pwd` \
|
||||
GST_PLUGIN_PATH_1_0= \
|
||||
GST_REGISTRY_1_0=doc-registry.xml \
|
||||
$(GTKDOC_EXTRA_ENVIRONMENT) \
|
||||
CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" \
|
||||
CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" \
|
||||
LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
|
||||
gtkdoc-scangobj --type-init-func="gst_init(NULL,NULL)" \
|
||||
$$scanobj_options --module=$(DOC_MODULE) ; \
|
||||
else \
|
||||
for i in $(SCANOBJ_FILES) ; do \
|
||||
$(MKDIR_P) $(dirname $$i) ; \
|
||||
test -f $$i || touch $$i ; \
|
||||
done \
|
||||
fi
|
||||
@touch scan-build.stamp
|
||||
|
||||
$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
|
||||
@true
|
||||
|
||||
#### xml ####
|
||||
|
||||
sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(expand_content_files)
|
||||
@echo ' DOC Building XML'
|
||||
@_source_dir='' ; \
|
||||
for i in $(DOC_SOURCE_DIR) ; do \
|
||||
_source_dir="$${_source_dir} --source-dir=$$i" ; \
|
||||
done ; \
|
||||
gtkdoc-mkdb --module=$(DOC_MODULE) $${_source_dir} --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) --output-format=xml $(MKDB_OPTIONS)
|
||||
@cp ../version.entities xml
|
||||
@touch sgml-build.stamp
|
||||
|
||||
sgml.stamp: sgml-build.stamp
|
||||
@true
|
||||
|
||||
#### html ####
|
||||
|
||||
html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
|
||||
@echo ' DOC Building HTML'
|
||||
@rm -rf html
|
||||
@mkdir html
|
||||
@cp -pr xml html
|
||||
@cp ../version.entities ./
|
||||
@mkhtml_options=""; \
|
||||
gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
|
||||
if test "$(?)" = "0"; then \
|
||||
if test "x$(V)" = "x1"; then \
|
||||
mkhtml_options="$$mkhtml_options --verbose"; \
|
||||
fi; \
|
||||
fi; \
|
||||
@gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
|
||||
if test "$(?)" = "0"; then \
|
||||
mkhtml_options=--path="$(abs_srcdir)"; \
|
||||
fi; \
|
||||
cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE)-@GST_API_VERSION@ ../$(DOC_MAIN_SGML_FILE)
|
||||
@rm -rf html/xml
|
||||
@rm -f version.entities
|
||||
@test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) $(abs_builddir)/html )
|
||||
@echo ' DOC Fixing cross-references'
|
||||
@gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
|
||||
@touch html-build.stamp
|
||||
|
||||
clean-local-gtkdoc:
|
||||
@rm -rf xml tmpl html
|
||||
# clean files copied for nonsrcdir templates build
|
||||
@if test x"$(srcdir)" != x. ; then \
|
||||
rm -rf $(DOC_MODULE).types; \
|
||||
fi
|
||||
else
|
||||
all-local:
|
||||
clean-local-gtkdoc:
|
||||
endif
|
||||
|
||||
clean-local: clean-local-gtkdoc
|
||||
@rm -f *~ *.bak
|
||||
@rm -rf .libs
|
||||
|
||||
distclean-local:
|
||||
@rm -f $(REPORT_FILES) \
|
||||
$(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
|
||||
@rm -rf tmpl/*.sgml.bak
|
||||
@rm -f $(DOC_MODULE).hierarchy
|
||||
@rm -f *.stamp || true
|
||||
@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
|
||||
rm -f $(DOC_MAIN_SGML_FILE) ; \
|
||||
rm -f $(DOC_OVERRIDES) ; \
|
||||
rm -f $(DOC_MODULE).types ; \
|
||||
rm -f $(DOC_MODULE).interfaces ; \
|
||||
rm -f $(DOC_MODULE).prerequisites ; \
|
||||
rm -f $(DOC_MODULE)-sections.txt ; \
|
||||
rm -f $(content_files) ; \
|
||||
rm -rf tmpl/*.sgml ; \
|
||||
fi
|
||||
@rm -rf *.o
|
||||
|
||||
maintainer-clean-local: clean
|
||||
@cd $(srcdir) && rm -rf html \
|
||||
xml $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
|
||||
|
||||
# thomas: make docs parallel installable; devhelp requires majorminor too
|
||||
install-data-local:
|
||||
(installfiles=`echo $(builddir)/html/*.sgml $(builddir)/html/*.html $(builddir)/html/*.png $(builddir)/html/*.css`; \
|
||||
if test "$$installfiles" = '$(builddir)/html/*.sgml $(builddir)/html/*.html $(builddir)/html/*.png $(builddir)/html/*.css'; \
|
||||
then echo '-- Nothing to install' ; \
|
||||
else \
|
||||
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \
|
||||
for i in $$installfiles; do \
|
||||
echo '-- Installing '$$i ; \
|
||||
$(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
|
||||
done; \
|
||||
echo '-- Installing $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2' ; \
|
||||
if test -e $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; then \
|
||||
$(INSTALL_DATA) $(builddir)/html/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2 \
|
||||
$(DESTDIR)$(TARGET_DIR)/$(DOC_MODULE)-@GST_API_VERSION@.devhelp2; \
|
||||
fi; \
|
||||
$(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) || true ; \
|
||||
fi)
|
||||
uninstall-local:
|
||||
if test -d $(DESTDIR)$(TARGET_DIR); then \
|
||||
rm -rf $(DESTDIR)$(TARGET_DIR)/*; \
|
||||
rmdir -p $(DESTDIR)$(TARGET_DIR) 2>/dev/null || true; \
|
||||
else \
|
||||
echo '-- Nothing to uninstall' ; \
|
||||
fi;
|
||||
|
||||
|
||||
#
|
||||
# Require gtk-doc when making dist
|
||||
#
|
||||
if ENABLE_GTK_DOC
|
||||
dist-check-gtkdoc:
|
||||
else
|
||||
dist-check-gtkdoc:
|
||||
@echo "*** gtk-doc must be installed and enabled in order to make dist"
|
||||
@false
|
||||
endif
|
||||
|
||||
dist-hook: dist-check-gtkdoc dist-hook-local
|
||||
mkdir $(distdir)/html
|
||||
cp html/* $(distdir)/html
|
||||
-cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
|
||||
-cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
|
||||
cd $(distdir) && rm -f $(DISTCLEANFILES)
|
||||
-gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
|
||||
|
||||
.PHONY : dist-hook-local docs
|
||||
|
||||
# avoid spurious build errors when distchecking with -jN
|
||||
.NOTPARALLEL:
|
|
@ -0,0 +1,41 @@
|
|||
EXTRA_DIST = \
|
||||
README \
|
||||
as-ac-expand.m4 \
|
||||
as-auto-alt.m4 \
|
||||
as-compiler-flag.m4 \
|
||||
as-compiler.m4 \
|
||||
as-docbook.m4 \
|
||||
as-gcc-inline-assembly.m4 \
|
||||
as-libtool.m4 \
|
||||
as-libtool-tags.m4 \
|
||||
as-python.m4 \
|
||||
as-version.m4 \
|
||||
ax_create_stdint_h.m4 \
|
||||
ax_pthread.m4 \
|
||||
glib-gettext.m4 \
|
||||
gst-arch.m4 \
|
||||
gst-args.m4 \
|
||||
gst-check.m4 \
|
||||
gst-debuginfo.m4 \
|
||||
gst-default.m4 \
|
||||
gst-doc.m4 \
|
||||
gst-dowhile.m4 \
|
||||
gst-error.m4 \
|
||||
gst-feature.m4 \
|
||||
gst-function.m4 \
|
||||
gst-gettext.m4 \
|
||||
gst-glib2.m4 \
|
||||
gst-libxml2.m4 \
|
||||
gst-parser.m4 \
|
||||
gst-package-release-datetime.m4 \
|
||||
gst-platform.m4 \
|
||||
gst-plugindir.m4 \
|
||||
gst-plugin-docs.m4 \
|
||||
gst-valgrind.m4 \
|
||||
gst-x11.m4 \
|
||||
gst.m4 \
|
||||
gtk-doc.m4 \
|
||||
introspection.m4 \
|
||||
pkg.m4 \
|
||||
check.m4 \
|
||||
orc.m4
|
|
@ -0,0 +1,746 @@
|
|||
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
false; \
|
||||
elif test -n '$(MAKE_HOST)'; then \
|
||||
true; \
|
||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||
true; \
|
||||
else \
|
||||
false; \
|
||||
fi; \
|
||||
}
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
target_triplet = @target@
|
||||
subdir = common/m4
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
|
||||
$(top_srcdir)/common/m4/as-auto-alt.m4 \
|
||||
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
|
||||
$(top_srcdir)/common/m4/as-libtool.m4 \
|
||||
$(top_srcdir)/common/m4/as-version.m4 \
|
||||
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
|
||||
$(top_srcdir)/common/m4/ax_pthread.m4 \
|
||||
$(top_srcdir)/common/m4/gst-arch.m4 \
|
||||
$(top_srcdir)/common/m4/gst-args.m4 \
|
||||
$(top_srcdir)/common/m4/gst-check.m4 \
|
||||
$(top_srcdir)/common/m4/gst-default.m4 \
|
||||
$(top_srcdir)/common/m4/gst-error.m4 \
|
||||
$(top_srcdir)/common/m4/gst-feature.m4 \
|
||||
$(top_srcdir)/common/m4/gst-function.m4 \
|
||||
$(top_srcdir)/common/m4/gst-gettext.m4 \
|
||||
$(top_srcdir)/common/m4/gst-glib2.m4 \
|
||||
$(top_srcdir)/common/m4/gst-package-release-datetime.m4 \
|
||||
$(top_srcdir)/common/m4/gst-platform.m4 \
|
||||
$(top_srcdir)/common/m4/gst-plugin-docs.m4 \
|
||||
$(top_srcdir)/common/m4/gst-plugindir.m4 \
|
||||
$(top_srcdir)/common/m4/gst.m4 \
|
||||
$(top_srcdir)/common/m4/gtk-doc.m4 \
|
||||
$(top_srcdir)/common/m4/introspection.m4 \
|
||||
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
|
||||
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-alsa.m4 \
|
||||
$(top_srcdir)/m4/gst-gl.m4 $(top_srcdir)/m4/iconv.m4 \
|
||||
$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
|
||||
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
|
||||
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/lrint.m4 \
|
||||
$(top_srcdir)/m4/lrintf.m4 $(top_srcdir)/m4/ltoptions.m4 \
|
||||
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
|
||||
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
|
||||
$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in README
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
|
||||
ALSA_CFLAGS = @ALSA_CFLAGS@
|
||||
ALSA_LIBS = @ALSA_LIBS@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUDIORESAMPLE_FORMAT_AUTO = @AUDIORESAMPLE_FORMAT_AUTO@
|
||||
AUDIORESAMPLE_FORMAT_FLOAT = @AUDIORESAMPLE_FORMAT_FLOAT@
|
||||
AUDIORESAMPLE_FORMAT_INT = @AUDIORESAMPLE_FORMAT_INT@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCASFLAGS = @CCASFLAGS@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CDPARANOIA_CFLAGS = @CDPARANOIA_CFLAGS@
|
||||
CDPARANOIA_LIBS = @CDPARANOIA_LIBS@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFAULT_AUDIOSINK = @DEFAULT_AUDIOSINK@
|
||||
DEFAULT_AUDIOSRC = @DEFAULT_AUDIOSRC@
|
||||
DEFAULT_VIDEOSINK = @DEFAULT_VIDEOSINK@
|
||||
DEFAULT_VIDEOSRC = @DEFAULT_VIDEOSRC@
|
||||
DEFAULT_VISUALIZER = @DEFAULT_VISUALIZER@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DEPRECATED_CFLAGS = @DEPRECATED_CFLAGS@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DRM_CFLAGS = @DRM_CFLAGS@
|
||||
DRM_LIBS = @DRM_LIBS@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGL_CFLAGS = @EGL_CFLAGS@
|
||||
EGL_LIBS = @EGL_LIBS@
|
||||
EGREP = @EGREP@
|
||||
ERROR_CFLAGS = @ERROR_CFLAGS@
|
||||
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
|
||||
ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
|
||||
EXEEXT = @EXEEXT@
|
||||
EXTRA_CFLAGS = @EXTRA_CFLAGS@
|
||||
FFLAGS = @FFLAGS@
|
||||
FGREP = @FGREP@
|
||||
GBM_CFLAGS = @GBM_CFLAGS@
|
||||
GBM_LIBS = @GBM_LIBS@
|
||||
GCOV = @GCOV@
|
||||
GCOV_CFLAGS = @GCOV_CFLAGS@
|
||||
GCOV_LIBS = @GCOV_LIBS@
|
||||
GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@
|
||||
GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@
|
||||
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
|
||||
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
|
||||
GIO_CFLAGS = @GIO_CFLAGS@
|
||||
GIO_LDFLAGS = @GIO_LDFLAGS@
|
||||
GIO_LIBS = @GIO_LIBS@
|
||||
GIO_UNIX_2_0_CFLAGS = @GIO_UNIX_2_0_CFLAGS@
|
||||
GIO_UNIX_2_0_LIBS = @GIO_UNIX_2_0_LIBS@
|
||||
GLES2_CFLAGS = @GLES2_CFLAGS@
|
||||
GLES2_LIBS = @GLES2_LIBS@
|
||||
GLIB_CFLAGS = @GLIB_CFLAGS@
|
||||
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
|
||||
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
|
||||
GLIB_LIBS = @GLIB_LIBS@
|
||||
GLIB_MKENUMS = @GLIB_MKENUMS@
|
||||
GLIB_PREFIX = @GLIB_PREFIX@
|
||||
GLIB_REQ = @GLIB_REQ@
|
||||
GL_APIS = @GL_APIS@
|
||||
GL_CFLAGS = @GL_CFLAGS@
|
||||
GL_LIBS = @GL_LIBS@
|
||||
GL_OBJCFLAGS = @GL_OBJCFLAGS@
|
||||
GL_PLATFORMS = @GL_PLATFORMS@
|
||||
GL_WINDOWS = @GL_WINDOWS@
|
||||
GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
|
||||
GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GMSGFMT_015 = @GMSGFMT_015@
|
||||
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
|
||||
GRAPHENE_LIBS = @GRAPHENE_LIBS@
|
||||
GREP = @GREP@
|
||||
GST_AGE = @GST_AGE@
|
||||
GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
|
||||
GST_API_VERSION = @GST_API_VERSION@
|
||||
GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
|
||||
GST_BASE_LIBS = @GST_BASE_LIBS@
|
||||
GST_CFLAGS = @GST_CFLAGS@
|
||||
GST_CHECK_CFLAGS = @GST_CHECK_CFLAGS@
|
||||
GST_CHECK_LIBS = @GST_CHECK_LIBS@
|
||||
GST_CONTROLLER_CFLAGS = @GST_CONTROLLER_CFLAGS@
|
||||
GST_CONTROLLER_LIBS = @GST_CONTROLLER_LIBS@
|
||||
GST_CURRENT = @GST_CURRENT@
|
||||
GST_CXXFLAGS = @GST_CXXFLAGS@
|
||||
GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
|
||||
GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
|
||||
GST_LIBS = @GST_LIBS@
|
||||
GST_LIBVERSION = @GST_LIBVERSION@
|
||||
GST_LIB_LDFLAGS = @GST_LIB_LDFLAGS@
|
||||
GST_LICENSE = @GST_LICENSE@
|
||||
GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
|
||||
GST_NET_CFLAGS = @GST_NET_CFLAGS@
|
||||
GST_NET_LIBS = @GST_NET_LIBS@
|
||||
GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
|
||||
GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
|
||||
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
|
||||
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
|
||||
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
|
||||
GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
|
||||
GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
|
||||
GST_PLUGINS_DIR = @GST_PLUGINS_DIR@
|
||||
GST_PLUGINS_NONPORTED = @GST_PLUGINS_NONPORTED@
|
||||
GST_PLUGINS_SELECTED = @GST_PLUGINS_SELECTED@
|
||||
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
|
||||
GST_PREFIX = @GST_PREFIX@
|
||||
GST_REVISION = @GST_REVISION@
|
||||
GST_TOOLS_DIR = @GST_TOOLS_DIR@
|
||||
GTKDOC_CHECK = @GTKDOC_CHECK@
|
||||
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
|
||||
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
|
||||
GTKDOC_MKPDF = @GTKDOC_MKPDF@
|
||||
GTKDOC_REBASE = @GTKDOC_REBASE@
|
||||
GTK_CFLAGS = @GTK_CFLAGS@
|
||||
GTK_LIBS = @GTK_LIBS@
|
||||
GTK_QUARTZ_CFLAGS = @GTK_QUARTZ_CFLAGS@
|
||||
GTK_QUARTZ_LIBS = @GTK_QUARTZ_LIBS@
|
||||
GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
|
||||
GTK_X11_LIBS = @GTK_X11_LIBS@
|
||||
G_UDEV_CFLAGS = @G_UDEV_CFLAGS@
|
||||
G_UDEV_LIBS = @G_UDEV_LIBS@
|
||||
HAVE_CDPARANOIA = @HAVE_CDPARANOIA@
|
||||
HAVE_EGL = @HAVE_EGL@
|
||||
HAVE_GL = @HAVE_GL@
|
||||
HAVE_GLES2 = @HAVE_GLES2@
|
||||
HAVE_GRAPHENE = @HAVE_GRAPHENE@
|
||||
HAVE_JPEG = @HAVE_JPEG@
|
||||
HAVE_PNG = @HAVE_PNG@
|
||||
HAVE_XSHM = @HAVE_XSHM@
|
||||
HAVE_ZLIB = @HAVE_ZLIB@
|
||||
HTML_DIR = @HTML_DIR@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
|
||||
INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
|
||||
INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
|
||||
INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
|
||||
INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
|
||||
INTROSPECTION_INIT = @INTROSPECTION_INIT@
|
||||
INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
|
||||
INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
|
||||
INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
|
||||
INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
|
||||
IVORBIS_CFLAGS = @IVORBIS_CFLAGS@
|
||||
IVORBIS_LIBS = @IVORBIS_LIBS@
|
||||
JPEG_LIBS = @JPEG_LIBS@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBINTL = @LIBINTL@
|
||||
LIBM = @LIBM@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
|
||||
LIBPNG_LIBS = @LIBPNG_LIBS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIBVISUAL_CFLAGS = @LIBVISUAL_CFLAGS@
|
||||
LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LOCALEDIR = @LOCALEDIR@
|
||||
LTLIBICONV = @LTLIBICONV@
|
||||
LTLIBINTL = @LTLIBINTL@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
MSGFMT = @MSGFMT@
|
||||
MSGFMT_015 = @MSGFMT_015@
|
||||
MSGMERGE = @MSGMERGE@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJC = @OBJC@
|
||||
OBJCDEPMODE = @OBJCDEPMODE@
|
||||
OBJCFLAGS = @OBJCFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OGG_CFLAGS = @OGG_CFLAGS@
|
||||
OGG_LIBS = @OGG_LIBS@
|
||||
OPUS_CFLAGS = @OPUS_CFLAGS@
|
||||
OPUS_LIBS = @OPUS_LIBS@
|
||||
ORCC = @ORCC@
|
||||
ORCC_FLAGS = @ORCC_FLAGS@
|
||||
ORC_CFLAGS = @ORC_CFLAGS@
|
||||
ORC_LIBS = @ORC_LIBS@
|
||||
ORC_PC = @ORC_PC@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@
|
||||
PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@
|
||||
PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@
|
||||
PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@
|
||||
PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@
|
||||
PANGO_CFLAGS = @PANGO_CFLAGS@
|
||||
PANGO_LIBS = @PANGO_LIBS@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PLUGINDIR = @PLUGINDIR@
|
||||
POSUB = @POSUB@
|
||||
PROFILE_CFLAGS = @PROFILE_CFLAGS@
|
||||
PTHREAD_CC = @PTHREAD_CC@
|
||||
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
|
||||
PTHREAD_LIBS = @PTHREAD_LIBS@
|
||||
PYTHON = @PYTHON@
|
||||
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
|
||||
PYTHON_PLATFORM = @PYTHON_PLATFORM@
|
||||
PYTHON_PREFIX = @PYTHON_PREFIX@
|
||||
PYTHON_VERSION = @PYTHON_VERSION@
|
||||
QTCHOOSER = @QTCHOOSER@
|
||||
QT_CFLAGS = @QT_CFLAGS@
|
||||
QT_LIBS = @QT_LIBS@
|
||||
QT_MOC = @QT_MOC@
|
||||
RANLIB = @RANLIB@
|
||||
SDL_CFLAGS = @SDL_CFLAGS@
|
||||
SDL_LIBS = @SDL_LIBS@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
SSE2_CFLAGS = @SSE2_CFLAGS@
|
||||
SSE41_CFLAGS = @SSE41_CFLAGS@
|
||||
SSE_CFLAGS = @SSE_CFLAGS@
|
||||
STRIP = @STRIP@
|
||||
THEORA_CFLAGS = @THEORA_CFLAGS@
|
||||
THEORA_LIBS = @THEORA_LIBS@
|
||||
USE_GLES2 = @USE_GLES2@
|
||||
USE_NLS = @USE_NLS@
|
||||
USE_OPENGL = @USE_OPENGL@
|
||||
VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
|
||||
VALGRIND_LIBS = @VALGRIND_LIBS@
|
||||
VALGRIND_PATH = @VALGRIND_PATH@
|
||||
VERSION = @VERSION@
|
||||
VISIBILITY_CFLAGS = @VISIBILITY_CFLAGS@
|
||||
VISIBILITY_CXXFLAGS = @VISIBILITY_CXXFLAGS@
|
||||
VORBIS_CFLAGS = @VORBIS_CFLAGS@
|
||||
VORBIS_LIBS = @VORBIS_LIBS@
|
||||
WARNING_CFLAGS = @WARNING_CFLAGS@
|
||||
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
|
||||
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
|
||||
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
|
||||
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
|
||||
WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
|
||||
WAYLAND_SCANNER = @WAYLAND_SCANNER@
|
||||
WIN32_LIBS = @WIN32_LIBS@
|
||||
X11_XCB_CFLAGS = @X11_XCB_CFLAGS@
|
||||
X11_XCB_LIBS = @X11_XCB_LIBS@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
XGETTEXT_015 = @XGETTEXT_015@
|
||||
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
|
||||
XSHM_CFLAGS = @XSHM_CFLAGS@
|
||||
XSHM_LIBS = @XSHM_LIBS@
|
||||
XVIDEO_CFLAGS = @XVIDEO_CFLAGS@
|
||||
XVIDEO_LIBS = @XVIDEO_LIBS@
|
||||
X_CFLAGS = @X_CFLAGS@
|
||||
X_LIBS = @X_LIBS@
|
||||
ZLIB_CFLAGS = @ZLIB_CFLAGS@
|
||||
ZLIB_LIBS = @ZLIB_LIBS@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
ac_ct_OBJC = @ac_ct_OBJC@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
ax_pthread_config = @ax_pthread_config@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
pkgpyexecdir = @pkgpyexecdir@
|
||||
pkgpythondir = @pkgpythondir@
|
||||
plugindir = @plugindir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
pyexecdir = @pyexecdir@
|
||||
pythondir = @pythondir@
|
||||
runstatedir = @runstatedir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target = @target@
|
||||
target_alias = @target_alias@
|
||||
target_cpu = @target_cpu@
|
||||
target_os = @target_os@
|
||||
target_vendor = @target_vendor@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
EXTRA_DIST = \
|
||||
README \
|
||||
as-ac-expand.m4 \
|
||||
as-auto-alt.m4 \
|
||||
as-compiler-flag.m4 \
|
||||
as-compiler.m4 \
|
||||
as-docbook.m4 \
|
||||
as-gcc-inline-assembly.m4 \
|
||||
as-libtool.m4 \
|
||||
as-libtool-tags.m4 \
|
||||
as-python.m4 \
|
||||
as-version.m4 \
|
||||
ax_create_stdint_h.m4 \
|
||||
ax_pthread.m4 \
|
||||
glib-gettext.m4 \
|
||||
gst-arch.m4 \
|
||||
gst-args.m4 \
|
||||
gst-check.m4 \
|
||||
gst-debuginfo.m4 \
|
||||
gst-default.m4 \
|
||||
gst-doc.m4 \
|
||||
gst-dowhile.m4 \
|
||||
gst-error.m4 \
|
||||
gst-feature.m4 \
|
||||
gst-function.m4 \
|
||||
gst-gettext.m4 \
|
||||
gst-glib2.m4 \
|
||||
gst-libxml2.m4 \
|
||||
gst-parser.m4 \
|
||||
gst-package-release-datetime.m4 \
|
||||
gst-platform.m4 \
|
||||
gst-plugindir.m4 \
|
||||
gst-plugin-docs.m4 \
|
||||
gst-valgrind.m4 \
|
||||
gst-x11.m4 \
|
||||
gst.m4 \
|
||||
gtk-doc.m4 \
|
||||
introspection.m4 \
|
||||
pkg.m4 \
|
||||
check.m4 \
|
||||
orc.m4
|
||||
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu common/m4/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu common/m4/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
tags TAGS:
|
||||
|
||||
ctags CTAGS:
|
||||
|
||||
cscope cscopelist:
|
||||
|
||||
|
||||
distdir: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||
|
||||
distdir-am: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile
|
||||
installdirs:
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
||||
cscopelist-am ctags-am distclean distclean-generic \
|
||||
distclean-libtool distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags-am uninstall uninstall-am
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
|
@ -0,0 +1,3 @@
|
|||
All aclocal .m4 files we need are put here and cat'd to acinclude.m4 in
|
||||
the source root. Official ones (taken from the relevant devel packages)
|
||||
are named as-is, unofficial ones (or changed ones) get a gst-prefix.
|
|
@ -0,0 +1,43 @@
|
|||
dnl as-ac-expand.m4 0.2.0
|
||||
dnl autostars m4 macro for expanding directories using configure's prefix
|
||||
dnl thomas@apestaart.org
|
||||
|
||||
dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR)
|
||||
dnl example
|
||||
dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
|
||||
dnl will set SYSCONFDIR to /usr/local/etc if prefix=/usr/local
|
||||
|
||||
AC_DEFUN([AS_AC_EXPAND],
|
||||
[
|
||||
EXP_VAR=[$1]
|
||||
FROM_VAR=[$2]
|
||||
|
||||
dnl first expand prefix and exec_prefix if necessary
|
||||
prefix_save=$prefix
|
||||
exec_prefix_save=$exec_prefix
|
||||
|
||||
dnl if no prefix given, then use /usr/local, the default prefix
|
||||
if test "x$prefix" = "xNONE"; then
|
||||
prefix="$ac_default_prefix"
|
||||
fi
|
||||
dnl if no exec_prefix given, then use prefix
|
||||
if test "x$exec_prefix" = "xNONE"; then
|
||||
exec_prefix=$prefix
|
||||
fi
|
||||
|
||||
full_var="$FROM_VAR"
|
||||
dnl loop until it doesn't change anymore
|
||||
while true; do
|
||||
new_full_var="`eval echo $full_var`"
|
||||
if test "x$new_full_var" = "x$full_var"; then break; fi
|
||||
full_var=$new_full_var
|
||||
done
|
||||
|
||||
dnl clean up
|
||||
full_var=$new_full_var
|
||||
AC_SUBST([$1], "$full_var")
|
||||
|
||||
dnl restore prefix and exec_prefix
|
||||
prefix=$prefix_save
|
||||
exec_prefix=$exec_prefix_save
|
||||
])
|
|
@ -0,0 +1,50 @@
|
|||
dnl as-auto-alt.m4 0.0.2
|
||||
dnl autostars m4 macro for supplying alternate autotools versions to configure
|
||||
dnl thomas@apestaart.org
|
||||
dnl
|
||||
dnl AS_AUTOTOOLS_ALTERNATE()
|
||||
dnl
|
||||
dnl supplies --with arguments for autoconf, autoheader, automake, aclocal
|
||||
|
||||
AC_DEFUN([AS_AUTOTOOLS_ALTERNATE],
|
||||
[
|
||||
dnl allow for different autoconf version
|
||||
AC_ARG_WITH(autoconf,
|
||||
AC_HELP_STRING([--with-autoconf],
|
||||
[use a different autoconf for regeneration of Makefiles]),
|
||||
[
|
||||
unset AUTOCONF
|
||||
AM_MISSING_PROG(AUTOCONF, ${withval})
|
||||
AC_MSG_NOTICE([Using $AUTOCONF as autoconf])
|
||||
])
|
||||
|
||||
dnl allow for different autoheader version
|
||||
AC_ARG_WITH(autoheader,
|
||||
AC_HELP_STRING([--with-autoheader],
|
||||
[use a different autoheader for regeneration of Makefiles]),
|
||||
[
|
||||
unset AUTOHEADER
|
||||
AM_MISSING_PROG(AUTOHEADER, ${withval})
|
||||
AC_MSG_NOTICE([Using $AUTOHEADER as autoheader])
|
||||
])
|
||||
|
||||
dnl allow for different automake version
|
||||
AC_ARG_WITH(automake,
|
||||
AC_HELP_STRING([--with-automake],
|
||||
[use a different automake for regeneration of Makefiles]),
|
||||
[
|
||||
unset AUTOMAKE
|
||||
AM_MISSING_PROG(AUTOMAKE, ${withval})
|
||||
AC_MSG_NOTICE([Using $AUTOMAKE as automake])
|
||||
])
|
||||
|
||||
dnl allow for different aclocal version
|
||||
AC_ARG_WITH(aclocal,
|
||||
AC_HELP_STRING([--with-aclocal],
|
||||
[use a different aclocal for regeneration of Makefiles]),
|
||||
[
|
||||
unset ACLOCAL
|
||||
AM_MISSING_PROG(ACLOCAL, ${withval})
|
||||
AC_MSG_NOTICE([Using $ACLOCAL as aclocal])
|
||||
])
|
||||
])
|
|
@ -0,0 +1,96 @@
|
|||
dnl as-compiler-flag.m4 0.1.0
|
||||
|
||||
dnl autostars m4 macro for detection of compiler flags
|
||||
|
||||
dnl David Schleef <ds@schleef.org>
|
||||
dnl Tim-Philipp Müller <tim centricular net>
|
||||
|
||||
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
|
||||
$2
|
||||
true
|
||||
else
|
||||
$3
|
||||
true
|
||||
fi
|
||||
AC_MSG_RESULT([$flag_ok])
|
||||
])
|
||||
|
||||
dnl AS_CXX_COMPILER_FLAG(CPPFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
|
||||
dnl Tries to compile with the given CPPFLAGS.
|
||||
dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags,
|
||||
dnl and ACTION-IF-NOT-ACCEPTED otherwise.
|
||||
|
||||
AC_DEFUN([AS_CXX_COMPILER_FLAG],
|
||||
[
|
||||
AC_REQUIRE([AC_PROG_CXX])
|
||||
|
||||
AC_MSG_CHECKING([to see if c++ compiler understands $1])
|
||||
|
||||
save_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $1"
|
||||
|
||||
AC_LANG_PUSH(C++)
|
||||
|
||||
AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
|
||||
CPPFLAGS="$save_CPPFLAGS"
|
||||
|
||||
if test "X$flag_ok" = Xyes ; then
|
||||
$2
|
||||
true
|
||||
else
|
||||
$3
|
||||
true
|
||||
fi
|
||||
|
||||
AC_LANG_POP(C++)
|
||||
|
||||
AC_MSG_RESULT([$flag_ok])
|
||||
])
|
||||
|
||||
dnl AS_OBJC_COMPILER_FLAG(CPPFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
|
||||
dnl Tries to compile with the given CPPFLAGS.
|
||||
dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags,
|
||||
dnl and ACTION-IF-NOT-ACCEPTED otherwise.
|
||||
|
||||
AC_DEFUN([AS_OBJC_COMPILER_FLAG],
|
||||
[
|
||||
AC_REQUIRE([AC_PROG_OBJC])
|
||||
|
||||
AC_MSG_CHECKING([to see if Objective C compiler understands $1])
|
||||
|
||||
save_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $1"
|
||||
|
||||
AC_LANG_PUSH([Objective C])
|
||||
|
||||
AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
|
||||
CPPFLAGS="$save_CPPFLAGS"
|
||||
|
||||
if test "X$flag_ok" = Xyes ; then
|
||||
$2
|
||||
true
|
||||
else
|
||||
$3
|
||||
true
|
||||
fi
|
||||
|
||||
AC_LANG_POP([Objective C])
|
||||
|
||||
AC_MSG_RESULT([$flag_ok])
|
||||
])
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
dnl as-compiler.m4 0.1.0
|
||||
|
||||
dnl autostars m4 macro for detection of compiler flavor
|
||||
|
||||
dnl Thomas Vander Stichele <thomas at apestaart dot org>
|
||||
|
||||
dnl $Id: as-compiler.m4,v 1.4 2004/06/01 09:44:19 thomasvs Exp $
|
||||
|
||||
dnl AS_COMPILER(COMPILER)
|
||||
dnl will set variable COMPILER to
|
||||
dnl - gcc
|
||||
dnl - forte
|
||||
dnl - (empty) if no guess could be made
|
||||
|
||||
AC_DEFUN([AS_COMPILER],
|
||||
[
|
||||
as_compiler=
|
||||
AC_MSG_CHECKING(for compiler flavour)
|
||||
|
||||
dnl is it gcc ?
|
||||
if test "x$GCC" = "xyes"; then
|
||||
as_compiler="gcc"
|
||||
fi
|
||||
|
||||
dnl is it forte ?
|
||||
AC_TRY_RUN([
|
||||
int main
|
||||
(int argc, char *argv[])
|
||||
{
|
||||
#ifdef __sun
|
||||
return 0;
|
||||
#else
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
], as_compiler="forte", ,)
|
||||
|
||||
if test "x$as_compiler" = "x"; then
|
||||
AC_MSG_RESULT([unknown !])
|
||||
else
|
||||
AC_MSG_RESULT($as_compiler)
|
||||
fi
|
||||
[$1]=$as_compiler
|
||||
])
|
|
@ -0,0 +1,78 @@
|
|||
dnl AS_DOCBOOK([, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
||||
dnl checks if xsltproc can build docbook documentation
|
||||
dnl (which is possible if the catalog is set up properly
|
||||
dnl I also tried checking for a specific version and type of docbook
|
||||
dnl but xsltproc seemed to happily run anyway, so we can't check for that
|
||||
dnl and version
|
||||
dnl this macro takes inspiration from
|
||||
dnl http://www.movement.uklinux.net/docs/docbook-autotools/configure.html
|
||||
AC_DEFUN([AS_DOCBOOK],
|
||||
[
|
||||
XSLTPROC_FLAGS=--nonet
|
||||
DOCBOOK_ROOT=
|
||||
TYPE_LC=xml
|
||||
TYPE_UC=XML
|
||||
DOCBOOK_VERSION=4.1.2
|
||||
|
||||
if test -n "$XML_CATALOG_FILES"; then
|
||||
oldIFS=$IFS
|
||||
IFS=' '
|
||||
for xml_catalog_file in $XML_CATALOG_FILES; do
|
||||
if test -f $xml_catalog_file; then
|
||||
XML_CATALOG=$xml_catalog_file
|
||||
CAT_ENTRY_START='<!--'
|
||||
CAT_ENTRY_END='-->'
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS=$oldIFS
|
||||
elif test ! -f /etc/xml/catalog; then
|
||||
for i in /usr/share/sgml/docbook/stylesheet/xsl/nwalsh /usr/share/sgml/docbook/xsl-stylesheets/ /usr/local/share/xsl/docbook ;
|
||||
do
|
||||
if test -d "$i"; then
|
||||
DOCBOOK_ROOT=$i
|
||||
fi
|
||||
done
|
||||
else
|
||||
XML_CATALOG=/etc/xml/catalog
|
||||
CAT_ENTRY_START='<!--'
|
||||
CAT_ENTRY_END='-->'
|
||||
fi
|
||||
|
||||
dnl We need xsltproc to process the test
|
||||
AC_CHECK_PROG(XSLTPROC,xsltproc,xsltproc,)
|
||||
XSLTPROC_WORKS=no
|
||||
if test -n "$XSLTPROC"; then
|
||||
AC_MSG_CHECKING([whether xsltproc docbook processing works])
|
||||
|
||||
if test -n "$XML_CATALOG"; then
|
||||
DB_FILE="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"
|
||||
else
|
||||
DB_FILE="$DOCBOOK_ROOT/xhtml/docbook.xsl"
|
||||
fi
|
||||
$XSLTPROC $XSLTPROC_FLAGS $DB_FILE >/dev/null 2>&1 << END
|
||||
<?xml version="1.0" encoding='ISO-8859-1'?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook $TYPE_UC V$DOCBOOK_VERSION//EN" "http://www.oasis-open.org/docbook/$TYPE_LC/$DOCBOOK_VERSION/docbookx.dtd">
|
||||
<book id="test">
|
||||
</book>
|
||||
END
|
||||
if test "$?" = 0; then
|
||||
XSLTPROC_WORKS=yes
|
||||
fi
|
||||
AC_MSG_RESULT($XSLTPROC_WORKS)
|
||||
fi
|
||||
|
||||
if test "x$XSLTPROC_WORKS" = "xyes"; then
|
||||
dnl execute ACTION-IF-FOUND
|
||||
ifelse([$1], , :, [$1])
|
||||
else
|
||||
dnl execute ACTION-IF-NOT-FOUND
|
||||
ifelse([$2], , :, [$2])
|
||||
fi
|
||||
|
||||
AC_SUBST(XML_CATALOG)
|
||||
AC_SUBST(XSLTPROC_FLAGS)
|
||||
AC_SUBST(DOCBOOK_ROOT)
|
||||
AC_SUBST(CAT_ENTRY_START)
|
||||
AC_SUBST(CAT_ENTRY_END)
|
||||
])
|
|
@ -0,0 +1,52 @@
|
|||
dnl as-gcc-inline-assembly.m4 0.1.0
|
||||
|
||||
dnl autostars m4 macro for detection of gcc inline assembly
|
||||
|
||||
dnl David Schleef <ds@schleef.org>
|
||||
|
||||
dnl $Id$
|
||||
|
||||
dnl AS_COMPILER_FLAG(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_GCC_INLINE_ASSEMBLY],
|
||||
[
|
||||
AC_MSG_CHECKING([if compiler supports gcc-style inline assembly])
|
||||
|
||||
AC_TRY_COMPILE([], [
|
||||
#ifdef __GNUC_MINOR__
|
||||
#if (__GNUC__ * 1000 + __GNUC_MINOR__) < 3004
|
||||
#error GCC before 3.4 has critical bugs compiling inline assembly
|
||||
#endif
|
||||
#endif
|
||||
__asm__ (""::) ], [flag_ok=yes], [flag_ok=no])
|
||||
|
||||
if test "X$flag_ok" = Xyes ; then
|
||||
$1
|
||||
true
|
||||
else
|
||||
$2
|
||||
true
|
||||
fi
|
||||
AC_MSG_RESULT([$flag_ok])
|
||||
])
|
||||
|
||||
|
||||
AC_DEFUN([AS_GCC_ASM_POWERPC_FPU],
|
||||
[
|
||||
AC_MSG_CHECKING([if compiler supports FPU instructions on PowerPC])
|
||||
|
||||
AC_TRY_COMPILE([], [__asm__ ("fadd 0,0,0"::) ], [flag_ok=yes], [flag_ok=no])
|
||||
|
||||
if test "X$flag_ok" = Xyes ; then
|
||||
$1
|
||||
true
|
||||
else
|
||||
$2
|
||||
true
|
||||
fi
|
||||
AC_MSG_RESULT([$flag_ok])
|
||||
])
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
dnl as-libtool-tags.m4 0.1.4
|
||||
|
||||
dnl autostars m4 macro for selecting libtool "tags" (languages)
|
||||
|
||||
dnl Andy Wingo does not claim credit for this macro
|
||||
dnl backported from libtool 1.6 by Paolo Bonzini
|
||||
dnl see http://lists.gnu.org/archive/html/libtool/2003-12/msg00007.html
|
||||
|
||||
dnl $Id$
|
||||
|
||||
dnl AS_LIBTOOL_TAGS([tags...])
|
||||
|
||||
dnl example
|
||||
dnl AS_LIBTOOL_TAGS([]) for only C (no fortran, etc)
|
||||
|
||||
dnl When AC_LIBTOOL_TAGS is used, I redefine _LT_AC_TAGCONFIG
|
||||
dnl to be more similar to the libtool 1.6 implementation, which
|
||||
dnl uses an m4 loop and m4 case instead of a shell loop. This
|
||||
dnl way the CXX/GCJ/F77/RC tests are not always expanded.
|
||||
|
||||
dnl AS_LIBTOOL_TAGS
|
||||
dnl ---------------
|
||||
dnl tags to enable
|
||||
AC_DEFUN([AS_LIBTOOL_TAGS],
|
||||
[m4_define([_LT_TAGS],[$1])
|
||||
m4_define([_LT_AC_TAGCONFIG], [
|
||||
# redefined LT AC TAGCONFIG
|
||||
if test -f "$ltmain"; then
|
||||
if test ! -f "${ofile}"; then
|
||||
AC_MSG_WARN([output file `$ofile' does not exist])
|
||||
fi
|
||||
|
||||
if test -z "$LTCC"; then
|
||||
eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
|
||||
if test -z "$LTCC"; then
|
||||
AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
|
||||
else
|
||||
AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_FOREACH([_LT_TAG], _LT_TAGS,
|
||||
echo THOMAS: tag _LT_TAG
|
||||
[m4_case(_LT_TAG,
|
||||
[CXX], [
|
||||
if test -n "$CXX" && test "X$CXX" != "Xno"; then
|
||||
echo "THOMAS: YAY CXX"
|
||||
AC_LIBTOOL_LANG_CXX_CONFIG
|
||||
available_tags="$available_tags _LT_TAG"
|
||||
fi],
|
||||
[F77], [
|
||||
if test -n "$F77" && test "X$F77" != "Xno"; then
|
||||
AC_LIBTOOL_LANG_F77_CONFIG
|
||||
available_tags="$available_tags _LT_TAG"
|
||||
fi],
|
||||
[GCJ], [
|
||||
if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
|
||||
AC_LIBTOOL_LANG_GCJ_CONFIG
|
||||
available_tags="$available_tags _LT_TAG"
|
||||
fi],
|
||||
[RC], [
|
||||
if test -n "$RC" && test "X$RC" != "Xno"; then
|
||||
AC_LIBTOOL_LANG_RC_CONFIG
|
||||
available_tags="$available_tags _LT_TAG"
|
||||
fi],
|
||||
[m4_errprintn(m4_location[: error: invalid tag name: ]"_LT_TAG")
|
||||
m4_exit(1)])
|
||||
])
|
||||
echo THOMAS: available tags: $available_tags
|
||||
fi
|
||||
# Now substitute the updated list of available tags.
|
||||
if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
|
||||
mv "${ofile}T" "$ofile"
|
||||
chmod +x "$ofile"
|
||||
AC_MSG_NOTICE([updated available libtool tags with $available_tags.])
|
||||
else
|
||||
rm -f "${ofile}T"
|
||||
AC_MSG_ERROR([unable to update list of available tagged configurations.])
|
||||
|
||||
fi
|
||||
|
||||
])dnl _LT_AC_TAG_CONFIG
|
||||
])
|
|
@ -0,0 +1,46 @@
|
|||
dnl as-libtool.m4 0.1.4
|
||||
|
||||
dnl autostars m4 macro for libtool versioning
|
||||
|
||||
dnl Thomas Vander Stichele <thomas at apestaart dot org>
|
||||
|
||||
dnl $Id: as-libtool.m4,v 1.10 2005/10/15 13:44:23 thomasvs Exp $
|
||||
|
||||
dnl AS_LIBTOOL(PREFIX, CURRENT, REVISION, AGE, [RELEASE])
|
||||
|
||||
dnl example
|
||||
dnl AS_LIBTOOL(GST, 2, 0, 0)
|
||||
|
||||
dnl this macro
|
||||
dnl - defines [$PREFIX]_CURRENT, REVISION and AGE
|
||||
dnl - defines [$PREFIX]_LIBVERSION
|
||||
dnl - defines [$PREFIX]_LT_LDFLAGS to set versioning
|
||||
dnl - AC_SUBST's them all
|
||||
|
||||
dnl if RELEASE is given, then add a -release option to the LDFLAGS
|
||||
dnl with the given release version
|
||||
dnl then use [$PREFIX]_LT_LDFLAGS in the relevant Makefile.am's
|
||||
|
||||
dnl call AM_PROG_LIBTOOL after this call
|
||||
|
||||
AC_DEFUN([AS_LIBTOOL],
|
||||
[
|
||||
[$1]_CURRENT=[$2]
|
||||
[$1]_REVISION=[$3]
|
||||
[$1]_AGE=[$4]
|
||||
[$1]_LIBVERSION=[$2]:[$3]:[$4]
|
||||
AC_SUBST([$1]_CURRENT)
|
||||
AC_SUBST([$1]_REVISION)
|
||||
AC_SUBST([$1]_AGE)
|
||||
AC_SUBST([$1]_LIBVERSION)
|
||||
|
||||
[$1]_LT_LDFLAGS="$[$1]_LT_LDFLAGS -version-info $[$1]_LIBVERSION"
|
||||
if test ! -z "[$5]"
|
||||
then
|
||||
[$1]_LT_LDFLAGS="$[$1]_LT_LDFLAGS -release [$5]"
|
||||
fi
|
||||
AC_SUBST([$1]_LT_LDFLAGS)
|
||||
|
||||
LT_PREREQ([2.2.6])
|
||||
LT_INIT([dlopen win32-dll disable-static])
|
||||
])
|
|
@ -0,0 +1,152 @@
|
|||
## ------------------------
|
||||
## Python file handling
|
||||
## From Andrew Dalke
|
||||
## Updated by James Henstridge
|
||||
## Updated by Andy Wingo to loop through possible pythons
|
||||
## ------------------------
|
||||
|
||||
# AS_PATH_PYTHON([MINIMUM-VERSION])
|
||||
|
||||
# Adds support for distributing Python modules and packages. To
|
||||
# install modules, copy them to $(pythondir), using the python_PYTHON
|
||||
# automake variable. To install a package with the same name as the
|
||||
# automake package, install to $(pkgpythondir), or use the
|
||||
# pkgpython_PYTHON automake variable.
|
||||
|
||||
# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as
|
||||
# locations to install python extension modules (shared libraries).
|
||||
# Another macro is required to find the appropriate flags to compile
|
||||
# extension modules.
|
||||
|
||||
# If your package is configured with a different prefix to python,
|
||||
# users will have to add the install directory to the PYTHONPATH
|
||||
# environment variable, or create a .pth file (see the python
|
||||
# documentation for details).
|
||||
|
||||
# If the MINIMUM-VERSION argument is passed, AS_PATH_PYTHON will
|
||||
# cause an error if the version of python installed on the system
|
||||
# doesn't meet the requirement. MINIMUM-VERSION should consist of
|
||||
# numbers and dots only.
|
||||
|
||||
# Updated to loop over all possible python binaries by Andy Wingo
|
||||
# <wingo@pobox.com>
|
||||
# Updated to only warn and unset PYTHON if no good one is found
|
||||
|
||||
AC_DEFUN([AS_PATH_PYTHON],
|
||||
[
|
||||
dnl Find a version of Python. I could check for python versions 1.4
|
||||
dnl or earlier, but the default installation locations changed from
|
||||
dnl $prefix/lib/site-python in 1.4 to $prefix/lib/python1.5/site-packages
|
||||
dnl in 1.5, and I don't want to maintain that logic.
|
||||
|
||||
dnl should we do the version check?
|
||||
PYTHON_CANDIDATES="python python2.2 python2.1 python2.0 python2 \
|
||||
python1.6 python1.5"
|
||||
ifelse([$1],[],
|
||||
[AC_PATH_PROG(PYTHON, $PYTHON_CANDIDATES)],
|
||||
[
|
||||
AC_MSG_NOTICE(Looking for Python version >= $1)
|
||||
changequote(<<, >>)dnl
|
||||
prog="
|
||||
import sys, string
|
||||
minver = '$1'
|
||||
# split string by '.' and convert to numeric
|
||||
minver_info = map(string.atoi, string.split(minver, '.'))
|
||||
# we can now do comparisons on the two lists:
|
||||
if sys.version_info >= tuple(minver_info):
|
||||
sys.exit(0)
|
||||
else:
|
||||
sys.exit(1)"
|
||||
changequote([, ])dnl
|
||||
|
||||
python_good=false
|
||||
for python_candidate in $PYTHON_CANDIDATES; do
|
||||
unset PYTHON
|
||||
AC_PATH_PROG(PYTHON, $python_candidate) 1> /dev/null 2> /dev/null
|
||||
|
||||
if test "x$PYTHON" = "x"; then continue; fi
|
||||
|
||||
if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC; then
|
||||
AC_MSG_CHECKING(["$PYTHON":])
|
||||
AC_MSG_RESULT([okay])
|
||||
python_good=true
|
||||
break;
|
||||
else
|
||||
dnl clear the cache val
|
||||
unset ac_cv_path_PYTHON
|
||||
fi
|
||||
done
|
||||
])
|
||||
|
||||
if test "$python_good" != "true"; then
|
||||
AC_MSG_WARN([No suitable version of python found])
|
||||
PYTHON=
|
||||
else
|
||||
|
||||
AC_MSG_CHECKING([local Python configuration])
|
||||
|
||||
dnl Query Python for its version number. Getting [:3] seems to be
|
||||
dnl the best way to do this; it's what "site.py" does in the standard
|
||||
dnl library. Need to change quote character because of [:3]
|
||||
|
||||
AC_SUBST(PYTHON_VERSION)
|
||||
changequote(<<, >>)dnl
|
||||
PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[:3]"`
|
||||
changequote([, ])dnl
|
||||
|
||||
|
||||
dnl Use the values of $prefix and $exec_prefix for the corresponding
|
||||
dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made
|
||||
dnl distinct variables so they can be overridden if need be. However,
|
||||
dnl general consensus is that you shouldn't need this ability.
|
||||
|
||||
AC_SUBST(PYTHON_PREFIX)
|
||||
PYTHON_PREFIX='${prefix}'
|
||||
|
||||
AC_SUBST(PYTHON_EXEC_PREFIX)
|
||||
PYTHON_EXEC_PREFIX='${exec_prefix}'
|
||||
|
||||
dnl At times (like when building shared libraries) you may want
|
||||
dnl to know which OS platform Python thinks this is.
|
||||
|
||||
AC_SUBST(PYTHON_PLATFORM)
|
||||
PYTHON_PLATFORM=`$PYTHON -c "import sys; print sys.platform"`
|
||||
|
||||
|
||||
dnl Set up 4 directories:
|
||||
|
||||
dnl pythondir -- where to install python scripts. This is the
|
||||
dnl site-packages directory, not the python standard library
|
||||
dnl directory like in previous automake betas. This behaviour
|
||||
dnl is more consistent with lispdir.m4 for example.
|
||||
dnl
|
||||
dnl Also, if the package prefix isn't the same as python's prefix,
|
||||
dnl then the old $(pythondir) was pretty useless.
|
||||
|
||||
AC_SUBST(pythondir)
|
||||
pythondir=$PYTHON_PREFIX"/lib/python"$PYTHON_VERSION/site-packages
|
||||
|
||||
dnl pkgpythondir -- $PACKAGE directory under pythondir. Was
|
||||
dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is
|
||||
dnl more consistent with the rest of automake.
|
||||
dnl Maybe this should be put in python.am?
|
||||
|
||||
AC_SUBST(pkgpythondir)
|
||||
pkgpythondir=\${pythondir}/$PACKAGE
|
||||
|
||||
dnl pyexecdir -- directory for installing python extension modules
|
||||
dnl (shared libraries) Was PYTHON_SITE_EXEC in previous betas.
|
||||
|
||||
AC_SUBST(pyexecdir)
|
||||
pyexecdir=$PYTHON_EXEC_PREFIX"/lib/python"$PYTHON_VERSION/site-packages
|
||||
|
||||
dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
|
||||
dnl Maybe this should be put in python.am?
|
||||
|
||||
AC_SUBST(pkgpyexecdir)
|
||||
pkgpyexecdir=\${pyexecdir}/$PACKAGE
|
||||
|
||||
AC_MSG_RESULT([looks good])
|
||||
|
||||
fi
|
||||
])
|
|
@ -0,0 +1,75 @@
|
|||
dnl as-version.m4 0.2.0
|
||||
|
||||
dnl autostars m4 macro for versioning
|
||||
|
||||
dnl Thomas Vander Stichele <thomas at apestaart dot org>
|
||||
|
||||
dnl $Id: as-version.m4,v 1.15 2006/04/01 09:40:24 thomasvs Exp $
|
||||
|
||||
dnl AS_VERSION
|
||||
|
||||
dnl example
|
||||
dnl AS_VERSION
|
||||
|
||||
dnl this macro
|
||||
dnl - AC_SUBST's PACKAGE_VERSION_MAJOR, _MINOR, _MICRO
|
||||
dnl - AC_SUBST's PACKAGE_VERSION_RELEASE,
|
||||
dnl which can be used for rpm release fields
|
||||
dnl - doesn't call AM_INIT_AUTOMAKE anymore because it prevents
|
||||
dnl maintainer mode from running correctly
|
||||
dnl
|
||||
dnl don't forget to put #undef PACKAGE_VERSION_RELEASE in acconfig.h
|
||||
dnl if you use acconfig.h
|
||||
|
||||
AC_DEFUN([AS_VERSION],
|
||||
[
|
||||
PACKAGE_VERSION_MAJOR=$(echo AC_PACKAGE_VERSION | cut -d'.' -f1)
|
||||
PACKAGE_VERSION_MINOR=$(echo AC_PACKAGE_VERSION | cut -d'.' -f2)
|
||||
PACKAGE_VERSION_MICRO=$(echo AC_PACKAGE_VERSION | cut -d'.' -f3)
|
||||
|
||||
AC_SUBST(PACKAGE_VERSION_MAJOR)
|
||||
AC_SUBST(PACKAGE_VERSION_MINOR)
|
||||
AC_SUBST(PACKAGE_VERSION_MICRO)
|
||||
])
|
||||
|
||||
dnl AS_NANO(ACTION-IF-NANO-NON-NULL, [ACTION-IF-NANO-NULL])
|
||||
|
||||
dnl requires AC_INIT to be called before
|
||||
dnl For projects using a fourth or nano number in your versioning to indicate
|
||||
dnl development or prerelease snapshots, this macro allows the build to be
|
||||
dnl set up differently accordingly.
|
||||
|
||||
dnl this macro:
|
||||
dnl - parses AC_PACKAGE_VERSION, set by AC_INIT, and extracts the nano number
|
||||
dnl - sets the variable PACKAGE_VERSION_NANO
|
||||
dnl - sets the variable PACKAGE_VERSION_RELEASE, which can be used
|
||||
dnl for rpm release fields
|
||||
dnl - executes ACTION-IF-NANO-NON-NULL or ACTION-IF-NANO-NULL
|
||||
|
||||
dnl example:
|
||||
dnl AS_NANO(RELEASE="yes", RELEASE="no")
|
||||
|
||||
AC_DEFUN([AS_NANO],
|
||||
[
|
||||
AC_MSG_CHECKING(nano version)
|
||||
|
||||
NANO=$(echo AC_PACKAGE_VERSION | cut -d'.' -f4)
|
||||
|
||||
if test x"$NANO" = x || test "x$NANO" = "x0" ; then
|
||||
AC_MSG_RESULT([0 (release)])
|
||||
NANO=0
|
||||
PACKAGE_VERSION_RELEASE=1
|
||||
ifelse([$1], , :, [$1])
|
||||
else
|
||||
AC_MSG_RESULT($NANO)
|
||||
PACKAGE_VERSION_RELEASE=0.`date +%Y%m%d.%H%M%S`
|
||||
if test "x$NANO" != "x1" ; then
|
||||
ifelse([$1], , :, [$1])
|
||||
else
|
||||
ifelse([$2], , :, [$2])
|
||||
fi
|
||||
fi
|
||||
PACKAGE_VERSION_NANO=$NANO
|
||||
AC_SUBST(PACKAGE_VERSION_NANO)
|
||||
AC_SUBST(PACKAGE_VERSION_RELEASE)
|
||||
])
|
|
@ -0,0 +1,734 @@
|
|||
##### http://autoconf-archive.cryp.to/ax_create_stdint_h.html
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_CREATE_STDINT_H [( HEADER-TO-GENERATE [, HEDERS-TO-CHECK])]
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# the "ISO C9X: 7.18 Integer types <stdint.h>" section requires the
|
||||
# existence of an include file <stdint.h> that defines a set of
|
||||
# typedefs, especially uint8_t,int32_t,uintptr_t. Many older
|
||||
# installations will not provide this file, but some will have the
|
||||
# very same definitions in <inttypes.h>. In other enviroments we can
|
||||
# use the inet-types in <sys/types.h> which would define the typedefs
|
||||
# int8_t and u_int8_t respectivly.
|
||||
#
|
||||
# This macros will create a local "_stdint.h" or the headerfile given
|
||||
# as an argument. In many cases that file will just "#include
|
||||
# <stdint.h>" or "#include <inttypes.h>", while in other environments
|
||||
# it will provide the set of basic 'stdint's definitions/typedefs:
|
||||
#
|
||||
# int8_t,uint8_t,int16_t,uint16_t,int32_t,uint32_t,intptr_t,uintptr_t
|
||||
# int_least32_t.. int_fast32_t.. intmax_t
|
||||
#
|
||||
# which may or may not rely on the definitions of other files, or
|
||||
# using the AC_CHECK_SIZEOF macro to determine the actual sizeof each
|
||||
# type.
|
||||
#
|
||||
# if your header files require the stdint-types you will want to
|
||||
# create an installable file mylib-int.h that all your other
|
||||
# installable header may include. So if you have a library package
|
||||
# named "mylib", just use
|
||||
#
|
||||
# AX_CREATE_STDINT_H(mylib-int.h)
|
||||
#
|
||||
# in configure.ac and go to install that very header file in
|
||||
# Makefile.am along with the other headers (mylib.h) - and the
|
||||
# mylib-specific headers can simply use "#include <mylib-int.h>" to
|
||||
# obtain the stdint-types.
|
||||
#
|
||||
# Remember, if the system already had a valid <stdint.h>, the
|
||||
# generated file will include it directly. No need for fuzzy
|
||||
# HAVE_STDINT_H things... (oops, GCC 4.2.x has deliberatly disabled
|
||||
# its stdint.h for non-c99 compilation and the c99-mode is not the
|
||||
# default. Therefore this macro will not use the compiler's stdint.h
|
||||
# - please complain to the GCC developers).
|
||||
#
|
||||
# LAST MODIFICATION
|
||||
#
|
||||
# 2007-06-27
|
||||
#
|
||||
# COPYLEFT
|
||||
#
|
||||
# Copyright (c) 2007 Guido U. Draheim <guidod@gmx.de>
|
||||
#
|
||||
# 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 of the
|
||||
# License, 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, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
#
|
||||
# As a special exception, the respective Autoconf Macro's copyright
|
||||
# owner gives unlimited permission to copy, distribute and modify the
|
||||
# configure scripts that are the output of Autoconf when processing
|
||||
# the Macro. You need not follow the terms of the GNU General Public
|
||||
# License when using or distributing such scripts, even though
|
||||
# portions of the text of the Macro appear in them. The GNU General
|
||||
# Public License (GPL) does govern all other use of the material that
|
||||
# constitutes the Autoconf Macro.
|
||||
#
|
||||
# This special exception to the GPL applies to versions of the
|
||||
# Autoconf Macro released by the Autoconf Macro Archive. When you
|
||||
# make and distribute a modified version of the Autoconf Macro, you
|
||||
# may extend this special exception to the GPL to apply to your
|
||||
# modified version as well.
|
||||
|
||||
AC_DEFUN([AX_CHECK_DATA_MODEL],[
|
||||
AC_CHECK_SIZEOF(char)
|
||||
AC_CHECK_SIZEOF(short)
|
||||
AC_CHECK_SIZEOF(int)
|
||||
AC_CHECK_SIZEOF(long)
|
||||
AC_CHECK_SIZEOF(void*)
|
||||
ac_cv_char_data_model=""
|
||||
ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_char"
|
||||
ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_short"
|
||||
ac_cv_char_data_model="$ac_cv_char_data_model$ac_cv_sizeof_int"
|
||||
ac_cv_long_data_model=""
|
||||
ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_int"
|
||||
ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_long"
|
||||
ac_cv_long_data_model="$ac_cv_long_data_model$ac_cv_sizeof_voidp"
|
||||
AC_MSG_CHECKING([data model])
|
||||
case "$ac_cv_char_data_model/$ac_cv_long_data_model" in
|
||||
122/242) ac_cv_data_model="IP16" ; n="standard 16bit machine" ;;
|
||||
122/244) ac_cv_data_model="LP32" ; n="standard 32bit machine" ;;
|
||||
122/*) ac_cv_data_model="i16" ; n="unusual int16 model" ;;
|
||||
124/444) ac_cv_data_model="ILP32" ; n="standard 32bit unixish" ;;
|
||||
124/488) ac_cv_data_model="LP64" ; n="standard 64bit unixish" ;;
|
||||
124/448) ac_cv_data_model="LLP64" ; n="unusual 64bit unixish" ;;
|
||||
124/*) ac_cv_data_model="i32" ; n="unusual int32 model" ;;
|
||||
128/888) ac_cv_data_model="ILP64" ; n="unusual 64bit numeric" ;;
|
||||
128/*) ac_cv_data_model="i64" ; n="unusual int64 model" ;;
|
||||
222/*2) ac_cv_data_model="DSP16" ; n="strict 16bit dsptype" ;;
|
||||
333/*3) ac_cv_data_model="DSP24" ; n="strict 24bit dsptype" ;;
|
||||
444/*4) ac_cv_data_model="DSP32" ; n="strict 32bit dsptype" ;;
|
||||
666/*6) ac_cv_data_model="DSP48" ; n="strict 48bit dsptype" ;;
|
||||
888/*8) ac_cv_data_model="DSP64" ; n="strict 64bit dsptype" ;;
|
||||
222/*|333/*|444/*|666/*|888/*) :
|
||||
ac_cv_data_model="iDSP" ; n="unusual dsptype" ;;
|
||||
*) ac_cv_data_model="none" ; n="very unusual model" ;;
|
||||
esac
|
||||
AC_MSG_RESULT([$ac_cv_data_model ($ac_cv_long_data_model, $n)])
|
||||
])
|
||||
|
||||
dnl AX_CHECK_HEADER_STDINT_X([HEADERLIST][,ACTION-IF])
|
||||
AC_DEFUN([AX_CHECK_HEADER_STDINT_X],[
|
||||
AC_CACHE_CHECK([for stdint uintptr_t], [ac_cv_header_stdint_x],[
|
||||
ac_cv_header_stdint_x="" # the 1997 typedefs (inttypes.h)
|
||||
AC_MSG_RESULT([(..)])
|
||||
for i in m4_ifval([$1],[$1],[stdint.h inttypes.h sys/inttypes.h sys/types.h])
|
||||
do
|
||||
unset ac_cv_type_uintptr_t
|
||||
unset ac_cv_type_uint64_t
|
||||
AC_CHECK_TYPE(uintptr_t,[ac_cv_header_stdint_x=$i],continue,[#include <$i>])
|
||||
AC_CHECK_TYPE(uint64_t,[and64="/uint64_t"],[and64=""],[#include<$i>])
|
||||
m4_ifvaln([$2],[$2]) break
|
||||
done
|
||||
AC_MSG_CHECKING([for stdint uintptr_t])
|
||||
])
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_CHECK_HEADER_STDINT_O],[
|
||||
AC_CACHE_CHECK([for stdint uint32_t], [ac_cv_header_stdint_o],[
|
||||
ac_cv_header_stdint_o="" # the 1995 typedefs (sys/inttypes.h)
|
||||
AC_MSG_RESULT([(..)])
|
||||
for i in m4_ifval([$1],[$1],[inttypes.h sys/inttypes.h sys/types.h stdint.h])
|
||||
do
|
||||
unset ac_cv_type_uint32_t
|
||||
unset ac_cv_type_uint64_t
|
||||
AC_CHECK_TYPE(uint32_t,[ac_cv_header_stdint_o=$i],continue,[#include <$i>])
|
||||
AC_CHECK_TYPE(uint64_t,[and64="/uint64_t"],[and64=""],[#include<$i>])
|
||||
m4_ifvaln([$2],[$2]) break
|
||||
break;
|
||||
done
|
||||
AC_MSG_CHECKING([for stdint uint32_t])
|
||||
])
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_CHECK_HEADER_STDINT_U],[
|
||||
AC_CACHE_CHECK([for stdint u_int32_t], [ac_cv_header_stdint_u],[
|
||||
ac_cv_header_stdint_u="" # the BSD typedefs (sys/types.h)
|
||||
AC_MSG_RESULT([(..)])
|
||||
for i in m4_ifval([$1],[$1],[sys/types.h inttypes.h sys/inttypes.h]) ; do
|
||||
unset ac_cv_type_u_int32_t
|
||||
unset ac_cv_type_u_int64_t
|
||||
AC_CHECK_TYPE(u_int32_t,[ac_cv_header_stdint_u=$i],continue,[#include <$i>])
|
||||
AC_CHECK_TYPE(u_int64_t,[and64="/u_int64_t"],[and64=""],[#include<$i>])
|
||||
m4_ifvaln([$2],[$2]) break
|
||||
break;
|
||||
done
|
||||
AC_MSG_CHECKING([for stdint u_int32_t])
|
||||
])
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_CREATE_STDINT_H],
|
||||
[# ------ AX CREATE STDINT H -------------------------------------
|
||||
AC_MSG_CHECKING([for stdint types])
|
||||
ac_stdint_h=`echo ifelse($1, , _stdint.h, $1)`
|
||||
# try to shortcircuit - if the default include path of the compiler
|
||||
# can find a "stdint.h" header then we assume that all compilers can.
|
||||
AC_CACHE_VAL([ac_cv_header_stdint_t],[
|
||||
old_CXXFLAGS="$CXXFLAGS" ; CXXFLAGS=""
|
||||
old_CPPFLAGS="$CPPFLAGS" ; CPPFLAGS=""
|
||||
old_CFLAGS="$CFLAGS" ; CFLAGS=""
|
||||
AC_TRY_COMPILE([#include <stdint.h>],[int_least32_t v = 0;],
|
||||
[ac_cv_stdint_result="(assuming C99 compatible system)"
|
||||
ac_cv_header_stdint_t="stdint.h"; ],
|
||||
[ac_cv_header_stdint_t=""])
|
||||
if test "$GCC" = "yes" && test ".$ac_cv_header_stdint_t" = "."; then
|
||||
CFLAGS="-std=c99"
|
||||
AC_TRY_COMPILE([#include <stdint.h>],[int_least32_t v = 0;],
|
||||
[AC_MSG_WARN(your GCC compiler has a defunct stdint.h for its default-mode)])
|
||||
fi
|
||||
CXXFLAGS="$old_CXXFLAGS"
|
||||
CPPFLAGS="$old_CPPFLAGS"
|
||||
CFLAGS="$old_CFLAGS" ])
|
||||
|
||||
v="... $ac_cv_header_stdint_h"
|
||||
if test "$ac_stdint_h" = "stdint.h" ; then
|
||||
AC_MSG_RESULT([(are you sure you want them in ./stdint.h?)])
|
||||
elif test "$ac_stdint_h" = "inttypes.h" ; then
|
||||
AC_MSG_RESULT([(are you sure you want them in ./inttypes.h?)])
|
||||
elif test "_$ac_cv_header_stdint_t" = "_" ; then
|
||||
AC_MSG_RESULT([(putting them into $ac_stdint_h)$v])
|
||||
else
|
||||
ac_cv_header_stdint="$ac_cv_header_stdint_t"
|
||||
AC_MSG_RESULT([$ac_cv_header_stdint (shortcircuit)])
|
||||
fi
|
||||
|
||||
if test "_$ac_cv_header_stdint_t" = "_" ; then # can not shortcircuit..
|
||||
|
||||
dnl .....intro message done, now do a few system checks.....
|
||||
dnl btw, all old CHECK_TYPE macros do automatically "DEFINE" a type,
|
||||
dnl therefore we use the autoconf implementation detail CHECK_TYPE_NEW
|
||||
dnl instead that is triggered with 3 or more arguments (see types.m4)
|
||||
|
||||
inttype_headers=`echo $2 | sed -e 's/,/ /g'`
|
||||
|
||||
ac_cv_stdint_result="(no helpful system typedefs seen)"
|
||||
AX_CHECK_HEADER_STDINT_X(dnl
|
||||
stdint.h inttypes.h sys/inttypes.h $inttype_headers,
|
||||
ac_cv_stdint_result="(seen uintptr_t$and64 in $i)")
|
||||
|
||||
if test "_$ac_cv_header_stdint_x" = "_" ; then
|
||||
AX_CHECK_HEADER_STDINT_O(dnl,
|
||||
inttypes.h sys/inttypes.h stdint.h $inttype_headers,
|
||||
ac_cv_stdint_result="(seen uint32_t$and64 in $i)")
|
||||
fi
|
||||
|
||||
if test "_$ac_cv_header_stdint_x" = "_" ; then
|
||||
if test "_$ac_cv_header_stdint_o" = "_" ; then
|
||||
AX_CHECK_HEADER_STDINT_U(dnl,
|
||||
sys/types.h inttypes.h sys/inttypes.h $inttype_headers,
|
||||
ac_cv_stdint_result="(seen u_int32_t$and64 in $i)")
|
||||
fi fi
|
||||
|
||||
dnl if there was no good C99 header file, do some typedef checks...
|
||||
if test "_$ac_cv_header_stdint_x" = "_" ; then
|
||||
AC_MSG_CHECKING([for stdint datatype model])
|
||||
AC_MSG_RESULT([(..)])
|
||||
AX_CHECK_DATA_MODEL
|
||||
fi
|
||||
|
||||
if test "_$ac_cv_header_stdint_x" != "_" ; then
|
||||
ac_cv_header_stdint="$ac_cv_header_stdint_x"
|
||||
elif test "_$ac_cv_header_stdint_o" != "_" ; then
|
||||
ac_cv_header_stdint="$ac_cv_header_stdint_o"
|
||||
elif test "_$ac_cv_header_stdint_u" != "_" ; then
|
||||
ac_cv_header_stdint="$ac_cv_header_stdint_u"
|
||||
else
|
||||
ac_cv_header_stdint="stddef.h"
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([for extra inttypes in chosen header])
|
||||
AC_MSG_RESULT([($ac_cv_header_stdint)])
|
||||
dnl see if int_least and int_fast types are present in _this_ header.
|
||||
unset ac_cv_type_int_least32_t
|
||||
unset ac_cv_type_int_fast32_t
|
||||
AC_CHECK_TYPE(int_least32_t,,,[#include <$ac_cv_header_stdint>])
|
||||
AC_CHECK_TYPE(int_fast32_t,,,[#include<$ac_cv_header_stdint>])
|
||||
AC_CHECK_TYPE(intmax_t,,,[#include <$ac_cv_header_stdint>])
|
||||
|
||||
fi # shortcircut to system "stdint.h"
|
||||
# ------------------ PREPARE VARIABLES ------------------------------
|
||||
if test "$GCC" = "yes" ; then
|
||||
ac_cv_stdint_message="using gnu compiler "`$CC --version | head -1`
|
||||
else
|
||||
ac_cv_stdint_message="using $CC"
|
||||
fi
|
||||
|
||||
AC_MSG_RESULT([make use of $ac_cv_header_stdint in $ac_stdint_h dnl
|
||||
$ac_cv_stdint_result])
|
||||
|
||||
dnl -----------------------------------------------------------------
|
||||
# ----------------- DONE inttypes.h checks START header -------------
|
||||
AC_CONFIG_COMMANDS([$ac_stdint_h],[
|
||||
AC_MSG_NOTICE(creating $ac_stdint_h : $_ac_stdint_h)
|
||||
ac_stdint=$tmp/_stdint.h
|
||||
|
||||
echo "#ifndef" $_ac_stdint_h >$ac_stdint
|
||||
echo "#define" $_ac_stdint_h "1" >>$ac_stdint
|
||||
echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint
|
||||
echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint
|
||||
echo "/* generated $ac_cv_stdint_message */" >>$ac_stdint
|
||||
if test "_$ac_cv_header_stdint_t" != "_" ; then
|
||||
echo "#define _STDINT_HAVE_STDINT_H" "1" >>$ac_stdint
|
||||
echo "#include <stdint.h>" >>$ac_stdint
|
||||
echo "#endif" >>$ac_stdint
|
||||
echo "#endif" >>$ac_stdint
|
||||
else
|
||||
|
||||
cat >>$ac_stdint <<STDINT_EOF
|
||||
|
||||
/* ................... shortcircuit part ........................... */
|
||||
|
||||
#if defined HAVE_STDINT_H || defined _STDINT_HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#else
|
||||
#include <stddef.h>
|
||||
|
||||
/* .................... configured part ............................ */
|
||||
|
||||
STDINT_EOF
|
||||
|
||||
echo "/* whether we have a C99 compatible stdint header file */" >>$ac_stdint
|
||||
if test "_$ac_cv_header_stdint_x" != "_" ; then
|
||||
ac_header="$ac_cv_header_stdint_x"
|
||||
echo "#define _STDINT_HEADER_INTPTR" '"'"$ac_header"'"' >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_HEADER_INTPTR */" >>$ac_stdint
|
||||
fi
|
||||
|
||||
echo "/* whether we have a C96 compatible inttypes header file */" >>$ac_stdint
|
||||
if test "_$ac_cv_header_stdint_o" != "_" ; then
|
||||
ac_header="$ac_cv_header_stdint_o"
|
||||
echo "#define _STDINT_HEADER_UINT32" '"'"$ac_header"'"' >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_HEADER_UINT32 */" >>$ac_stdint
|
||||
fi
|
||||
|
||||
echo "/* whether we have a BSD compatible inet types header */" >>$ac_stdint
|
||||
if test "_$ac_cv_header_stdint_u" != "_" ; then
|
||||
ac_header="$ac_cv_header_stdint_u"
|
||||
echo "#define _STDINT_HEADER_U_INT32" '"'"$ac_header"'"' >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_HEADER_U_INT32 */" >>$ac_stdint
|
||||
fi
|
||||
|
||||
echo "" >>$ac_stdint
|
||||
|
||||
if test "_$ac_header" != "_" ; then if test "$ac_header" != "stddef.h" ; then
|
||||
echo "#include <$ac_header>" >>$ac_stdint
|
||||
echo "" >>$ac_stdint
|
||||
fi fi
|
||||
|
||||
echo "/* which 64bit typedef has been found */" >>$ac_stdint
|
||||
if test "$ac_cv_type_uint64_t" = "yes" ; then
|
||||
echo "#define _STDINT_HAVE_UINT64_T" "1" >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_HAVE_UINT64_T */" >>$ac_stdint
|
||||
fi
|
||||
if test "$ac_cv_type_u_int64_t" = "yes" ; then
|
||||
echo "#define _STDINT_HAVE_U_INT64_T" "1" >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_HAVE_U_INT64_T */" >>$ac_stdint
|
||||
fi
|
||||
echo "" >>$ac_stdint
|
||||
|
||||
echo "/* which type model has been detected */" >>$ac_stdint
|
||||
if test "_$ac_cv_char_data_model" != "_" ; then
|
||||
echo "#define _STDINT_CHAR_MODEL" "$ac_cv_char_data_model" >>$ac_stdint
|
||||
echo "#define _STDINT_LONG_MODEL" "$ac_cv_long_data_model" >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_CHAR_MODEL // skipped */" >>$ac_stdint
|
||||
echo "/* #undef _STDINT_LONG_MODEL // skipped */" >>$ac_stdint
|
||||
fi
|
||||
echo "" >>$ac_stdint
|
||||
|
||||
echo "/* whether int_least types were detected */" >>$ac_stdint
|
||||
if test "$ac_cv_type_int_least32_t" = "yes"; then
|
||||
echo "#define _STDINT_HAVE_INT_LEAST32_T" "1" >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_HAVE_INT_LEAST32_T */" >>$ac_stdint
|
||||
fi
|
||||
echo "/* whether int_fast types were detected */" >>$ac_stdint
|
||||
if test "$ac_cv_type_int_fast32_t" = "yes"; then
|
||||
echo "#define _STDINT_HAVE_INT_FAST32_T" "1" >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_HAVE_INT_FAST32_T */" >>$ac_stdint
|
||||
fi
|
||||
echo "/* whether intmax_t type was detected */" >>$ac_stdint
|
||||
if test "$ac_cv_type_intmax_t" = "yes"; then
|
||||
echo "#define _STDINT_HAVE_INTMAX_T" "1" >>$ac_stdint
|
||||
else
|
||||
echo "/* #undef _STDINT_HAVE_INTMAX_T */" >>$ac_stdint
|
||||
fi
|
||||
echo "" >>$ac_stdint
|
||||
|
||||
cat >>$ac_stdint <<STDINT_EOF
|
||||
/* .................... detections part ............................ */
|
||||
|
||||
/* whether we need to define bitspecific types from compiler base types */
|
||||
#ifndef _STDINT_HEADER_INTPTR
|
||||
#ifndef _STDINT_HEADER_UINT32
|
||||
#ifndef _STDINT_HEADER_U_INT32
|
||||
#define _STDINT_NEED_INT_MODEL_T
|
||||
#else
|
||||
#define _STDINT_HAVE_U_INT_TYPES
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _STDINT_HAVE_U_INT_TYPES
|
||||
#undef _STDINT_NEED_INT_MODEL_T
|
||||
#endif
|
||||
|
||||
#ifdef _STDINT_CHAR_MODEL
|
||||
#if _STDINT_CHAR_MODEL+0 == 122 || _STDINT_CHAR_MODEL+0 == 124
|
||||
#ifndef _STDINT_BYTE_MODEL
|
||||
#define _STDINT_BYTE_MODEL 12
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _STDINT_HAVE_INT_LEAST32_T
|
||||
#define _STDINT_NEED_INT_LEAST_T
|
||||
#endif
|
||||
|
||||
#ifndef _STDINT_HAVE_INT_FAST32_T
|
||||
#define _STDINT_NEED_INT_FAST_T
|
||||
#endif
|
||||
|
||||
#ifndef _STDINT_HEADER_INTPTR
|
||||
#define _STDINT_NEED_INTPTR_T
|
||||
#ifndef _STDINT_HAVE_INTMAX_T
|
||||
#define _STDINT_NEED_INTMAX_T
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* .................... definition part ............................ */
|
||||
|
||||
/* some system headers have good uint64_t */
|
||||
#ifndef _HAVE_UINT64_T
|
||||
#if defined _STDINT_HAVE_UINT64_T || defined HAVE_UINT64_T
|
||||
#define _HAVE_UINT64_T
|
||||
#elif defined _STDINT_HAVE_U_INT64_T || defined HAVE_U_INT64_T
|
||||
#define _HAVE_UINT64_T
|
||||
typedef u_int64_t uint64_t;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _HAVE_UINT64_T
|
||||
/* .. here are some common heuristics using compiler runtime specifics */
|
||||
#if defined __STDC_VERSION__ && defined __STDC_VERSION__ >= 199901L
|
||||
#define _HAVE_UINT64_T
|
||||
#define _HAVE_LONGLONG_UINT64_T
|
||||
typedef long long int64_t;
|
||||
typedef unsigned long long uint64_t;
|
||||
|
||||
#elif !defined __STRICT_ANSI__
|
||||
#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
|
||||
#define _HAVE_UINT64_T
|
||||
typedef __int64 int64_t;
|
||||
typedef unsigned __int64 uint64_t;
|
||||
|
||||
#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__
|
||||
/* note: all ELF-systems seem to have loff-support which needs 64-bit */
|
||||
#if !defined _NO_LONGLONG
|
||||
#define _HAVE_UINT64_T
|
||||
#define _HAVE_LONGLONG_UINT64_T
|
||||
typedef long long int64_t;
|
||||
typedef unsigned long long uint64_t;
|
||||
#endif
|
||||
|
||||
#elif defined __alpha || (defined __mips && defined _ABIN32)
|
||||
#if !defined _NO_LONGLONG
|
||||
typedef long int64_t;
|
||||
typedef unsigned long uint64_t;
|
||||
#endif
|
||||
/* compiler/cpu type to define int64_t */
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined _STDINT_HAVE_U_INT_TYPES
|
||||
/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */
|
||||
typedef u_int8_t uint8_t;
|
||||
typedef u_int16_t uint16_t;
|
||||
typedef u_int32_t uint32_t;
|
||||
|
||||
/* glibc compatibility */
|
||||
#ifndef __int8_t_defined
|
||||
#define __int8_t_defined
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _STDINT_NEED_INT_MODEL_T
|
||||
/* we must guess all the basic types. Apart from byte-adressable system, */
|
||||
/* there a few 32-bit-only dsp-systems that we guard with BYTE_MODEL 8-} */
|
||||
/* (btw, those nibble-addressable systems are way off, or so we assume) */
|
||||
|
||||
dnl /* have a look at "64bit and data size neutrality" at */
|
||||
dnl /* http://unix.org/version2/whatsnew/login_64bit.html */
|
||||
dnl /* (the shorthand "ILP" types always have a "P" part) */
|
||||
|
||||
#if defined _STDINT_BYTE_MODEL
|
||||
#if _STDINT_LONG_MODEL+0 == 242
|
||||
/* 2:4:2 = IP16 = a normal 16-bit system */
|
||||
typedef unsigned char uint8_t;
|
||||
typedef unsigned short uint16_t;
|
||||
typedef unsigned long uint32_t;
|
||||
#ifndef __int8_t_defined
|
||||
#define __int8_t_defined
|
||||
typedef char int8_t;
|
||||
typedef short int16_t;
|
||||
typedef long int32_t;
|
||||
#endif
|
||||
#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL == 444
|
||||
/* 2:4:4 = LP32 = a 32-bit system derived from a 16-bit */
|
||||
/* 4:4:4 = ILP32 = a normal 32-bit system */
|
||||
typedef unsigned char uint8_t;
|
||||
typedef unsigned short uint16_t;
|
||||
typedef unsigned int uint32_t;
|
||||
#ifndef __int8_t_defined
|
||||
#define __int8_t_defined
|
||||
typedef char int8_t;
|
||||
typedef short int16_t;
|
||||
typedef int int32_t;
|
||||
#endif
|
||||
#elif _STDINT_LONG_MODEL+0 == 484 || _STDINT_LONG_MODEL+0 == 488
|
||||
/* 4:8:4 = IP32 = a 32-bit system prepared for 64-bit */
|
||||
/* 4:8:8 = LP64 = a normal 64-bit system */
|
||||
typedef unsigned char uint8_t;
|
||||
typedef unsigned short uint16_t;
|
||||
typedef unsigned int uint32_t;
|
||||
#ifndef __int8_t_defined
|
||||
#define __int8_t_defined
|
||||
typedef char int8_t;
|
||||
typedef short int16_t;
|
||||
typedef int int32_t;
|
||||
#endif
|
||||
/* this system has a "long" of 64bit */
|
||||
#ifndef _HAVE_UINT64_T
|
||||
#define _HAVE_UINT64_T
|
||||
typedef unsigned long uint64_t;
|
||||
typedef long int64_t;
|
||||
#endif
|
||||
#elif _STDINT_LONG_MODEL+0 == 448
|
||||
/* LLP64 a 64-bit system derived from a 32-bit system */
|
||||
typedef unsigned char uint8_t;
|
||||
typedef unsigned short uint16_t;
|
||||
typedef unsigned int uint32_t;
|
||||
#ifndef __int8_t_defined
|
||||
#define __int8_t_defined
|
||||
typedef char int8_t;
|
||||
typedef short int16_t;
|
||||
typedef int int32_t;
|
||||
#endif
|
||||
/* assuming the system has a "long long" */
|
||||
#ifndef _HAVE_UINT64_T
|
||||
#define _HAVE_UINT64_T
|
||||
#define _HAVE_LONGLONG_UINT64_T
|
||||
typedef unsigned long long uint64_t;
|
||||
typedef long long int64_t;
|
||||
#endif
|
||||
#else
|
||||
#define _STDINT_NO_INT32_T
|
||||
#endif
|
||||
#else
|
||||
#define _STDINT_NO_INT8_T
|
||||
#define _STDINT_NO_INT32_T
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* quote from SunOS-5.8 sys/inttypes.h:
|
||||
* Use at your own risk. As of February 1996, the committee is squarely
|
||||
* behind the fixed sized types; the "least" and "fast" types are still being
|
||||
* discussed. The probability that the "fast" types may be removed before
|
||||
* the standard is finalized is high enough that they are not currently
|
||||
* implemented.
|
||||
*/
|
||||
|
||||
#if defined _STDINT_NEED_INT_LEAST_T
|
||||
typedef int8_t int_least8_t;
|
||||
typedef int16_t int_least16_t;
|
||||
typedef int32_t int_least32_t;
|
||||
#ifdef _HAVE_UINT64_T
|
||||
typedef int64_t int_least64_t;
|
||||
#endif
|
||||
|
||||
typedef uint8_t uint_least8_t;
|
||||
typedef uint16_t uint_least16_t;
|
||||
typedef uint32_t uint_least32_t;
|
||||
#ifdef _HAVE_UINT64_T
|
||||
typedef uint64_t uint_least64_t;
|
||||
#endif
|
||||
/* least types */
|
||||
#endif
|
||||
|
||||
#if defined _STDINT_NEED_INT_FAST_T
|
||||
typedef int8_t int_fast8_t;
|
||||
typedef int int_fast16_t;
|
||||
typedef int32_t int_fast32_t;
|
||||
#ifdef _HAVE_UINT64_T
|
||||
typedef int64_t int_fast64_t;
|
||||
#endif
|
||||
|
||||
typedef uint8_t uint_fast8_t;
|
||||
typedef unsigned uint_fast16_t;
|
||||
typedef uint32_t uint_fast32_t;
|
||||
#ifdef _HAVE_UINT64_T
|
||||
typedef uint64_t uint_fast64_t;
|
||||
#endif
|
||||
/* fast types */
|
||||
#endif
|
||||
|
||||
#ifdef _STDINT_NEED_INTMAX_T
|
||||
#ifdef _HAVE_UINT64_T
|
||||
typedef int64_t intmax_t;
|
||||
typedef uint64_t uintmax_t;
|
||||
#else
|
||||
typedef long intmax_t;
|
||||
typedef unsigned long uintmax_t;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _STDINT_NEED_INTPTR_T
|
||||
#ifndef __intptr_t_defined
|
||||
#define __intptr_t_defined
|
||||
/* we encourage using "long" to store pointer values, never use "int" ! */
|
||||
#if _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484
|
||||
typedef unsigned int uintptr_t;
|
||||
typedef int intptr_t;
|
||||
#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444
|
||||
typedef unsigned long uintptr_t;
|
||||
typedef long intptr_t;
|
||||
#elif _STDINT_LONG_MODEL+0 == 448 && defined _HAVE_UINT64_T
|
||||
typedef uint64_t uintptr_t;
|
||||
typedef int64_t intptr_t;
|
||||
#else /* matches typical system types ILP32 and LP64 - but not IP16 or LLP64 */
|
||||
typedef unsigned long uintptr_t;
|
||||
typedef long intptr_t;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* The ISO C99 standard specifies that in C++ implementations these
|
||||
should only be defined if explicitly requested. */
|
||||
#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS
|
||||
#ifndef UINT32_C
|
||||
|
||||
/* Signed. */
|
||||
# define INT8_C(c) c
|
||||
# define INT16_C(c) c
|
||||
# define INT32_C(c) c
|
||||
# ifdef _HAVE_LONGLONG_UINT64_T
|
||||
# define INT64_C(c) c ## L
|
||||
# else
|
||||
# define INT64_C(c) c ## LL
|
||||
# endif
|
||||
|
||||
/* Unsigned. */
|
||||
# define UINT8_C(c) c ## U
|
||||
# define UINT16_C(c) c ## U
|
||||
# define UINT32_C(c) c ## U
|
||||
# ifdef _HAVE_LONGLONG_UINT64_T
|
||||
# define UINT64_C(c) c ## UL
|
||||
# else
|
||||
# define UINT64_C(c) c ## ULL
|
||||
# endif
|
||||
|
||||
/* Maximal type. */
|
||||
# ifdef _HAVE_LONGLONG_UINT64_T
|
||||
# define INTMAX_C(c) c ## L
|
||||
# define UINTMAX_C(c) c ## UL
|
||||
# else
|
||||
# define INTMAX_C(c) c ## LL
|
||||
# define UINTMAX_C(c) c ## ULL
|
||||
# endif
|
||||
|
||||
/* literalnumbers */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* These limits are merily those of a two complement byte-oriented system */
|
||||
|
||||
/* Minimum of signed integral types. */
|
||||
# define INT8_MIN (-128)
|
||||
# define INT16_MIN (-32767-1)
|
||||
# define INT32_MIN (-2147483647-1)
|
||||
# define INT64_MIN (-__INT64_C(9223372036854775807)-1)
|
||||
/* Maximum of signed integral types. */
|
||||
# define INT8_MAX (127)
|
||||
# define INT16_MAX (32767)
|
||||
# define INT32_MAX (2147483647)
|
||||
# define INT64_MAX (__INT64_C(9223372036854775807))
|
||||
|
||||
/* Maximum of unsigned integral types. */
|
||||
# define UINT8_MAX (255)
|
||||
# define UINT16_MAX (65535)
|
||||
# define UINT32_MAX (4294967295U)
|
||||
# define UINT64_MAX (__UINT64_C(18446744073709551615))
|
||||
|
||||
/* Minimum of signed integral types having a minimum size. */
|
||||
# define INT_LEAST8_MIN INT8_MIN
|
||||
# define INT_LEAST16_MIN INT16_MIN
|
||||
# define INT_LEAST32_MIN INT32_MIN
|
||||
# define INT_LEAST64_MIN INT64_MIN
|
||||
/* Maximum of signed integral types having a minimum size. */
|
||||
# define INT_LEAST8_MAX INT8_MAX
|
||||
# define INT_LEAST16_MAX INT16_MAX
|
||||
# define INT_LEAST32_MAX INT32_MAX
|
||||
# define INT_LEAST64_MAX INT64_MAX
|
||||
|
||||
/* Maximum of unsigned integral types having a minimum size. */
|
||||
# define UINT_LEAST8_MAX UINT8_MAX
|
||||
# define UINT_LEAST16_MAX UINT16_MAX
|
||||
# define UINT_LEAST32_MAX UINT32_MAX
|
||||
# define UINT_LEAST64_MAX UINT64_MAX
|
||||
|
||||
/* shortcircuit*/
|
||||
#endif
|
||||
/* once */
|
||||
#endif
|
||||
#endif
|
||||
STDINT_EOF
|
||||
fi
|
||||
if cmp -s $ac_stdint_h $ac_stdint 2>/dev/null; then
|
||||
AC_MSG_NOTICE([$ac_stdint_h is unchanged])
|
||||
else
|
||||
ac_dir=`AS_DIRNAME(["$ac_stdint_h"])`
|
||||
AS_MKDIR_P(["$ac_dir"])
|
||||
rm -f $ac_stdint_h
|
||||
mv $ac_stdint $ac_stdint_h
|
||||
fi
|
||||
],[# variables for create stdint.h replacement
|
||||
PACKAGE="$PACKAGE"
|
||||
VERSION="$VERSION"
|
||||
ac_stdint_h="$ac_stdint_h"
|
||||
_ac_stdint_h=AS_TR_CPP(_$PACKAGE-$ac_stdint_h)
|
||||
ac_cv_stdint_message="$ac_cv_stdint_message"
|
||||
ac_cv_header_stdint_t="$ac_cv_header_stdint_t"
|
||||
ac_cv_header_stdint_x="$ac_cv_header_stdint_x"
|
||||
ac_cv_header_stdint_o="$ac_cv_header_stdint_o"
|
||||
ac_cv_header_stdint_u="$ac_cv_header_stdint_u"
|
||||
ac_cv_type_uint64_t="$ac_cv_type_uint64_t"
|
||||
ac_cv_type_u_int64_t="$ac_cv_type_u_int64_t"
|
||||
ac_cv_char_data_model="$ac_cv_char_data_model"
|
||||
ac_cv_long_data_model="$ac_cv_long_data_model"
|
||||
ac_cv_type_int_least32_t="$ac_cv_type_int_least32_t"
|
||||
ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t"
|
||||
ac_cv_type_intmax_t="$ac_cv_type_intmax_t"
|
||||
])
|
||||
])
|
|
@ -0,0 +1,485 @@
|
|||
# ===========================================================================
|
||||
# http://www.gnu.org/software/autoconf-archive/ax_pthread.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# This macro figures out how to build C programs using POSIX threads. It
|
||||
# sets the PTHREAD_LIBS output variable to the threads library and linker
|
||||
# flags, and the PTHREAD_CFLAGS output variable to any special C compiler
|
||||
# flags that are needed. (The user can also force certain compiler
|
||||
# flags/libs to be tested by setting these environment variables.)
|
||||
#
|
||||
# Also sets PTHREAD_CC to any special C compiler that is needed for
|
||||
# multi-threaded programs (defaults to the value of CC otherwise). (This
|
||||
# is necessary on AIX to use the special cc_r compiler alias.)
|
||||
#
|
||||
# NOTE: You are assumed to not only compile your program with these flags,
|
||||
# but also to link with them as well. For example, you might link with
|
||||
# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
|
||||
#
|
||||
# If you are only building threaded programs, you may wish to use these
|
||||
# variables in your default LIBS, CFLAGS, and CC:
|
||||
#
|
||||
# LIBS="$PTHREAD_LIBS $LIBS"
|
||||
# CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
# CC="$PTHREAD_CC"
|
||||
#
|
||||
# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
|
||||
# has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to
|
||||
# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
|
||||
#
|
||||
# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the
|
||||
# PTHREAD_PRIO_INHERIT symbol is defined when compiling with
|
||||
# PTHREAD_CFLAGS.
|
||||
#
|
||||
# ACTION-IF-FOUND is a list of shell commands to run if a threads library
|
||||
# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
|
||||
# is not found. If ACTION-IF-FOUND is not specified, the default action
|
||||
# will define HAVE_PTHREAD.
|
||||
#
|
||||
# Please let the authors know if this macro fails on any platform, or if
|
||||
# you have any other suggestions or comments. This macro was based on work
|
||||
# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
|
||||
# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
|
||||
# Alejandro Forero Cuervo to the autoconf macro repository. We are also
|
||||
# grateful for the helpful feedback of numerous users.
|
||||
#
|
||||
# Updated for Autoconf 2.68 by Daniel Richard G.
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
|
||||
# Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG>
|
||||
#
|
||||
# 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 3 of the License, 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, the respective Autoconf Macro's copyright owner
|
||||
# gives unlimited permission to copy, distribute and modify the configure
|
||||
# scripts that are the output of Autoconf when processing the Macro. You
|
||||
# need not follow the terms of the GNU General Public License when using
|
||||
# or distributing such scripts, even though portions of the text of the
|
||||
# Macro appear in them. The GNU General Public License (GPL) does govern
|
||||
# all other use of the material that constitutes the Autoconf Macro.
|
||||
#
|
||||
# This special exception to the GPL applies to versions of the Autoconf
|
||||
# Macro released by the Autoconf Archive. When you make and distribute a
|
||||
# modified version of the Autoconf Macro, you may extend this special
|
||||
# exception to the GPL to apply to your modified version as well.
|
||||
|
||||
#serial 23
|
||||
|
||||
AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
|
||||
AC_DEFUN([AX_PTHREAD], [
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([AC_PROG_SED])
|
||||
AC_LANG_PUSH([C])
|
||||
ax_pthread_ok=no
|
||||
|
||||
# We used to check for pthread.h first, but this fails if pthread.h
|
||||
# requires special compiler flags (e.g. on Tru64 or Sequent).
|
||||
# It gets checked for in the link test anyway.
|
||||
|
||||
# First of all, check if the user has set any of the PTHREAD_LIBS,
|
||||
# etcetera environment variables, and if threads linking works using
|
||||
# them:
|
||||
if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then
|
||||
ax_pthread_save_CC="$CC"
|
||||
ax_pthread_save_CFLAGS="$CFLAGS"
|
||||
ax_pthread_save_LIBS="$LIBS"
|
||||
AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"])
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
LIBS="$PTHREAD_LIBS $LIBS"
|
||||
AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS])
|
||||
AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes])
|
||||
AC_MSG_RESULT([$ax_pthread_ok])
|
||||
if test "x$ax_pthread_ok" = "xno"; then
|
||||
PTHREAD_LIBS=""
|
||||
PTHREAD_CFLAGS=""
|
||||
fi
|
||||
CC="$ax_pthread_save_CC"
|
||||
CFLAGS="$ax_pthread_save_CFLAGS"
|
||||
LIBS="$ax_pthread_save_LIBS"
|
||||
fi
|
||||
|
||||
# We must check for the threads library under a number of different
|
||||
# names; the ordering is very important because some systems
|
||||
# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
|
||||
# libraries is broken (non-POSIX).
|
||||
|
||||
# Create a list of thread flags to try. Items starting with a "-" are
|
||||
# C compiler flags, and other items are library names, except for "none"
|
||||
# which indicates that we try without any flags at all, and "pthread-config"
|
||||
# which is a program returning the flags for the Pth emulation library.
|
||||
|
||||
ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
|
||||
|
||||
# The ordering *is* (sometimes) important. Some notes on the
|
||||
# individual items follow:
|
||||
|
||||
# pthreads: AIX (must check this before -lpthread)
|
||||
# none: in case threads are in libc; should be tried before -Kthread and
|
||||
# other compiler flags to prevent continual compiler warnings
|
||||
# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
|
||||
# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64
|
||||
# (Note: HP C rejects this with "bad form for `-t' option")
|
||||
# -pthreads: Solaris/gcc (Note: HP C also rejects)
|
||||
# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
|
||||
# doesn't hurt to check since this sometimes defines pthreads and
|
||||
# -D_REENTRANT too), HP C (must be checked before -lpthread, which
|
||||
# is present but should not be used directly; and before -mthreads,
|
||||
# because the compiler interprets this as "-mt" + "-hreads")
|
||||
# -mthreads: Mingw32/gcc, Lynx/gcc
|
||||
# pthread: Linux, etcetera
|
||||
# --thread-safe: KAI C++
|
||||
# pthread-config: use pthread-config program (for GNU Pth library)
|
||||
|
||||
case $host_os in
|
||||
|
||||
freebsd*)
|
||||
|
||||
# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
|
||||
# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
|
||||
|
||||
ax_pthread_flags="-kthread lthread $ax_pthread_flags"
|
||||
;;
|
||||
|
||||
hpux*)
|
||||
|
||||
# From the cc(1) man page: "[-mt] Sets various -D flags to enable
|
||||
# multi-threading and also sets -lpthread."
|
||||
|
||||
ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags"
|
||||
;;
|
||||
|
||||
openedition*)
|
||||
|
||||
# IBM z/OS requires a feature-test macro to be defined in order to
|
||||
# enable POSIX threads at all, so give the user a hint if this is
|
||||
# not set. (We don't define these ourselves, as they can affect
|
||||
# other portions of the system API in unpredictable ways.)
|
||||
|
||||
AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING],
|
||||
[
|
||||
# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS)
|
||||
AX_PTHREAD_ZOS_MISSING
|
||||
# endif
|
||||
],
|
||||
[AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])])
|
||||
;;
|
||||
|
||||
solaris*)
|
||||
|
||||
# On Solaris (at least, for some versions), libc contains stubbed
|
||||
# (non-functional) versions of the pthreads routines, so link-based
|
||||
# tests will erroneously succeed. (N.B.: The stubs are missing
|
||||
# pthread_cleanup_push, or rather a function called by this macro,
|
||||
# so we could check for that, but who knows whether they'll stub
|
||||
# that too in a future libc.) So we'll check first for the
|
||||
# standard Solaris way of linking pthreads (-mt -lpthread).
|
||||
|
||||
ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags"
|
||||
;;
|
||||
esac
|
||||
|
||||
# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
|
||||
|
||||
AS_IF([test "x$GCC" = "xyes"],
|
||||
[ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"])
|
||||
|
||||
# The presence of a feature test macro requesting re-entrant function
|
||||
# definitions is, on some systems, a strong hint that pthreads support is
|
||||
# correctly enabled
|
||||
|
||||
case $host_os in
|
||||
darwin* | hpux* | linux* | osf* | solaris*)
|
||||
ax_pthread_check_macro="_REENTRANT"
|
||||
;;
|
||||
|
||||
aix*)
|
||||
ax_pthread_check_macro="_THREAD_SAFE"
|
||||
;;
|
||||
|
||||
*)
|
||||
ax_pthread_check_macro="--"
|
||||
;;
|
||||
esac
|
||||
AS_IF([test "x$ax_pthread_check_macro" = "x--"],
|
||||
[ax_pthread_check_cond=0],
|
||||
[ax_pthread_check_cond="!defined($ax_pthread_check_macro)"])
|
||||
|
||||
# Are we compiling with Clang?
|
||||
|
||||
AC_CACHE_CHECK([whether $CC is Clang],
|
||||
[ax_cv_PTHREAD_CLANG],
|
||||
[ax_cv_PTHREAD_CLANG=no
|
||||
# Note that Autoconf sets GCC=yes for Clang as well as GCC
|
||||
if test "x$GCC" = "xyes"; then
|
||||
AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
|
||||
[/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
|
||||
# if defined(__clang__) && defined(__llvm__)
|
||||
AX_PTHREAD_CC_IS_CLANG
|
||||
# endif
|
||||
],
|
||||
[ax_cv_PTHREAD_CLANG=yes])
|
||||
fi
|
||||
])
|
||||
ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
|
||||
|
||||
ax_pthread_clang_warning=no
|
||||
|
||||
# Clang needs special handling, because older versions handle the -pthread
|
||||
# option in a rather... idiosyncratic way
|
||||
|
||||
if test "x$ax_pthread_clang" = "xyes"; then
|
||||
|
||||
# Clang takes -pthread; it has never supported any other flag
|
||||
|
||||
# (Note 1: This will need to be revisited if a system that Clang
|
||||
# supports has POSIX threads in a separate library. This tends not
|
||||
# to be the way of modern systems, but it's conceivable.)
|
||||
|
||||
# (Note 2: On some systems, notably Darwin, -pthread is not needed
|
||||
# to get POSIX threads support; the API is always present and
|
||||
# active. We could reasonably leave PTHREAD_CFLAGS empty. But
|
||||
# -pthread does define _REENTRANT, and while the Darwin headers
|
||||
# ignore this macro, third-party headers might not.)
|
||||
|
||||
PTHREAD_CFLAGS="-pthread"
|
||||
PTHREAD_LIBS=
|
||||
|
||||
ax_pthread_ok=yes
|
||||
|
||||
# However, older versions of Clang make a point of warning the user
|
||||
# that, in an invocation where only linking and no compilation is
|
||||
# taking place, the -pthread option has no effect ("argument unused
|
||||
# during compilation"). They expect -pthread to be passed in only
|
||||
# when source code is being compiled.
|
||||
#
|
||||
# Problem is, this is at odds with the way Automake and most other
|
||||
# C build frameworks function, which is that the same flags used in
|
||||
# compilation (CFLAGS) are also used in linking. Many systems
|
||||
# supported by AX_PTHREAD require exactly this for POSIX threads
|
||||
# support, and in fact it is often not straightforward to specify a
|
||||
# flag that is used only in the compilation phase and not in
|
||||
# linking. Such a scenario is extremely rare in practice.
|
||||
#
|
||||
# Even though use of the -pthread flag in linking would only print
|
||||
# a warning, this can be a nuisance for well-run software projects
|
||||
# that build with -Werror. So if the active version of Clang has
|
||||
# this misfeature, we search for an option to squash it.
|
||||
|
||||
AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread],
|
||||
[ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
|
||||
[ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
|
||||
# Create an alternate version of $ac_link that compiles and
|
||||
# links in two steps (.c -> .o, .o -> exe) instead of one
|
||||
# (.c -> exe), because the warning occurs only in the second
|
||||
# step
|
||||
ax_pthread_save_ac_link="$ac_link"
|
||||
ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
|
||||
ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
|
||||
ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
|
||||
ax_pthread_save_CFLAGS="$CFLAGS"
|
||||
for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
|
||||
AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
|
||||
CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
|
||||
ac_link="$ax_pthread_save_ac_link"
|
||||
AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
|
||||
[ac_link="$ax_pthread_2step_ac_link"
|
||||
AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
|
||||
[break])
|
||||
])
|
||||
done
|
||||
ac_link="$ax_pthread_save_ac_link"
|
||||
CFLAGS="$ax_pthread_save_CFLAGS"
|
||||
AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
|
||||
ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
|
||||
])
|
||||
|
||||
case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
|
||||
no | unknown) ;;
|
||||
*) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
|
||||
esac
|
||||
|
||||
fi # $ax_pthread_clang = yes
|
||||
|
||||
if test "x$ax_pthread_ok" = "xno"; then
|
||||
for ax_pthread_try_flag in $ax_pthread_flags; do
|
||||
|
||||
case $ax_pthread_try_flag in
|
||||
none)
|
||||
AC_MSG_CHECKING([whether pthreads work without any flags])
|
||||
;;
|
||||
|
||||
-mt,pthread)
|
||||
AC_MSG_CHECKING([whether pthreads work with -mt -lpthread])
|
||||
PTHREAD_CFLAGS="-mt"
|
||||
PTHREAD_LIBS="-lpthread"
|
||||
;;
|
||||
|
||||
-*)
|
||||
AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag])
|
||||
PTHREAD_CFLAGS="$ax_pthread_try_flag"
|
||||
;;
|
||||
|
||||
pthread-config)
|
||||
AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
|
||||
AS_IF([test "x$ax_pthread_config" = "xno"], [continue])
|
||||
PTHREAD_CFLAGS="`pthread-config --cflags`"
|
||||
PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
|
||||
;;
|
||||
|
||||
*)
|
||||
AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag])
|
||||
PTHREAD_LIBS="-l$ax_pthread_try_flag"
|
||||
;;
|
||||
esac
|
||||
|
||||
ax_pthread_save_CFLAGS="$CFLAGS"
|
||||
ax_pthread_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
LIBS="$PTHREAD_LIBS $LIBS"
|
||||
|
||||
# Check for various functions. We must include pthread.h,
|
||||
# since some functions may be macros. (On the Sequent, we
|
||||
# need a special flag -Kthread to make this header compile.)
|
||||
# We check for pthread_join because it is in -lpthread on IRIX
|
||||
# while pthread_create is in libc. We check for pthread_attr_init
|
||||
# due to DEC craziness with -lpthreads. We check for
|
||||
# pthread_cleanup_push because it is one of the few pthread
|
||||
# functions on Solaris that doesn't have a non-functional libc stub.
|
||||
# We try pthread_create on general principles.
|
||||
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
|
||||
# if $ax_pthread_check_cond
|
||||
# error "$ax_pthread_check_macro must be defined"
|
||||
# endif
|
||||
static void routine(void *a) { a = 0; }
|
||||
static void *start_routine(void *a) { return a; }],
|
||||
[pthread_t th; pthread_attr_t attr;
|
||||
pthread_create(&th, 0, start_routine, 0);
|
||||
pthread_join(th, 0);
|
||||
pthread_attr_init(&attr);
|
||||
pthread_cleanup_push(routine, 0);
|
||||
pthread_cleanup_pop(0) /* ; */])],
|
||||
[ax_pthread_ok=yes],
|
||||
[])
|
||||
|
||||
CFLAGS="$ax_pthread_save_CFLAGS"
|
||||
LIBS="$ax_pthread_save_LIBS"
|
||||
|
||||
AC_MSG_RESULT([$ax_pthread_ok])
|
||||
AS_IF([test "x$ax_pthread_ok" = "xyes"], [break])
|
||||
|
||||
PTHREAD_LIBS=""
|
||||
PTHREAD_CFLAGS=""
|
||||
done
|
||||
fi
|
||||
|
||||
# Various other checks:
|
||||
if test "x$ax_pthread_ok" = "xyes"; then
|
||||
ax_pthread_save_CFLAGS="$CFLAGS"
|
||||
ax_pthread_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
LIBS="$PTHREAD_LIBS $LIBS"
|
||||
|
||||
# Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
|
||||
AC_CACHE_CHECK([for joinable pthread attribute],
|
||||
[ax_cv_PTHREAD_JOINABLE_ATTR],
|
||||
[ax_cv_PTHREAD_JOINABLE_ATTR=unknown
|
||||
for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
|
||||
[int attr = $ax_pthread_attr; return attr /* ; */])],
|
||||
[ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break],
|
||||
[])
|
||||
done
|
||||
])
|
||||
AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \
|
||||
test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \
|
||||
test "x$ax_pthread_joinable_attr_defined" != "xyes"],
|
||||
[AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE],
|
||||
[$ax_cv_PTHREAD_JOINABLE_ATTR],
|
||||
[Define to necessary symbol if this constant
|
||||
uses a non-standard name on your system.])
|
||||
ax_pthread_joinable_attr_defined=yes
|
||||
])
|
||||
|
||||
AC_CACHE_CHECK([whether more special flags are required for pthreads],
|
||||
[ax_cv_PTHREAD_SPECIAL_FLAGS],
|
||||
[ax_cv_PTHREAD_SPECIAL_FLAGS=no
|
||||
case $host_os in
|
||||
solaris*)
|
||||
ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS"
|
||||
;;
|
||||
esac
|
||||
])
|
||||
AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \
|
||||
test "x$ax_pthread_special_flags_added" != "xyes"],
|
||||
[PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS"
|
||||
ax_pthread_special_flags_added=yes])
|
||||
|
||||
AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
|
||||
[ax_cv_PTHREAD_PRIO_INHERIT],
|
||||
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
|
||||
[[int i = PTHREAD_PRIO_INHERIT;]])],
|
||||
[ax_cv_PTHREAD_PRIO_INHERIT=yes],
|
||||
[ax_cv_PTHREAD_PRIO_INHERIT=no])
|
||||
])
|
||||
AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \
|
||||
test "x$ax_pthread_prio_inherit_defined" != "xyes"],
|
||||
[AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])
|
||||
ax_pthread_prio_inherit_defined=yes
|
||||
])
|
||||
|
||||
CFLAGS="$ax_pthread_save_CFLAGS"
|
||||
LIBS="$ax_pthread_save_LIBS"
|
||||
|
||||
# More AIX lossage: compile with *_r variant
|
||||
if test "x$GCC" != "xyes"; then
|
||||
case $host_os in
|
||||
aix*)
|
||||
AS_CASE(["x/$CC"],
|
||||
[x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
|
||||
[#handle absolute path differently from PATH based program lookup
|
||||
AS_CASE(["x$CC"],
|
||||
[x/*],
|
||||
[AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
|
||||
[AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
|
||||
test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
|
||||
|
||||
AC_SUBST([PTHREAD_LIBS])
|
||||
AC_SUBST([PTHREAD_CFLAGS])
|
||||
AC_SUBST([PTHREAD_CC])
|
||||
|
||||
# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
|
||||
if test "x$ax_pthread_ok" = "xyes"; then
|
||||
ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])
|
||||
:
|
||||
else
|
||||
ax_pthread_ok=no
|
||||
$2
|
||||
fi
|
||||
AC_LANG_POP
|
||||
])dnl AX_PTHREAD
|
|
@ -0,0 +1,181 @@
|
|||
dnl _AM_TRY_CHECK(MINIMUM-VERSION, EXTRA-CFLAGS, EXTRA-LIBS, CHECK-LIB-NAME
|
||||
dnl [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
||||
dnl Test for check, and define CHECK_CFLAGS and CHECK_LIBS
|
||||
dnl Done this way because of the brokenness that is
|
||||
dnl https://launchpad.net/distros/ubuntu/+source/check/+bug/5840
|
||||
dnl
|
||||
|
||||
AC_DEFUN([_AM_TRY_CHECK],
|
||||
[
|
||||
min_check_version=$1
|
||||
extra_cflags=$2
|
||||
extra_libs=$3
|
||||
check_lib_name=$4
|
||||
|
||||
CHECK_CFLAGS="$extra_cflags"
|
||||
CHECK_LIBS="$extra_libs -l$check_lib_name"
|
||||
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
|
||||
CFLAGS="$CFLAGS $CHECK_CFLAGS"
|
||||
LIBS="$CHECK_LIBS $LIBS"
|
||||
|
||||
AC_MSG_CHECKING(for check named $check_lib_name - version >= $min_check_version)
|
||||
|
||||
rm -f conf.check-test
|
||||
dnl unset no_check, since in our second run it would have been set to yes
|
||||
dnl before
|
||||
no_check=
|
||||
AC_TRY_RUN([
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <check.h>
|
||||
|
||||
int main ()
|
||||
{
|
||||
int major, minor, micro;
|
||||
char *tmp_version;
|
||||
|
||||
system ("touch conf.check-test");
|
||||
|
||||
/* HP/UX 9 (%@#!) writes to sscanf strings */
|
||||
tmp_version = strdup("$min_check_version");
|
||||
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
|
||||
printf("%s, bad version string\n", "$min_check_version");
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ((CHECK_MAJOR_VERSION != check_major_version) ||
|
||||
(CHECK_MINOR_VERSION != check_minor_version) ||
|
||||
(CHECK_MICRO_VERSION != check_micro_version))
|
||||
{
|
||||
printf("\n*** The check header file (version %d.%d.%d) does not match\n",
|
||||
CHECK_MAJOR_VERSION, CHECK_MINOR_VERSION, CHECK_MICRO_VERSION);
|
||||
printf("*** the check library (version %d.%d.%d).\n",
|
||||
check_major_version, check_minor_version, check_micro_version);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ((check_major_version > major) ||
|
||||
((check_major_version == major) && (check_minor_version > minor)) ||
|
||||
((check_major_version == major) && (check_minor_version == minor) && (check_micro_version >= micro)))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("\n*** An old version of check (%d.%d.%d) was found.\n",
|
||||
check_major_version, check_minor_version, check_micro_version);
|
||||
printf("*** You need a version of check being at least %d.%d.%d.\n", major, minor, micro);
|
||||
printf("***\n");
|
||||
printf("*** If you have already installed a sufficiently new version, this error\n");
|
||||
printf("*** probably means that the wrong copy of the check library and header\n");
|
||||
printf("*** file is being found. Rerun configure with the --with-check=PATH option\n");
|
||||
printf("*** to specify the prefix where the correct version was installed.\n");
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
],, no_check=yes, [echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
||||
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
|
||||
if test "x$no_check" = x ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
ifelse([$5], , :, [$5])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
if test -f conf.check-test ; then
|
||||
:
|
||||
else
|
||||
echo "*** Could not run check test program, checking why..."
|
||||
CFLAGS="$CFLAGS $CHECK_CFLAGS"
|
||||
LIBS="$CHECK_LIBS $LIBS"
|
||||
AC_TRY_LINK([
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <check.h>
|
||||
], , [ echo "*** The test program compiled, but did not run. This usually means"
|
||||
echo "*** that the run-time linker is not finding check. You'll need to set your"
|
||||
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
|
||||
echo "*** to the installed location Also, make sure you have run ldconfig if that"
|
||||
echo "*** is required on your system"
|
||||
echo "***"
|
||||
echo "*** If you have an old version installed, it is best to remove it, although"
|
||||
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
|
||||
[ echo "*** The test program failed to compile or link. See the file config.log for"
|
||||
echo "*** the exact error that occured." ])
|
||||
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
|
||||
CHECK_CFLAGS=""
|
||||
CHECK_LIBS=""
|
||||
|
||||
rm -f conf.check-test
|
||||
ifelse([$6], , AC_MSG_ERROR([check not found]), [$6])
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl AM_PATH_CHECK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
||||
dnl Test for check, and define CHECK_CFLAGS and CHECK_LIBS
|
||||
dnl
|
||||
|
||||
AC_DEFUN([AM_PATH_CHECK],
|
||||
[
|
||||
AC_ARG_WITH(check,
|
||||
[ --with-check=PATH prefix where check is installed [default=auto]])
|
||||
|
||||
AC_ARG_WITH(checklibname,
|
||||
AC_HELP_STRING([--with-check-lib-name=NAME],
|
||||
[name of the PIC check library (default=check)]))
|
||||
|
||||
min_check_version=ifelse([$1], ,0.8.2,$1)
|
||||
|
||||
if test x$with_check = xno; then
|
||||
AC_MSG_RESULT(disabled)
|
||||
ifelse([$3], , AC_MSG_ERROR([disabling check is not supported]), [$3])
|
||||
else
|
||||
if test "x$with_check" != x; then
|
||||
CHECK_EXTRA_CFLAGS="-I$with_check/include"
|
||||
CHECK_EXTRA_LIBS="-L$with_check/lib"
|
||||
else
|
||||
CHECK_EXTRA_CFLAGS=""
|
||||
CHECK_EXTRA_LIBS=""
|
||||
fi
|
||||
|
||||
if test x$with_checklibname = x; then
|
||||
_AM_TRY_CHECK($min_check_version, $CHECK_EXTRA_CFLAGS, $CHECK_EXTRA_LIBS,
|
||||
check_pic, [have_check=true], [have_check=false])
|
||||
if test x$have_check = xtrue; then
|
||||
ifelse([$2], , :, [$2])
|
||||
else
|
||||
_AM_TRY_CHECK($min_check_version, $CHECK_EXTRA_CFLAGS, $CHECK_EXTRA_LIBS,
|
||||
check, [have_check=true], [have_check=false])
|
||||
if test x$have_check = xtrue; then
|
||||
ifelse([$2], , :, [$2])
|
||||
else
|
||||
ifelse([$3], , AC_MSG_ERROR([check not found]), [$3])
|
||||
fi
|
||||
fi
|
||||
else
|
||||
_AM_TRY_CHECK($min_check_version, $CHECK_EXTRA_CFLAGS, $CHECK_EXTRA_LIBS,
|
||||
$with_checklibname, [have_check=true], [have_check=false])
|
||||
if test x$have_check = xtrue; then
|
||||
ifelse([$2], , :, [$2])
|
||||
else
|
||||
ifelse([$3], , AC_MSG_ERROR([check not found]), [$3])
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_SUBST(CHECK_CFLAGS)
|
||||
AC_SUBST(CHECK_LIBS)
|
||||
rm -f conf.check-test
|
||||
fi
|
||||
])
|
|
@ -0,0 +1,432 @@
|
|||
# Copyright (C) 1995-2002 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001-2003,2004 Red Hat, Inc.
|
||||
#
|
||||
# This file is free software, distributed under the terms of the GNU
|
||||
# General Public License. As a special exception to the GNU General
|
||||
# Public License, this file may be distributed as part of a program
|
||||
# that contains a configuration script generated by Autoconf, under
|
||||
# the same distribution terms as the rest of that program.
|
||||
#
|
||||
# This file can be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU Public License
|
||||
# but which still want to provide support for the GNU gettext functionality.
|
||||
#
|
||||
# Macro to add for using GNU gettext.
|
||||
# Ulrich Drepper <drepper@cygnus.com>, 1995, 1996
|
||||
#
|
||||
# Modified to never use included libintl.
|
||||
# Owen Taylor <otaylor@redhat.com>, 12/15/1998
|
||||
#
|
||||
# Major rework to remove unused code
|
||||
# Owen Taylor <otaylor@redhat.com>, 12/11/2002
|
||||
#
|
||||
# Added better handling of ALL_LINGUAS from GNU gettext version
|
||||
# written by Bruno Haible, Owen Taylor <otaylor.redhat.com> 5/30/3002
|
||||
#
|
||||
# Modified to require ngettext
|
||||
# Matthias Clasen <mclasen@redhat.com> 08/06/2004
|
||||
#
|
||||
# We need this here as well, since someone might use autoconf-2.5x
|
||||
# to configure GLib then an older version to configure a package
|
||||
# using AM_GLIB_GNU_GETTEXT
|
||||
AC_PREREQ(2.53)
|
||||
|
||||
dnl
|
||||
dnl We go to great lengths to make sure that aclocal won't
|
||||
dnl try to pull in the installed version of these macros
|
||||
dnl when running aclocal in the glib directory.
|
||||
dnl
|
||||
m4_copy([AC_DEFUN],[glib_DEFUN])
|
||||
m4_copy([AC_REQUIRE],[glib_REQUIRE])
|
||||
dnl
|
||||
dnl At the end, if we're not within glib, we'll define the public
|
||||
dnl definitions in terms of our private definitions.
|
||||
dnl
|
||||
|
||||
# GLIB_LC_MESSAGES
|
||||
#--------------------
|
||||
glib_DEFUN([GLIB_LC_MESSAGES],
|
||||
[AC_CHECK_HEADERS([locale.h])
|
||||
if test $ac_cv_header_locale_h = yes; then
|
||||
AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
|
||||
[AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
|
||||
am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
|
||||
if test $am_cv_val_LC_MESSAGES = yes; then
|
||||
AC_DEFINE(HAVE_LC_MESSAGES, 1,
|
||||
[Define if your <locale.h> file defines LC_MESSAGES.])
|
||||
fi
|
||||
fi])
|
||||
|
||||
# GLIB_PATH_PROG_WITH_TEST
|
||||
#----------------------------
|
||||
dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
|
||||
dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
|
||||
glib_DEFUN([GLIB_PATH_PROG_WITH_TEST],
|
||||
[# Extract the first word of "$2", so it can be a program name with args.
|
||||
set dummy $2; ac_word=[$]2
|
||||
AC_MSG_CHECKING([for $ac_word])
|
||||
AC_CACHE_VAL(ac_cv_path_$1,
|
||||
[case "[$]$1" in
|
||||
/*)
|
||||
ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for ac_dir in ifelse([$5], , $PATH, [$5]); do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f $ac_dir/$ac_word; then
|
||||
if [$3]; then
|
||||
ac_cv_path_$1="$ac_dir/$ac_word"
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
dnl If no 4th arg is given, leave the cache variable unset,
|
||||
dnl so AC_PATH_PROGS will keep looking.
|
||||
ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
|
||||
])dnl
|
||||
;;
|
||||
esac])dnl
|
||||
$1="$ac_cv_path_$1"
|
||||
if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
|
||||
AC_MSG_RESULT([$]$1)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
AC_SUBST($1)dnl
|
||||
])
|
||||
|
||||
# GLIB_WITH_NLS
|
||||
#-----------------
|
||||
glib_DEFUN([GLIB_WITH_NLS],
|
||||
dnl NLS is obligatory
|
||||
[USE_NLS=yes
|
||||
AC_SUBST(USE_NLS)
|
||||
|
||||
gt_cv_have_gettext=no
|
||||
|
||||
CATOBJEXT=NONE
|
||||
XGETTEXT=:
|
||||
INTLLIBS=
|
||||
|
||||
AC_CHECK_HEADER(libintl.h,
|
||||
[gt_cv_func_dgettext_libintl="no"
|
||||
libintl_extra_libs=""
|
||||
|
||||
#
|
||||
# First check in libc
|
||||
#
|
||||
AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc,
|
||||
[AC_TRY_LINK([
|
||||
#include <libintl.h>
|
||||
],
|
||||
[return !ngettext ("","", 1)],
|
||||
gt_cv_func_ngettext_libc=yes,
|
||||
gt_cv_func_ngettext_libc=no)
|
||||
])
|
||||
|
||||
if test "$gt_cv_func_ngettext_libc" = "yes" ; then
|
||||
AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc,
|
||||
[AC_TRY_LINK([
|
||||
#include <libintl.h>
|
||||
],
|
||||
[return !dgettext ("","")],
|
||||
gt_cv_func_dgettext_libc=yes,
|
||||
gt_cv_func_dgettext_libc=no)
|
||||
])
|
||||
fi
|
||||
|
||||
if test "$gt_cv_func_ngettext_libc" = "yes" ; then
|
||||
AC_CHECK_FUNCS(bind_textdomain_codeset)
|
||||
fi
|
||||
|
||||
#
|
||||
# If we don't have everything we want, check in libintl
|
||||
#
|
||||
if test "$gt_cv_func_dgettext_libc" != "yes" \
|
||||
|| test "$gt_cv_func_ngettext_libc" != "yes" \
|
||||
|| test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then
|
||||
|
||||
AC_CHECK_LIB(intl, bindtextdomain,
|
||||
[AC_CHECK_LIB(intl, ngettext,
|
||||
[AC_CHECK_LIB(intl, dgettext,
|
||||
gt_cv_func_dgettext_libintl=yes)])])
|
||||
|
||||
if test "$gt_cv_func_dgettext_libintl" != "yes" ; then
|
||||
AC_MSG_CHECKING([if -liconv is needed to use gettext])
|
||||
AC_MSG_RESULT([])
|
||||
AC_CHECK_LIB(intl, ngettext,
|
||||
[AC_CHECK_LIB(intl, dcgettext,
|
||||
[gt_cv_func_dgettext_libintl=yes
|
||||
libintl_extra_libs=-liconv],
|
||||
:,-liconv)],
|
||||
:,-liconv)
|
||||
fi
|
||||
|
||||
#
|
||||
# If we found libintl, then check in it for bind_textdomain_codeset();
|
||||
# we'll prefer libc if neither have bind_textdomain_codeset(),
|
||||
# and both have dgettext and ngettext
|
||||
#
|
||||
if test "$gt_cv_func_dgettext_libintl" = "yes" ; then
|
||||
glib_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS -lintl $libintl_extra_libs"
|
||||
unset ac_cv_func_bind_textdomain_codeset
|
||||
AC_CHECK_FUNCS(bind_textdomain_codeset)
|
||||
LIBS="$glib_save_LIBS"
|
||||
|
||||
if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then
|
||||
gt_cv_func_dgettext_libc=no
|
||||
else
|
||||
if test "$gt_cv_func_dgettext_libc" = "yes" \
|
||||
&& test "$gt_cv_func_ngettext_libc" = "yes"; then
|
||||
gt_cv_func_dgettext_libintl=no
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$gt_cv_func_dgettext_libc" = "yes" \
|
||||
|| test "$gt_cv_func_dgettext_libintl" = "yes"; then
|
||||
gt_cv_have_gettext=yes
|
||||
fi
|
||||
|
||||
if test "$gt_cv_func_dgettext_libintl" = "yes"; then
|
||||
INTLLIBS="-lintl $libintl_extra_libs"
|
||||
fi
|
||||
|
||||
if test "$gt_cv_have_gettext" = "yes"; then
|
||||
AC_DEFINE(HAVE_GETTEXT,1,
|
||||
[Define if the GNU gettext() function is already present or preinstalled.])
|
||||
GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
|
||||
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
|
||||
if test "$MSGFMT" != "no"; then
|
||||
glib_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS $INTLLIBS"
|
||||
AC_CHECK_FUNCS(dcgettext)
|
||||
MSGFMT_OPTS=
|
||||
AC_MSG_CHECKING([if msgfmt accepts -c])
|
||||
GLIB_RUN_PROG([$MSGFMT -c -o /dev/null],[
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Project-Id-Version: test 1.0\n"
|
||||
"PO-Revision-Date: 2007-02-15 12:01+0100\n"
|
||||
"Last-Translator: test <foo@bar.xx>\n"
|
||||
"Language-Team: C <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])])
|
||||
AC_SUBST(MSGFMT_OPTS)
|
||||
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
|
||||
GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
|
||||
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
|
||||
AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
|
||||
return _nl_msg_cat_cntr],
|
||||
[CATOBJEXT=.gmo
|
||||
DATADIRNAME=share],
|
||||
[case $host in
|
||||
*-*-solaris*)
|
||||
dnl On Solaris, if bind_textdomain_codeset is in libc,
|
||||
dnl GNU format message catalog is always supported,
|
||||
dnl since both are added to the libc all together.
|
||||
dnl Hence, we'd like to go with DATADIRNAME=share and
|
||||
dnl and CATOBJEXT=.gmo in this case.
|
||||
AC_CHECK_FUNC(bind_textdomain_codeset,
|
||||
[CATOBJEXT=.gmo
|
||||
DATADIRNAME=share],
|
||||
[CATOBJEXT=.mo
|
||||
DATADIRNAME=lib])
|
||||
;;
|
||||
*)
|
||||
CATOBJEXT=.mo
|
||||
DATADIRNAME=lib
|
||||
;;
|
||||
esac])
|
||||
LIBS="$glib_save_LIBS"
|
||||
INSTOBJEXT=.mo
|
||||
else
|
||||
gt_cv_have_gettext=no
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
if test "$gt_cv_have_gettext" = "yes" ; then
|
||||
AC_DEFINE(ENABLE_NLS, 1,
|
||||
[always defined to indicate that i18n is enabled])
|
||||
fi
|
||||
|
||||
dnl Test whether we really found GNU xgettext.
|
||||
if test "$XGETTEXT" != ":"; then
|
||||
dnl If it is not GNU xgettext we define it as : so that the
|
||||
dnl Makefiles still can work.
|
||||
if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
|
||||
: ;
|
||||
else
|
||||
AC_MSG_RESULT(
|
||||
[found xgettext program is not GNU xgettext; ignore it])
|
||||
XGETTEXT=":"
|
||||
fi
|
||||
fi
|
||||
|
||||
# We need to process the po/ directory.
|
||||
POSUB=po
|
||||
|
||||
AC_OUTPUT_COMMANDS(
|
||||
[case "$CONFIG_FILES" in *po/Makefile.in*)
|
||||
sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
|
||||
esac])
|
||||
|
||||
dnl These rules are solely for the distribution goal. While doing this
|
||||
dnl we only have to keep exactly one list of the available catalogs
|
||||
dnl in configure.in.
|
||||
for lang in $ALL_LINGUAS; do
|
||||
GMOFILES="$GMOFILES $lang.gmo"
|
||||
POFILES="$POFILES $lang.po"
|
||||
done
|
||||
|
||||
dnl Make all variables we use known to autoconf.
|
||||
AC_SUBST(CATALOGS)
|
||||
AC_SUBST(CATOBJEXT)
|
||||
AC_SUBST(DATADIRNAME)
|
||||
AC_SUBST(GMOFILES)
|
||||
AC_SUBST(INSTOBJEXT)
|
||||
AC_SUBST(INTLLIBS)
|
||||
AC_SUBST(PO_IN_DATADIR_TRUE)
|
||||
AC_SUBST(PO_IN_DATADIR_FALSE)
|
||||
AC_SUBST(POFILES)
|
||||
AC_SUBST(POSUB)
|
||||
])
|
||||
|
||||
# AM_GLIB_GNU_GETTEXT
|
||||
# -------------------
|
||||
# Do checks necessary for use of gettext. If a suitable implementation
|
||||
# of gettext is found in either in libintl or in the C library,
|
||||
# it will set INTLLIBS to the libraries needed for use of gettext
|
||||
# and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable
|
||||
# gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST()
|
||||
# on various variables needed by the Makefile.in.in installed by
|
||||
# glib-gettextize.
|
||||
dnl
|
||||
glib_DEFUN([GLIB_GNU_GETTEXT],
|
||||
[AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AC_HEADER_STDC])dnl
|
||||
|
||||
GLIB_LC_MESSAGES
|
||||
GLIB_WITH_NLS
|
||||
|
||||
if test "$gt_cv_have_gettext" = "yes"; then
|
||||
if test "x$ALL_LINGUAS" = "x"; then
|
||||
LINGUAS=
|
||||
else
|
||||
AC_MSG_CHECKING(for catalogs to be installed)
|
||||
NEW_LINGUAS=
|
||||
for presentlang in $ALL_LINGUAS; do
|
||||
useit=no
|
||||
if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then
|
||||
desiredlanguages="$LINGUAS"
|
||||
else
|
||||
desiredlanguages="$ALL_LINGUAS"
|
||||
fi
|
||||
for desiredlang in $desiredlanguages; do
|
||||
# Use the presentlang catalog if desiredlang is
|
||||
# a. equal to presentlang, or
|
||||
# b. a variant of presentlang (because in this case,
|
||||
# presentlang can be used as a fallback for messages
|
||||
# which are not translated in the desiredlang catalog).
|
||||
case "$desiredlang" in
|
||||
"$presentlang"*) useit=yes;;
|
||||
esac
|
||||
done
|
||||
if test $useit = yes; then
|
||||
NEW_LINGUAS="$NEW_LINGUAS $presentlang"
|
||||
fi
|
||||
done
|
||||
LINGUAS=$NEW_LINGUAS
|
||||
AC_MSG_RESULT($LINGUAS)
|
||||
fi
|
||||
|
||||
dnl Construct list of names of catalog files to be constructed.
|
||||
if test -n "$LINGUAS"; then
|
||||
for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
|
||||
dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
|
||||
dnl Try to locate is.
|
||||
MKINSTALLDIRS=
|
||||
if test -n "$ac_aux_dir"; then
|
||||
MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
|
||||
fi
|
||||
if test -z "$MKINSTALLDIRS"; then
|
||||
MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
|
||||
fi
|
||||
AC_SUBST(MKINSTALLDIRS)
|
||||
|
||||
dnl Generate list of files to be processed by xgettext which will
|
||||
dnl be included in po/Makefile.
|
||||
test -d po || mkdir po
|
||||
if test "x$srcdir" != "x."; then
|
||||
if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
|
||||
posrcprefix="$srcdir/"
|
||||
else
|
||||
posrcprefix="../$srcdir/"
|
||||
fi
|
||||
else
|
||||
posrcprefix="../"
|
||||
fi
|
||||
rm -f po/POTFILES
|
||||
sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
|
||||
< $srcdir/po/POTFILES.in > po/POTFILES
|
||||
])
|
||||
|
||||
# AM_GLIB_DEFINE_LOCALEDIR(VARIABLE)
|
||||
# -------------------------------
|
||||
# Define VARIABLE to the location where catalog files will
|
||||
# be installed by po/Makefile.
|
||||
glib_DEFUN([GLIB_DEFINE_LOCALEDIR],
|
||||
[glib_REQUIRE([GLIB_GNU_GETTEXT])dnl
|
||||
glib_save_prefix="$prefix"
|
||||
glib_save_exec_prefix="$exec_prefix"
|
||||
glib_save_datarootdir="$datarootdir"
|
||||
test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
||||
test "x$exec_prefix" = xNONE && exec_prefix=$prefix
|
||||
datarootdir=`eval echo "${datarootdir}"`
|
||||
if test "x$CATOBJEXT" = "x.mo" ; then
|
||||
localedir=`eval echo "${libdir}/locale"`
|
||||
else
|
||||
localedir=`eval echo "${datadir}/locale"`
|
||||
fi
|
||||
prefix="$glib_save_prefix"
|
||||
exec_prefix="$glib_save_exec_prefix"
|
||||
datarootdir="$glib_save_datarootdir"
|
||||
AC_DEFINE_UNQUOTED($1, "$localedir",
|
||||
[Define the location where the catalogs will be installed])
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl Now the definitions that aclocal will find
|
||||
dnl
|
||||
ifdef(glib_configure_in,[],[
|
||||
AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)])
|
||||
AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)])
|
||||
])dnl
|
||||
|
||||
# GLIB_RUN_PROG(PROGRAM, TEST-FILE, [ACTION-IF-PASS], [ACTION-IF-FAIL])
|
||||
#
|
||||
# Create a temporary file with TEST-FILE as its contents and pass the
|
||||
# file name to PROGRAM. Perform ACTION-IF-PASS if PROGRAM exits with
|
||||
# 0 and perform ACTION-IF-FAIL for any other exit status.
|
||||
AC_DEFUN([GLIB_RUN_PROG],
|
||||
[cat >conftest.foo <<_ACEOF
|
||||
$2
|
||||
_ACEOF
|
||||
if AC_RUN_LOG([$1 conftest.foo]); then
|
||||
m4_ifval([$3], [$3], [:])
|
||||
m4_ifvaln([$4], [else $4])dnl
|
||||
echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD
|
||||
sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD
|
||||
fi])
|
||||
|
|
@ -0,0 +1,147 @@
|
|||
dnl AG_GST_ARCH
|
||||
dnl sets up defines and automake conditionals for host architecture
|
||||
dnl checks endianness
|
||||
dnl defines HOST_CPU
|
||||
|
||||
AC_DEFUN([AG_GST_ARCH],
|
||||
[
|
||||
dnl Determine CPU
|
||||
case "x${target_cpu}" in
|
||||
xi?86 | xk? | xi?86_64)
|
||||
case $target_os in
|
||||
solaris*)
|
||||
AC_CHECK_DECL([__i386], [I386_ABI="yes"], [I386_ABI="no"])
|
||||
AC_CHECK_DECL([__amd64], [AMD64_ABI="yes"], [AMD64_ABI="no"])
|
||||
|
||||
if test "x$I386_ABI" = "xyes" ; then
|
||||
HAVE_CPU_I386=yes
|
||||
AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
|
||||
fi
|
||||
if test "x$AMD64_ABI" = "xyes" ; then
|
||||
HAVE_CPU_X86_64=yes
|
||||
AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the target CPU is a x86_64])
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
HAVE_CPU_I386=yes
|
||||
AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
|
||||
|
||||
dnl FIXME could use some better detection
|
||||
dnl (ie CPUID)
|
||||
case "x${target_cpu}" in
|
||||
xi386 | xi486) ;;
|
||||
*)
|
||||
AC_DEFINE(HAVE_RDTSC, 1, [Define if RDTSC is available]) ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
xpowerpc)
|
||||
HAVE_CPU_PPC=yes
|
||||
AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PowerPC]) ;;
|
||||
xpowerpc64)
|
||||
HAVE_CPU_PPC64=yes
|
||||
AC_DEFINE(HAVE_CPU_PPC64, 1, [Define if the target CPU is a 64 bit PowerPC]) ;;
|
||||
xalpha*)
|
||||
HAVE_CPU_ALPHA=yes
|
||||
AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
|
||||
xarc*)
|
||||
HAVE_CPU_ARC=yes
|
||||
AC_DEFINE(HAVE_CPU_ARC, 1, [Define if the target CPU is an ARC]) ;;
|
||||
xarm*)
|
||||
HAVE_CPU_ARM=yes
|
||||
AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
|
||||
xaarch64*)
|
||||
HAVE_CPU_AARCH64=yes
|
||||
AC_DEFINE(HAVE_CPU_AARCH64, 1, [Define if the target CPU is AARCH64]) ;;
|
||||
xsparc*)
|
||||
HAVE_CPU_SPARC=yes
|
||||
AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a SPARC]) ;;
|
||||
xmips*)
|
||||
HAVE_CPU_MIPS=yes
|
||||
AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
|
||||
xhppa*)
|
||||
HAVE_CPU_HPPA=yes
|
||||
AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
|
||||
xs390*)
|
||||
HAVE_CPU_S390=yes
|
||||
AC_DEFINE(HAVE_CPU_S390, 1, [Define if the target CPU is a S390]) ;;
|
||||
xia64*)
|
||||
HAVE_CPU_IA64=yes
|
||||
AC_DEFINE(HAVE_CPU_IA64, 1, [Define if the target CPU is a IA64]) ;;
|
||||
xm68k*)
|
||||
HAVE_CPU_M68K=yes
|
||||
AC_DEFINE(HAVE_CPU_M68K, 1, [Define if the target CPU is a M68K]) ;;
|
||||
xx86_64)
|
||||
HAVE_CPU_X86_64=yes
|
||||
AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the target CPU is a x86_64]) ;;
|
||||
xcris)
|
||||
HAVE_CPU_CRIS=yes
|
||||
AC_DEFINE(HAVE_CPU_CRIS, 1, [Define if the target CPU is a CRIS]) ;;
|
||||
xcrisv32)
|
||||
HAVE_CPU_CRISV32=yes
|
||||
AC_DEFINE(HAVE_CPU_CRISV32, 1, [Define if the target CPU is a CRISv32]) ;;
|
||||
esac
|
||||
|
||||
dnl Determine endianness
|
||||
AC_C_BIGENDIAN
|
||||
|
||||
AM_CONDITIONAL(HAVE_CPU_I386, test "x$HAVE_CPU_I386" = "xyes")
|
||||
AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
|
||||
AM_CONDITIONAL(HAVE_CPU_PPC64, test "x$HAVE_CPU_PPC64" = "xyes")
|
||||
AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
|
||||
AM_CONDITIONAL(HAVE_CPU_ARC, test "x$HAVE_CPU_ARC" = "xyes")
|
||||
AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
|
||||
AM_CONDITIONAL(HAVE_CPU_SPARC, test "x$HAVE_CPU_SPARC" = "xyes")
|
||||
AM_CONDITIONAL(HAVE_CPU_HPPA, test "x$HAVE_CPU_HPPA" = "xyes")
|
||||
AM_CONDITIONAL(HAVE_CPU_MIPS, test "x$HAVE_CPU_MIPS" = "xyes")
|
||||
AM_CONDITIONAL(HAVE_CPU_S390, test "x$HAVE_CPU_S390" = "xyes")
|
||||
AM_CONDITIONAL(HAVE_CPU_IA64, test "x$HAVE_CPU_IA64" = "xyes")
|
||||
AM_CONDITIONAL(HAVE_CPU_M68K, test "x$HAVE_CPU_M68K" = "xyes")
|
||||
AM_CONDITIONAL(HAVE_CPU_X86_64, test "x$HAVE_CPU_X86_64" = "xyes")
|
||||
AM_CONDITIONAL(HAVE_CPU_CRIS, test "x$HAVE_CPU_CRIS" = "xyes")
|
||||
AM_CONDITIONAL(HAVE_CPU_CRISV32, test "x$HAVE_CPU_CRISV32" = "xyes")
|
||||
|
||||
AC_DEFINE_UNQUOTED(HOST_CPU, "$host_cpu", [the host CPU])
|
||||
AC_DEFINE_UNQUOTED(TARGET_CPU, "$target_cpu", [the target CPU])
|
||||
])
|
||||
|
||||
dnl check if unaligned memory access works correctly
|
||||
AC_DEFUN([AG_GST_UNALIGNED_ACCESS], [
|
||||
AC_MSG_CHECKING([if unaligned memory access works correctly])
|
||||
if test x"$as_cv_unaligned_access" = x ; then
|
||||
case $host in
|
||||
alpha*|arc*|arm*|aarch64*|hp*|mips*|sh*|sparc*|ia64*)
|
||||
_AS_ECHO_N([(blacklisted) ])
|
||||
as_cv_unaligned_access=no
|
||||
;;
|
||||
i?86*|x86_64*|amd64*|powerpc*|m68k*|cris*)
|
||||
_AS_ECHO_N([(whitelisted) ])
|
||||
as_cv_unaligned_access=yes
|
||||
;;
|
||||
esac
|
||||
else
|
||||
_AS_ECHO_N([(cached) ])
|
||||
fi
|
||||
if test x"$as_cv_unaligned_access" = x ; then
|
||||
AC_TRY_RUN([
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
char array[] = "ABCDEFGH";
|
||||
unsigned int iarray[2];
|
||||
memcpy(iarray,array,8);
|
||||
#define GET(x) (*(unsigned int *)((char *)iarray + (x)))
|
||||
if(GET(0) != 0x41424344 && GET(0) != 0x44434241) return 1;
|
||||
if(GET(1) != 0x42434445 && GET(1) != 0x45444342) return 1;
|
||||
if(GET(2) != 0x43444546 && GET(2) != 0x46454443) return 1;
|
||||
if(GET(3) != 0x44454647 && GET(3) != 0x47464544) return 1;
|
||||
return 0;
|
||||
}
|
||||
], as_cv_unaligned_access="yes", as_cv_unaligned_access="no")
|
||||
fi
|
||||
AC_MSG_RESULT($as_cv_unaligned_access)
|
||||
if test "$as_cv_unaligned_access" = "yes"; then
|
||||
AC_DEFINE_UNQUOTED(HAVE_UNALIGNED_ACCESS, 1,
|
||||
[defined if unaligned memory access works correctly])
|
||||
fi
|
||||
])
|
|
@ -0,0 +1,386 @@
|
|||
dnl configure-time options shared among gstreamer modules
|
||||
|
||||
dnl AG_GST_ARG_DEBUG
|
||||
dnl AG_GST_ARG_PROFILING
|
||||
dnl AG_GST_ARG_VALGRIND
|
||||
dnl AG_GST_ARG_GCOV
|
||||
|
||||
dnl AG_GST_ARG_EXAMPLES
|
||||
|
||||
dnl AG_GST_ARG_WITH_PKG_CONFIG_PATH
|
||||
dnl AG_GST_ARG_WITH_PACKAGE_NAME
|
||||
dnl AG_GST_ARG_WITH_PACKAGE_ORIGIN
|
||||
|
||||
dnl AG_GST_ARG_WITH_PLUGINS
|
||||
dnl AG_GST_CHECK_PLUGIN
|
||||
dnl AG_GST_DISABLE_PLUGIN
|
||||
|
||||
dnl AG_GST_ARG_ENABLE_EXTERNAL
|
||||
dnl AG_GST_ARG_ENABLE_EXPERIMENTAL
|
||||
dnl AG_GST_ARG_ENABLE_BROKEN
|
||||
|
||||
dnl AG_GST_ARG_DISABLE_FATAL_WARNINGS
|
||||
AC_DEFUN([AG_GST_ARG_DEBUG],
|
||||
[
|
||||
dnl debugging stuff
|
||||
AC_ARG_ENABLE(debug,
|
||||
AC_HELP_STRING([--disable-debug],[disable addition of -g debugging info]),
|
||||
[
|
||||
case "${enableval}" in
|
||||
yes) USE_DEBUG=yes ;;
|
||||
no) USE_DEBUG=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
|
||||
esac
|
||||
],
|
||||
[USE_DEBUG=yes]) dnl Default value
|
||||
])
|
||||
|
||||
AC_DEFUN([AG_GST_ARG_PROFILING],
|
||||
[
|
||||
AC_ARG_ENABLE(profiling,
|
||||
AC_HELP_STRING([--enable-profiling],
|
||||
[adds -pg to compiler commandline, for profiling]),
|
||||
[
|
||||
case "${enableval}" in
|
||||
yes) USE_PROFILING=yes ;;
|
||||
no) USE_PROFILING=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-profiling) ;;
|
||||
esac
|
||||
],
|
||||
[USE_PROFILING=no]) dnl Default value
|
||||
])
|
||||
|
||||
AC_DEFUN([AG_GST_ARG_VALGRIND],
|
||||
[
|
||||
dnl valgrind inclusion
|
||||
AC_ARG_ENABLE(valgrind,
|
||||
AC_HELP_STRING([--disable-valgrind],[disable run-time valgrind detection]),
|
||||
[
|
||||
case "${enableval}" in
|
||||
yes) USE_VALGRIND="$USE_DEBUG" ;;
|
||||
no) USE_VALGRIND=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-valgrind) ;;
|
||||
esac
|
||||
],
|
||||
[USE_VALGRIND="$USE_DEBUG"]) dnl Default value
|
||||
VALGRIND_REQ="3.0"
|
||||
if test "x$USE_VALGRIND" = xyes; then
|
||||
PKG_CHECK_MODULES(VALGRIND, valgrind >= $VALGRIND_REQ,
|
||||
USE_VALGRIND="yes",
|
||||
USE_VALGRIND="no")
|
||||
fi
|
||||
if test "x$USE_VALGRIND" = xyes; then
|
||||
AC_DEFINE(HAVE_VALGRIND, 1, [Define if valgrind should be used])
|
||||
AC_MSG_NOTICE(Using extra code paths for valgrind)
|
||||
fi
|
||||
])
|
||||
|
||||
AC_DEFUN([AG_GST_ARG_GCOV],
|
||||
[
|
||||
AC_ARG_ENABLE(gcov,
|
||||
AC_HELP_STRING([--enable-gcov],
|
||||
[compile with coverage profiling instrumentation (gcc only)]),
|
||||
enable_gcov=$enableval,
|
||||
enable_gcov=no)
|
||||
if test x$enable_gcov = xyes ; then
|
||||
if test "x$GCC" != "xyes"
|
||||
then
|
||||
AC_MSG_ERROR([gcov only works if gcc is used])
|
||||
fi
|
||||
|
||||
AS_COMPILER_FLAG(["-fprofile-arcs"],
|
||||
[GCOV_CFLAGS="$GCOV_CFLAGS -fprofile-arcs"],
|
||||
true)
|
||||
AS_COMPILER_FLAG(["-ftest-coverage"],
|
||||
[GCOV_CFLAGS="$GCOV_CFLAGS -ftest-coverage"],
|
||||
true)
|
||||
dnl remove any -O flags - FIXME: is this needed ?
|
||||
GCOV_CFLAGS=`echo "$GCOV_CFLAGS" | sed -e 's/-O[[0-9]]*//g'`
|
||||
dnl libtool 1.5.22 and lower strip -fprofile-arcs from the flags
|
||||
dnl passed to the linker, which is a bug; -fprofile-arcs implicitly
|
||||
dnl links in -lgcov, so we do it explicitly here for the same effect
|
||||
GCOV_LIBS=-lgcov
|
||||
AC_SUBST(GCOV_CFLAGS)
|
||||
AC_SUBST(GCOV_LIBS)
|
||||
GCOV=`echo $CC | sed s/gcc/gcov/g`
|
||||
AC_SUBST(GCOV)
|
||||
|
||||
GST_GCOV_ENABLED=yes
|
||||
AC_DEFINE_UNQUOTED(GST_GCOV_ENABLED, 1,
|
||||
[Defined if gcov is enabled to force a rebuild due to config.h changing])
|
||||
dnl if gcov is used, we do not want default -O2 CFLAGS
|
||||
if test "x$GST_GCOV_ENABLED" = "xyes"
|
||||
then
|
||||
CFLAGS="$CFLAGS -O0"
|
||||
AC_SUBST(CFLAGS)
|
||||
CXXFLAGS="$CXXFLAGS -O0"
|
||||
AC_SUBST(CXXFLAGS)
|
||||
FFLAGS="$FFLAGS -O0"
|
||||
AC_SUBST(FFLAGS)
|
||||
CCASFLAGS="$CCASFLAGS -O0"
|
||||
AC_SUBST(CCASFLAGS)
|
||||
AC_MSG_NOTICE([gcov enabled, setting CFLAGS and friends to $CFLAGS])
|
||||
fi
|
||||
fi
|
||||
AM_CONDITIONAL(GST_GCOV_ENABLED, test x$enable_gcov = xyes)
|
||||
])
|
||||
|
||||
AC_DEFUN([AG_GST_ARG_EXAMPLES],
|
||||
[
|
||||
AC_ARG_ENABLE(examples,
|
||||
AC_HELP_STRING([--disable-examples], [disable building examples]),
|
||||
[
|
||||
case "${enableval}" in
|
||||
yes) BUILD_EXAMPLES=yes ;;
|
||||
no) BUILD_EXAMPLES=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --disable-examples) ;;
|
||||
esac
|
||||
],
|
||||
[BUILD_EXAMPLES=yes]) dnl Default value
|
||||
AM_CONDITIONAL(BUILD_EXAMPLES, test "x$BUILD_EXAMPLES" = "xyes")
|
||||
])
|
||||
|
||||
AC_DEFUN([AG_GST_ARG_WITH_PKG_CONFIG_PATH],
|
||||
[
|
||||
dnl possibly modify pkg-config path
|
||||
AC_ARG_WITH(pkg-config-path,
|
||||
AC_HELP_STRING([--with-pkg-config-path],
|
||||
[colon-separated list of pkg-config(1) dirs]),
|
||||
[
|
||||
export PKG_CONFIG_PATH=${withval}
|
||||
AC_MSG_NOTICE(Set PKG_CONFIG_PATH to $PKG_CONFIG_PATH)
|
||||
])
|
||||
])
|
||||
|
||||
|
||||
dnl This macro requires that GST_GIT or GST_CVS is set to yes or no (release)
|
||||
AC_DEFUN([AG_GST_ARG_WITH_PACKAGE_NAME],
|
||||
[
|
||||
dnl package name in plugins
|
||||
AC_ARG_WITH(package-name,
|
||||
AC_HELP_STRING([--with-package-name],
|
||||
[specify package name to use in plugins]),
|
||||
[
|
||||
case "${withval}" in
|
||||
yes) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
|
||||
no) AC_MSG_ERROR(bad value ${withval} for --with-package-name) ;;
|
||||
*) GST_PACKAGE_NAME="${withval}" ;;
|
||||
esac
|
||||
],
|
||||
[
|
||||
P=$1
|
||||
if test "x$P" = "x"
|
||||
then
|
||||
P=$PACKAGE_NAME
|
||||
fi
|
||||
|
||||
if test "x$PACKAGE_VERSION_NANO" = "x0"
|
||||
then
|
||||
GST_PACKAGE_NAME="$P source release"
|
||||
else
|
||||
if test "x$PACKAGE_VERSION_NANO" = "x1"
|
||||
then
|
||||
GST_PACKAGE_NAME="$P git"
|
||||
else
|
||||
GST_PACKAGE_NAME="$P prerelease"
|
||||
fi
|
||||
fi
|
||||
]
|
||||
)
|
||||
AC_MSG_NOTICE(Using $GST_PACKAGE_NAME as package name)
|
||||
AC_DEFINE_UNQUOTED(GST_PACKAGE_NAME, "$GST_PACKAGE_NAME",
|
||||
[package name in plugins])
|
||||
AC_SUBST(GST_PACKAGE_NAME)
|
||||
])
|
||||
|
||||
AC_DEFUN([AG_GST_ARG_WITH_PACKAGE_ORIGIN],
|
||||
[
|
||||
dnl package origin URL
|
||||
AC_ARG_WITH(package-origin,
|
||||
AC_HELP_STRING([--with-package-origin],
|
||||
[specify package origin URL to use in plugins]),
|
||||
[
|
||||
case "${withval}" in
|
||||
yes) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
|
||||
no) AC_MSG_ERROR(bad value ${withval} for --with-package-origin) ;;
|
||||
*) GST_PACKAGE_ORIGIN="${withval}" ;;
|
||||
esac
|
||||
],
|
||||
[GST_PACKAGE_ORIGIN="[Unknown package origin]"] dnl Default value
|
||||
)
|
||||
AC_MSG_NOTICE(Using $GST_PACKAGE_ORIGIN as package origin)
|
||||
AC_DEFINE_UNQUOTED(GST_PACKAGE_ORIGIN, "$GST_PACKAGE_ORIGIN",
|
||||
[package origin])
|
||||
AC_SUBST(GST_PACKAGE_ORIGIN)
|
||||
])
|
||||
|
||||
dnl sets WITH_PLUGINS to the list of plug-ins given as an argument
|
||||
dnl also clears GST_PLUGINS_ALL and GST_PLUGINS_SELECTED
|
||||
AC_DEFUN([AG_GST_ARG_WITH_PLUGINS],
|
||||
[
|
||||
AC_ARG_WITH(plugins,
|
||||
AC_HELP_STRING([--with-plugins],
|
||||
[comma-separated list of dependencyless plug-ins to compile]),
|
||||
[WITH_PLUGINS=$withval],
|
||||
[WITH_PLUGINS=])
|
||||
|
||||
GST_PLUGINS_ALL=""
|
||||
GST_PLUGINS_SELECTED=""
|
||||
GST_PLUGINS_NONPORTED=""
|
||||
|
||||
AC_SUBST(GST_PLUGINS_ALL)
|
||||
AC_SUBST(GST_PLUGINS_SELECTED)
|
||||
AC_SUBST(GST_PLUGINS_NONPORTED)
|
||||
])
|
||||
|
||||
dnl AG_GST_CHECK_PLUGIN(PLUGIN-NAME)
|
||||
dnl
|
||||
dnl This macro adds the plug-in <PLUGIN-NAME> to GST_PLUGINS_ALL. Then it
|
||||
dnl checks if WITH_PLUGINS is empty or the plugin is present in WITH_PLUGINS,
|
||||
dnl and if so adds it to GST_PLUGINS_SELECTED. Then it checks if the plugin
|
||||
dnl is present in WITHOUT_PLUGINS (ie. was disabled specifically) and if so
|
||||
dnl removes it from GST_PLUGINS_SELECTED.
|
||||
dnl
|
||||
dnl The macro will call AM_CONDITIONAL(USE_PLUGIN_<PLUGIN-NAME>, ...) to allow
|
||||
dnl control of what is built in Makefile.ams.
|
||||
AC_DEFUN([AG_GST_CHECK_PLUGIN],
|
||||
[
|
||||
GST_PLUGINS_ALL="$GST_PLUGINS_ALL [$1]"
|
||||
|
||||
define([pname_def],translit([$1], -a-z, _a-z))
|
||||
|
||||
AC_ARG_ENABLE([$1],
|
||||
AC_HELP_STRING([--disable-[$1]], [disable dependency-less $1 plugin]),
|
||||
[
|
||||
case "${enableval}" in
|
||||
yes) [gst_use_]pname_def=yes ;;
|
||||
no) [gst_use_]pname_def=no ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-$1]) ;;
|
||||
esac
|
||||
],
|
||||
[[gst_use_]pname_def=yes]) dnl Default value
|
||||
|
||||
if test x$[gst_use_]pname_def = xno; then
|
||||
AC_MSG_NOTICE(disabling dependency-less plugin $1)
|
||||
WITHOUT_PLUGINS="$WITHOUT_PLUGINS [$1]"
|
||||
fi
|
||||
undefine([pname_def])
|
||||
|
||||
dnl First check inclusion
|
||||
if [[ -z "$WITH_PLUGINS" ]] || echo " [$WITH_PLUGINS] " | tr , ' ' | grep -i " [$1] " > /dev/null; then
|
||||
GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED [$1]"
|
||||
fi
|
||||
dnl Then check exclusion
|
||||
if echo " [$WITHOUT_PLUGINS] " | tr , ' ' | grep -i " [$1] " > /dev/null; then
|
||||
GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ [$1] / /'`
|
||||
fi
|
||||
dnl Finally check if the plugin is ported or not
|
||||
if echo " [$GST_PLUGINS_NONPORTED] " | tr , ' ' | grep -i " [$1] " > /dev/null; then
|
||||
GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ [$1] / /'`
|
||||
fi
|
||||
AM_CONDITIONAL([USE_PLUGIN_]translit([$1], a-z, A-Z), echo " $GST_PLUGINS_SELECTED " | grep -i " [$1] " > /dev/null)
|
||||
])
|
||||
|
||||
dnl AG_GST_DISABLE_PLUGIN(PLUGIN-NAME)
|
||||
dnl
|
||||
dnl This macro disables the plug-in <PLUGIN-NAME> by removing it from
|
||||
dnl GST_PLUGINS_SELECTED.
|
||||
AC_DEFUN([AG_GST_DISABLE_PLUGIN],
|
||||
[
|
||||
GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ [$1] / /'`
|
||||
AM_CONDITIONAL([USE_PLUGIN_]translit([$1], a-z, A-Z), false)
|
||||
])
|
||||
|
||||
AC_DEFUN([AG_GST_ARG_ENABLE_EXTERNAL],
|
||||
[
|
||||
AG_GST_CHECK_FEATURE(EXTERNAL, [building of plug-ins with external deps],,
|
||||
HAVE_EXTERNAL=yes, enabled,
|
||||
[
|
||||
AC_MSG_NOTICE(building external plug-ins)
|
||||
BUILD_EXTERNAL="yes"
|
||||
],[
|
||||
AC_MSG_WARN(all plug-ins with external dependencies will not be built)
|
||||
BUILD_EXTERNAL="no"
|
||||
])
|
||||
# make BUILD_EXTERNAL available to Makefile.am
|
||||
AM_CONDITIONAL(BUILD_EXTERNAL, test "x$BUILD_EXTERNAL" = "xyes")
|
||||
])
|
||||
|
||||
dnl experimental plug-ins; stuff that hasn't had the dust settle yet
|
||||
dnl read 'builds, but might not work'
|
||||
AC_DEFUN([AG_GST_ARG_ENABLE_EXPERIMENTAL],
|
||||
[
|
||||
AG_GST_CHECK_FEATURE(EXPERIMENTAL, [building of experimental plug-ins],,
|
||||
HAVE_EXPERIMENTAL=yes, disabled,
|
||||
[
|
||||
AC_MSG_WARN(building experimental plug-ins)
|
||||
BUILD_EXPERIMENTAL="yes"
|
||||
],[
|
||||
AC_MSG_NOTICE(not building experimental plug-ins)
|
||||
BUILD_EXPERIMENTAL="no"
|
||||
])
|
||||
# make BUILD_EXPERIMENTAL available to Makefile.am
|
||||
AM_CONDITIONAL(BUILD_EXPERIMENTAL, test "x$BUILD_EXPERIMENTAL" = "xyes")
|
||||
])
|
||||
|
||||
dnl broken plug-ins; stuff that doesn't seem to build at the moment
|
||||
AC_DEFUN([AG_GST_ARG_ENABLE_BROKEN],
|
||||
[
|
||||
AG_GST_CHECK_FEATURE(BROKEN, [building of broken plug-ins],,
|
||||
HAVE_BROKEN=yes, disabled,
|
||||
[
|
||||
AC_MSG_WARN([building broken plug-ins -- no bug reports on these, only patches ...])
|
||||
],[
|
||||
AC_MSG_NOTICE([not building broken plug-ins])
|
||||
])
|
||||
])
|
||||
|
||||
dnl allow people (or build tools) to override default behaviour
|
||||
dnl for fatal compiler warnings
|
||||
dnl Enable fatal warnings by default only for development versions
|
||||
AC_DEFUN([AG_GST_ARG_DISABLE_FATAL_WARNINGS],
|
||||
[
|
||||
AC_ARG_ENABLE(fatal-warnings,
|
||||
AC_HELP_STRING([--disable-fatal-warnings],
|
||||
[Don't turn compiler warnings into fatal errors]),
|
||||
[
|
||||
case "${enableval}" in
|
||||
yes) FATAL_WARNINGS=yes ;;
|
||||
no) FATAL_WARNINGS=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --disable-fatal-warnings) ;;
|
||||
esac
|
||||
],
|
||||
[
|
||||
if test "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1" -a "x`expr $PACKAGE_VERSION_MICRO '<' 90`" = "x1"; then
|
||||
FATAL_WARNINGS=yes
|
||||
else
|
||||
FATAL_WARNINGS=no
|
||||
fi
|
||||
])
|
||||
])
|
||||
|
||||
dnl Enable extra checks by default only for development versions
|
||||
AC_DEFUN([AG_GST_ARG_ENABLE_EXTRA_CHECKS],
|
||||
[
|
||||
AC_ARG_ENABLE(extra-check,
|
||||
AC_HELP_STRING([--enable-extra-checks],
|
||||
[Enable extra runtime checks]),
|
||||
[
|
||||
case "${enableval}" in
|
||||
yes) EXTRA_CHECKS=yes ;;
|
||||
no) EXTRA_CHECKS=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-extra-checks) ;;
|
||||
esac
|
||||
],
|
||||
[
|
||||
if test "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1" -a "x`expr $PACKAGE_VERSION_MICRO '<' 90`" = "x1"; then
|
||||
EXTRA_CHECKS=yes
|
||||
else
|
||||
EXTRA_CHECKS=no
|
||||
fi
|
||||
])
|
||||
|
||||
if test "x$EXTRA_CHECKS" = "xyes"; then
|
||||
AC_DEFINE(GST_ENABLE_EXTRA_CHECKS, 1, [Define if extra runtime checks should be enabled])
|
||||
fi
|
||||
])
|
|
@ -0,0 +1,294 @@
|
|||
dnl pkg-config-based checks for GStreamer modules and dependency modules
|
||||
|
||||
dnl generic:
|
||||
dnl AG_GST_PKG_CHECK_MODULES([PREFIX], [WHICH], [REQUIRED])
|
||||
dnl sets HAVE_[$PREFIX], [$PREFIX]_*
|
||||
dnl AG_GST_CHECK_MODULES([PREFIX], [MODULE], [MINVER], [NAME], [REQUIRED])
|
||||
dnl sets HAVE_[$PREFIX], [$PREFIX]_*
|
||||
|
||||
dnl specific:
|
||||
dnl AG_GST_CHECK_GST([MAJMIN], [MINVER], [REQUIRED])
|
||||
dnl also sets/ACSUBSTs GST_TOOLS_DIR and GST_PLUGINS_DIR
|
||||
dnl AG_GST_CHECK_GST_BASE([MAJMIN], [MINVER], [REQUIRED])
|
||||
dnl AG_GST_CHECK_GST_CONTROLLER([MAJMIN], [MINVER], [REQUIRED])
|
||||
dnl AG_GST_CHECK_GST_NET([MAJMIN], [MINVER], [REQUIRED])
|
||||
dnl AG_GST_CHECK_GST_CHECK([MAJMIN], [MINVER], [REQUIRED])
|
||||
dnl AG_GST_CHECK_GST_PLUGINS_BASE([MAJMIN], [MINVER], [REQUIRED])
|
||||
dnl also sets/ACSUBSTs GSTPB_PLUGINS_DIR
|
||||
|
||||
AC_DEFUN([AG_GST_PKG_CHECK_MODULES],
|
||||
[
|
||||
which="[$2]"
|
||||
dnl not required by default, since we use this mostly for plugin deps
|
||||
required=ifelse([$3], , "no", [$3])
|
||||
|
||||
PKG_CHECK_MODULES([$1], $which,
|
||||
[
|
||||
HAVE_[$1]="yes"
|
||||
],
|
||||
[
|
||||
HAVE_[$1]="no"
|
||||
if test "x$required" = "xyes"; then
|
||||
AC_MSG_ERROR($[$1]_PKG_ERRORS)
|
||||
else
|
||||
AC_MSG_NOTICE($[$1]_PKG_ERRORS)
|
||||
fi
|
||||
])
|
||||
|
||||
dnl AC_SUBST of CFLAGS and LIBS was not done before automake 1.7
|
||||
dnl It gets done automatically in automake >= 1.7, which we now require
|
||||
]))
|
||||
|
||||
AC_DEFUN([AG_GST_CHECK_MODULES],
|
||||
[
|
||||
module=[$2]
|
||||
minver=[$3]
|
||||
name="[$4]"
|
||||
required=ifelse([$5], , "yes", [$5]) dnl required by default
|
||||
|
||||
PKG_CHECK_MODULES([$1], $module >= $minver,
|
||||
[
|
||||
HAVE_[$1]="yes"
|
||||
],
|
||||
[
|
||||
HAVE_[$1]="no"
|
||||
AC_MSG_NOTICE($[$1]_PKG_ERRORS)
|
||||
if test "x$required" = "xyes"; then
|
||||
AC_MSG_ERROR([no $module >= $minver ($name) found])
|
||||
else
|
||||
AC_MSG_NOTICE([no $module >= $minver ($name) found])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl AC_SUBST of CFLAGS and LIBS was not done before automake 1.7
|
||||
dnl It gets done automatically in automake >= 1.7, which we now require
|
||||
]))
|
||||
|
||||
AC_DEFUN([AG_GST_CHECK_GST],
|
||||
[
|
||||
AG_GST_CHECK_MODULES(GST, gstreamer-[$1], [$2], [GStreamer], [$3])
|
||||
dnl allow setting before calling this macro to override
|
||||
if test -z $GST_TOOLS_DIR; then
|
||||
GST_TOOLS_DIR=`$PKG_CONFIG --variable=toolsdir gstreamer-[$1]`
|
||||
if test -z $GST_TOOLS_DIR; then
|
||||
AC_MSG_ERROR(
|
||||
[no tools dir set in GStreamer pkg-config file, core upgrade needed.])
|
||||
fi
|
||||
fi
|
||||
AC_MSG_NOTICE([using GStreamer tools in $GST_TOOLS_DIR])
|
||||
AC_SUBST(GST_TOOLS_DIR)
|
||||
|
||||
dnl check for where core plug-ins got installed
|
||||
dnl this is used for unit tests
|
||||
dnl allow setting before calling this macro to override
|
||||
if test -z $GST_PLUGINS_DIR; then
|
||||
GST_PLUGINS_DIR=`$PKG_CONFIG --variable=pluginsdir gstreamer-[$1]`
|
||||
if test -z $GST_PLUGINS_DIR; then
|
||||
AC_MSG_ERROR(
|
||||
[no pluginsdir set in GStreamer pkg-config file, core upgrade needed.])
|
||||
fi
|
||||
fi
|
||||
AC_MSG_NOTICE([using GStreamer plug-ins in $GST_PLUGINS_DIR])
|
||||
AC_SUBST(GST_PLUGINS_DIR)
|
||||
])
|
||||
|
||||
AC_DEFUN([AG_GST_CHECK_GST_BASE],
|
||||
[
|
||||
AG_GST_CHECK_MODULES(GST_BASE, gstreamer-base-[$1], [$2],
|
||||
[GStreamer Base Libraries], [$3])
|
||||
])
|
||||
|
||||
AC_DEFUN([AG_GST_CHECK_GST_CONTROLLER],
|
||||
[
|
||||
AG_GST_CHECK_MODULES(GST_CONTROLLER, gstreamer-controller-[$1], [$2],
|
||||
[GStreamer Controller Library], [$3])
|
||||
])
|
||||
|
||||
AC_DEFUN([AG_GST_CHECK_GST_NET],
|
||||
[
|
||||
AG_GST_CHECK_MODULES(GST_NET, gstreamer-net-[$1], [$2],
|
||||
[GStreamer Network Library], [$3])
|
||||
])
|
||||
|
||||
AC_DEFUN([AG_GST_CHECK_GST_CHECK],
|
||||
[
|
||||
AG_GST_CHECK_MODULES(GST_CHECK, gstreamer-check-[$1], [$2],
|
||||
[GStreamer Check unittest Library], [$3])
|
||||
])
|
||||
|
||||
dnl ===========================================================================
|
||||
dnl AG_GST_CHECK_UNINSTALLED_SETUP([ACTION-IF-UNINSTALLED], [ACTION-IF-NOT])
|
||||
dnl
|
||||
dnl ACTION-IF-UNINSTALLED (optional) extra actions to perform if the setup
|
||||
dnl is an uninstalled setup
|
||||
dnl ACTION-IF-NOT (optional) extra actions to perform if the setup
|
||||
dnl is not an uninstalled setup
|
||||
dnl ===========================================================================
|
||||
AC_DEFUN([AG_GST_CHECK_UNINSTALLED_SETUP],
|
||||
[
|
||||
AC_MSG_CHECKING([whether this is an uninstalled GStreamer setup])
|
||||
AC_CACHE_VAL(gst_cv_is_uninstalled_setup,[
|
||||
gst_cv_is_uninstalled_setup=no
|
||||
if (set -u; : $GST_PLUGIN_SYSTEM_PATH) 2>/dev/null ; then
|
||||
if test -z "$GST_PLUGIN_SYSTEM_PATH" \
|
||||
-a -n "$GST_PLUGIN_SCANNER" \
|
||||
-a -n "$GST_PLUGIN_PATH" \
|
||||
-a -n "$GST_REGISTRY" \
|
||||
-a -n "$DYLD_LIBRARY_PATH" \
|
||||
-a -n "$LD_LIBRARY_PATH"; then
|
||||
gst_cv_is_uninstalled_setup=yes;
|
||||
fi
|
||||
fi
|
||||
])
|
||||
AC_MSG_RESULT($gst_cv_is_uninstalled_setup)
|
||||
if test "x$gst_cv_is_uninstalled_setup" = "xyes"; then
|
||||
ifelse([$1], , :, [$1])
|
||||
else
|
||||
ifelse([$2], , :, [$2])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl ===========================================================================
|
||||
dnl AG_GST_CHECK_GST_PLUGINS_BASE([GST-API_VERSION], [MIN-VERSION], [REQUIRED])
|
||||
dnl
|
||||
dnl Sets GST_PLUGINS_BASE_CFLAGS and GST_PLUGINS_BASE_LIBS.
|
||||
dnl
|
||||
dnl Also sets GSTPB_PLUGINS_DIR (and for consistency also GST_PLUGINS_BASE_DIR)
|
||||
dnl for use in Makefile.am. This is only really needed/useful in uninstalled
|
||||
dnl setups, since in an installed setup all plugins will be found in
|
||||
dnl GST_PLUGINS_DIR anyway.
|
||||
dnl ===========================================================================
|
||||
AC_DEFUN([AG_GST_CHECK_GST_PLUGINS_BASE],
|
||||
[
|
||||
AG_GST_CHECK_MODULES(GST_PLUGINS_BASE, gstreamer-plugins-base-[$1], [$2],
|
||||
[GStreamer Base Plugins], [$3])
|
||||
|
||||
if test "x$HAVE_GST_PLUGINS_BASE" = "xyes"; then
|
||||
dnl check for where base plugins got installed
|
||||
dnl this is used for unit tests
|
||||
dnl allow setting before calling this macro to override
|
||||
if test -z $GSTPB_PLUGINS_DIR; then
|
||||
GSTPB_PLUGINS_DIR=`$PKG_CONFIG --variable=pluginsdir gstreamer-plugins-base-[$1]`
|
||||
if test -z $GSTPB_PLUGINS_DIR; then
|
||||
AC_MSG_ERROR(
|
||||
[no pluginsdir set in GStreamer Base Plugins pkg-config file])
|
||||
fi
|
||||
fi
|
||||
AC_MSG_NOTICE([using GStreamer Base Plugins in $GSTPB_PLUGINS_DIR])
|
||||
GST_PLUGINS_BASE_DIR="$GSTPB_PLUGINS_DIR/gst:$GSTPB_PLUGINS_DIR/sys:$GSTPB_PLUGINS_DIR/ext"
|
||||
AC_SUBST(GST_PLUGINS_BASE_DIR)
|
||||
AC_SUBST(GSTPB_PLUGINS_DIR)
|
||||
fi
|
||||
])
|
||||
|
||||
dnl ===========================================================================
|
||||
dnl AG_GST_CHECK_GST_PLUGINS_GOOD([GST-API_VERSION], [MIN-VERSION])
|
||||
dnl
|
||||
dnl Will set GST_PLUGINS_GOOD_DIR for use in Makefile.am. Note that this will
|
||||
dnl only be set in an uninstalled setup, since -good ships no .pc file and in
|
||||
dnl an installed setup all plugins will be found in GST_PLUGINS_DIR anyway.
|
||||
dnl ===========================================================================
|
||||
AC_DEFUN([AG_GST_CHECK_GST_PLUGINS_GOOD],
|
||||
[
|
||||
AG_GST_CHECK_MODULES(GST_PLUGINS_GOOD, gstreamer-plugins-good-[$1], [$2],
|
||||
[GStreamer Good Plugins], [no])
|
||||
|
||||
if test "x$HAVE_GST_PLUGINS_GOOD" = "xyes"; then
|
||||
dnl check for where good plugins got installed
|
||||
dnl this is used for unit tests
|
||||
dnl allow setting before calling this macro to override
|
||||
if test -z $GST_PLUGINS_GOOD_DIR; then
|
||||
GST_PLUGINS_GOOD_DIR=`$PKG_CONFIG --variable=pluginsdir gstreamer-plugins-good-[$1]`
|
||||
if test -z $GST_PLUGINS_GOOD_DIR; then
|
||||
AC_MSG_ERROR([no pluginsdir set in GStreamer Good Plugins pkg-config file])
|
||||
fi
|
||||
fi
|
||||
AC_MSG_NOTICE([using GStreamer Good Plugins in $GST_PLUGINS_GOOD_DIR])
|
||||
GST_PLUGINS_GOOD_DIR="$GST_PLUGINS_GOOD_DIR/gst:$GST_PLUGINS_GOOD_DIR/sys:$GST_PLUGINS_GOOD_DIR/ext"
|
||||
AC_SUBST(GST_PLUGINS_GOOD_DIR)
|
||||
fi
|
||||
])
|
||||
|
||||
dnl ===========================================================================
|
||||
dnl AG_GST_CHECK_GST_PLUGINS_UGLY([GST-API_VERSION], [MIN-VERSION])
|
||||
dnl
|
||||
dnl Will set GST_PLUGINS_UGLY_DIR for use in Makefile.am. Note that this will
|
||||
dnl only be set in an uninstalled setup, since -bad ships no .pc file and in
|
||||
dnl an installed setup all plugins will be found in GST_PLUGINS_DIR anyway.
|
||||
dnl ===========================================================================
|
||||
AC_DEFUN([AG_GST_CHECK_GST_PLUGINS_UGLY],
|
||||
[
|
||||
AG_GST_CHECK_MODULES(GST_PLUGINS_UGLY, gstreamer-plugins-ugly-[$1], [$2],
|
||||
[GStreamer Ugly Plugins], [no])
|
||||
|
||||
if test "x$HAVE_GST_PLUGINS_UGLY" = "xyes"; then
|
||||
dnl check for where ugly plugins got installed
|
||||
dnl this is used for unit tests
|
||||
dnl allow setting before calling this macro to override
|
||||
if test -z $GST_PLUGINS_UGLY_DIR; then
|
||||
GST_PLUGINS_UGLY_DIR=`$PKG_CONFIG --variable=pluginsdir gstreamer-plugins-ugly-[$1]`
|
||||
if test -z $GST_PLUGINS_UGLY_DIR; then
|
||||
AC_MSG_ERROR([no pluginsdir set in GStreamer Ugly Plugins pkg-config file])
|
||||
fi
|
||||
fi
|
||||
AC_MSG_NOTICE([using GStreamer Ugly Plugins in $GST_PLUGINS_UGLY_DIR])
|
||||
GST_PLUGINS_UGLY_DIR="$GST_PLUGINS_UGLY_DIR/gst:$GST_PLUGINS_UGLY_DIR/sys:$GST_PLUGINS_UGLY_DIR/ext"
|
||||
AC_SUBST(GST_PLUGINS_UGLY_DIR)
|
||||
fi
|
||||
])
|
||||
|
||||
dnl ===========================================================================
|
||||
dnl AG_GST_CHECK_GST_PLUGINS_BAD([GST-API_VERSION], [MIN-VERSION])
|
||||
dnl
|
||||
dnl Will set GST_PLUGINS_BAD_DIR for use in Makefile.am. Note that this will
|
||||
dnl only be set in an uninstalled setup, since -ugly ships no .pc file and in
|
||||
dnl an installed setup all plugins will be found in GST_PLUGINS_DIR anyway.
|
||||
dnl ===========================================================================
|
||||
AC_DEFUN([AG_GST_CHECK_GST_PLUGINS_BAD],
|
||||
[
|
||||
AG_GST_CHECK_MODULES(GST_PLUGINS_BAD, gstreamer-plugins-bad-[$1], [$2],
|
||||
[GStreamer Bad Plugins], [no])
|
||||
|
||||
if test "x$HAVE_GST_PLUGINS_BAD" = "xyes"; then
|
||||
dnl check for where bad plugins got installed
|
||||
dnl this is used for unit tests
|
||||
dnl allow setting before calling this macro to override
|
||||
if test -z $GST_PLUGINS_BAD_DIR; then
|
||||
GST_PLUGINS_BAD_DIR=`$PKG_CONFIG --variable=pluginsdir gstreamer-plugins-bad-[$1]`
|
||||
if test -z $GST_PLUGINS_BAD_DIR; then
|
||||
AC_MSG_ERROR([no pluginsdir set in GStreamer Bad Plugins pkg-config file])
|
||||
fi
|
||||
fi
|
||||
AC_MSG_NOTICE([using GStreamer Bad Plugins in $GST_PLUGINS_BAD_DIR])
|
||||
GST_PLUGINS_BAD_DIR="$GST_PLUGINS_BAD_DIR/gst:$GST_PLUGINS_BAD_DIR/sys:$GST_PLUGINS_BAD_DIR/ext"
|
||||
AC_SUBST(GST_PLUGINS_BAD_DIR)
|
||||
fi
|
||||
])
|
||||
|
||||
dnl ===========================================================================
|
||||
dnl AG_GST_CHECK_GST_PLUGINS_LIBAV([GST-API_VERSION], [MIN-VERSION])
|
||||
dnl
|
||||
dnl Will set GST_PLUGINS_LIBAV_DIR for use in Makefile.am. Note that this will
|
||||
dnl only be set in an uninstalled setup, since -libav ships no .pc file and in
|
||||
dnl an installed setup all plugins will be found in GST_PLUGINS_DIR anyway.
|
||||
dnl ===========================================================================
|
||||
AC_DEFUN([AG_GST_CHECK_GST_PLUGINS_LIBAV],
|
||||
[
|
||||
AG_GST_CHECK_MODULES(GST_PLUGINS_LIBAV, gstreamer-plugins-libav-[$1], [$2],
|
||||
[GStreamer Libav Plugins], [no])
|
||||
|
||||
if test "x$HAVE_GST_PLUGINS_LIBAV" = "xyes"; then
|
||||
dnl check for where libav plugins got installed
|
||||
dnl this is used for unit tests
|
||||
dnl allow setting before calling this macro to override
|
||||
if test -z $GST_PLUGINS_LIBAV_DIR; then
|
||||
GST_PLUGINS_LIBAV_DIR=`$PKG_CONFIG --variable=pluginsdir gstreamer-plugins-libav-[$1]`
|
||||
if test -z $GST_PLUGINS_LIBAV_DIR; then
|
||||
AC_MSG_ERROR([no pluginsdir set in GStreamer Libav Plugins pkg-config file])
|
||||
fi
|
||||
fi
|
||||
GST_PLUGINS_LIBAV_DIR="$GST_PLUGINS_LIBAV_DIR/ext/libav"
|
||||
AC_MSG_NOTICE([using GStreamer Libav Plugins in $GST_PLUGINS_LIBAV_DIR])
|
||||
AC_SUBST(GST_PLUGINS_LIBAV_DIR)
|
||||
fi
|
||||
])
|
|
@ -0,0 +1,46 @@
|
|||
AC_DEFUN([AG_GST_DEBUGINFO], [
|
||||
AC_ARG_ENABLE(debug,
|
||||
AC_HELP_STRING([--disable-debug],[disable addition of -g debugging info]),
|
||||
[case "${enableval}" in
|
||||
yes) USE_DEBUG=yes ;;
|
||||
no) USE_DEBUG=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
|
||||
esac],
|
||||
[USE_DEBUG=yes]) dnl Default value
|
||||
|
||||
AC_ARG_ENABLE(DEBUG,
|
||||
AC_HELP_STRING([--disable-DEBUG],[disables compilation of debugging messages]),
|
||||
[case "${enableval}" in
|
||||
yes) ENABLE_DEBUG=yes ;;
|
||||
no) ENABLE_DEBUG=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-DEBUG) ;;
|
||||
esac],
|
||||
[ENABLE_DEBUG=yes]) dnl Default value
|
||||
if test x$ENABLE_DEBUG = xyes; then
|
||||
AC_DEFINE(GST_DEBUG_ENABLED, 1, [Define if DEBUG statements should be compiled in])
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(INFO,
|
||||
AC_HELP_STRING([--disable-INFO],[disables compilation of informational messages]),
|
||||
[case "${enableval}" in
|
||||
yes) ENABLE_INFO=yes ;;
|
||||
no) ENABLE_INFO=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-INFO) ;;
|
||||
esac],
|
||||
[ENABLE_INFO=yes]) dnl Default value
|
||||
if test x$ENABLE_INFO = xyes; then
|
||||
AC_DEFINE(GST_INFO_ENABLED, 1, [Define if INFO statements should be compiled in])
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(debug-color,
|
||||
AC_HELP_STRING([--disable-debug-color],[disables color output of DEBUG and INFO output]),
|
||||
[case "${enableval}" in
|
||||
yes) ENABLE_DEBUG_COLOR=yes ;;
|
||||
no) ENABLE_DEBUG_COLOR=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-debug-color) ;;
|
||||
esac],
|
||||
[ENABLE_DEBUG_COLOR=yes]) dnl Default value
|
||||
if test "x$ENABLE_DEBUG_COLOR" = xyes; then
|
||||
AC_DEFINE(GST_DEBUG_COLOR, 1, [Define if debugging messages should be colorized])
|
||||
fi
|
||||
])
|
|
@ -0,0 +1,120 @@
|
|||
dnl default elements used for tests and such
|
||||
|
||||
dnl AG_GST_DEFAULT_ELEMENTS
|
||||
|
||||
AC_DEFUN([AG_GST_DEFAULT_ELEMENTS],
|
||||
[
|
||||
dnl decide on default elements
|
||||
dnl FIXME: describe where exactly this gets used
|
||||
dnl FIXME: decide if it's a problem that this could point to sinks from
|
||||
dnl depending plugin modules
|
||||
dnl FIXME: when can we just use autoaudiosrc and autovideosrc?
|
||||
DEFAULT_AUDIOSINK="autoaudiosink"
|
||||
DEFAULT_VIDEOSINK="autovideosink"
|
||||
DEFAULT_AUDIOSRC="alsasrc"
|
||||
DEFAULT_VIDEOSRC="v4l2src"
|
||||
DEFAULT_VISUALIZER="goom"
|
||||
case "$host" in
|
||||
*-sun-* | *pc-solaris* )
|
||||
DEFAULT_AUDIOSRC="sunaudiosrc"
|
||||
;;
|
||||
*-darwin* )
|
||||
DEFAULT_AUDIOSRC="osxaudiosrc"
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl Default audio sink
|
||||
AC_ARG_WITH(default-audiosink,
|
||||
AC_HELP_STRING([--with-default-audiosink], [specify default audio sink]),
|
||||
[
|
||||
case "${withval}" in
|
||||
yes) AC_MSG_ERROR(bad value ${withval} for --with-default-audiosink) ;;
|
||||
no) AC_MSG_ERROR(bad value ${withval} for --with-default-audiosink) ;;
|
||||
*) DEFAULT_AUDIOSINK="${withval}" ;;
|
||||
esac
|
||||
],
|
||||
[
|
||||
DEFAULT_AUDIOSINK="$DEFAULT_AUDIOSINK"
|
||||
] dnl Default value as determined above
|
||||
)
|
||||
AC_MSG_NOTICE(Using $DEFAULT_AUDIOSINK as default audio sink)
|
||||
AC_SUBST(DEFAULT_AUDIOSINK)
|
||||
AC_DEFINE_UNQUOTED(DEFAULT_AUDIOSINK, "$DEFAULT_AUDIOSINK",
|
||||
[Default audio sink])
|
||||
|
||||
dnl Default audio source
|
||||
AC_ARG_WITH(default-audiosrc,
|
||||
AC_HELP_STRING([--with-default-audiosrc], [specify default audio source]),
|
||||
[
|
||||
case "${withval}" in
|
||||
yes) AC_MSG_ERROR(bad value ${withval} for --with-default-audiosrc) ;;
|
||||
no) AC_MSG_ERROR(bad value ${withval} for --with-default-audiosrc) ;;
|
||||
*) DEFAULT_AUDIOSRC="${withval}" ;;
|
||||
esac
|
||||
],
|
||||
[
|
||||
DEFAULT_AUDIOSRC="$DEFAULT_AUDIOSRC"
|
||||
] dnl Default value as determined above
|
||||
)
|
||||
AC_MSG_NOTICE(Using $DEFAULT_AUDIOSRC as default audio source)
|
||||
AC_SUBST(DEFAULT_AUDIOSRC)
|
||||
AC_DEFINE_UNQUOTED(DEFAULT_AUDIOSRC, "$DEFAULT_AUDIOSRC",
|
||||
[Default audio source])
|
||||
|
||||
dnl Default video sink
|
||||
AC_ARG_WITH(default-videosink,
|
||||
AC_HELP_STRING([--with-default-videosink], [specify default video sink]),
|
||||
[
|
||||
case "${withval}" in
|
||||
yes) AC_MSG_ERROR(bad value ${withval} for --with-default-videosink) ;;
|
||||
no) AC_MSG_ERROR(bad value ${withval} for --with-default-videosink) ;;
|
||||
*) DEFAULT_VIDEOSINK="${withval}" ;;
|
||||
esac
|
||||
],
|
||||
[
|
||||
DEFAULT_VIDEOSINK="$DEFAULT_VIDEOSINK"
|
||||
] dnl Default value as determined above
|
||||
)
|
||||
AC_MSG_NOTICE(Using $DEFAULT_VIDEOSINK as default video sink)
|
||||
AC_SUBST(DEFAULT_VIDEOSINK)
|
||||
AC_DEFINE_UNQUOTED(DEFAULT_VIDEOSINK, "$DEFAULT_VIDEOSINK",
|
||||
[Default video sink])
|
||||
|
||||
dnl Default video source
|
||||
AC_ARG_WITH(default-videosrc,
|
||||
AC_HELP_STRING([--with-default-videosrc], [specify default video source]),
|
||||
[
|
||||
case "${withval}" in
|
||||
yes) AC_MSG_ERROR(bad value ${withval} for --with-default-videosrc) ;;
|
||||
no) AC_MSG_ERROR(bad value ${withval} for --with-default-videosrc) ;;
|
||||
*) DEFAULT_VIDEOSRC="${withval}" ;;
|
||||
esac
|
||||
],
|
||||
[
|
||||
DEFAULT_VIDEOSRC="$DEFAULT_VIDEOSRC"
|
||||
] dnl Default value as determined above
|
||||
)
|
||||
AC_MSG_NOTICE(Using $DEFAULT_VIDEOSRC as default video source)
|
||||
AC_SUBST(DEFAULT_VIDEOSRC)
|
||||
AC_DEFINE_UNQUOTED(DEFAULT_VIDEOSRC, "$DEFAULT_VIDEOSRC",
|
||||
[Default video source])
|
||||
|
||||
dnl Default visualizer
|
||||
AC_ARG_WITH(default-visualizer,
|
||||
AC_HELP_STRING([--with-default-visualizer], [specify default visualizer]),
|
||||
[
|
||||
case "${withval}" in
|
||||
yes) AC_MSG_ERROR(bad value ${withval} for --with-default-visualizer) ;;
|
||||
no) AC_MSG_ERROR(bad value ${withval} for --with-default-visualizer) ;;
|
||||
*) DEFAULT_VISUALIZER="${withval}" ;;
|
||||
esac
|
||||
],
|
||||
[
|
||||
DEFAULT_VISUALIZER="$DEFAULT_VISUALIZER"
|
||||
] dnl Default value as determined above
|
||||
)
|
||||
AC_MSG_NOTICE(Using $DEFAULT_VISUALIZER as default visualizer)
|
||||
AC_SUBST(DEFAULT_VISUALIZER)
|
||||
AC_DEFINE_UNQUOTED(DEFAULT_VISUALIZER, "$DEFAULT_VISUALIZER",
|
||||
[Default visualizer])
|
||||
])
|
|
@ -0,0 +1,92 @@
|
|||
AC_DEFUN([AG_GST_DOCBOOK_CHECK],
|
||||
[
|
||||
dnl choose a location to install docbook docs in
|
||||
if test "x$PACKAGE_TARNAME" = "x"
|
||||
then
|
||||
AC_MSG_ERROR([Internal error - PACKAGE_TARNAME not set])
|
||||
fi
|
||||
docdir="\$(datadir)/doc/$PACKAGE_TARNAME-$GST_API_VERSION"
|
||||
|
||||
dnl enable/disable docbook documentation building
|
||||
AC_ARG_ENABLE(docbook,
|
||||
AC_HELP_STRING([--enable-docbook],
|
||||
[use docbook to build documentation [default=no]]),,
|
||||
enable_docbook=no)
|
||||
|
||||
have_docbook=no
|
||||
|
||||
if test x$enable_docbook = xyes; then
|
||||
dnl check if we actually have everything we need
|
||||
|
||||
dnl check for docbook tools
|
||||
AC_CHECK_PROG(HAVE_DOCBOOK2PS, docbook2ps, yes, no)
|
||||
AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, yes, no)
|
||||
AC_CHECK_PROG(HAVE_JADETEX, jadetex, yes, no)
|
||||
AC_CHECK_PROG(HAVE_PS2PDF, ps2pdf, yes, no)
|
||||
|
||||
dnl check if we can process docbook stuff
|
||||
AS_DOCBOOK(have_docbook=yes, have_docbook=no)
|
||||
|
||||
dnl check for extra tools
|
||||
AC_CHECK_PROG(HAVE_DVIPS, dvips, yes, no)
|
||||
AC_CHECK_PROG(HAVE_XMLLINT, xmllint, yes, no)
|
||||
|
||||
AC_CHECK_PROG(HAVE_PNGTOPNM, pngtopnm, yes, no)
|
||||
AC_CHECK_PROG(HAVE_PNMTOPS, pnmtops, yes, no)
|
||||
AC_CHECK_PROG(HAVE_EPSTOPDF, epstopdf, yes, no)
|
||||
|
||||
dnl check if we can generate HTML
|
||||
if test "x$HAVE_XSLTPROC" = "xyes" && \
|
||||
test "x$enable_docbook" = "xyes" && \
|
||||
test "x$HAVE_XMLLINT" = "xyes"; then
|
||||
DOC_HTML=yes
|
||||
AC_MSG_NOTICE(Will output HTML documentation)
|
||||
else
|
||||
DOC_HTML=no
|
||||
AC_MSG_NOTICE(Will not output HTML documentation)
|
||||
fi
|
||||
|
||||
dnl check if we can generate PS
|
||||
if test "x$HAVE_DOCBOOK2PS" = "xyes" && \
|
||||
test "x$enable_docbook" = "xyes" && \
|
||||
test "x$HAVE_XMLLINT" = "xyes" && \
|
||||
test "x$HAVE_JADETEX" = "xyes" && \
|
||||
test "x$HAVE_DVIPS" = "xyes" && \
|
||||
test "x$HAVE_PNGTOPNM" = "xyes" && \
|
||||
test "x$HAVE_PNMTOPS" = "xyes"; then
|
||||
DOC_PS=yes
|
||||
AC_MSG_NOTICE(Will output PS documentation)
|
||||
else
|
||||
DOC_PS=no
|
||||
AC_MSG_NOTICE(Will not output PS documentation)
|
||||
fi
|
||||
|
||||
dnl check if we can generate PDF - using only ps2pdf
|
||||
if test "x$DOC_PS" = "xyes" && \
|
||||
test "x$enable_docbook" = "xyes" && \
|
||||
test "x$HAVE_XMLLINT" = "xyes" && \
|
||||
test "x$HAVE_PS2PDF" = "xyes"; then
|
||||
DOC_PDF=yes
|
||||
AC_MSG_NOTICE(Will output PDF documentation)
|
||||
else
|
||||
DOC_PDF=no
|
||||
AC_MSG_NOTICE(Will not output PDF documentation)
|
||||
fi
|
||||
|
||||
dnl if we don't have everything, we should disable
|
||||
if test "x$have_docbook" != "xyes"; then
|
||||
enable_docbook=no
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl if we're going to install documentation, tell us where
|
||||
if test "x$have_docbook" = "xyes"; then
|
||||
AC_MSG_NOTICE(Installing documentation in $docdir)
|
||||
AC_SUBST(docdir)
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(ENABLE_DOCBOOK, test x$enable_docbook = xyes)
|
||||
AM_CONDITIONAL(DOC_HTML, test x$DOC_HTML = xyes)
|
||||
AM_CONDITIONAL(DOC_PDF, test x$DOC_PDF = xyes)
|
||||
AM_CONDITIONAL(DOC_PS, test x$DOC_PS = xyes)
|
||||
])
|
|
@ -0,0 +1,24 @@
|
|||
dnl
|
||||
dnl Check for working do while(0) macros. This is used by G_STMT_START
|
||||
dnl and G_STMT_END in glib/gmacros.h. Without having this defined we
|
||||
dnl get "ambigious if-else" compiler warnings when compling C++ code.
|
||||
dnl
|
||||
dnl Copied from GLib's configure.in
|
||||
dnl
|
||||
AC_DEFUN([AG_GST_CHECK_DOWHILE_MACROS],[
|
||||
|
||||
dnl *** check for working do while(0) macros ***
|
||||
AC_CACHE_CHECK([for working do while(0) macros], _cv_g_support_dowhile_macros, [
|
||||
AC_TRY_COMPILE([],[
|
||||
#define STMT_START do
|
||||
#define STMT_END while(0)
|
||||
#define STMT_TEST STMT_START { i = 0; } STMT_END
|
||||
int main(void) { int i = 1; STMT_TEST; return i; }],
|
||||
[_cv_g_support_dowhile_macros=yes],
|
||||
[_cv_g_support_dowhile_macros=no],
|
||||
[_cv_g_support_dowhile_macros=yes])
|
||||
])
|
||||
if test x$_cv_g_support_dowhile_macros = xyes; then
|
||||
AC_DEFINE(HAVE_DOWHILE_MACROS, 1, [define for working do while(0) macros])
|
||||
fi
|
||||
])
|
|
@ -0,0 +1,221 @@
|
|||
dnl handle various error-related things
|
||||
|
||||
dnl Thomas Vander Stichele <thomas@apestaart.org>
|
||||
dnl Tim-Philipp Müller <tim centricular net>
|
||||
|
||||
dnl Last modification: 2008-02-18
|
||||
|
||||
dnl AG_GST_SET_ERROR_CFLAGS([ADD-WERROR], [MORE_FLAGS])
|
||||
dnl AG_GST_SET_ERROR_CXXFLAGS([ADD-WERROR], [MORE_FLAGS])
|
||||
dnl AG_GST_SET_LEVEL_DEFAULT([IS-GIT-VERSION])
|
||||
|
||||
|
||||
dnl Sets WARNING_CFLAGS and ERROR_CFLAGS to something the compiler
|
||||
dnl will accept and AC_SUBST them so they are available in Makefile
|
||||
dnl
|
||||
dnl WARNING_CFLAGS will contain flags to make the compiler emit more
|
||||
dnl warnings.
|
||||
dnl ERROR_CFLAGS will contain flags to make those warnings fatal,
|
||||
dnl unless ADD-WERROR is set to "no"
|
||||
dnl
|
||||
dnl If MORE_FLAGS is set, tries to add each of the given flags
|
||||
dnl to WARNING_CFLAGS if the compiler supports them. Each flag is
|
||||
dnl tested separately.
|
||||
dnl
|
||||
dnl These flags can be overridden at make time:
|
||||
dnl make ERROR_CFLAGS=
|
||||
AC_DEFUN([AG_GST_SET_ERROR_CFLAGS],
|
||||
[
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([AS_COMPILER_FLAG])
|
||||
|
||||
WARNING_CFLAGS=""
|
||||
ERROR_CFLAGS=""
|
||||
|
||||
dnl if we support -Wall, set it unconditionally
|
||||
AS_COMPILER_FLAG(-Wall,
|
||||
WARNING_CFLAGS="$WARNING_CFLAGS -Wall")
|
||||
|
||||
dnl Warn if declarations after statements are used (C99 extension)
|
||||
AS_COMPILER_FLAG(-Wdeclaration-after-statement,
|
||||
WARNING_CFLAGS="$WARNING_CFLAGS -Wdeclaration-after-statement")
|
||||
|
||||
dnl Warn if variable length arrays are used (C99 extension)
|
||||
AS_COMPILER_FLAG(-Wvla,
|
||||
WARNING_CFLAGS="$WARNING_CFLAGS -Wvla")
|
||||
|
||||
dnl Warn for invalid pointer arithmetic
|
||||
AS_COMPILER_FLAG(-Wpointer-arith,
|
||||
WARNING_CFLAGS="$WARNING_CFLAGS -Wpointer-arith")
|
||||
|
||||
dnl if asked for, add -Werror if supported
|
||||
if test "x$1" != "xno"
|
||||
then
|
||||
AS_COMPILER_FLAG(-Werror, ERROR_CFLAGS="$ERROR_CFLAGS -Werror")
|
||||
fi
|
||||
|
||||
if test "x$2" != "x"
|
||||
then
|
||||
UNSUPPORTED=""
|
||||
list="$2"
|
||||
for each in $list
|
||||
do
|
||||
AS_COMPILER_FLAG($each,
|
||||
WARNING_CFLAGS="$WARNING_CFLAGS $each",
|
||||
UNSUPPORTED="$UNSUPPORTED $each")
|
||||
done
|
||||
if test "X$UNSUPPORTED" != X ; then
|
||||
AC_MSG_NOTICE([unsupported compiler flags: $UNSUPPORTED])
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_SUBST(WARNING_CFLAGS)
|
||||
AC_SUBST(ERROR_CFLAGS)
|
||||
AC_MSG_NOTICE([set WARNING_CFLAGS to $WARNING_CFLAGS])
|
||||
AC_MSG_NOTICE([set ERROR_CFLAGS to $ERROR_CFLAGS])
|
||||
])
|
||||
|
||||
dnl Sets WARNING_CXXFLAGS and ERROR_CXXFLAGS to something the compiler
|
||||
dnl will accept and AC_SUBST them so they are available in Makefile
|
||||
dnl
|
||||
dnl WARNING_CXXFLAGS will contain flags to make the compiler emit more
|
||||
dnl warnings.
|
||||
dnl ERROR_CXXFLAGS will contain flags to make those warnings fatal,
|
||||
dnl unless ADD-WERROR is set to "no"
|
||||
dnl
|
||||
dnl If MORE_FLAGS is set, tries to add each of the given flags
|
||||
dnl to WARNING_CFLAGS if the compiler supports them. Each flag is
|
||||
dnl tested separately.
|
||||
dnl
|
||||
dnl These flags can be overridden at make time:
|
||||
dnl make ERROR_CXXFLAGS=
|
||||
AC_DEFUN([AG_GST_SET_ERROR_CXXFLAGS],
|
||||
[
|
||||
AC_REQUIRE([AC_PROG_CXX])
|
||||
AC_REQUIRE([AS_CXX_COMPILER_FLAG])
|
||||
|
||||
ERROR_CXXFLAGS=""
|
||||
WARNING_CXXFLAGS=""
|
||||
|
||||
dnl if we support -Wall, set it unconditionally
|
||||
AS_CXX_COMPILER_FLAG(-Wall, WARNING_CXXFLAGS="$WARNING_CXXFLAGS -Wall")
|
||||
|
||||
dnl if asked for, add -Werror if supported
|
||||
if test "x$1" != "xno"
|
||||
then
|
||||
AS_CXX_COMPILER_FLAG(-Werror, ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror")
|
||||
|
||||
if test "x$ERROR_CXXFLAGS" != "x"
|
||||
then
|
||||
dnl add exceptions
|
||||
AS_CXX_COMPILER_FLAG([-Wno-non-virtual-dtor], ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Wno-non-virtual-dtor")
|
||||
|
||||
dnl Add -fno-strict-aliasing for GLib versions before 2.19.8
|
||||
dnl as before G_LOCK and friends caused strict aliasing compiler
|
||||
dnl warnings.
|
||||
PKG_CHECK_EXISTS([glib-2.0 < 2.19.8], [
|
||||
AS_CXX_COMPILER_FLAG([-fno-strict-aliasing],
|
||||
ERROR_CXXFLAGS="$ERROR_CXXFLAGS -fno-strict-aliasing")
|
||||
])
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$2" != "x"
|
||||
then
|
||||
UNSUPPORTED=""
|
||||
list="$2"
|
||||
for each in $list
|
||||
do
|
||||
AS_CXX_COMPILER_FLAG($each,
|
||||
WARNING_CXXFLAGS="$WARNING_CXXFLAGS $each",
|
||||
UNSUPPORTED="$UNSUPPORTED $each")
|
||||
done
|
||||
if test "X$UNSUPPORTED" != X ; then
|
||||
AC_MSG_NOTICE([unsupported compiler flags: $UNSUPPORTED])
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_SUBST(WARNING_CXXFLAGS)
|
||||
AC_SUBST(ERROR_CXXFLAGS)
|
||||
AC_MSG_NOTICE([set WARNING_CXXFLAGS to $WARNING_CXXFLAGS])
|
||||
AC_MSG_NOTICE([set ERROR_CXXFLAGS to $ERROR_CXXFLAGS])
|
||||
])
|
||||
|
||||
dnl Sets WARNING_OBJCFLAGS and ERROR_OBJCFLAGS to something the compiler
|
||||
dnl will accept and AC_SUBST them so they are available in Makefile
|
||||
dnl
|
||||
dnl WARNING_OBJCFLAGS will contain flags to make the compiler emit more
|
||||
dnl warnings.
|
||||
dnl ERROR_OBJCFLAGS will contain flags to make those warnings fatal,
|
||||
dnl unless ADD-WERROR is set to "no"
|
||||
dnl
|
||||
dnl If MORE_FLAGS is set, tries to add each of the given flags
|
||||
dnl to WARNING_CFLAGS if the compiler supports them. Each flag is
|
||||
dnl tested separately.
|
||||
dnl
|
||||
dnl These flags can be overridden at make time:
|
||||
dnl make ERROR_OBJCFLAGS=
|
||||
AC_DEFUN([AG_GST_SET_ERROR_OBJCFLAGS],
|
||||
[
|
||||
AC_REQUIRE([AC_PROG_OBJC])
|
||||
AC_REQUIRE([AS_OBJC_COMPILER_FLAG])
|
||||
|
||||
ERROR_OBJCFLAGS=""
|
||||
WARNING_OBJCFLAGS=""
|
||||
|
||||
dnl if we support -Wall, set it unconditionally
|
||||
AS_OBJC_COMPILER_FLAG(-Wall, WARNING_OBJCFLAGS="$WARNING_OBJCFLAGS -Wall")
|
||||
|
||||
dnl if asked for, add -Werror if supported
|
||||
if test "x$1" != "xno"
|
||||
then
|
||||
AS_OBJC_COMPILER_FLAG(-Werror, ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS -Werror")
|
||||
|
||||
if test "x$ERROR_OBJCFLAGS" != "x"
|
||||
then
|
||||
dnl Add -fno-strict-aliasing for GLib versions before 2.19.8
|
||||
dnl as before G_LOCK and friends caused strict aliasing compiler
|
||||
dnl warnings.
|
||||
PKG_CHECK_EXISTS([glib-2.0 < 2.19.8], [
|
||||
AS_OBJC_COMPILER_FLAG([-fno-strict-aliasing],
|
||||
ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS -fno-strict-aliasing")
|
||||
])
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$2" != "x"
|
||||
then
|
||||
UNSUPPORTED=""
|
||||
list="$2"
|
||||
for each in $list
|
||||
do
|
||||
AS_OBJC_COMPILER_FLAG($each,
|
||||
WARNING_OBJCFLAGS="$WARNING_OBJCFLAGS $each",
|
||||
UNSUPPORTED="$UNSUPPORTED $each")
|
||||
done
|
||||
if test "X$UNSUPPORTED" != X ; then
|
||||
AC_MSG_NOTICE([unsupported compiler flags: $UNSUPPORTED])
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_SUBST(WARNING_OBJCFLAGS)
|
||||
AC_SUBST(ERROR_OBJCFLAGS)
|
||||
AC_MSG_NOTICE([set WARNING_OBJCFLAGS to $WARNING_OBJCFLAGS])
|
||||
AC_MSG_NOTICE([set ERROR_OBJCFLAGS to $ERROR_OBJCFLAGS])
|
||||
])
|
||||
|
||||
dnl Sets the default error level for debugging messages
|
||||
AC_DEFUN([AG_GST_SET_LEVEL_DEFAULT],
|
||||
[
|
||||
dnl define correct errorlevel for debugging messages. We want to have
|
||||
dnl GST_ERROR messages printed when running cvs builds
|
||||
if test "x[$1]" = "xyes"; then
|
||||
GST_LEVEL_DEFAULT=GST_LEVEL_ERROR
|
||||
else
|
||||
GST_LEVEL_DEFAULT=GST_LEVEL_NONE
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED(GST_LEVEL_DEFAULT, $GST_LEVEL_DEFAULT,
|
||||
[Default errorlevel to use])
|
||||
dnl AC_SUBST so we can use it for win32/common/config.h
|
||||
AC_SUBST(GST_LEVEL_DEFAULT)
|
||||
])
|
|
@ -0,0 +1,297 @@
|
|||
dnl Perform a check for a feature for GStreamer
|
||||
dnl Richard Boulton <richard-alsa@tartarus.org>
|
||||
dnl Thomas Vander Stichele <thomas@apestaart.org> added useful stuff
|
||||
dnl Last modification: 25/06/2001
|
||||
dnl
|
||||
dnl AG_GST_CHECK_FEATURE(FEATURE-NAME, FEATURE-DESCRIPTION,
|
||||
dnl DEPENDENT-PLUGINS, TEST-FOR-FEATURE,
|
||||
dnl DISABLE-BY-DEFAULT, ACTION-IF-USE, ACTION-IF-NOTUSE)
|
||||
dnl
|
||||
dnl This macro adds a command line argument to allow the user to enable
|
||||
dnl or disable a feature, and if the feature is enabled, performs a supplied
|
||||
dnl test to check if the feature is available.
|
||||
dnl
|
||||
dnl The test should define HAVE_<FEATURE-NAME> to "yes" or "no" depending
|
||||
dnl on whether the feature is available.
|
||||
dnl
|
||||
dnl The macro will set USE_<FEATURE-NAME> to "yes" or "no" depending on
|
||||
dnl whether the feature is to be used.
|
||||
dnl Thomas changed this, so that when USE_<FEATURE-NAME> was already set
|
||||
dnl to no, then it stays that way.
|
||||
dnl
|
||||
dnl The macro will call AM_CONDITIONAL(USE_<FEATURE-NAME>, ...) to allow
|
||||
dnl the feature to control what is built in Makefile.ams. If you want
|
||||
dnl additional actions resulting from the test, you can add them with the
|
||||
dnl ACTION-IF-USE and ACTION-IF-NOTUSE parameters.
|
||||
dnl
|
||||
dnl FEATURE-NAME is the name of the feature, and should be in
|
||||
dnl purely upper case characters.
|
||||
dnl FEATURE-DESCRIPTION is used to describe the feature in help text for
|
||||
dnl the command line argument.
|
||||
dnl DEPENDENT-PLUGINS lists any plug-ins which depend on this feature.
|
||||
dnl TEST-FOR-FEATURE is a test which sets HAVE_<FEATURE-NAME> to "yes"
|
||||
dnl or "no" depending on whether the feature is
|
||||
dnl available.
|
||||
dnl DISABLE-BY-DEFAULT if "disabled", the feature is disabled by default,
|
||||
dnl if any other value, the feature is enabled by default.
|
||||
dnl ACTION-IF-USE any extra actions to perform if the feature is to be
|
||||
dnl used.
|
||||
dnl ACTION-IF-NOTUSE any extra actions to perform if the feature is not to
|
||||
dnl be used.
|
||||
dnl
|
||||
dnl
|
||||
dnl thomas :
|
||||
dnl we also added a history.
|
||||
dnl GST_PLUGINS_YES will contain all plugins to be built
|
||||
dnl that were checked through AG_GST_CHECK_FEATURE
|
||||
dnl GST_PLUGINS_NO will contain those that won't be built
|
||||
|
||||
AC_DEFUN([AG_GST_CHECK_FEATURE],
|
||||
[echo
|
||||
AC_MSG_NOTICE(*** checking feature: [$2] ***)
|
||||
if test "x[$3]" != "x"
|
||||
then
|
||||
AC_MSG_NOTICE(*** for plug-ins: [$3] ***)
|
||||
fi
|
||||
dnl
|
||||
builtin(define, [gst_endisable], ifelse($5, [disabled], [enable], [disable]))dnl
|
||||
dnl if it is set to NO, then don't even consider it for building
|
||||
NOUSE=
|
||||
if test "x$USE_[$1]" = "xno"; then
|
||||
NOUSE="yes"
|
||||
fi
|
||||
AC_ARG_ENABLE(translit([$1], A-Z, a-z),
|
||||
[ ]builtin(format, --%-26s gst_endisable %s, gst_endisable-translit([$1], A-Z, a-z), [$2]ifelse([$3],,,: [$3])),
|
||||
[ case "${enableval}" in
|
||||
yes) USE_[$1]=yes;;
|
||||
no) USE_[$1]=no;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-translit([$1], A-Z, a-z)) ;;
|
||||
esac],
|
||||
[ USE_$1=]ifelse($5, [disabled], [no], [yes])) dnl DEFAULT
|
||||
|
||||
dnl *** set it back to no if it was preset to no
|
||||
if test "x$NOUSE" = "xyes"; then
|
||||
USE_[$1]="no"
|
||||
AC_MSG_WARN(*** $3 pre-configured not to be built)
|
||||
fi
|
||||
NOUSE=
|
||||
|
||||
dnl *** Check if it is ported or not
|
||||
if echo " [$GST_PLUGINS_NONPORTED] " | tr , ' ' | grep -i " [$1] " > /dev/null; then
|
||||
USE_[$1]="no"
|
||||
AC_MSG_WARN(*** $3 not ported)
|
||||
fi
|
||||
|
||||
dnl *** If it's enabled
|
||||
|
||||
if test x$USE_[$1] = xyes; then
|
||||
dnl save compile variables before the test
|
||||
|
||||
gst_check_save_LIBS=$LIBS
|
||||
gst_check_save_LDFLAGS=$LDFLAGS
|
||||
gst_check_save_CFLAGS=$CFLAGS
|
||||
gst_check_save_CPPFLAGS=$CPPFLAGS
|
||||
gst_check_save_CXXFLAGS=$CXXFLAGS
|
||||
|
||||
HAVE_[$1]=no
|
||||
dnl TEST_FOR_FEATURE
|
||||
$4
|
||||
|
||||
LIBS=$gst_check_save_LIBS
|
||||
LDFLAGS=$gst_check_save_LDFLAGS
|
||||
CFLAGS=$gst_check_save_CFLAGS
|
||||
CPPFLAGS=$gst_check_save_CPPFLAGS
|
||||
CXXFLAGS=$gst_check_save_CXXFLAGS
|
||||
|
||||
dnl If it isn't found, unset USE_[$1]
|
||||
if test x$HAVE_[$1] = xno; then
|
||||
USE_[$1]=no
|
||||
else
|
||||
ifelse([$3], , :, [AC_MSG_NOTICE(*** These plugins will be built: [$3])])
|
||||
fi
|
||||
fi
|
||||
dnl *** Warn if it's disabled or not found
|
||||
if test x$USE_[$1] = xyes; then
|
||||
ifelse([$6], , :, [$6])
|
||||
if test "x$3" != "x"; then
|
||||
GST_PLUGINS_YES="\t[$3]\n$GST_PLUGINS_YES"
|
||||
fi
|
||||
AC_DEFINE(HAVE_[$1], , [Define to enable $2]ifelse($3,,, [ (used by $3)]).)
|
||||
else
|
||||
ifelse([$3], , :, [AC_MSG_NOTICE(*** These plugins will not be built: [$3])])
|
||||
if test "x$3" != "x"; then
|
||||
GST_PLUGINS_NO="\t[$3]\n$GST_PLUGINS_NO"
|
||||
fi
|
||||
ifelse([$7], , :, [$7])
|
||||
fi
|
||||
dnl *** Define the conditional as appropriate
|
||||
AM_CONDITIONAL(USE_[$1], test x$USE_[$1] = xyes)
|
||||
])
|
||||
|
||||
dnl Use AC_CHECK_LIB and AC_CHECK_HEADER to do both tests at once
|
||||
dnl sets HAVE_module if we have it
|
||||
dnl Richard Boulton <richard-alsa@tartarus.org>
|
||||
dnl Last modification: 26/06/2001
|
||||
dnl AG_GST_CHECK_LIBHEADER(FEATURE-NAME, LIB NAME, LIB FUNCTION, EXTRA LD FLAGS,
|
||||
dnl HEADER NAME, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND)
|
||||
dnl
|
||||
dnl This check was written for GStreamer: it should be renamed and checked
|
||||
dnl for portability if you decide to use it elsewhere.
|
||||
dnl
|
||||
AC_DEFUN([AG_GST_CHECK_LIBHEADER],
|
||||
[
|
||||
AC_CHECK_LIB([$2], [$3], HAVE_[$1]=yes, HAVE_[$1]=no,[$4])
|
||||
if test "x$HAVE_[$1]" = "xyes"; then
|
||||
AC_CHECK_HEADER([$5], :, HAVE_[$1]=no)
|
||||
if test "x$HAVE_[$1]" = "xyes"; then
|
||||
dnl execute what needs to be
|
||||
ifelse([$6], , :, [$6])
|
||||
else
|
||||
ifelse([$7], , :, [$7])
|
||||
fi
|
||||
else
|
||||
ifelse([$7], , :, [$7])
|
||||
fi
|
||||
AC_SUBST(HAVE_[$1])
|
||||
]
|
||||
)
|
||||
|
||||
dnl 2004-02-14 Thomas - changed to get set properly and use proper output
|
||||
dnl 2003-06-27 Benjamin Otte - changed to make this work with gstconfig.h
|
||||
dnl
|
||||
dnl Add a subsystem --disable flag and all the necessary symbols and substitions
|
||||
dnl
|
||||
dnl AG_GST_CHECK_SUBSYSTEM_DISABLE(SYSNAME, [subsystem name])
|
||||
dnl
|
||||
AC_DEFUN([AG_GST_CHECK_SUBSYSTEM_DISABLE],
|
||||
[
|
||||
dnl this define will replace each literal subsys_def occurrence with
|
||||
dnl the lowercase hyphen-separated subsystem
|
||||
dnl e.g. if $1 is GST_DEBUG then subsys_def will be a macro with gst-debug
|
||||
define([subsys_def],translit([$1], _A-Z, -a-z))
|
||||
|
||||
AC_ARG_ENABLE(subsys_def,
|
||||
AC_HELP_STRING(--disable-subsys_def, [disable $2]),
|
||||
[
|
||||
case "${enableval}" in
|
||||
yes) GST_DISABLE_[$1]=no ;;
|
||||
no) GST_DISABLE_[$1]=yes ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-subsys_def]) ;;
|
||||
esac
|
||||
],
|
||||
[GST_DISABLE_[$1]=no]) dnl Default value
|
||||
|
||||
if test x$GST_DISABLE_[$1] = xyes; then
|
||||
AC_MSG_NOTICE([disabled subsystem [$2]])
|
||||
GST_DISABLE_[$1]_DEFINE="#define GST_DISABLE_$1 1"
|
||||
else
|
||||
GST_DISABLE_[$1]_DEFINE="/* #undef GST_DISABLE_$1 */"
|
||||
fi
|
||||
AC_SUBST(GST_DISABLE_[$1]_DEFINE)
|
||||
undefine([subsys_def])
|
||||
])
|
||||
|
||||
|
||||
dnl Parse gstconfig.h for feature and defines add the symbols and substitions
|
||||
dnl
|
||||
dnl AG_GST_PARSE_SUBSYSTEM_DISABLE(GST_CONFIGPATH, FEATURE)
|
||||
dnl
|
||||
AC_DEFUN([AG_GST_PARSE_SUBSYSTEM_DISABLE],
|
||||
[
|
||||
grep >/dev/null "#undef GST_DISABLE_$2" $1
|
||||
if test $? = 0; then
|
||||
GST_DISABLE_[$2]=0
|
||||
else
|
||||
GST_DISABLE_[$2]=1
|
||||
fi
|
||||
AC_SUBST(GST_DISABLE_[$2])
|
||||
])
|
||||
|
||||
dnl Parse gstconfig.h and defines add the symbols and substitions
|
||||
dnl
|
||||
dnl GST_CONFIGPATH=`$PKG_CONFIG --variable=includedir gstreamer-1.0`"/gst/gstconfig.h"
|
||||
dnl AG_GST_PARSE_SUBSYSTEM_DISABLES(GST_CONFIGPATH)
|
||||
dnl
|
||||
AC_DEFUN([AG_GST_PARSE_SUBSYSTEM_DISABLES],
|
||||
[
|
||||
AG_GST_PARSE_SUBSYSTEM_DISABLE($1,GST_DEBUG)
|
||||
AG_GST_PARSE_SUBSYSTEM_DISABLE($1,LOADSAVE)
|
||||
AG_GST_PARSE_SUBSYSTEM_DISABLE($1,PARSE)
|
||||
AG_GST_PARSE_SUBSYSTEM_DISABLE($1,TRACE)
|
||||
AG_GST_PARSE_SUBSYSTEM_DISABLE($1,ALLOC_TRACE)
|
||||
AG_GST_PARSE_SUBSYSTEM_DISABLE($1,REGISTRY)
|
||||
AG_GST_PARSE_SUBSYSTEM_DISABLE($1,PLUGIN)
|
||||
AG_GST_PARSE_SUBSYSTEM_DISABLE($1,XML)
|
||||
])
|
||||
|
||||
dnl AG_GST_CHECK_GST_DEBUG_DISABLED(ACTION-IF-DISABLED, ACTION-IF-NOT-DISABLED)
|
||||
dnl
|
||||
dnl Checks if the GStreamer debugging system is disabled in the core version
|
||||
dnl we are compiling against (by checking gstconfig.h)
|
||||
dnl
|
||||
AC_DEFUN([AG_GST_CHECK_GST_DEBUG_DISABLED],
|
||||
[
|
||||
AC_REQUIRE([AG_GST_CHECK_GST])
|
||||
|
||||
AC_MSG_CHECKING([whether the GStreamer debugging system is enabled])
|
||||
AC_LANG_PUSH([C])
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$GST_CFLAGS $CFLAGS"
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_SOURCE([[
|
||||
#include <gst/gstconfig.h>
|
||||
#ifdef GST_DISABLE_GST_DEBUG
|
||||
#error "debugging disabled, make compiler fail"
|
||||
#endif]])], [ debug_system_enabled=yes], [debug_system_enabled=no])
|
||||
CFLAGS="$save_CFLAGS"
|
||||
AC_LANG_POP([C])
|
||||
|
||||
AC_MSG_RESULT([$debug_system_enabled])
|
||||
|
||||
if test "x$debug_system_enabled" = "xyes" ; then
|
||||
$2
|
||||
true
|
||||
else
|
||||
$1
|
||||
true
|
||||
fi
|
||||
])
|
||||
|
||||
dnl relies on GST_PLUGINS_ALL, GST_PLUGINS_SELECTED, GST_PLUGINS_YES,
|
||||
dnl GST_PLUGINS_NO, and BUILD_EXTERNAL
|
||||
AC_DEFUN([AG_GST_OUTPUT_PLUGINS], [
|
||||
|
||||
printf "configure: *** Plug-ins without external dependencies that will be built:\n"
|
||||
( for i in $GST_PLUGINS_SELECTED; do printf '\t'$i'\n'; done ) | sort
|
||||
printf "\n"
|
||||
|
||||
printf "configure: *** Plug-ins without external dependencies that will NOT be built:\n"
|
||||
( for i in $GST_PLUGINS_ALL; do
|
||||
case " $GST_PLUGINS_SELECTED " in
|
||||
*\ $i\ *)
|
||||
;;
|
||||
*)
|
||||
printf '\t'$i'\n'
|
||||
;;
|
||||
esac
|
||||
done ) | sort
|
||||
printf "\n"
|
||||
|
||||
printf "configure: *** Plug-ins that have NOT been ported:\n"
|
||||
( for i in $GST_PLUGINS_NONPORTED; do
|
||||
printf '\t'$i'\n'
|
||||
done ) | sort
|
||||
printf "\n"
|
||||
|
||||
if test "x$BUILD_EXTERNAL" = "xno"; then
|
||||
printf "configure: *** No plug-ins with external dependencies will be built\n"
|
||||
else
|
||||
printf "configure: *** Plug-ins with dependencies that will be built:"
|
||||
printf "$GST_PLUGINS_YES\n" | sort
|
||||
printf "\n"
|
||||
printf "configure: *** Plug-ins with dependencies that will NOT be built:"
|
||||
printf "$GST_PLUGINS_NO\n" | sort
|
||||
printf "\n"
|
||||
fi
|
||||
])
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
dnl
|
||||
dnl Check for compiler mechanism to show functions in debugging
|
||||
dnl copied from an Ali patch floating on the internet
|
||||
dnl
|
||||
AC_DEFUN([AG_GST_CHECK_FUNCTION],[
|
||||
dnl #1: __PRETTY_FUNCTION__
|
||||
AC_MSG_CHECKING(whether $CC implements __PRETTY_FUNCTION__)
|
||||
AC_CACHE_VAL(gst_cv_have_pretty_function,[
|
||||
AC_TRY_LINK([#include <stdio.h>],
|
||||
[printf("%s", __PRETTY_FUNCTION__);],
|
||||
gst_cv_have_pretty_function=yes,
|
||||
gst_cv_have_pretty_function=no)
|
||||
])
|
||||
AC_MSG_RESULT($gst_cv_have_pretty_function)
|
||||
if test "$gst_cv_have_pretty_function" = yes; then
|
||||
AC_DEFINE(HAVE_PRETTY_FUNCTION, 1,
|
||||
[defined if the compiler implements __PRETTY_FUNCTION__])
|
||||
fi
|
||||
|
||||
dnl #2: __FUNCTION__
|
||||
AC_MSG_CHECKING(whether $CC implements __FUNCTION__)
|
||||
AC_CACHE_VAL(gst_cv_have_function,[
|
||||
AC_TRY_LINK([#include <stdio.h>],
|
||||
[printf("%s", __FUNCTION__);],
|
||||
gst_cv_have_function=yes,
|
||||
gst_cv_have_function=no)
|
||||
])
|
||||
AC_MSG_RESULT($gst_cv_have_function)
|
||||
if test "$gst_cv_have_function" = yes; then
|
||||
AC_DEFINE(HAVE_FUNCTION, 1,
|
||||
[defined if the compiler implements __FUNCTION__])
|
||||
fi
|
||||
|
||||
dnl #3: __func__
|
||||
AC_MSG_CHECKING(whether $CC implements __func__)
|
||||
AC_CACHE_VAL(gst_cv_have_func,[
|
||||
AC_TRY_LINK([#include <stdio.h>],
|
||||
[printf("%s", __func__);],
|
||||
gst_cv_have_func=yes,
|
||||
gst_cv_have_func=no)
|
||||
])
|
||||
AC_MSG_RESULT($gst_cv_have_func)
|
||||
if test "$gst_cv_have_func" = yes; then
|
||||
AC_DEFINE(HAVE_FUNC, 1,
|
||||
[defined if the compiler implements __func__])
|
||||
fi
|
||||
|
||||
dnl now define FUNCTION to whatever works, and fallback to ""
|
||||
if test "$gst_cv_have_pretty_function" = yes; then
|
||||
function=__PRETTY_FUNCTION__
|
||||
else
|
||||
if test "$gst_cv_have_function" = yes; then
|
||||
function=__FUNCTION__
|
||||
else
|
||||
if test "$gst_cv_have_func" = yes; then
|
||||
function=__func__
|
||||
else
|
||||
function=\"\"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED(GST_FUNCTION, $function, [macro to use to show function name])
|
||||
])
|
|
@ -0,0 +1,28 @@
|
|||
dnl gettext setup
|
||||
|
||||
dnl AG_GST_GETTEXT([gettext-package])
|
||||
dnl defines GETTEXT_PACKAGE and LOCALEDIR
|
||||
|
||||
AC_DEFUN([AG_GST_GETTEXT],
|
||||
[
|
||||
if test "$USE_NLS" = "yes"; then
|
||||
GETTEXT_PACKAGE=[$1]
|
||||
else
|
||||
GETTEXT_PACKAGE=[NULL]
|
||||
fi
|
||||
AC_SUBST(GETTEXT_PACKAGE)
|
||||
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], "$GETTEXT_PACKAGE",
|
||||
[gettext package name])
|
||||
|
||||
dnl make sure po/Makevars is kept in sync with GETTEXT_PACKAGE
|
||||
if test -e "${srcdir}/po/Makevars"; then
|
||||
if ! grep -e "$1" "${srcdir}/po/Makevars"; then
|
||||
AC_MSG_ERROR([DOMAIN in po/Makevars does not match GETTEXT_PACKAGE $1])
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl define LOCALEDIR in config.h
|
||||
AS_AC_EXPAND(LOCALEDIR, $datadir/locale)
|
||||
AC_DEFINE_UNQUOTED([LOCALEDIR], "$LOCALEDIR",
|
||||
[gettext locale dir])
|
||||
])
|
|
@ -0,0 +1,121 @@
|
|||
dnl check for a minimum version of GLib
|
||||
|
||||
dnl AG_GST_GLIB_CHECK([minimum-version-required])
|
||||
|
||||
AC_DEFUN([AG_GST_GLIB_CHECK],
|
||||
[
|
||||
AC_REQUIRE([AS_NANO])
|
||||
|
||||
dnl Minimum required version of GLib
|
||||
GLIB_REQ=[$1]
|
||||
if test "x$GLIB_REQ" = "x"
|
||||
then
|
||||
AC_MSG_ERROR([Please specify a required version for GLib 2.0])
|
||||
fi
|
||||
AC_SUBST(GLIB_REQ)
|
||||
|
||||
dnl Check for glib with everything
|
||||
AG_GST_PKG_CHECK_MODULES(GLIB,
|
||||
glib-2.0 >= $GLIB_REQ gobject-2.0 gmodule-no-export-2.0)
|
||||
|
||||
if test "x$HAVE_GLIB" = "xno"; then
|
||||
AC_MSG_ERROR([This package requires GLib >= $GLIB_REQ to compile.])
|
||||
fi
|
||||
|
||||
dnl Add define to tell GLib that threading is always enabled within GStreamer
|
||||
dnl code (optimisation, bypasses checks if the threading system is enabled
|
||||
dnl when using threading primitives)
|
||||
GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_THREADS_MANDATORY"
|
||||
|
||||
dnl Define G_DISABLE_DEPRECATED for development versions
|
||||
if test "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1" -a "x`expr $PACKAGE_VERSION_MICRO '<' 90`" = "x1"; then
|
||||
GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_DISABLE_DEPRECATED"
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(gobject-cast-checks,
|
||||
AS_HELP_STRING([--enable-gobject-cast-checks[=@<:@no/auto/yes@:>@]],
|
||||
[Enable GObject cast checks]),[enable_gobject_cast_checks=$enableval],
|
||||
[enable_gobject_cast_checks=auto])
|
||||
|
||||
if test "x$enable_gobject_cast_checks" = "xauto"; then
|
||||
dnl Turn on cast checks only for development versions
|
||||
if test "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1" -a "x`expr $PACKAGE_VERSION_MICRO '<' 90`" = "x1"; then
|
||||
enable_gobject_cast_checks=yes
|
||||
else
|
||||
enable_gobject_cast_checks=no
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$enable_gobject_cast_checks" = "xno"; then
|
||||
GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_DISABLE_CAST_CHECKS"
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(glib-asserts,
|
||||
AS_HELP_STRING([--enable-glib-asserts[=@<:@no/yes@:>@]],
|
||||
[Enable GLib assertion]),[enable_glib_assertions=$enableval],
|
||||
[enable_glib_assertions=yes])
|
||||
|
||||
if test "x$enable_glib_assertions" = "xno"; then
|
||||
GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_DISABLE_ASSERT"
|
||||
fi
|
||||
|
||||
dnl Find location of glib utils. People may want to or have to override these,
|
||||
dnl e.g. in a cross-compile situation where PATH is a bit messed up. We need
|
||||
dnl for these tools to work on the host, so can't just use the one from the
|
||||
dnl GLib installation that pkg-config picks up, as that might be for a
|
||||
dnl different target architecture.
|
||||
dnl
|
||||
dnl glib-genmarshal:
|
||||
AC_MSG_CHECKING(for glib-genmarshal)
|
||||
if test "x$GLIB_GENMARSHAL" != "x"; then
|
||||
AC_MSG_RESULT([$GLIB_GENMARSHAL (from environment)])
|
||||
else
|
||||
GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
|
||||
if $GLIB_GENMARSHAL --version 2>/dev/null >/dev/null; then
|
||||
AC_MSG_RESULT([$GLIB_GENMARSHAL (from pkg-config path)])
|
||||
else
|
||||
AC_PATH_PROG(GLIB_GENMARSHAL, [glib-genmarshal], [glib-genmarshal])
|
||||
AC_MSG_RESULT([$GLIB_GENMARSHAL])
|
||||
fi
|
||||
fi
|
||||
if ! $GLIB_GENMARSHAL --version 2>/dev/null >/dev/null; then
|
||||
AC_MSG_WARN([$GLIB_GENMARSHAL does not seem to work!])
|
||||
fi
|
||||
AC_SUBST(GLIB_GENMARSHAL)
|
||||
|
||||
dnl glib-mkenums:
|
||||
AC_MSG_CHECKING(for glib-mkenums)
|
||||
if test "x$GLIB_MKENUMS" != "x"; then
|
||||
AC_MSG_RESULT([$GLIB_MKENUMS (from environment)])
|
||||
else
|
||||
dnl glib-mkenums is written in perl so should always work really
|
||||
GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
|
||||
AC_MSG_RESULT([$GLIB_MKENUMS])
|
||||
fi
|
||||
if ! $GLIB_MKENUMS --version 2>/dev/null >/dev/null; then
|
||||
AC_MSG_WARN([$GLIB_MKENUMS does not seem to work!])
|
||||
fi
|
||||
AC_SUBST(GLIB_MKENUMS)
|
||||
|
||||
AC_SUBST(GLIB_EXTRA_CFLAGS)
|
||||
|
||||
dnl Now check for GIO
|
||||
PKG_CHECK_MODULES(GIO, gio-2.0 >= $GLIB_REQ)
|
||||
if test "x$HAVE_GIO" = "xno"; then
|
||||
AC_MSG_ERROR([This package requires GIO >= $GLIB_REQ to compile.])
|
||||
fi
|
||||
|
||||
GIO_MODULE_DIR="`$PKG_CONFIG --variable=giomoduledir gio-2.0`"
|
||||
AC_DEFINE_UNQUOTED(GIO_MODULE_DIR, "$GIO_MODULE_DIR",
|
||||
[The GIO modules directory.])
|
||||
GIO_LIBDIR="`$PKG_CONFIG --variable=libdir gio-2.0`"
|
||||
AC_DEFINE_UNQUOTED(GIO_LIBDIR, "$GIO_LIBDIR",
|
||||
[The GIO library directory.])
|
||||
GIO_PREFIX="`$PKG_CONFIG --variable=prefix gio-2.0`"
|
||||
AC_DEFINE_UNQUOTED(GIO_PREFIX, "$GIO_PREFIX",
|
||||
[The GIO install prefix.])
|
||||
|
||||
AC_SUBST(GIO_CFLAGS)
|
||||
AC_SUBST(GIO_LIBS)
|
||||
AC_SUBST(GIO_LDFLAGS)
|
||||
])
|
|
@ -0,0 +1,52 @@
|
|||
dnl call this macro with the minimum required version as an argument
|
||||
dnl this macro sets and AC_SUBSTs XML_CFLAGS and XML_LIBS
|
||||
dnl it also sets LIBXML_PKG, used for the pkg-config file
|
||||
|
||||
AC_DEFUN([AG_GST_LIBXML2_CHECK],
|
||||
[
|
||||
dnl Minimum required version of libxml2
|
||||
dnl default to 2.4.9 if not specified
|
||||
LIBXML2_REQ=ifelse([$1],,2.4.9,[$1])
|
||||
AC_SUBST(LIBXML2_REQ)
|
||||
|
||||
dnl check for libxml2
|
||||
PKG_CHECK_MODULES(XML, libxml-2.0 >= $LIBXML2_REQ,
|
||||
HAVE_LIBXML2=yes, [
|
||||
AC_MSG_RESULT(no)
|
||||
HAVE_LIBXML2=no
|
||||
])
|
||||
if test "x$HAVE_LIBXML2" = "xyes"; then
|
||||
AC_DEFINE(HAVE_LIBXML2, 1, [Define if libxml2 is available])
|
||||
else
|
||||
AC_MSG_ERROR([
|
||||
Need libxml2 and development headers/files to build GStreamer.
|
||||
|
||||
You can do without libxml2 if you pass --disable-loadsave to
|
||||
configure, but that breaks ABI, so don't do that unless you
|
||||
are building for an embedded setup and know what you are doing.
|
||||
])
|
||||
fi
|
||||
dnl this is for the .pc file
|
||||
LIBXML_PKG=', libxml-2.0'
|
||||
AC_SUBST(LIBXML_PKG)
|
||||
AC_SUBST(XML_LIBS)
|
||||
AC_SUBST(XML_CFLAGS)
|
||||
|
||||
dnl XML_LIBS might pull in -lz without zlib actually being on the system, so
|
||||
dnl try linking with these LIBS and CFLAGS
|
||||
ac_save_CFLAGS=$CFLAGS
|
||||
ac_save_LIBS=$LIBS
|
||||
CFLAGS="$CFLAGS $XML_CFLAGS"
|
||||
LIBS="$LIBS $XML_LIBS"
|
||||
AC_TRY_LINK([
|
||||
#include <libxml/tree.h>
|
||||
#include <stdio.h>
|
||||
],[
|
||||
/* function body */
|
||||
],
|
||||
AC_MSG_NOTICE([Test xml2 program linked]),
|
||||
AC_MSG_ERROR([Could not link libxml2 test program. Check if you have the necessary dependencies.])
|
||||
)
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
])
|
|
@ -0,0 +1,93 @@
|
|||
dnl macros to set GST_PACKAGE_RELEASE_DATETIME
|
||||
|
||||
dnl ===========================================================================
|
||||
dnl AG_GST_SET_PACKAGE_RELEASE_DATETIME
|
||||
dnl
|
||||
dnl Usage:
|
||||
dnl
|
||||
dnl AG_GST_SET_PACKAGE_RELEASE_DATETIME()
|
||||
dnl AG_GST_SET_PACKAGE_RELEASE_DATETIME([no]...)
|
||||
dnl sets the release datetime to the current date
|
||||
dnl (no = this is not a release, but git or prerelease)
|
||||
dnl
|
||||
dnl AG_GST_SET_PACKAGE_RELEASE_DATETIME([YYYY-MM-DD])
|
||||
dnl AG_GST_SET_PACKAGE_RELEASE_DATETIME([yes], [YYYY-MM-DD])
|
||||
dnl sets the release datetime to the specified date (and time, if given)
|
||||
dnl (yes = this is a release, not git or prerelease)
|
||||
dnl
|
||||
dnl AG_GST_SET_PACKAGE_RELEASE_DATETIME([yes], [DOAP-FILE], [RELEASE-VERSION])
|
||||
dnl sets the release date to the release date associated with version
|
||||
dnl RELEASE-VERSION in the .doap file DOAP-FILE
|
||||
dnl (yes = this is a release, not git or prerelease)
|
||||
dnl
|
||||
dnl We need to treat pre-releases like git because there won't be an entry
|
||||
dnl in the .doap file for pre-releases yet, and we don't want to use the
|
||||
dnl date of the last release either.
|
||||
dnl ===========================================================================
|
||||
AC_DEFUN([AG_GST_SET_PACKAGE_RELEASE_DATETIME],
|
||||
[
|
||||
dnl AG_GST_SET_PACKAGE_RELEASE_DATETIME()
|
||||
dnl AG_GST_SET_PACKAGE_RELEASE_DATETIME([no]...)
|
||||
if test "x$1" = "xno" -o "x$1" = "x"; then
|
||||
GST_PACKAGE_RELEASE_DATETIME=`date -u "+%Y-%m-%dT%H:%MZ"`
|
||||
elif test "x$1" = "xyes"; then
|
||||
dnl AG_GST_SET_PACKAGE_RELEASE_DATETIME([yes], [YYYY-MM-DD])
|
||||
dnl AG_GST_SET_PACKAGE_RELEASE_DATETIME([yes], [DOAP-FILE], [RELEASE-VERSION])
|
||||
changequote(<<, >>)dnl
|
||||
if ( echo $2 | grep '^20[1-9][0-9]-[0-1][0-9]-[0-3][0-9]' >/dev/null ) ; then
|
||||
changequote([, ])dnl
|
||||
GST_PACKAGE_RELEASE_DATETIME=$2
|
||||
else
|
||||
dnl we assume the .doap file contains the date as YYYY-MM-DD
|
||||
YYYY_MM_DD=`sh "${srcdir}/common/extract-release-date-from-doap-file" $3 $2`;
|
||||
if test "x$YYYY_MM_DD" != "x"; then
|
||||
GST_PACKAGE_RELEASE_DATETIME=$YYYY_MM_DD
|
||||
else
|
||||
AC_MSG_ERROR([SET_PACKAGE_RELEASE_DATETIME: could not extract
|
||||
release date for release version $3 from $2])
|
||||
GST_PACKAGE_RELEASE_DATETIME=""
|
||||
fi
|
||||
fi
|
||||
dnl AG_GST_SET_PACKAGE_RELEASE_DATETIME([YYYY-MM-DD])
|
||||
changequote(<<, >>)dnl
|
||||
elif ( echo $1 | grep '^20[1-9][0-9]-[0-1][0-9]-[0-3][0-9]' >/dev/null ) ; then
|
||||
changequote([, ])dnl
|
||||
GST_PACKAGE_RELEASE_DATETIME=$1
|
||||
else
|
||||
AC_MSG_WARN([SET_PACKAGE_RELEASE_DATETIME: invalid first argument])
|
||||
GST_PACKAGE_RELEASE_DATETIME=""
|
||||
fi
|
||||
|
||||
if test "x$GST_PACKAGE_RELEASE_DATETIME" = "x"; then
|
||||
AC_MSG_WARN([Invalid package release date time: $GST_PACKAGE_RELEASE_DATETIME])
|
||||
else
|
||||
AC_MSG_NOTICE([Setting GST_PACKAGE_RELEASE_DATETIME to $GST_PACKAGE_RELEASE_DATETIME])
|
||||
|
||||
AC_DEFINE_UNQUOTED([GST_PACKAGE_RELEASE_DATETIME],
|
||||
["$GST_PACKAGE_RELEASE_DATETIME"],
|
||||
[GStreamer package release date/time for plugins as YYYY-MM-DD])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl ===========================================================================
|
||||
dnl AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO
|
||||
dnl
|
||||
dnl Usage:
|
||||
dnl
|
||||
dnl AG_GST_SET_PACKAGE_RELEASE_DATETIME([NANO-VERSION], [DOAP-FILE], [RELEASE-VERSION])
|
||||
dnl if NANO-VERSION is 0, sets the release date to the release date associated
|
||||
dnl with version RELEASE-VERSION in the .doap file DOAP-FILE, otherwise sets
|
||||
dnl the release date and time to the current date/time.
|
||||
dnl
|
||||
dnl We need to treat pre-releases like git because there won't be an entry
|
||||
dnl in the .doap file for pre-releases yet, and we don't want to use the
|
||||
dnl date of the last release either.
|
||||
dnl ===========================================================================
|
||||
AC_DEFUN([AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO],
|
||||
[
|
||||
if test "x$1" = "x0"; then
|
||||
AG_GST_SET_PACKAGE_RELEASE_DATETIME([yes], [ $2 ], [ $3 ])
|
||||
else
|
||||
AG_GST_SET_PACKAGE_RELEASE_DATETIME([no])
|
||||
fi
|
||||
])
|
|
@ -0,0 +1,55 @@
|
|||
AC_DEFUN([AG_GST_BISON_CHECK],
|
||||
[
|
||||
dnl FIXME: check if AC_PROG_YACC is suitable here
|
||||
dnl FIXME: make precious
|
||||
AC_PATH_PROG(BISON_PATH, bison, no)
|
||||
if test x$BISON_PATH = xno; then
|
||||
AC_MSG_ERROR(Could not find bison)
|
||||
fi
|
||||
|
||||
dnl check bison version
|
||||
dnl we need version >= 2.4 for the '<>' support
|
||||
dnl in the parser.
|
||||
dnl First lines observed: 'bison (GNU Bison) 2.3' or 'GNU Bison version 1.28'
|
||||
bison_min_version=2.4
|
||||
bison_version=`$BISON_PATH --version | head -n 1 | sed 's/^[[^0-9]]*//' | sed 's/[[^0-9]]*$//' | cut -d' ' -f1`
|
||||
AC_MSG_CHECKING([bison version $bison_version >= $bison_min_version])
|
||||
|
||||
if perl -we "exit (('v$bison_version' ge 'v$bison_min_version') ? 0 : 1)"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_ERROR([no])
|
||||
fi
|
||||
])
|
||||
|
||||
AC_DEFUN([AG_GST_FLEX_CHECK],
|
||||
[
|
||||
dnl we require flex for building the parser
|
||||
AC_PATH_PROG(FLEX_PATH, flex, no)
|
||||
if test x$FLEX_PATH = xno; then
|
||||
AC_MSG_ERROR(Could not find flex)
|
||||
fi
|
||||
|
||||
dnl check flex version
|
||||
dnl we need version >= 2.5.31 for the reentrancy support
|
||||
dnl in the parser.
|
||||
flex_min_version=2.5.31
|
||||
flex_version=`$FLEX_PATH --version | head -n 1 | awk '{print $2}'`
|
||||
AC_MSG_CHECKING([flex version $flex_version >= $flex_min_version])
|
||||
if perl -w <<EOF
|
||||
(\$min_version_major, \$min_version_minor, \$min_version_micro ) = "$flex_min_version" =~ /(\d+)\.(\d+)\.(\d+)/;
|
||||
(\$flex_version_major, \$flex_version_minor, \$flex_version_micro ) = "$flex_version" =~ /(\d+)\.(\d+)\.(\d+)/;
|
||||
exit (((\$flex_version_major > \$min_version_major) ||
|
||||
((\$flex_version_major == \$min_version_major) &&
|
||||
(\$flex_version_minor > \$min_version_minor)) ||
|
||||
((\$flex_version_major == \$min_version_major) &&
|
||||
(\$flex_version_minor == \$min_version_minor) &&
|
||||
(\$flex_version_micro >= \$min_version_micro)))
|
||||
? 0 : 1);
|
||||
EOF
|
||||
then
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
AC_MSG_ERROR([no])
|
||||
fi
|
||||
])
|
|
@ -0,0 +1,67 @@
|
|||
dnl AG_GST_PLATFORM
|
||||
dnl Check for platform specific features and define some variables
|
||||
dnl
|
||||
dnl GST_EXTRA_MODULE_SUFFIX: contains a platform specific
|
||||
dnl extra module suffix additional to G_MODULE_SUFFIX
|
||||
dnl
|
||||
dnl HAVE_OSX: Defined if compiling for OS X
|
||||
dnl
|
||||
dnl GST_HAVE_UNSAFE_FORK: Defined if fork is unsafe (Windows)
|
||||
dnl
|
||||
dnl HAVE_WIN32: Defined if compiling on Win32
|
||||
dnl
|
||||
|
||||
AC_DEFUN([AG_GST_PLATFORM],
|
||||
[
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
|
||||
case $host_os in
|
||||
rhapsody*)
|
||||
AC_DEFINE_UNQUOTED(GST_EXTRA_MODULE_SUFFIX, [".dylib"], [Extra platform specific plugin suffix])
|
||||
;;
|
||||
darwin*)
|
||||
AC_DEFINE_UNQUOTED(GST_EXTRA_MODULE_SUFFIX, [".dylib"], [Extra platform specific plugin suffix])
|
||||
AC_DEFINE_UNQUOTED(HAVE_OSX, 1, [Defined if compiling for OSX])
|
||||
;;
|
||||
cygwin*)
|
||||
AC_DEFINE_UNQUOTED(GST_HAVE_UNSAFE_FORK, 1, [Defined when registry scanning through fork is unsafe])
|
||||
;;
|
||||
mingw* | msvc* | mks*)
|
||||
dnl HAVE_WIN32 currently means "disable POSIXisms".
|
||||
AC_DEFINE_UNQUOTED(HAVE_WIN32, 1, [Defined if compiling for Windows])
|
||||
|
||||
dnl define __MSVCRT_VERSION__ version if not set already by the
|
||||
dnl compiler (ie. mostly for mingw). This is needed for things like
|
||||
dnl __stat64 to be available. If set by the compiler, ensure it's
|
||||
dnl new enough - we need at least WinXP SP2.
|
||||
AC_TRY_COMPILE([ ], [ return __MSVCRT_VERSION__; ], [
|
||||
AC_TRY_COMPILE([ ], [
|
||||
#if __MSVCRT_VERSION__ < 0x0601
|
||||
#error "MSVCRT too old"
|
||||
#endif
|
||||
], [
|
||||
AC_MSG_NOTICE([MSVCRT version looks ok])
|
||||
], [
|
||||
AC_MSG_ERROR([MSVCRT version too old, need at least WinXP SP2])
|
||||
])
|
||||
], [
|
||||
AC_MSG_NOTICE([Setting MSVCRT version to 0x0601])
|
||||
AC_DEFINE_UNQUOTED(__MSVCRT_VERSION__, 0x0601, [We need at least WinXP SP2 for __stat64])
|
||||
])
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
AC_DEFUN([AG_GST_LIBTOOL_PREPARE],
|
||||
[
|
||||
dnl Persuade libtool to also link (-l) a 'pure' (DirectX) static lib,
|
||||
dnl i.e. as opposed to only import lib with dll counterpart.
|
||||
dnl Needs to be tweaked before libtool's checks.
|
||||
case $host_os in
|
||||
cygwin* | mingw*)
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
esac
|
||||
])
|
|
@ -0,0 +1,25 @@
|
|||
dnl AG_GST_PLUGIN_DOCS([MINIMUM-GTK-DOC-VERSION])
|
||||
dnl
|
||||
dnl checks for prerequisites for the common/mangle-tmpl.py script
|
||||
dnl used when building the plugin documentation
|
||||
|
||||
AC_DEFUN([AG_GST_PLUGIN_DOCS],
|
||||
[
|
||||
AC_BEFORE([GTK_DOC_CHECK],[$0])dnl check for gtk-doc first
|
||||
AC_REQUIRE([AM_PATH_PYTHON])dnl find python first
|
||||
|
||||
build_plugin_docs=no
|
||||
AC_MSG_CHECKING([whether to build plugin documentation])
|
||||
if test x$enable_gtk_doc = xyes; then
|
||||
if test x$PYTHON != x; then
|
||||
build_plugin_docs=yes
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no (python not found)])
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT([no (gtk-doc disabled or not available)])
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(ENABLE_PLUGIN_DOCS, test x$build_plugin_docs = xyes)
|
||||
])
|
|
@ -0,0 +1,17 @@
|
|||
dnl AG_GST_SET_PLUGINDIR
|
||||
|
||||
dnl AC_DEFINE PLUGINDIR to the full location where plug-ins will be installed
|
||||
dnl AC_SUBST plugindir, to be used in Makefile.am's
|
||||
|
||||
AC_DEFUN([AG_GST_SET_PLUGINDIR],
|
||||
[
|
||||
dnl define location of plugin directory
|
||||
AS_AC_EXPAND(PLUGINDIR, ${libdir}/gstreamer-$GST_API_VERSION)
|
||||
AC_DEFINE_UNQUOTED(PLUGINDIR, "$PLUGINDIR",
|
||||
[directory where plugins are located])
|
||||
AC_MSG_NOTICE([Using $PLUGINDIR as the plugin install location])
|
||||
|
||||
dnl plugin directory configure-time variable for use in Makefile.am
|
||||
plugindir="\$(libdir)/gstreamer-$GST_API_VERSION"
|
||||
AC_SUBST(plugindir)
|
||||
])
|
|
@ -0,0 +1,35 @@
|
|||
AC_DEFUN([AG_GST_VALGRIND_CHECK],
|
||||
[
|
||||
dnl valgrind inclusion
|
||||
AC_ARG_ENABLE(valgrind,
|
||||
AC_HELP_STRING([--disable-valgrind], [disable run-time valgrind detection]),
|
||||
[
|
||||
case "${enableval}" in
|
||||
yes) USE_VALGRIND="$USE_DEBUG" ;;
|
||||
no) USE_VALGRIND=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-valgrind) ;;
|
||||
esac],
|
||||
[
|
||||
USE_VALGRIND="$USE_DEBUG"
|
||||
]) dnl Default value
|
||||
|
||||
VALGRIND_REQ="3.0"
|
||||
if test "x$USE_VALGRIND" = xyes; then
|
||||
PKG_CHECK_MODULES(VALGRIND, valgrind >= $VALGRIND_REQ,
|
||||
USE_VALGRIND="yes",
|
||||
[
|
||||
USE_VALGRIND="no"
|
||||
AC_MSG_RESULT([no])
|
||||
])
|
||||
fi
|
||||
|
||||
if test "x$USE_VALGRIND" = xyes; then
|
||||
AC_DEFINE(HAVE_VALGRIND, 1, [Define if valgrind should be used])
|
||||
AC_MSG_NOTICE(Using extra code paths for valgrind)
|
||||
fi
|
||||
AC_SUBST(VALGRIND_CFLAGS)
|
||||
AC_SUBST(VALGRIND_LIBS)
|
||||
|
||||
AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
|
||||
AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
|
||||
])
|
|
@ -0,0 +1,74 @@
|
|||
dnl macros for X-related detections
|
||||
dnl AC_SUBST's HAVE_X, X_CFLAGS, X_LIBS
|
||||
AC_DEFUN([AG_GST_CHECK_X],
|
||||
[
|
||||
AC_PATH_XTRA
|
||||
ac_cflags_save="$CFLAGS"
|
||||
ac_cppflags_save="$CPPFLAGS"
|
||||
CFLAGS="$CFLAGS $X_CFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
||||
|
||||
dnl now try to find the HEADER
|
||||
HAVE_X="no"
|
||||
AC_CHECK_HEADER([X11/Xlib.h], [
|
||||
dnl and then the library with the most uniquitous function
|
||||
AC_CHECK_LIB(X11, [XSync], [HAVE_X="yes"], [], [$X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS])
|
||||
], [], [AC_INCLUDES_DEFAULT])
|
||||
|
||||
if test "x$HAVE_X" = "xno"
|
||||
then
|
||||
AC_MSG_NOTICE([cannot find X11 development files])
|
||||
else
|
||||
dnl this is much more than we want
|
||||
X_LIBS="$X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS"
|
||||
dnl AC_PATH_XTRA only defines the path needed to find the X libs,
|
||||
dnl it does not add the libs; therefore we add them here
|
||||
X_LIBS="$X_LIBS -lX11"
|
||||
AC_SUBST(X_CFLAGS)
|
||||
AC_SUBST(X_LIBS)
|
||||
fi
|
||||
AC_SUBST(HAVE_X)
|
||||
|
||||
CFLAGS="$ac_cflags_save"
|
||||
CPPFLAGS="$ac_cppflags_save"
|
||||
])
|
||||
|
||||
dnl *** XVideo ***
|
||||
dnl Look for the PIC library first, Debian requires it.
|
||||
dnl Check debian-devel archives for gory details.
|
||||
dnl 20020110:
|
||||
dnl At the moment XFree86 doesn't distribute shared libXv due
|
||||
dnl to unstable API. On many platforms you CAN NOT link a shared
|
||||
dnl lib to a static non-PIC lib. This is what the xvideo GStreamer
|
||||
dnl plug-in wants to do. So Debian distributes a PIC compiled
|
||||
dnl version of the static lib for plug-ins to link to when it is
|
||||
dnl inappropriate to link the main application to libXv directly.
|
||||
dnl FIXME: add check if this platform can support linking to a
|
||||
dnl non-PIC libXv, if not then don not use Xv.
|
||||
dnl FIXME: perhaps warn user if they have a shared libXv since
|
||||
dnl this is an error until XFree86 starts shipping one
|
||||
AC_DEFUN([AG_GST_CHECK_XV],
|
||||
[
|
||||
if test x$HAVE_X = xyes; then
|
||||
AC_CHECK_LIB(Xv_pic, XvQueryExtension,
|
||||
HAVE_XVIDEO="yes", HAVE_XVIDEO="no",
|
||||
$X_LIBS -lXext)
|
||||
|
||||
if test x$HAVE_XVIDEO = xyes; then
|
||||
XVIDEO_LIBS="-lXv_pic -lXext"
|
||||
AC_SUBST(XVIDEO_LIBS)
|
||||
else
|
||||
dnl try again using something else if we didn't find it first
|
||||
if test x$HAVE_XVIDEO = xno; then
|
||||
AC_CHECK_LIB(Xv, XvQueryExtension,
|
||||
HAVE_XVIDEO="yes", HAVE_XVIDEO="no",
|
||||
$X_LIBS -lXext)
|
||||
|
||||
if test x$HAVE_XVIDEO = xyes; then
|
||||
XVIDEO_LIBS="-lXv -lXext"
|
||||
AC_SUBST(XVIDEO_LIBS)
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
])
|
|
@ -0,0 +1,36 @@
|
|||
dnl AG_GST_INIT
|
||||
dnl sets up use of GStreamer configure.ac macros
|
||||
dnl all GStreamer autoconf macros are prefixed
|
||||
dnl with AG_GST_ for public macros
|
||||
dnl with _AG_GST_ for private macros
|
||||
dnl
|
||||
dnl We call AC_CANONICAL_TARGET and AC_CANONICAL_HOST so that
|
||||
dnl it is valid before AC_ARG_PROGRAM is called
|
||||
|
||||
AC_DEFUN([AG_GST_INIT],
|
||||
[
|
||||
m4_pattern_forbid(^_?AG_GST_)
|
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use host_ variables
|
||||
AC_REQUIRE([AC_CANONICAL_TARGET]) dnl we use target_ variables
|
||||
])
|
||||
|
||||
dnl AG_GST_PKG_CONFIG_PATH
|
||||
dnl
|
||||
dnl sets up a GST_PKG_CONFIG_PATH variable for use in Makefile.am
|
||||
dnl which contains the path of the in-tree pkgconfig directory first
|
||||
dnl and then any paths specified in PKG_CONFIG_PATH.
|
||||
dnl
|
||||
dnl We do this mostly so we don't have to use unportable shell constructs
|
||||
dnl such as ${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH} in Makefile.am to handle
|
||||
dnl the case where the environment variable is not set, but also in order
|
||||
dnl to avoid a trailing ':' in the PKG_CONFIG_PATH which apparently causes
|
||||
dnl problems with pkg-config on windows with msys/mingw.
|
||||
AC_DEFUN([AG_GST_PKG_CONFIG_PATH],
|
||||
[
|
||||
GST_PKG_CONFIG_PATH="\$(top_builddir)/pkgconfig"
|
||||
if test "x$PKG_CONFIG_PATH" != "x"; then
|
||||
GST_PKG_CONFIG_PATH="$GST_PKG_CONFIG_PATH:$PKG_CONFIG_PATH"
|
||||
fi
|
||||
AC_SUBST([GST_PKG_CONFIG_PATH])
|
||||
AC_MSG_NOTICE([Using GST_PKG_CONFIG_PATH = $GST_PKG_CONFIG_PATH])
|
||||
])
|
|
@ -0,0 +1,70 @@
|
|||
dnl -*- mode: autoconf -*-
|
||||
|
||||
# serial 1
|
||||
|
||||
dnl Usage:
|
||||
dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
|
||||
AC_DEFUN([GTK_DOC_CHECK],
|
||||
[
|
||||
AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
|
||||
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
|
||||
|
||||
dnl check for tools we added during development
|
||||
AC_PATH_PROG([GTKDOC_CHECK],[gtkdoc-check])
|
||||
AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true])
|
||||
AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf])
|
||||
|
||||
dnl for overriding the documentation installation directory
|
||||
AC_ARG_WITH([html-dir],
|
||||
AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
|
||||
[with_html_dir='${datadir}/gtk-doc/html'])
|
||||
HTML_DIR="$with_html_dir"
|
||||
AC_SUBST([HTML_DIR])
|
||||
|
||||
dnl enable/disable documentation building
|
||||
AC_ARG_ENABLE([gtk-doc],
|
||||
AS_HELP_STRING([--enable-gtk-doc],
|
||||
[use gtk-doc to build documentation [[default=no]]]),,
|
||||
[enable_gtk_doc=no])
|
||||
|
||||
if test x$enable_gtk_doc = xyes; then
|
||||
ifelse([$1],[],
|
||||
[PKG_CHECK_EXISTS([gtk-doc],,
|
||||
AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))],
|
||||
[PKG_CHECK_EXISTS([gtk-doc >= $1],,
|
||||
AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build $PACKAGE_NAME]))])
|
||||
dnl don't check for glib if we build glib
|
||||
if test "x$PACKAGE_NAME" != "xglib"; then
|
||||
dnl don't fail if someone does not have glib
|
||||
PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0,,)
|
||||
fi
|
||||
dnl don't rely on sed being pulled in implicitly. Fixes Solaris build.
|
||||
if test -z "$SED"; then
|
||||
AC_PROG_SED
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([whether to build gtk-doc documentation])
|
||||
AC_MSG_RESULT($enable_gtk_doc)
|
||||
|
||||
dnl enable/disable output formats
|
||||
AC_ARG_ENABLE([gtk-doc-html],
|
||||
AS_HELP_STRING([--enable-gtk-doc-html],
|
||||
[build documentation in html format [[default=yes]]]),,
|
||||
[enable_gtk_doc_html=yes])
|
||||
AC_ARG_ENABLE([gtk-doc-pdf],
|
||||
AS_HELP_STRING([--enable-gtk-doc-pdf],
|
||||
[build documentation in pdf format [[default=no]]]),,
|
||||
[enable_gtk_doc_pdf=no])
|
||||
|
||||
if test -z "$GTKDOC_MKPDF"; then
|
||||
enable_gtk_doc_pdf=no
|
||||
fi
|
||||
|
||||
|
||||
AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
|
||||
AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes])
|
||||
AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
|
||||
AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"])
|
||||
])
|
|
@ -0,0 +1,96 @@
|
|||
dnl -*- mode: autoconf -*-
|
||||
dnl Copyright 2009 Johan Dahlin
|
||||
dnl
|
||||
dnl This file is free software; the author(s) gives unlimited
|
||||
dnl permission to copy and/or distribute it, with or without
|
||||
dnl modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
|
||||
# serial 1
|
||||
|
||||
m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
|
||||
[
|
||||
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
|
||||
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
|
||||
AC_BEFORE([LT_INIT],[$0])dnl setup libtool first
|
||||
|
||||
dnl enable/disable introspection
|
||||
m4_if([$2], [require],
|
||||
[dnl
|
||||
enable_introspection=yes
|
||||
],[dnl
|
||||
AC_ARG_ENABLE(introspection,
|
||||
AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]],
|
||||
[Enable introspection for this build]),,
|
||||
[enable_introspection=auto])
|
||||
])dnl
|
||||
|
||||
AC_MSG_CHECKING([for gobject-introspection])
|
||||
|
||||
dnl presence/version checking
|
||||
AS_CASE([$enable_introspection],
|
||||
[no], [dnl
|
||||
found_introspection="no (disabled, use --enable-introspection to enable)"
|
||||
],dnl
|
||||
[yes],[dnl
|
||||
PKG_CHECK_EXISTS([gobject-introspection-1.0],,
|
||||
AC_MSG_ERROR([gobject-introspection-1.0 is not installed]))
|
||||
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1],
|
||||
found_introspection=yes,
|
||||
AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME]))
|
||||
],dnl
|
||||
[auto],[dnl
|
||||
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no)
|
||||
],dnl
|
||||
[dnl
|
||||
AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@])
|
||||
])dnl
|
||||
|
||||
AC_MSG_RESULT([$found_introspection])
|
||||
|
||||
INTROSPECTION_SCANNER=
|
||||
INTROSPECTION_COMPILER=
|
||||
INTROSPECTION_GENERATE=
|
||||
INTROSPECTION_GIRDIR=
|
||||
INTROSPECTION_TYPELIBDIR=
|
||||
if test "x$found_introspection" = "xyes"; then
|
||||
INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
|
||||
INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
|
||||
INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
|
||||
INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
|
||||
INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
|
||||
INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
|
||||
INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
|
||||
INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
|
||||
INTROSPECTION_INIT="extern void gst_init(gint*,gchar**); gst_init(NULL,NULL);"
|
||||
fi
|
||||
AC_SUBST(INTROSPECTION_SCANNER)
|
||||
AC_SUBST(INTROSPECTION_COMPILER)
|
||||
AC_SUBST(INTROSPECTION_GENERATE)
|
||||
AC_SUBST(INTROSPECTION_GIRDIR)
|
||||
AC_SUBST(INTROSPECTION_TYPELIBDIR)
|
||||
AC_SUBST(INTROSPECTION_CFLAGS)
|
||||
AC_SUBST(INTROSPECTION_LIBS)
|
||||
AC_SUBST(INTROSPECTION_MAKEFILE)
|
||||
AC_SUBST(INTROSPECTION_INIT)
|
||||
|
||||
AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")
|
||||
])
|
||||
|
||||
|
||||
dnl Usage:
|
||||
dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version])
|
||||
|
||||
AC_DEFUN([GOBJECT_INTROSPECTION_CHECK],
|
||||
[
|
||||
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1])
|
||||
])
|
||||
|
||||
dnl Usage:
|
||||
dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version])
|
||||
|
||||
|
||||
AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE],
|
||||
[
|
||||
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require])
|
||||
])
|
|
@ -0,0 +1,70 @@
|
|||
dnl pkg-config-based checks for Orc
|
||||
|
||||
dnl specific:
|
||||
dnl ORC_CHECK([REQUIRED_VERSION])
|
||||
|
||||
AC_DEFUN([ORC_CHECK],
|
||||
[
|
||||
ORC_REQ=ifelse([$1], , "0.4.6", [$1])
|
||||
|
||||
AC_ARG_ENABLE(orc,
|
||||
AC_HELP_STRING([--enable-orc],[use Orc if installed]),
|
||||
[case "${enableval}" in
|
||||
auto) enable_orc=auto ;;
|
||||
yes) enable_orc=yes ;;
|
||||
no) enable_orc=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-orc) ;;
|
||||
esac
|
||||
],
|
||||
[enable_orc=auto]) dnl Default value
|
||||
|
||||
if test "x$enable_orc" != "xno" ; then
|
||||
PKG_CHECK_MODULES(ORC, orc-0.4 >= $ORC_REQ, [
|
||||
AC_DEFINE(HAVE_ORC, 1, [Use Orc])
|
||||
HAVE_ORC=yes
|
||||
if test "x$ORCC" = "x" ; then
|
||||
AC_MSG_CHECKING(for usable orcc)
|
||||
ORCC=`$PKG_CONFIG --variable=orcc orc-0.4`
|
||||
dnl check whether the orcc found by pkg-config can be run from the build environment
|
||||
dnl if this is not the case (e.g. when cross-compiling) fall back to orcc from PATH
|
||||
AS_IF([$ORCC --version 1> /dev/null 2> /dev/null], [], [ORCC=`which orcc`])
|
||||
AC_MSG_RESULT($ORCC)
|
||||
fi
|
||||
AC_SUBST(ORCC)
|
||||
ORCC_FLAGS="--compat $ORC_REQ"
|
||||
AC_SUBST(ORCC_FLAGS)
|
||||
AS_IF([test "x$ORCC" = "x"], [HAVE_ORCC=no], [HAVE_ORCC=yes])
|
||||
], [
|
||||
if test "x$enable_orc" = "xyes" ; then
|
||||
AC_MSG_ERROR([--enable-orc specified, but Orc >= $ORC_REQ not found])
|
||||
fi
|
||||
AC_DEFINE(DISABLE_ORC, 1, [Disable Orc])
|
||||
HAVE_ORC=no
|
||||
HAVE_ORCC=no
|
||||
])
|
||||
else
|
||||
AC_DEFINE(DISABLE_ORC, 1, [Disable Orc])
|
||||
HAVE_ORC=no
|
||||
HAVE_ORCC=no
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_ORC, [test "x$HAVE_ORC" = "xyes"])
|
||||
AM_CONDITIONAL(HAVE_ORCC, [test "x$HAVE_ORCC" = "xyes"])
|
||||
|
||||
]))
|
||||
|
||||
AC_DEFUN([ORC_OUTPUT],
|
||||
[
|
||||
if test "$HAVE_ORC" = yes ; then
|
||||
printf "configure: *** Orc acceleration enabled.\n"
|
||||
else
|
||||
if test "x$enable_orc" = "xno" ; then
|
||||
printf "configure: *** Orc acceleration disabled by --disable-orc. Slower code paths\n"
|
||||
printf " will be used.\n"
|
||||
else
|
||||
printf "configure: *** Orc acceleration disabled. Requires Orc >= $ORC_REQ, which was\n"
|
||||
printf " not found. Slower code paths will be used.\n"
|
||||
fi
|
||||
fi
|
||||
printf "\n"
|
||||
])
|
||||
|
|
@ -0,0 +1,157 @@
|
|||
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
|
||||
#
|
||||
# Copyright © 2004 Scott James Remnant <scott@netsplit.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 of the License, 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, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# 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.
|
||||
|
||||
# PKG_PROG_PKG_CONFIG([MIN-VERSION])
|
||||
# ----------------------------------
|
||||
AC_DEFUN([PKG_PROG_PKG_CONFIG],
|
||||
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
|
||||
m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
|
||||
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
|
||||
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
|
||||
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
|
||||
fi
|
||||
if test -n "$PKG_CONFIG"; then
|
||||
_pkg_min_version=m4_default([$1], [0.9.0])
|
||||
AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
|
||||
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
PKG_CONFIG=""
|
||||
fi
|
||||
|
||||
fi[]dnl
|
||||
])# PKG_PROG_PKG_CONFIG
|
||||
|
||||
# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||
#
|
||||
# Check to see whether a particular set of modules exists. Similar
|
||||
# to PKG_CHECK_MODULES(), but does not set variables or print errors.
|
||||
#
|
||||
#
|
||||
# Similar to PKG_CHECK_MODULES, make sure that the first instance of
|
||||
# this or PKG_CHECK_MODULES is called, or make sure to call
|
||||
# PKG_CHECK_EXISTS manually
|
||||
# --------------------------------------------------------------
|
||||
AC_DEFUN([PKG_CHECK_EXISTS],
|
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
|
||||
m4_ifval([$2], [$2], [:])
|
||||
m4_ifvaln([$3], [else
|
||||
$3])dnl
|
||||
fi])
|
||||
|
||||
|
||||
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
|
||||
# ---------------------------------------------
|
||||
m4_define([_PKG_CONFIG],
|
||||
[if test -n "$PKG_CONFIG"; then
|
||||
if test -n "$$1"; then
|
||||
pkg_cv_[]$1="$$1"
|
||||
else
|
||||
PKG_CHECK_EXISTS([$3],
|
||||
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
|
||||
[pkg_failed=yes])
|
||||
fi
|
||||
else
|
||||
pkg_failed=untried
|
||||
fi[]dnl
|
||||
])# _PKG_CONFIG
|
||||
|
||||
# _PKG_SHORT_ERRORS_SUPPORTED
|
||||
# -----------------------------
|
||||
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
|
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
|
||||
_pkg_short_errors_supported=yes
|
||||
else
|
||||
_pkg_short_errors_supported=no
|
||||
fi[]dnl
|
||||
])# _PKG_SHORT_ERRORS_SUPPORTED
|
||||
|
||||
|
||||
# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
|
||||
# [ACTION-IF-NOT-FOUND])
|
||||
#
|
||||
#
|
||||
# Note that if there is a possibility the first call to
|
||||
# PKG_CHECK_MODULES might not happen, you should be sure to include an
|
||||
# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
|
||||
#
|
||||
#
|
||||
# --------------------------------------------------------------
|
||||
AC_DEFUN([PKG_CHECK_MODULES],
|
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
|
||||
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
|
||||
|
||||
pkg_failed=no
|
||||
AC_MSG_CHECKING([for $1])
|
||||
|
||||
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
|
||||
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
|
||||
|
||||
m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
|
||||
and $1[]_LIBS to avoid the need to call pkg-config.
|
||||
See the pkg-config man page for more details.])
|
||||
|
||||
if test $pkg_failed = yes; then
|
||||
_PKG_SHORT_ERRORS_SUPPORTED
|
||||
if test $_pkg_short_errors_supported = yes; then
|
||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
|
||||
else
|
||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
|
||||
fi
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
|
||||
|
||||
ifelse([$4], , [AC_MSG_ERROR(dnl
|
||||
[Package requirements ($2) were not met:
|
||||
|
||||
$$1_PKG_ERRORS
|
||||
|
||||
Consider adjusting the PKG_CONFIG_PATH environment variable if you
|
||||
installed software in a non-standard prefix.
|
||||
|
||||
_PKG_TEXT
|
||||
])],
|
||||
[AC_MSG_RESULT([no])
|
||||
$4])
|
||||
elif test $pkg_failed = untried; then
|
||||
ifelse([$4], , [AC_MSG_FAILURE(dnl
|
||||
[The pkg-config script could not be found or is too old. Make sure it
|
||||
is in your PATH or set the PKG_CONFIG environment variable to the full
|
||||
path to pkg-config.
|
||||
|
||||
_PKG_TEXT
|
||||
|
||||
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
|
||||
[$4])
|
||||
else
|
||||
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
|
||||
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
|
||||
AC_MSG_RESULT([yes])
|
||||
ifelse([$3], , :, [$3])
|
||||
fi[]dnl
|
||||
])# PKG_CHECK_MODULES
|
|
@ -0,0 +1,71 @@
|
|||
# -*- Mode: Python -*-
|
||||
# vi:si:et:sw=4:sts=4:ts=4
|
||||
|
||||
"""
|
||||
Insert includes for the element-*-details.xml files into the related docbook
|
||||
files.
|
||||
"""
|
||||
|
||||
from __future__ import print_function, unicode_literals
|
||||
|
||||
import codecs
|
||||
import glob
|
||||
import os
|
||||
import sys
|
||||
|
||||
import xml.dom.minidom
|
||||
|
||||
def patch(related, details):
|
||||
try:
|
||||
doc = xml.dom.minidom.parse(related)
|
||||
except IOError:
|
||||
return
|
||||
|
||||
# find the insertion point
|
||||
elem = None
|
||||
for e in doc.childNodes:
|
||||
if e.nodeType == e.ELEMENT_NODE and e.localName == 'refentry':
|
||||
elem = e
|
||||
break
|
||||
if elem == None:
|
||||
return
|
||||
|
||||
elem2 = None
|
||||
for e in elem.childNodes:
|
||||
if e.nodeType == e.ELEMENT_NODE and e.localName == 'refsect1':
|
||||
id = e.getAttributeNode('id')
|
||||
role = e.getAttributeNode('role')
|
||||
if id and id.nodeValue.endswith('.description') and role and role.nodeValue == 'desc':
|
||||
elem2 = e
|
||||
break
|
||||
if elem2 == None:
|
||||
return
|
||||
|
||||
# insert include
|
||||
include = doc.createElement('include')
|
||||
include.setAttribute('xmlns', 'http://www.w3.org/2003/XInclude')
|
||||
include.setAttribute('href', details)
|
||||
fallback = doc.createElement('fallback')
|
||||
fallback.setAttribute('xmlns', 'http://www.w3.org/2003/XInclude')
|
||||
include.appendChild(fallback)
|
||||
elem2.appendChild(include)
|
||||
|
||||
# store patched file
|
||||
result = codecs.open(related, mode="w", encoding="utf-8")
|
||||
#result = open(related, "wb")
|
||||
doc.writexml(result)
|
||||
result.close()
|
||||
|
||||
def main():
|
||||
if not len(sys.argv) == 2:
|
||||
sys.stderr.write('Please specify the xml/ dir')
|
||||
sys.exit(1)
|
||||
|
||||
xmldir = sys.argv[1]
|
||||
|
||||
# parse all *-details.xml files and patch includes into the corresponding
|
||||
# xml files
|
||||
for details in glob.glob("%s/element-*-details.xml" % xmldir):
|
||||
patch (details.replace("-details", ""), os.path.basename(details))
|
||||
|
||||
main()
|
|
@ -0,0 +1,76 @@
|
|||
#
|
||||
# This is a makefile.am fragment to build Orc code.
|
||||
#
|
||||
# Define ORC_SOURCE and then include this file, such as:
|
||||
#
|
||||
# ORC_SOURCE=gstadderorc
|
||||
# include $(top_srcdir)/common/orc.mak
|
||||
#
|
||||
# This fragment will create tmp-orc.c and gstadderorc.h from
|
||||
# gstadderorc.orc.
|
||||
#
|
||||
# When 'make dist' is run at the top level, or 'make orc-update'
|
||||
# in a directory including this fragment, the generated source
|
||||
# files will be copied to $(ORC_SOURCE)-dist.[ch]. These files
|
||||
# should be checked in to git, since they are used if Orc is
|
||||
# disabled.
|
||||
#
|
||||
# Note that this file defines BUILT_SOURCES, so any later usage
|
||||
# of BUILT_SOURCES in the Makefile.am that includes this file
|
||||
# must use '+='.
|
||||
#
|
||||
|
||||
|
||||
EXTRA_DIST = $(ORC_SOURCE).orc
|
||||
|
||||
ORC_NODIST_SOURCES = tmp-orc.c $(ORC_SOURCE).h
|
||||
BUILT_SOURCES = tmp-orc.c $(ORC_SOURCE).h
|
||||
|
||||
|
||||
orc-update: tmp-orc.c $(ORC_SOURCE).h
|
||||
$(top_srcdir)/common/gst-indent tmp-orc.c
|
||||
cp tmp-orc.c $(srcdir)/$(ORC_SOURCE)-dist.c
|
||||
cp $(ORC_SOURCE).h $(srcdir)/$(ORC_SOURCE)-dist.h
|
||||
|
||||
orcc_v_gen = $(orcc_v_gen_@AM_V@)
|
||||
orcc_v_gen_ = $(orcc_v_gen_@AM_DEFAULT_V@)
|
||||
orcc_v_gen_0 = @echo " ORCC $@";
|
||||
|
||||
cp_v_gen = $(cp_v_gen_@AM_V@)
|
||||
cp_v_gen_ = $(cp_v_gen_@AM_DEFAULT_V@)
|
||||
cp_v_gen_0 = @echo " CP $@";
|
||||
|
||||
if HAVE_ORCC
|
||||
tmp-orc.c: $(srcdir)/$(ORC_SOURCE).orc
|
||||
$(orcc_v_gen)$(ORCC) $(ORCC_FLAGS) --implementation --include glib.h -o tmp-orc.c $(srcdir)/$(ORC_SOURCE).orc
|
||||
|
||||
$(ORC_SOURCE).h: $(srcdir)/$(ORC_SOURCE).orc
|
||||
$(orcc_v_gen)$(ORCC) $(ORCC_FLAGS) --header --include glib.h -o $(ORC_SOURCE).h $(srcdir)/$(ORC_SOURCE).orc
|
||||
else
|
||||
tmp-orc.c: $(srcdir)/$(ORC_SOURCE).orc $(srcdir)/$(ORC_SOURCE)-dist.c
|
||||
$(cp_v_gen)cp $(srcdir)/$(ORC_SOURCE)-dist.c tmp-orc.c
|
||||
|
||||
$(ORC_SOURCE).h: $(srcdir)/$(ORC_SOURCE).orc $(srcdir)/$(ORC_SOURCE)-dist.c
|
||||
$(cp_v_gen)cp $(srcdir)/$(ORC_SOURCE)-dist.h $(ORC_SOURCE).h
|
||||
endif
|
||||
|
||||
clean-local: clean-orc
|
||||
.PHONY: clean-orc
|
||||
clean-orc:
|
||||
rm -f tmp-orc.c $(ORC_SOURCE).h
|
||||
|
||||
dist-hook: dist-hook-orc
|
||||
.PHONY: dist-hook-orc
|
||||
|
||||
# we try and copy updated orc -dist files below, but don't fail if it
|
||||
# doesn't work as the srcdir might not be writable
|
||||
dist-hook-orc: tmp-orc.c $(ORC_SOURCE).h
|
||||
$(top_srcdir)/common/gst-indent tmp-orc.c
|
||||
rm -f tmp-orc.c~
|
||||
cmp -s tmp-orc.c $(srcdir)/$(ORC_SOURCE)-dist.c || \
|
||||
cp tmp-orc.c $(srcdir)/$(ORC_SOURCE)-dist.c || true
|
||||
cmp -s $(ORC_SOURCE).h $(srcdir)/$(ORC_SOURCE)-dist.h || \
|
||||
cp $(ORC_SOURCE).h $(srcdir)/$(ORC_SOURCE)-dist.h || true
|
||||
cp -p tmp-orc.c $(distdir)/$(ORC_SOURCE)-dist.c
|
||||
cp -p $(ORC_SOURCE).h $(distdir)/$(ORC_SOURCE)-dist.h
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
# include this at the end of $MODULE/ext/Makefile.am to force make to
|
||||
# build subdirectories in parallel when make -jN is used. We will end up
|
||||
# descending into all subdirectories a second time, but only after the first
|
||||
# (parallel) run has finished, so it should go right through the second time.
|
||||
|
||||
.PHONY: independent-subdirs $(SUBDIRS)
|
||||
|
||||
independent-subdirs: $(SUBDIRS)
|
||||
|
||||
$(SUBDIRS):
|
||||
$(MAKE) -C $@
|
||||
|
||||
all-recursive: independent-subdirs
|
|
@ -0,0 +1,248 @@
|
|||
<?xml version='1.0'?> <!--*- mode: xml -*-->
|
||||
|
||||
<xsl:stylesheet
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:exsl="http://exslt.org/common"
|
||||
xmlns:str="http://exslt.org/strings"
|
||||
extension-element-prefixes="exsl str"
|
||||
version="1.0">
|
||||
<xsl:output method="xml" indent="yes"
|
||||
doctype-public ="-//OASIS//DTD DocBook XML V4.1.2//EN"
|
||||
doctype-system = "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"/>
|
||||
|
||||
<xsl:param name="module" />
|
||||
|
||||
<xsl:template match="element">
|
||||
<xsl:element name="varlistentry">
|
||||
<xsl:element name="term">
|
||||
<xsl:element name="link">
|
||||
<xsl:attribute name="linkend"><xsl:value-of select="$module" />-plugins-<xsl:value-of select="name"/></xsl:attribute>
|
||||
<xsl:value-of select="name" />
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
<xsl:element name="listitem">
|
||||
<xsl:element name="simpara"><xsl:value-of select="description" /></xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
<xsl:variable name="name"><xsl:copy-of select="name"/></xsl:variable>
|
||||
<!-- here we write an element-(name)-details.xml file for the element -->
|
||||
<exsl:document href="{concat ('xml/element-', $name, '-details.xml')}" method="xml" indent="yes">
|
||||
|
||||
<xsl:element name="refsynopsisdiv">
|
||||
<xsl:element name="refsect2">
|
||||
<xsl:element name="title">Element Information</xsl:element>
|
||||
<xsl:element name="variablelist">
|
||||
|
||||
<!-- plugin name and link -->
|
||||
<xsl:element name="varlistentry">
|
||||
<xsl:element name="term">plugin</xsl:element>
|
||||
<xsl:element name="listitem">
|
||||
<xsl:element name="simpara">
|
||||
<xsl:element name="link">
|
||||
<xsl:attribute name="linkend">plugin-<xsl:value-of select="../../name"/></xsl:attribute>
|
||||
<xsl:value-of select="../../name" />
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:element name="varlistentry">
|
||||
<xsl:element name="term">author</xsl:element>
|
||||
<xsl:element name="listitem">
|
||||
<xsl:element name="simpara"><xsl:value-of select="author" /></xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:element name="varlistentry">
|
||||
<xsl:element name="term">class</xsl:element>
|
||||
<xsl:element name="listitem">
|
||||
<xsl:element name="simpara"><xsl:value-of select="class" /></xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
|
||||
</xsl:element> <!-- variablelist -->
|
||||
</xsl:element> <!-- refsect2 -->
|
||||
|
||||
<xsl:element name="refsect2">
|
||||
<xsl:element name="title">Element Pads</xsl:element>
|
||||
<!-- process all caps -->
|
||||
<xsl:for-each select="pads/caps">
|
||||
<xsl:element name="variablelist">
|
||||
<xsl:element name="varlistentry">
|
||||
<xsl:element name="term">name</xsl:element>
|
||||
<xsl:element name="listitem">
|
||||
<xsl:element name="simpara"><xsl:value-of select="name" /></xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:element name="varlistentry">
|
||||
<xsl:element name="term">direction</xsl:element>
|
||||
<xsl:element name="listitem">
|
||||
<xsl:element name="simpara"><xsl:value-of select="direction" /></xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:element name="varlistentry">
|
||||
<xsl:element name="term">presence</xsl:element>
|
||||
<xsl:element name="listitem">
|
||||
<xsl:element name="simpara"><xsl:value-of select="presence" /></xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:for-each select='str:tokenize(details, ";")'>
|
||||
<xsl:element name="varlistentry">
|
||||
<xsl:element name="term">
|
||||
<xsl:if test="position()=1">details</xsl:if>
|
||||
</xsl:element>
|
||||
<xsl:element name="listitem">
|
||||
<xsl:element name="simpara"><xsl:value-of select='.'/></xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:for-each>
|
||||
|
||||
</xsl:element> <!-- variablelist -->
|
||||
|
||||
<!--xsl:element name="programlisting"><xsl:value-of select="details" /></xsl:element-->
|
||||
|
||||
</xsl:for-each>
|
||||
</xsl:element> <!-- refsect2 -->
|
||||
</xsl:element> <!-- refsynopsisdiv -->
|
||||
|
||||
</exsl:document>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="tracer">
|
||||
<xsl:element name="varlistentry">
|
||||
<xsl:element name="term">
|
||||
<xsl:element name="link">
|
||||
<xsl:attribute name="linkend"><xsl:value-of select="$module" />-plugins-<xsl:value-of select="name"/>tracer</xsl:attribute>
|
||||
<xsl:value-of select="name" />
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
<!--<xsl:element name="listitem">
|
||||
<xsl:element name="simpara"><xsl:value-of select="description" /></xsl:element>
|
||||
</xsl:element>-->
|
||||
</xsl:element>
|
||||
<xsl:variable name="name"><xsl:copy-of select="name"/></xsl:variable>
|
||||
<exsl:document href="{concat ('xml/tracer-', $name, '-details.xml')}" method="xml" indent="yes">
|
||||
|
||||
<xsl:element name="refsynopsisdiv">
|
||||
<xsl:element name="refsect2">
|
||||
<xsl:element name="title">Tracer Information</xsl:element>
|
||||
<xsl:element name="variablelist">
|
||||
|
||||
<!-- plugin name and link -->
|
||||
<xsl:element name="varlistentry">
|
||||
<xsl:element name="term">plugin</xsl:element>
|
||||
<xsl:element name="listitem">
|
||||
<xsl:element name="simpara">
|
||||
<xsl:element name="link">
|
||||
<xsl:attribute name="linkend">plugin-<xsl:value-of select="../../name"/></xsl:attribute>
|
||||
<xsl:value-of select="../../name" />
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:element> <!-- variablelist -->
|
||||
</xsl:element> <!-- refsect2 -->
|
||||
</xsl:element> <!-- refsynopsisdiv -->
|
||||
|
||||
</exsl:document>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="plugin">
|
||||
<xsl:element name="refentry">
|
||||
<xsl:attribute name="id"><xsl:value-of select="$module" />-plugins-plugin-<xsl:value-of select="name"/></xsl:attribute>
|
||||
|
||||
<xsl:element name="refmeta">
|
||||
<xsl:element name="refentrytitle">
|
||||
<xsl:value-of select="name"/>
|
||||
</xsl:element>
|
||||
<xsl:element name="manvolnum">3</xsl:element>
|
||||
<xsl:element name="refmiscinfo">FIXME Library</xsl:element>
|
||||
</xsl:element> <!-- refmeta -->
|
||||
|
||||
<xsl:element name="refnamediv">
|
||||
<xsl:element name="refname">
|
||||
<xsl:value-of select="name"/>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:element name="refpurpose">
|
||||
<xsl:element name="anchor">
|
||||
<xsl:attribute name="id">plugin-<xsl:value-of select="name"/></xsl:attribute>
|
||||
</xsl:element>
|
||||
<xsl:value-of select="description"/>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:element name="refsect1">
|
||||
<xsl:element name="title">Plugin Information</xsl:element>
|
||||
<xsl:element name="variablelist">
|
||||
|
||||
<xsl:element name="varlistentry">
|
||||
<xsl:element name="term">filename</xsl:element>
|
||||
<xsl:element name="listitem">
|
||||
<xsl:element name="simpara"><xsl:value-of select="basename" /></xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:element name="varlistentry">
|
||||
<xsl:element name="term">version</xsl:element>
|
||||
<xsl:element name="listitem">
|
||||
<xsl:element name="simpara"><xsl:value-of select="version" /></xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:element name="varlistentry">
|
||||
<xsl:element name="term">run-time license</xsl:element>
|
||||
<xsl:element name="listitem">
|
||||
<xsl:element name="simpara"><xsl:value-of select="license" /></xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:element name="varlistentry">
|
||||
<xsl:element name="term">package</xsl:element>
|
||||
<xsl:element name="listitem">
|
||||
<xsl:element name="simpara"><xsl:value-of select="package" /></xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:element name="varlistentry">
|
||||
<xsl:element name="term">origin</xsl:element>
|
||||
<xsl:element name="listitem">
|
||||
<xsl:element name="simpara">
|
||||
<!-- only show origin as link if it starts with http -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="substring(@href, 1, 4) = 'http'">
|
||||
<xsl:element name="ulink">
|
||||
<xsl:attribute name="url"><xsl:value-of select="origin" /></xsl:attribute>
|
||||
<xsl:value-of select="origin" />
|
||||
</xsl:element>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="origin" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
|
||||
<xsl:element name="refsect1">
|
||||
<xsl:element name="title">Elements</xsl:element>
|
||||
<!-- process all elements -->
|
||||
<xsl:element name="variablelist">
|
||||
<xsl:apply-templates select="elements"/>
|
||||
</xsl:element>
|
||||
</xsl:element>
|
||||
|
||||
</xsl:element>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!-- ignore -->
|
||||
<xsl:template match="gst-plugin-paths" />
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -0,0 +1,11 @@
|
|||
# rule to download the latest .po files
|
||||
download-po: $(top_srcdir)/common/download-translations
|
||||
$(top_srcdir)/common/download-translations $(PACKAGE)
|
||||
for f in po/*.po; do \
|
||||
num_changed=`git diff $$f | grep -e '^[+-][^+-]' | wc -l`; \
|
||||
num_date=`git diff $$f | grep -e '^[+-][^+-]' | grep POT-Creation-Date | wc -l`; \
|
||||
if [ $num_date == $num_changed ]; then \
|
||||
git checkout $$f; \
|
||||
fi; \
|
||||
done
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
# include this snippet to add a common release: target by using
|
||||
# include $(top_srcdir)/common/release.mak
|
||||
|
||||
release: dist
|
||||
@$(MAKE) $(PACKAGE)-$(VERSION).tar.xz.sha256sum
|
||||
@echo
|
||||
@echo "================================================================================================="
|
||||
@echo "http://gstreamer.freedesktop.org/src/$(PACKAGE)/$(PACKAGE)-$(VERSION).tar.xz"
|
||||
@cat $(PACKAGE)-$(VERSION).tar.xz.sha256sum
|
||||
@echo "================================================================================================="
|
||||
@if [ -d ~/releases/ ]; then \
|
||||
cp -v $(PACKAGE)-$(VERSION).tar.xz ~/releases/; \
|
||||
fi
|
||||
@if [ -d ../www/data/src ]; then \
|
||||
mv -v $(PACKAGE)-$(VERSION).tar.xz ../www/data/src/$(PACKAGE)/ ; \
|
||||
mv -v $(PACKAGE)-$(VERSION).tar.xz.sha256sum ../www/data/src/$(PACKAGE)/ ; \
|
||||
elif [ -d ../../www/data/src ]; then \
|
||||
mv -v $(PACKAGE)-$(VERSION).tar.xz ../../www/data/src/$(PACKAGE)/ ; \
|
||||
mv -v $(PACKAGE)-$(VERSION).tar.xz.sha256sum ../../www/data/src/$(PACKAGE)/ ; \
|
||||
fi
|
||||
@echo "================================================================================================="
|
||||
|
||||
# generate sha256 sum files
|
||||
%.sha256sum: %
|
||||
@sha256sum $< > $@
|
||||
|
||||
# check that no marshal or enumtypes files are included
|
||||
# this in turn ensures that distcheck fails for missing .list files which is currently
|
||||
# shadowed when the corresponding .c and .h files are included.
|
||||
distcheck-hook:
|
||||
@test "x" = "x`find $(distdir) -name \*-enumtypes.[ch] | grep -v win32`" && \
|
||||
test "x" = "x`find $(distdir) -name \*-marshal.[ch]`" || \
|
||||
( echo "*** Leftover enumtypes or marshal files in the tarball." && \
|
||||
echo "*** Make sure the following files are not disted:" && \
|
||||
find $(distdir) -name \*-enumtypes.[ch] | grep -v win32 && \
|
||||
find $(distdir) -name \*-marshal.[ch] && \
|
||||
false )
|
||||
|
||||
dist-hook:
|
||||
@if test -f meson.build && ! $(GREP) -e "version.*'$(VERSION)'" meson.build >/dev/null ; then \
|
||||
echo "*******************************************************"; \
|
||||
echo "* meson.build needs to be updated for version $(VERSION)"; \
|
||||
echo "*******************************************************"; \
|
||||
false; \
|
||||
fi
|
|
@ -0,0 +1,314 @@
|
|||
#!/usr/bin/python
|
||||
# -*- Mode: Python -*-
|
||||
# vi:si:et:sw=4:sts=4:ts=4
|
||||
|
||||
"""
|
||||
parse, merge and write gstdoc-scanobj files
|
||||
"""
|
||||
|
||||
from __future__ import print_function, unicode_literals
|
||||
|
||||
import codecs
|
||||
import os
|
||||
import sys
|
||||
|
||||
def debug(*args):
|
||||
pass
|
||||
|
||||
# OrderedDict class based on
|
||||
# http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/107747
|
||||
# Licensed under the Python License
|
||||
class OrderedDict(dict):
|
||||
def __init__(self):
|
||||
self._keys = []
|
||||
dict.__init__(self)
|
||||
|
||||
def __delitem__(self, key):
|
||||
dict.__delitem__(self, key)
|
||||
self._keys.remove(key)
|
||||
|
||||
def __setitem__(self, key, item):
|
||||
dict.__setitem__(self, key, item)
|
||||
if key not in self._keys: self._keys.append(key)
|
||||
|
||||
def clear(self):
|
||||
dict.clear(self)
|
||||
self._keys = []
|
||||
|
||||
def copy(self):
|
||||
dict = dict.copy(self)
|
||||
dict._keys = self._keys[:]
|
||||
return dict
|
||||
|
||||
def items(self):
|
||||
return zip(self._keys, self.values())
|
||||
|
||||
def keys(self):
|
||||
return self._keys
|
||||
|
||||
def popitem(self):
|
||||
try:
|
||||
key = self._keys[-1]
|
||||
except IndexError:
|
||||
raise KeyError('dictionary is empty')
|
||||
|
||||
val = self[key]
|
||||
del self[key]
|
||||
|
||||
return (key, val)
|
||||
|
||||
def setdefault(self, key, failobj = None):
|
||||
dict.setdefault(self, key, failobj)
|
||||
if key not in self._keys: self._keys.append(key)
|
||||
|
||||
def update(self, dict):
|
||||
dict.update(self, dict)
|
||||
for key in dict.keys():
|
||||
if key not in self._keys: self._keys.append(key)
|
||||
|
||||
def values(self):
|
||||
return map(self.get, self._keys)
|
||||
|
||||
class Object:
|
||||
def __init__(self, name):
|
||||
self._signals = OrderedDict()
|
||||
self._args = OrderedDict()
|
||||
self.name = name
|
||||
|
||||
def __repr__(self):
|
||||
return "<Object %s>" % self.name
|
||||
|
||||
def add_signal(self, signal, overwrite=True):
|
||||
if not overwrite and signal.name in self._signals:
|
||||
raise IndexError("signal %s already in %r" % (signal.name, self))
|
||||
self._signals[signal.name] = signal
|
||||
|
||||
def add_arg(self, arg, overwrite=True):
|
||||
if not overwrite and arg.name in self._args:
|
||||
raise IndexError("arg %s already in %r" % (arg.name, self))
|
||||
self._args[arg.name] = arg
|
||||
|
||||
class Docable:
|
||||
def __init__(self, **kwargs):
|
||||
for key in self.attrs:
|
||||
setattr(self, key, kwargs[key])
|
||||
self.dict = kwargs
|
||||
|
||||
def __repr__(self):
|
||||
return "<%r %s>" % (str(self.__class__), self.name)
|
||||
|
||||
class Signal(Docable):
|
||||
attrs = ['name', 'returns', 'args']
|
||||
|
||||
class Arg(Docable):
|
||||
attrs = ['name', 'type', 'range', 'flags', 'nick', 'blurb', 'default']
|
||||
|
||||
class GDoc:
|
||||
def load_file(self, filename):
|
||||
try:
|
||||
lines = codecs.open(filename, encoding='utf-8').readlines()
|
||||
self.load_data("".join(lines))
|
||||
except IOError:
|
||||
print ("WARNING - could not read from %s" % filename)
|
||||
except UnicodeDecodeError as e:
|
||||
print ("WARNING - could not parse %s: %s" % (filename, e))
|
||||
|
||||
def save_file(self, filename, backup=False):
|
||||
"""
|
||||
Save the information to the given file if the file content changed.
|
||||
"""
|
||||
olddata = None
|
||||
try:
|
||||
lines = codecs.open(filename, encoding='utf-8').readlines()
|
||||
olddata = "".join(lines)
|
||||
except IOError:
|
||||
print ("WARNING - could not read from %s" % filename)
|
||||
newdata = self.get_data()
|
||||
if olddata and olddata == newdata:
|
||||
return
|
||||
|
||||
if olddata:
|
||||
if backup:
|
||||
os.rename(filename, filename + '.bak')
|
||||
|
||||
handle = codecs.open(filename, "w", encoding='utf-8')
|
||||
handle.write(newdata)
|
||||
handle.close()
|
||||
|
||||
class Signals(GDoc):
|
||||
def __init__(self):
|
||||
self._objects = OrderedDict()
|
||||
|
||||
def load_data(self, data):
|
||||
"""
|
||||
Load the .signals lines, creating our list of objects and signals.
|
||||
"""
|
||||
import re
|
||||
smatcher = re.compile(
|
||||
'(?s)' # make . match \n
|
||||
'<SIGNAL>\n(.*?)</SIGNAL>\n'
|
||||
)
|
||||
nmatcher = re.compile(
|
||||
'<NAME>'
|
||||
'(?P<object>\S*)' # store object
|
||||
'::'
|
||||
'(?P<signal>\S*)' # store signal
|
||||
'</NAME>'
|
||||
)
|
||||
rmatcher = re.compile(
|
||||
'(?s)' # make . match \n
|
||||
'<RETURNS>(?P<returns>\S*)</RETURNS>\n' # store returns
|
||||
'(?P<args>.*)' # store args
|
||||
)
|
||||
for block in smatcher.findall(data):
|
||||
nmatch = nmatcher.search(block)
|
||||
if nmatch:
|
||||
o = nmatch.group('object')
|
||||
debug("Found object", o)
|
||||
debug("Found signal", nmatch.group('signal'))
|
||||
if o not in self._objects:
|
||||
object = Object(o)
|
||||
self._objects[o] = object
|
||||
|
||||
rmatch = rmatcher.search(block)
|
||||
if rmatch:
|
||||
dict = rmatch.groupdict().copy()
|
||||
dict['name'] = nmatch.group('signal')
|
||||
signal = Signal(**dict)
|
||||
self._objects[o].add_signal(signal)
|
||||
|
||||
def get_data(self):
|
||||
lines = []
|
||||
for o in self._objects.values():
|
||||
for s in o._signals.values():
|
||||
block = """<SIGNAL>
|
||||
<NAME>%(object)s::%(name)s</NAME>
|
||||
<RETURNS>%(returns)s</RETURNS>
|
||||
%(args)s</SIGNAL>
|
||||
"""
|
||||
d = s.dict.copy()
|
||||
d['object'] = o.name
|
||||
lines.append(block % d)
|
||||
|
||||
return "\n".join(lines) + '\n'
|
||||
|
||||
class Args(GDoc):
|
||||
def __init__(self):
|
||||
self._objects = OrderedDict()
|
||||
|
||||
def load_data(self, data):
|
||||
"""
|
||||
Load the .args lines, creating our list of objects and args.
|
||||
"""
|
||||
import re
|
||||
amatcher = re.compile(
|
||||
'(?s)' # make . match \n
|
||||
'<ARG>\n(.*?)</ARG>\n'
|
||||
)
|
||||
nmatcher = re.compile(
|
||||
'<NAME>'
|
||||
'(?P<object>\S*)' # store object
|
||||
'::'
|
||||
'(?P<arg>\S*)' # store arg
|
||||
'</NAME>'
|
||||
)
|
||||
rmatcher = re.compile(
|
||||
'(?s)' # make . match \n
|
||||
'<TYPE>(?P<type>\S*)</TYPE>\n' # store type
|
||||
'<RANGE>(?P<range>.*?)</RANGE>\n' # store range
|
||||
'<FLAGS>(?P<flags>\S*)</FLAGS>\n' # store flags
|
||||
'<NICK>(?P<nick>.*?)</NICK>\n' # store nick
|
||||
'<BLURB>(?P<blurb>.*?)</BLURB>\n' # store blurb
|
||||
'<DEFAULT>(?P<default>.*?)</DEFAULT>\n' # store default
|
||||
)
|
||||
for block in amatcher.findall(data):
|
||||
nmatch = nmatcher.search(block)
|
||||
if nmatch:
|
||||
o = nmatch.group('object')
|
||||
debug("Found object", o)
|
||||
debug("Found arg", nmatch.group('arg'))
|
||||
if o not in self._objects:
|
||||
object = Object(o)
|
||||
self._objects[o] = object
|
||||
|
||||
rmatch = rmatcher.search(block)
|
||||
if rmatch:
|
||||
dict = rmatch.groupdict().copy()
|
||||
dict['name'] = nmatch.group('arg')
|
||||
arg = Arg(**dict)
|
||||
self._objects[o].add_arg(arg)
|
||||
else:
|
||||
print ("ERROR: could not match arg from block %s" % block)
|
||||
|
||||
def get_data(self):
|
||||
lines = []
|
||||
for o in self._objects.values():
|
||||
for a in o._args.values():
|
||||
block = """<ARG>
|
||||
<NAME>%(object)s::%(name)s</NAME>
|
||||
<TYPE>%(type)s</TYPE>
|
||||
<RANGE>%(range)s</RANGE>
|
||||
<FLAGS>%(flags)s</FLAGS>
|
||||
<NICK>%(nick)s</NICK>
|
||||
<BLURB>%(blurb)s</BLURB>
|
||||
<DEFAULT>%(default)s</DEFAULT>
|
||||
</ARG>
|
||||
"""
|
||||
d = a.dict.copy()
|
||||
d['object'] = o.name
|
||||
lines.append(block % d)
|
||||
|
||||
return "\n".join(lines) + '\n'
|
||||
|
||||
class SingleLine(GDoc):
|
||||
def __init__(self):
|
||||
self._objects = []
|
||||
|
||||
def load_data(self, data):
|
||||
"""
|
||||
Load the .interfaces/.prerequisites lines, merge duplicates
|
||||
"""
|
||||
# split data on '\n'
|
||||
lines = data.splitlines();
|
||||
# merge them into self._objects
|
||||
for line in lines:
|
||||
if line not in self._objects:
|
||||
self._objects.append(line)
|
||||
|
||||
def get_data(self):
|
||||
lines = sorted(self._objects)
|
||||
return "\n".join(lines) + '\n'
|
||||
|
||||
def main(argv):
|
||||
modulename = None
|
||||
try:
|
||||
modulename = argv[1]
|
||||
except IndexError:
|
||||
sys.stderr.write('Please provide a documentation module name\n')
|
||||
sys.exit(1)
|
||||
|
||||
signals = Signals()
|
||||
signals.load_file(modulename + '.signals')
|
||||
signals.load_file(modulename + '.signals.new')
|
||||
signals.save_file(modulename + '.signals', backup=True)
|
||||
os.unlink(modulename + '.signals.new')
|
||||
|
||||
args = Args()
|
||||
args.load_file(modulename + '.args')
|
||||
args.load_file(modulename + '.args.new')
|
||||
args.save_file(modulename + '.args', backup=True)
|
||||
os.unlink(modulename + '.args.new')
|
||||
|
||||
ifaces = SingleLine()
|
||||
ifaces.load_file(modulename + '.interfaces')
|
||||
ifaces.load_file(modulename + '.interfaces.new')
|
||||
ifaces.save_file(modulename + '.interfaces', backup=True)
|
||||
os.unlink(modulename + '.interfaces.new')
|
||||
|
||||
prereq = SingleLine()
|
||||
prereq.load_file(modulename + '.prerequisites')
|
||||
prereq.load_file(modulename + '.prerequisites.new')
|
||||
prereq.save_file(modulename + '.prerequisites', backup=True)
|
||||
os.unlink(modulename + '.prerequisites.new')
|
||||
|
||||
main(sys.argv)
|
|
@ -0,0 +1,64 @@
|
|||
# this snippet is to be included by both our docbook manuals
|
||||
# and gtk-doc API references
|
||||
|
||||
# it adds an upload target to each of these dir's Makefiles
|
||||
|
||||
# each Makefile.am should define the following variables:
|
||||
# - DOC: the base name of the documentation
|
||||
# (faq, manual, pwg, gstreamer, gstreamer-libs)
|
||||
# - FORMATS: the formats in which DOC is output
|
||||
# (html ps pdf)
|
||||
|
||||
# if you want to use it, make sure your $HOME/.ssh/config file contains the
|
||||
# correct User entry for the Host entry for the DOC_SERVER
|
||||
|
||||
# these variables define the location of the online docs
|
||||
DOC_SERVER = gstreamer.freedesktop.org
|
||||
DOC_BASE = /srv/gstreamer.freedesktop.org/www/data/doc
|
||||
DOC_URL = $(DOC_SERVER):$(DOC_BASE)
|
||||
|
||||
upload: $(FORMATS)
|
||||
@if echo $(FORMATS) | grep html > /dev/null; then \
|
||||
echo "Preparing docs for upload (rebasing cross-references) ..." ; \
|
||||
if test x$(builddir) != x$(srcdir); then \
|
||||
echo "make upload can only be used if srcdir == builddir"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
# gtkdoc-rebase sometimes gets confused, so reset everything to \
|
||||
# local links before rebasing to online links \
|
||||
gtkdoc-rebase --html-dir=$(builddir)/html 2>/dev/null 2>/dev/null ; \
|
||||
rebase=`gtkdoc-rebase --verbose --online --html-dir=$(builddir)/html` ; \
|
||||
echo "$$rebase" | grep -e "On-*line"; \
|
||||
for req in glib gobject gstreamer gstreamer-libs gst-plugins-base-libs; do \
|
||||
if ! ( echo "$$rebase" | grep -i -e "On-*line.*/$$req/" ); then \
|
||||
echo "===============================================================================" ; \
|
||||
echo " Could not determine online location for $$req docs. Cross-referencing will be " ; \
|
||||
echo " broken, so not uploading. Make sure the library's gtk-doc documentation is " ; \
|
||||
echo " installed somewhere in /usr/share/gtk-doc. " ; \
|
||||
echo "===============================================================================" ; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
done; \
|
||||
export SRC="$$SRC html"; \
|
||||
fi; \
|
||||
if echo $(FORMATS) | grep ps > /dev/null; then export SRC="$$SRC $(DOC).ps"; fi; \
|
||||
if echo $(FORMATS) | grep pdf > /dev/null; then export SRC="$$SRC $(DOC).pdf"; fi; \
|
||||
\
|
||||
# upload releases to both X.Y/ and head/ subdirectories \
|
||||
export DIR=$(DOC_BASE)/gstreamer/$(PACKAGE_VERSION_MAJOR).$(PACKAGE_VERSION_MINOR)/$(DOC); \
|
||||
echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
|
||||
ssh $(DOC_SERVER) mkdir -p $$DIR; \
|
||||
rsync -rv -e ssh --delete $$SRC $(DOC_SERVER):$$DIR; \
|
||||
ssh $(DOC_SERVER) chmod -R g+w $$DIR; \
|
||||
\
|
||||
export DIR=$(DOC_BASE)/gstreamer/head/$(DOC); \
|
||||
echo Uploading $$SRC to $(DOC_SERVER):$$DIR; \
|
||||
ssh $(DOC_SERVER) mkdir -p $$DIR; \
|
||||
rsync -rv -e ssh --delete $$SRC $(DOC_SERVER):$$DIR; \
|
||||
ssh $(DOC_SERVER) chmod -R g+w $$DIR; \
|
||||
\
|
||||
if echo $(FORMATS) | grep html > /dev/null; then \
|
||||
echo "Un-preparing docs for upload (rebasing cross-references) ..." ; \
|
||||
gtkdoc-rebase --html-dir=$(builddir)/html ; \
|
||||
fi; \
|
||||
echo Done
|
|
@ -0,0 +1,84 @@
|
|||
# various tests to make sure we dist the win32 stuff (for MSVC builds) right
|
||||
|
||||
# the MANIFEST contains all win32 related files that should be disted
|
||||
win32 = $(shell cat $(top_srcdir)/win32/MANIFEST)
|
||||
|
||||
# wildcard is apparently not portable to other makes, hence the use of find
|
||||
# these are library .def files with the symbols to export
|
||||
win32defs = $(shell find $(top_srcdir)/win32/common -name '*.def')
|
||||
|
||||
# wildcard is apparently not portable to other makes, hence the use of find
|
||||
# these are files that need to be disted with CRLF line endings:
|
||||
win32crlf = $(shell find $(top_srcdir)/win32 -name '*.dsw' -o -name '*.dsp')
|
||||
|
||||
win32-debug:
|
||||
@echo; \
|
||||
echo win32 = $(win32); \
|
||||
echo; \
|
||||
echo win32defs = $(win32defs); \
|
||||
echo; \
|
||||
echo win32crlf = $(win32crlf); \
|
||||
echo
|
||||
|
||||
win32-check-crlf:
|
||||
@echo Checking win32 files for CR LF line endings ...; \
|
||||
fail=0 ; \
|
||||
for each in $(win32crlf) ; do \
|
||||
result=`perl -e 'print grep(/\r\n/,<>)' "$$each" | wc -l`; \
|
||||
if test "$$result" = 0 ; then \
|
||||
echo $$each must be fixed to have CRLF line endings ; \
|
||||
fail=1; \
|
||||
fi ; \
|
||||
done ; \
|
||||
exit $$fail
|
||||
|
||||
# make sure all symbols we export on linux are defined in the win32 .def too
|
||||
# (don't care about other unixes for now, it's enough if it works on one of
|
||||
# the linux build bots; we assume .so )
|
||||
check-exports:
|
||||
@fail=0 ; \
|
||||
for l in $(win32defs); do \
|
||||
libbase=`basename "$$l" ".def"`; \
|
||||
libso=`find "$(top_builddir)" -name "$$libbase-@GST_API_VERSION@.so" | grep -v /_build/ | head -n1`; \
|
||||
libdef="$(top_srcdir)/win32/common/$$libbase.def"; \
|
||||
if test "x$$libso" != "x"; then \
|
||||
echo Checking symbols in $$libso; \
|
||||
if ! ($(top_srcdir)/common/check-exports $$libdef $$libso) ; then \
|
||||
echo "$$libdef"; \
|
||||
if test "$$libbase" != "libgstgl"; then \
|
||||
fail=1; \
|
||||
fi; \
|
||||
fi; \
|
||||
fi; \
|
||||
done ; \
|
||||
if test $$fail != 0; then \
|
||||
echo '-----------------------------------------------------------'; \
|
||||
echo 'Run this to update the .def files:'; \
|
||||
echo 'make update-exports'; \
|
||||
echo '-----------------------------------------------------------'; \
|
||||
fi; \
|
||||
exit $$fail
|
||||
|
||||
update-exports:
|
||||
make check-exports 2>&1 | patch -p1
|
||||
if test -f "$(top_srcdir)/win32/common/libgstgl.def"; then \
|
||||
git checkout "$(top_srcdir)/win32/common/libgstgl.def"; \
|
||||
fi
|
||||
git add $(top_srcdir)/win32/common/lib*.def
|
||||
git diff --cached -- $(top_srcdir)/win32/common/
|
||||
echo '^^^--- updated and staged changes above'
|
||||
|
||||
# complain about nonportable printf format strings (%lld, %llu, %zu etc.)
|
||||
check-nonportable-print-format:
|
||||
@fail=0 ; \
|
||||
loc=`find "$(top_srcdir)" -name '*.c' | xargs grep -n -e '%[0-9]*ll[udx]' -e '%[0-9]*z[udx]'`; \
|
||||
if test "x$$loc" != "x"; then \
|
||||
echo "Please fix the following print format strings:" ; \
|
||||
find "$(top_srcdir)" -name '*.c' | xargs grep -n -e '%[0-9]*ll[udx]' -e '%[0-9]*z[udx]'; \
|
||||
fail=1; \
|
||||
fi; \
|
||||
exit $$fail
|
||||
|
||||
dist-hook: check-exports win32-check-crlf
|
||||
|
||||
|
|
@ -0,0 +1,348 @@
|
|||
#! /bin/sh
|
||||
# Wrapper for compilers which do not understand '-c -o'.
|
||||
|
||||
scriptversion=2018-03-07.03; # UTC
|
||||
|
||||
# Copyright (C) 1999-2018 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 <https://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>.
|
||||
|
||||
nl='
|
||||
'
|
||||
|
||||
# We need space, tab and new line, in precisely that order. Quoting is
|
||||
# there to prevent tools from complaining about whitespace usage.
|
||||
IFS=" "" $nl"
|
||||
|
||||
file_conv=
|
||||
|
||||
# func_file_conv build_file lazy
|
||||
# Convert a $build file to $host form and store it in $file
|
||||
# Currently only supports Windows hosts. If the determined conversion
|
||||
# type is listed in (the comma separated) LAZY, no conversion will
|
||||
# take place.
|
||||
func_file_conv ()
|
||||
{
|
||||
file=$1
|
||||
case $file in
|
||||
/ | /[!/]*) # absolute file, and not a UNC file
|
||||
if test -z "$file_conv"; then
|
||||
# lazily determine how to convert abs files
|
||||
case `uname -s` in
|
||||
MINGW*)
|
||||
file_conv=mingw
|
||||
;;
|
||||
CYGWIN*)
|
||||
file_conv=cygwin
|
||||
;;
|
||||
*)
|
||||
file_conv=wine
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
case $file_conv/,$2, in
|
||||
*,$file_conv,*)
|
||||
;;
|
||||
mingw/*)
|
||||
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||
;;
|
||||
cygwin/*)
|
||||
file=`cygpath -m "$file" || echo "$file"`
|
||||
;;
|
||||
wine/*)
|
||||
file=`winepath -w "$file" || echo "$file"`
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# func_cl_dashL linkdir
|
||||
# Make cl look for libraries in LINKDIR
|
||||
func_cl_dashL ()
|
||||
{
|
||||
func_file_conv "$1"
|
||||
if test -z "$lib_path"; then
|
||||
lib_path=$file
|
||||
else
|
||||
lib_path="$lib_path;$file"
|
||||
fi
|
||||
linker_opts="$linker_opts -LIBPATH:$file"
|
||||
}
|
||||
|
||||
# func_cl_dashl library
|
||||
# Do a library search-path lookup for cl
|
||||
func_cl_dashl ()
|
||||
{
|
||||
lib=$1
|
||||
found=no
|
||||
save_IFS=$IFS
|
||||
IFS=';'
|
||||
for dir in $lib_path $LIB
|
||||
do
|
||||
IFS=$save_IFS
|
||||
if $shared && test -f "$dir/$lib.dll.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.dll.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/$lib.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/lib$lib.a"; then
|
||||
found=yes
|
||||
lib=$dir/lib$lib.a
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS=$save_IFS
|
||||
|
||||
if test "$found" != yes; then
|
||||
lib=$lib.lib
|
||||
fi
|
||||
}
|
||||
|
||||
# func_cl_wrapper cl arg...
|
||||
# Adjust compile command to suit cl
|
||||
func_cl_wrapper ()
|
||||
{
|
||||
# Assume a capable shell
|
||||
lib_path=
|
||||
shared=:
|
||||
linker_opts=
|
||||
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'.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.[oO][bB][jJ])
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fo"$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fe"$file"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
-I)
|
||||
eat=1
|
||||
func_file_conv "$2" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-I*)
|
||||
func_file_conv "${1#-I}" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-l)
|
||||
eat=1
|
||||
func_cl_dashl "$2"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-l*)
|
||||
func_cl_dashl "${1#-l}"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-L)
|
||||
eat=1
|
||||
func_cl_dashL "$2"
|
||||
;;
|
||||
-L*)
|
||||
func_cl_dashL "${1#-L}"
|
||||
;;
|
||||
-static)
|
||||
shared=false
|
||||
;;
|
||||
-Wl,*)
|
||||
arg=${1#-Wl,}
|
||||
save_ifs="$IFS"; IFS=','
|
||||
for flag in $arg; do
|
||||
IFS="$save_ifs"
|
||||
linker_opts="$linker_opts $flag"
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
;;
|
||||
-Xlinker)
|
||||
eat=1
|
||||
linker_opts="$linker_opts $2"
|
||||
;;
|
||||
-*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
|
||||
func_file_conv "$1"
|
||||
set x "$@" -Tp"$file"
|
||||
shift
|
||||
;;
|
||||
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
|
||||
func_file_conv "$1" mingw
|
||||
set x "$@" "$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
if test -n "$linker_opts"; then
|
||||
linker_opts="-link$linker_opts"
|
||||
fi
|
||||
exec "$@" $linker_opts
|
||||
exit 1
|
||||
}
|
||||
|
||||
eat=
|
||||
|
||||
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 $?
|
||||
;;
|
||||
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
|
||||
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
|
||||
func_cl_wrapper "$@" # Doesn't return...
|
||||
;;
|
||||
esac
|
||||
|
||||
ofile=
|
||||
cfile=
|
||||
|
||||
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 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,500 @@
|
|||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define if building universal (internal helper macro) */
|
||||
#undef AC_APPLE_UNIVERSAL_BUILD
|
||||
|
||||
/* The implementation that should be used for integer audio resampling witll
|
||||
be benchmarked at runtime */
|
||||
#undef AUDIORESAMPLE_FORMAT_AUTO
|
||||
|
||||
/* The float implementation should be used for integer audio resampling */
|
||||
#undef AUDIORESAMPLE_FORMAT_FLOAT
|
||||
|
||||
/* The int implementation should be used for integer audio resampling */
|
||||
#undef AUDIORESAMPLE_FORMAT_INT
|
||||
|
||||
/* defined if cdda headers are in a cdda/ directory */
|
||||
#undef CDPARANOIA_HEADERS_IN_DIR
|
||||
|
||||
/* Default audio sink */
|
||||
#undef DEFAULT_AUDIOSINK
|
||||
|
||||
/* Default audio source */
|
||||
#undef DEFAULT_AUDIOSRC
|
||||
|
||||
/* Default video sink */
|
||||
#undef DEFAULT_VIDEOSINK
|
||||
|
||||
/* Default video source */
|
||||
#undef DEFAULT_VIDEOSRC
|
||||
|
||||
/* Default visualizer */
|
||||
#undef DEFAULT_VISUALIZER
|
||||
|
||||
/* Disable Orc */
|
||||
#undef DISABLE_ORC
|
||||
|
||||
/* Define to 1 if translation of program messages to the user's native
|
||||
language is requested. */
|
||||
#undef ENABLE_NLS
|
||||
|
||||
/* gettext package name */
|
||||
#undef GETTEXT_PACKAGE
|
||||
|
||||
/* The GIO library directory. */
|
||||
#undef GIO_LIBDIR
|
||||
|
||||
/* The GIO modules directory. */
|
||||
#undef GIO_MODULE_DIR
|
||||
|
||||
/* The GIO install prefix. */
|
||||
#undef GIO_PREFIX
|
||||
|
||||
/* public symbol export define */
|
||||
#undef GST_API_EXPORT
|
||||
|
||||
/* major/minor version */
|
||||
#undef GST_API_VERSION
|
||||
|
||||
/* system wide data directory */
|
||||
#undef GST_DATADIR
|
||||
|
||||
/* Define if extra runtime checks should be enabled */
|
||||
#undef GST_ENABLE_EXTRA_CHECKS
|
||||
|
||||
/* Extra platform specific plugin suffix */
|
||||
#undef GST_EXTRA_MODULE_SUFFIX
|
||||
|
||||
/* macro to use to show function name */
|
||||
#undef GST_FUNCTION
|
||||
|
||||
/* Defined if gcov is enabled to force a rebuild due to config.h changing */
|
||||
#undef GST_GCOV_ENABLED
|
||||
|
||||
/* EGL module name */
|
||||
#undef GST_GL_LIBEGL_MODULE_NAME
|
||||
|
||||
/* GLES2 module name */
|
||||
#undef GST_GL_LIBGLESV2_MODULE_NAME
|
||||
|
||||
/* OpenGL module name */
|
||||
#undef GST_GL_LIBGL_MODULE_NAME
|
||||
|
||||
/* Defined when registry scanning through fork is unsafe */
|
||||
#undef GST_HAVE_UNSAFE_FORK
|
||||
|
||||
/* plugin install helper script */
|
||||
#undef GST_INSTALL_PLUGINS_HELPER
|
||||
|
||||
/* Default errorlevel to use */
|
||||
#undef GST_LEVEL_DEFAULT
|
||||
|
||||
/* GStreamer license */
|
||||
#undef GST_LICENSE
|
||||
|
||||
/* package name in plugins */
|
||||
#undef GST_PACKAGE_NAME
|
||||
|
||||
/* package origin */
|
||||
#undef GST_PACKAGE_ORIGIN
|
||||
|
||||
/* GStreamer package release date/time for plugins as YYYY-MM-DD */
|
||||
#undef GST_PACKAGE_RELEASE_DATETIME
|
||||
|
||||
/* Define to enable ALSA (used by alsa). */
|
||||
#undef HAVE_ALSA
|
||||
|
||||
/* ARM NEON support is enabled */
|
||||
#undef HAVE_ARM_NEON
|
||||
|
||||
/* Define to enable CDParanoia (used by cdparanoia). */
|
||||
#undef HAVE_CDPARANOIA
|
||||
|
||||
/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
|
||||
CoreFoundation framework. */
|
||||
#undef HAVE_CFLOCALECOPYCURRENT
|
||||
|
||||
/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
|
||||
the CoreFoundation framework. */
|
||||
#undef HAVE_CFPREFERENCESCOPYAPPVALUE
|
||||
|
||||
/* Define if the target CPU is AARCH64 */
|
||||
#undef HAVE_CPU_AARCH64
|
||||
|
||||
/* Define if the target CPU is an Alpha */
|
||||
#undef HAVE_CPU_ALPHA
|
||||
|
||||
/* Define if the target CPU is an ARC */
|
||||
#undef HAVE_CPU_ARC
|
||||
|
||||
/* Define if the target CPU is an ARM */
|
||||
#undef HAVE_CPU_ARM
|
||||
|
||||
/* Define if the target CPU is a CRIS */
|
||||
#undef HAVE_CPU_CRIS
|
||||
|
||||
/* Define if the target CPU is a CRISv32 */
|
||||
#undef HAVE_CPU_CRISV32
|
||||
|
||||
/* Define if the target CPU is a HPPA */
|
||||
#undef HAVE_CPU_HPPA
|
||||
|
||||
/* Define if the target CPU is an x86 */
|
||||
#undef HAVE_CPU_I386
|
||||
|
||||
/* Define if the target CPU is a IA64 */
|
||||
#undef HAVE_CPU_IA64
|
||||
|
||||
/* Define if the target CPU is a M68K */
|
||||
#undef HAVE_CPU_M68K
|
||||
|
||||
/* Define if the target CPU is a MIPS */
|
||||
#undef HAVE_CPU_MIPS
|
||||
|
||||
/* Define if the target CPU is a PowerPC */
|
||||
#undef HAVE_CPU_PPC
|
||||
|
||||
/* Define if the target CPU is a 64 bit PowerPC */
|
||||
#undef HAVE_CPU_PPC64
|
||||
|
||||
/* Define if the target CPU is a S390 */
|
||||
#undef HAVE_CPU_S390
|
||||
|
||||
/* Define if the target CPU is a SPARC */
|
||||
#undef HAVE_CPU_SPARC
|
||||
|
||||
/* Define if the target CPU is a x86_64 */
|
||||
#undef HAVE_CPU_X86_64
|
||||
|
||||
/* Define if the GNU dcgettext() function is already present or preinstalled.
|
||||
*/
|
||||
#undef HAVE_DCGETTEXT
|
||||
|
||||
/* Define to 1 if you have the declaration of `__i386__', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL___I386__
|
||||
|
||||
/* Define to 1 if you have the declaration of `__x86_64__', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL___X86_64__
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if the system has the type `EGLAttrib'. */
|
||||
#undef HAVE_EGLATTRIB
|
||||
|
||||
/* Define to 1 if the system has the type `EGLuint64KHR'. */
|
||||
#undef HAVE_EGLUINT64KHR
|
||||
|
||||
/* Define to 1 if you have the <emmintrin.h> header file. */
|
||||
#undef HAVE_EMMINTRIN_H
|
||||
|
||||
/* Define to enable building of experimental plug-ins. */
|
||||
#undef HAVE_EXPERIMENTAL
|
||||
|
||||
/* Define to enable building of plug-ins with external deps. */
|
||||
#undef HAVE_EXTERNAL
|
||||
|
||||
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
|
||||
#undef HAVE_FSEEKO
|
||||
|
||||
/* defined if the compiler implements __func__ */
|
||||
#undef HAVE_FUNC
|
||||
|
||||
/* defined if the compiler implements __FUNCTION__ */
|
||||
#undef HAVE_FUNCTION
|
||||
|
||||
/* Define if the GNU gettext() function is already present or preinstalled. */
|
||||
#undef HAVE_GETTEXT
|
||||
|
||||
/* Define to enable gl elements (used by gl). */
|
||||
#undef HAVE_GL
|
||||
|
||||
/* Define to 1 if the system has the type `GLchar'. */
|
||||
#undef HAVE_GLCHAR
|
||||
|
||||
/* Define to 1 if the system has the type `GLeglImageOES'. */
|
||||
#undef HAVE_GLEGLIMAGEOES
|
||||
|
||||
/* Define to 1 if the system has the type `GLint64'. */
|
||||
#undef HAVE_GLINT64
|
||||
|
||||
/* Define to 1 if the system has the type `GLintptr'. */
|
||||
#undef HAVE_GLINTPTR
|
||||
|
||||
/* Define to 1 if the system has the type `GLsizeiptr'. */
|
||||
#undef HAVE_GLSIZEIPTR
|
||||
|
||||
/* Define to 1 if the system has the type `GLsync'. */
|
||||
#undef HAVE_GLSYNC
|
||||
|
||||
/* Define to 1 if the system has the type `GLuint64'. */
|
||||
#undef HAVE_GLUINT64
|
||||
|
||||
/* Define to 1 if you have the `gmtime_r' function. */
|
||||
#undef HAVE_GMTIME_R
|
||||
|
||||
/* Use graphene */
|
||||
#undef HAVE_GRAPHENE
|
||||
|
||||
/* Define if gudev is installed */
|
||||
#undef HAVE_GUDEV
|
||||
|
||||
/* Define if you have the iconv() function and it works. */
|
||||
#undef HAVE_ICONV
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define if building for Apple iOS */
|
||||
#undef HAVE_IOS
|
||||
|
||||
/* make use of iso-codes for ISO-639 */
|
||||
#undef HAVE_ISO_CODES
|
||||
|
||||
/* Define to enable integer vorbis plug-in (used by ivorbisdec). */
|
||||
#undef HAVE_IVORBIS
|
||||
|
||||
/* Use libjpeg */
|
||||
#undef HAVE_JPEG
|
||||
|
||||
/* Define to 1 if you have the `asound' library (-lasound). */
|
||||
#undef HAVE_LIBASOUND
|
||||
|
||||
/* Define to enable libvisual visualization library (used by libvisual). */
|
||||
#undef HAVE_LIBVISUAL
|
||||
|
||||
/* Define to 1 if you have the <linux/dma-buf.h> header file. */
|
||||
#undef HAVE_LINUX_DMA_BUF_H
|
||||
|
||||
/* Define to 1 if you have the `localtime_r' function. */
|
||||
#undef HAVE_LOCALTIME_R
|
||||
|
||||
/* Define to 1 if you have the `log2' function. */
|
||||
#undef HAVE_LOG2
|
||||
|
||||
/* Define if you have C99's lrint function. */
|
||||
#undef HAVE_LRINT
|
||||
|
||||
/* Define if you have C99's lrintf function. */
|
||||
#undef HAVE_LRINTF
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Defined if mmap is supported */
|
||||
#undef HAVE_MMAP
|
||||
|
||||
/* Define to enable Xiph Ogg library (used by ogg). */
|
||||
#undef HAVE_OGG
|
||||
|
||||
/* Define to enable opus (used by opus). */
|
||||
#undef HAVE_OPUS
|
||||
|
||||
/* Use Orc */
|
||||
#undef HAVE_ORC
|
||||
|
||||
/* Defined if compiling for OSX */
|
||||
#undef HAVE_OSX
|
||||
|
||||
/* Define to enable Pango font rendering (used by pango). */
|
||||
#undef HAVE_PANGO
|
||||
|
||||
/* Use libpng */
|
||||
#undef HAVE_PNG
|
||||
|
||||
/* defined if the compiler implements __PRETTY_FUNCTION__ */
|
||||
#undef HAVE_PRETTY_FUNCTION
|
||||
|
||||
/* Define to 1 if you have the <process.h> header file. */
|
||||
#undef HAVE_PROCESS_H
|
||||
|
||||
/* Define if you have POSIX threads libraries and header files. */
|
||||
#undef HAVE_PTHREAD
|
||||
|
||||
/* Have PTHREAD_PRIO_INHERIT. */
|
||||
#undef HAVE_PTHREAD_PRIO_INHERIT
|
||||
|
||||
/* Define if RDTSC is available */
|
||||
#undef HAVE_RDTSC
|
||||
|
||||
/* Define to 1 if you have the <smmintrin.h> header file. */
|
||||
#undef HAVE_SMMINTRIN_H
|
||||
|
||||
/* SSE support is enabled */
|
||||
#undef HAVE_SSE
|
||||
|
||||
/* SSE2 support is enabled */
|
||||
#undef HAVE_SSE2
|
||||
|
||||
/* SSE4.1 support is enabled */
|
||||
#undef HAVE_SSE41
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/socket.h> header file. */
|
||||
#undef HAVE_SYS_SOCKET_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <sys/wait.h> header file. */
|
||||
#undef HAVE_SYS_WAIT_H
|
||||
|
||||
/* Define to enable Xiph Theora video codec (used by theora). */
|
||||
#undef HAVE_THEORA
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define if valgrind should be used */
|
||||
#undef HAVE_VALGRIND
|
||||
|
||||
/* Define to enable Xiph Vorbis audio codec (used by vorbis). */
|
||||
#undef HAVE_VORBIS
|
||||
|
||||
/* defined if vorbis_synthesis_restart is present */
|
||||
#undef HAVE_VORBIS_SYNTHESIS_RESTART
|
||||
|
||||
/* Defined if compiling for Windows */
|
||||
#undef HAVE_WIN32
|
||||
|
||||
/* Define to 1 if you have the <winsock2.h> header file. */
|
||||
#undef HAVE_WINSOCK2_H
|
||||
|
||||
/* Define to enable X libraries and plugins (used by ximagesink). */
|
||||
#undef HAVE_X
|
||||
|
||||
/* Define to 1 if you have the <xmmintrin.h> header file. */
|
||||
#undef HAVE_XMMINTRIN_H
|
||||
|
||||
/* Define to enable X Shared Memory extension. */
|
||||
#undef HAVE_XSHM
|
||||
|
||||
/* Define to enable X11 XVideo extensions (used by xvimagesink). */
|
||||
#undef HAVE_XVIDEO
|
||||
|
||||
/* Define to enable zlib support for ID3 parsing in libgsttag. */
|
||||
#undef HAVE_ZLIB
|
||||
|
||||
/* the host CPU */
|
||||
#undef HOST_CPU
|
||||
|
||||
/* prefix */
|
||||
#undef ISO_CODES_PREFIX
|
||||
|
||||
/* */
|
||||
#undef ISO_CODES_VERSION
|
||||
|
||||
/* directory in which the detected libvisual's plugins are located */
|
||||
#undef LIBVISUAL_PLUGINSBASEDIR
|
||||
|
||||
/* gettext locale dir */
|
||||
#undef LOCALEDIR
|
||||
|
||||
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||
#undef LT_OBJDIR
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#undef PACKAGE_URL
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* directory where plugins are located */
|
||||
#undef PLUGINDIR
|
||||
|
||||
/* Define to necessary symbol if this constant uses a non-standard name on
|
||||
your system. */
|
||||
#undef PTHREAD_CREATE_JOINABLE
|
||||
|
||||
/* The size of `char', as computed by sizeof. */
|
||||
#undef SIZEOF_CHAR
|
||||
|
||||
/* The size of `int', as computed by sizeof. */
|
||||
#undef SIZEOF_INT
|
||||
|
||||
/* The size of `long', as computed by sizeof. */
|
||||
#undef SIZEOF_LONG
|
||||
|
||||
/* The size of `short', as computed by sizeof. */
|
||||
#undef SIZEOF_SHORT
|
||||
|
||||
/* The size of `void*', as computed by sizeof. */
|
||||
#undef SIZEOF_VOIDP
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* the target CPU */
|
||||
#undef TARGET_CPU
|
||||
|
||||
/* Use Mali FB EGL platform */
|
||||
#undef USE_EGL_MALI_FB
|
||||
|
||||
/* Use RPi platform */
|
||||
#undef USE_EGL_RPI
|
||||
|
||||
/* "Define if building for android" */
|
||||
#undef USE_TREMOLO
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
|
||||
significant byte first (like Motorola and SPARC, unlike Intel). */
|
||||
#if defined AC_APPLE_UNIVERSAL_BUILD
|
||||
# if defined __BIG_ENDIAN__
|
||||
# define WORDS_BIGENDIAN 1
|
||||
# endif
|
||||
#else
|
||||
# ifndef WORDS_BIGENDIAN
|
||||
# undef WORDS_BIGENDIAN
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Enable large inode numbers on Mac OS X 10.5. */
|
||||
#ifndef _DARWIN_USE_64_BIT_INODE
|
||||
# define _DARWIN_USE_64_BIT_INODE 1
|
||||
#endif
|
||||
|
||||
/* Number of bits in a file offset, on hosts where this is settable. */
|
||||
#undef _FILE_OFFSET_BITS
|
||||
|
||||
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
|
||||
#undef _LARGEFILE_SOURCE
|
||||
|
||||
/* Define for large files, on AIX-style hosts. */
|
||||
#undef _LARGE_FILES
|
||||
|
||||
/* We need at least WinXP SP2 for __stat64 */
|
||||
#undef __MSVCRT_VERSION__
|
|
@ -0,0 +1,666 @@
|
|||
#! /bin/sh
|
||||
# Output a system dependent set of variables, describing how to set the
|
||||
# run time search path of shared libraries in an executable.
|
||||
#
|
||||
# Copyright 1996-2007 Free Software Foundation, Inc.
|
||||
# Taken from GNU libtool, 2001
|
||||
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
# unlimited permission to copy and/or distribute it, with or without
|
||||
# modifications, as long as this notice is preserved.
|
||||
#
|
||||
# The first argument passed to this file is the canonical host specification,
|
||||
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
|
||||
# or
|
||||
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
|
||||
# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
|
||||
# should be set by the caller.
|
||||
#
|
||||
# The set of defined variables is at the end of this script.
|
||||
|
||||
# Known limitations:
|
||||
# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
|
||||
# than 256 bytes, otherwise the compiler driver will dump core. The only
|
||||
# known workaround is to choose shorter directory names for the build
|
||||
# directory and/or the installation directory.
|
||||
|
||||
# All known linkers require a `.a' archive for static linking (except MSVC,
|
||||
# which needs '.lib').
|
||||
libext=a
|
||||
shrext=.so
|
||||
|
||||
host="$1"
|
||||
host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
|
||||
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
|
||||
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
|
||||
|
||||
# Code taken from libtool.m4's _LT_CC_BASENAME.
|
||||
|
||||
for cc_temp in $CC""; do
|
||||
case $cc_temp in
|
||||
compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
|
||||
distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
|
||||
\-*) ;;
|
||||
*) break;;
|
||||
esac
|
||||
done
|
||||
cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
|
||||
|
||||
# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
|
||||
|
||||
wl=
|
||||
if test "$GCC" = yes; then
|
||||
wl='-Wl,'
|
||||
else
|
||||
case "$host_os" in
|
||||
aix*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
darwin*)
|
||||
case $cc_basename in
|
||||
xlc*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
mingw* | cygwin* | pw32* | os2*)
|
||||
;;
|
||||
hpux9* | hpux10* | hpux11*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
irix5* | irix6* | nonstopux*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
newsos6)
|
||||
;;
|
||||
linux* | k*bsd*-gnu)
|
||||
case $cc_basename in
|
||||
icc* | ecc*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
pgcc | pgf77 | pgf90)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
ccc*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
como)
|
||||
wl='-lopt='
|
||||
;;
|
||||
*)
|
||||
case `$CC -V 2>&1 | sed 5q` in
|
||||
*Sun\ C*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
osf3* | osf4* | osf5*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
rdos*)
|
||||
;;
|
||||
solaris*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
sunos4*)
|
||||
wl='-Qoption ld '
|
||||
;;
|
||||
sysv4 | sysv4.2uw2* | sysv4.3*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
sysv4*MP*)
|
||||
;;
|
||||
sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
unicos*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
uts4*)
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
|
||||
|
||||
hardcode_libdir_flag_spec=
|
||||
hardcode_libdir_separator=
|
||||
hardcode_direct=no
|
||||
hardcode_minus_L=no
|
||||
|
||||
case "$host_os" in
|
||||
cygwin* | mingw* | pw32*)
|
||||
# FIXME: the MSVC++ port hasn't been tested in a loooong time
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
if test "$GCC" != yes; then
|
||||
with_gnu_ld=no
|
||||
fi
|
||||
;;
|
||||
interix*)
|
||||
# we just hope/assume this is gcc and not c89 (= MSVC++)
|
||||
with_gnu_ld=yes
|
||||
;;
|
||||
openbsd*)
|
||||
with_gnu_ld=no
|
||||
;;
|
||||
esac
|
||||
|
||||
ld_shlibs=yes
|
||||
if test "$with_gnu_ld" = yes; then
|
||||
# Set some defaults for GNU ld with shared library support. These
|
||||
# are reset later if shared libraries are not supported. Putting them
|
||||
# here allows them to be overridden if necessary.
|
||||
# Unlike libtool, we use -rpath here, not --rpath, since the documented
|
||||
# option of GNU ld is called -rpath, not --rpath.
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
case "$host_os" in
|
||||
aix3* | aix4* | aix5*)
|
||||
# On AIX/PPC, the GNU linker is very broken
|
||||
if test "$host_cpu" != ia64; then
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
amigaos*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_minus_L=yes
|
||||
# Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
|
||||
# that the semantics of dynamic libraries on AmigaOS, at least up
|
||||
# to version 4, is to share data among multiple programs linked
|
||||
# with the same dynamic library. Since this doesn't match the
|
||||
# behavior of shared libraries on other platforms, we cannot use
|
||||
# them.
|
||||
ld_shlibs=no
|
||||
;;
|
||||
beos*)
|
||||
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
cygwin* | mingw* | pw32*)
|
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||
# no search path for DLLs.
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
interix[3-9]*)
|
||||
hardcode_direct=no
|
||||
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||
;;
|
||||
gnu* | linux* | k*bsd*-gnu)
|
||||
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
netbsd*)
|
||||
;;
|
||||
solaris*)
|
||||
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
|
||||
ld_shlibs=no
|
||||
elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
|
||||
case `$LD -v 2>&1` in
|
||||
*\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
|
||||
ld_shlibs=no
|
||||
;;
|
||||
*)
|
||||
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
sunos4*)
|
||||
hardcode_direct=yes
|
||||
;;
|
||||
*)
|
||||
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||
:
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if test "$ld_shlibs" = no; then
|
||||
hardcode_libdir_flag_spec=
|
||||
fi
|
||||
else
|
||||
case "$host_os" in
|
||||
aix3*)
|
||||
# Note: this linker hardcodes the directories in LIBPATH if there
|
||||
# are no directories specified by -L.
|
||||
hardcode_minus_L=yes
|
||||
if test "$GCC" = yes; then
|
||||
# Neither direct hardcoding nor static linking is supported with a
|
||||
# broken collect2.
|
||||
hardcode_direct=unsupported
|
||||
fi
|
||||
;;
|
||||
aix4* | aix5*)
|
||||
if test "$host_cpu" = ia64; then
|
||||
# On IA64, the linker does run time linking by default, so we don't
|
||||
# have to do anything special.
|
||||
aix_use_runtimelinking=no
|
||||
else
|
||||
aix_use_runtimelinking=no
|
||||
# Test if we are trying to use run time linking or normal
|
||||
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
|
||||
# need to do runtime linking.
|
||||
case $host_os in aix4.[23]|aix4.[23].*|aix5*)
|
||||
for ld_flag in $LDFLAGS; do
|
||||
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
|
||||
aix_use_runtimelinking=yes
|
||||
break
|
||||
fi
|
||||
done
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
hardcode_direct=yes
|
||||
hardcode_libdir_separator=':'
|
||||
if test "$GCC" = yes; then
|
||||
case $host_os in aix4.[012]|aix4.[012].*)
|
||||
collect2name=`${CC} -print-prog-name=collect2`
|
||||
if test -f "$collect2name" && \
|
||||
strings "$collect2name" | grep resolve_lib_name >/dev/null
|
||||
then
|
||||
# We have reworked collect2
|
||||
:
|
||||
else
|
||||
# We have old collect2
|
||||
hardcode_direct=unsupported
|
||||
hardcode_minus_L=yes
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_libdir_separator=
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
# Begin _LT_AC_SYS_LIBPATH_AIX.
|
||||
echo 'int main () { return 0; }' > conftest.c
|
||||
${CC} ${LDFLAGS} conftest.c -o conftest
|
||||
aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
|
||||
}'`
|
||||
if test -z "$aix_libpath"; then
|
||||
aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
|
||||
}'`
|
||||
fi
|
||||
if test -z "$aix_libpath"; then
|
||||
aix_libpath="/usr/lib:/lib"
|
||||
fi
|
||||
rm -f conftest.c conftest
|
||||
# End _LT_AC_SYS_LIBPATH_AIX.
|
||||
if test "$aix_use_runtimelinking" = yes; then
|
||||
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
|
||||
else
|
||||
if test "$host_cpu" = ia64; then
|
||||
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
|
||||
else
|
||||
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
amigaos*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_minus_L=yes
|
||||
# see comment about different semantics on the GNU ld section
|
||||
ld_shlibs=no
|
||||
;;
|
||||
bsdi[45]*)
|
||||
;;
|
||||
cygwin* | mingw* | pw32*)
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||
# no search path for DLLs.
|
||||
hardcode_libdir_flag_spec=' '
|
||||
libext=lib
|
||||
;;
|
||||
darwin* | rhapsody*)
|
||||
hardcode_direct=no
|
||||
if test "$GCC" = yes ; then
|
||||
:
|
||||
else
|
||||
case $cc_basename in
|
||||
xlc*)
|
||||
;;
|
||||
*)
|
||||
ld_shlibs=no
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
dgux*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
;;
|
||||
freebsd1*)
|
||||
ld_shlibs=no
|
||||
;;
|
||||
freebsd2.2*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
;;
|
||||
freebsd2*)
|
||||
hardcode_direct=yes
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
freebsd* | dragonfly*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
;;
|
||||
hpux9*)
|
||||
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
hardcode_direct=yes
|
||||
# hardcode_minus_L: Not really in the search PATH,
|
||||
# but as the default location of the library.
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
hpux10*)
|
||||
if test "$with_gnu_ld" = no; then
|
||||
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
hardcode_direct=yes
|
||||
# hardcode_minus_L: Not really in the search PATH,
|
||||
# but as the default location of the library.
|
||||
hardcode_minus_L=yes
|
||||
fi
|
||||
;;
|
||||
hpux11*)
|
||||
if test "$with_gnu_ld" = no; then
|
||||
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
case $host_cpu in
|
||||
hppa*64*|ia64*)
|
||||
hardcode_direct=no
|
||||
;;
|
||||
*)
|
||||
hardcode_direct=yes
|
||||
# hardcode_minus_L: Not really in the search PATH,
|
||||
# but as the default location of the library.
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
irix5* | irix6* | nonstopux*)
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
;;
|
||||
netbsd*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
;;
|
||||
newsos6)
|
||||
hardcode_direct=yes
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
;;
|
||||
openbsd*)
|
||||
if test -f /usr/libexec/ld.so; then
|
||||
hardcode_direct=yes
|
||||
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
|
||||
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||
else
|
||||
case "$host_os" in
|
||||
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
;;
|
||||
*)
|
||||
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
else
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
os2*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
osf3*)
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
;;
|
||||
osf4* | osf5*)
|
||||
if test "$GCC" = yes; then
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
else
|
||||
# Both cc and cxx compiler support -rpath directly
|
||||
hardcode_libdir_flag_spec='-rpath $libdir'
|
||||
fi
|
||||
hardcode_libdir_separator=:
|
||||
;;
|
||||
solaris*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
;;
|
||||
sunos4*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_direct=yes
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
sysv4)
|
||||
case $host_vendor in
|
||||
sni)
|
||||
hardcode_direct=yes # is this really true???
|
||||
;;
|
||||
siemens)
|
||||
hardcode_direct=no
|
||||
;;
|
||||
motorola)
|
||||
hardcode_direct=no #Motorola manual says yes, but my tests say they lie
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
sysv4.3*)
|
||||
;;
|
||||
sysv4*MP*)
|
||||
if test -d /usr/nec; then
|
||||
ld_shlibs=yes
|
||||
fi
|
||||
;;
|
||||
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
|
||||
;;
|
||||
sysv5* | sco3.2v5* | sco5v6*)
|
||||
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
|
||||
hardcode_libdir_separator=':'
|
||||
;;
|
||||
uts4*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
;;
|
||||
*)
|
||||
ld_shlibs=no
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Check dynamic linker characteristics
|
||||
# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
|
||||
# Unlike libtool.m4, here we don't care about _all_ names of the library, but
|
||||
# only about the one the linker finds when passed -lNAME. This is the last
|
||||
# element of library_names_spec in libtool.m4, or possibly two of them if the
|
||||
# linker has special search rules.
|
||||
library_names_spec= # the last element of library_names_spec in libtool.m4
|
||||
libname_spec='lib$name'
|
||||
case "$host_os" in
|
||||
aix3*)
|
||||
library_names_spec='$libname.a'
|
||||
;;
|
||||
aix4* | aix5*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
amigaos*)
|
||||
library_names_spec='$libname.a'
|
||||
;;
|
||||
beos*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
bsdi[45]*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
cygwin* | mingw* | pw32*)
|
||||
shrext=.dll
|
||||
library_names_spec='$libname.dll.a $libname.lib'
|
||||
;;
|
||||
darwin* | rhapsody*)
|
||||
shrext=.dylib
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
dgux*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
freebsd1*)
|
||||
;;
|
||||
freebsd* | dragonfly*)
|
||||
case "$host_os" in
|
||||
freebsd[123]*)
|
||||
library_names_spec='$libname$shrext$versuffix' ;;
|
||||
*)
|
||||
library_names_spec='$libname$shrext' ;;
|
||||
esac
|
||||
;;
|
||||
gnu*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
hpux9* | hpux10* | hpux11*)
|
||||
case $host_cpu in
|
||||
ia64*)
|
||||
shrext=.so
|
||||
;;
|
||||
hppa*64*)
|
||||
shrext=.sl
|
||||
;;
|
||||
*)
|
||||
shrext=.sl
|
||||
;;
|
||||
esac
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
interix[3-9]*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
irix5* | irix6* | nonstopux*)
|
||||
library_names_spec='$libname$shrext'
|
||||
case "$host_os" in
|
||||
irix5* | nonstopux*)
|
||||
libsuff= shlibsuff=
|
||||
;;
|
||||
*)
|
||||
case $LD in
|
||||
*-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
|
||||
*-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
|
||||
*-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
|
||||
*) libsuff= shlibsuff= ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
linux*oldld* | linux*aout* | linux*coff*)
|
||||
;;
|
||||
linux* | k*bsd*-gnu)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
knetbsd*-gnu)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
netbsd*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
newsos6)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
nto-qnx*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
openbsd*)
|
||||
library_names_spec='$libname$shrext$versuffix'
|
||||
;;
|
||||
os2*)
|
||||
libname_spec='$name'
|
||||
shrext=.dll
|
||||
library_names_spec='$libname.a'
|
||||
;;
|
||||
osf3* | osf4* | osf5*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
rdos*)
|
||||
;;
|
||||
solaris*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
sunos4*)
|
||||
library_names_spec='$libname$shrext$versuffix'
|
||||
;;
|
||||
sysv4 | sysv4.3*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
sysv4*MP*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
uts4*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
esac
|
||||
|
||||
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
|
||||
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
|
||||
escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||
escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||
|
||||
LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
|
||||
|
||||
# How to pass a linker flag through the compiler.
|
||||
wl="$escaped_wl"
|
||||
|
||||
# Static library suffix (normally "a").
|
||||
libext="$libext"
|
||||
|
||||
# Shared library suffix (normally "so").
|
||||
shlibext="$shlibext"
|
||||
|
||||
# Format of library name prefix.
|
||||
libname_spec="$escaped_libname_spec"
|
||||
|
||||
# Library names that the linker finds when passed -lNAME.
|
||||
library_names_spec="$escaped_library_names_spec"
|
||||
|
||||
# Flag to hardcode \$libdir into a binary during linking.
|
||||
# This must work even if \$libdir does not exist.
|
||||
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
|
||||
|
||||
# Whether we need a single -rpath flag with a separated argument.
|
||||
hardcode_libdir_separator="$hardcode_libdir_separator"
|
||||
|
||||
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
|
||||
# resulting binary.
|
||||
hardcode_direct="$hardcode_direct"
|
||||
|
||||
# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
|
||||
# resulting binary.
|
||||
hardcode_minus_L="$hardcode_minus_L"
|
||||
|
||||
EOF
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,791 @@
|
|||
#! /bin/sh
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
|
||||
scriptversion=2018-03-07.03; # UTC
|
||||
|
||||
# Copyright (C) 1999-2018 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 <https://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 outputting dependencies.
|
||||
libtool Whether libtool is used (yes/no).
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "depcomp $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
esac
|
||||
|
||||
# Get the directory component of the given path, and save it in the
|
||||
# global variables '$dir'. Note that this directory component will
|
||||
# be either empty or ending with a '/' character. This is deliberate.
|
||||
set_dir_from ()
|
||||
{
|
||||
case $1 in
|
||||
*/*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
|
||||
*) dir=;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Get the suffix-stripped basename of the given path, and save it the
|
||||
# global variable '$base'.
|
||||
set_base_from ()
|
||||
{
|
||||
base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
|
||||
}
|
||||
|
||||
# If no dependency file was actually created by the compiler invocation,
|
||||
# we still have to create a dummy depfile, to avoid errors with the
|
||||
# Makefile "include basename.Plo" scheme.
|
||||
make_dummy_depfile ()
|
||||
{
|
||||
echo "#dummy" > "$depfile"
|
||||
}
|
||||
|
||||
# Factor out some common post-processing of the generated depfile.
|
||||
# Requires the auxiliary global variable '$tmpdepfile' to be set.
|
||||
aix_post_process_depfile ()
|
||||
{
|
||||
# If the compiler actually managed to produce a dependency file,
|
||||
# post-process it.
|
||||
if test -f "$tmpdepfile"; then
|
||||
# Each line is of the form 'foo.o: dependency.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# $object: dependency.h
|
||||
# and one to simply output
|
||||
# dependency.h:
|
||||
# which is needed to avoid the deleted-header problem.
|
||||
{ sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
|
||||
sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
|
||||
} > "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
else
|
||||
make_dummy_depfile
|
||||
fi
|
||||
}
|
||||
|
||||
# A tabulation character.
|
||||
tab=' '
|
||||
# A newline character.
|
||||
nl='
|
||||
'
|
||||
# Character ranges might be problematic outside the C locale.
|
||||
# These definitions help.
|
||||
upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
||||
lower=abcdefghijklmnopqrstuvwxyz
|
||||
digits=0123456789
|
||||
alpha=${upper}${lower}
|
||||
|
||||
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"
|
||||
|
||||
# Avoid interferences from the environment.
|
||||
gccflag= dashmflag=
|
||||
|
||||
# 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
|
||||
|
||||
if test "$depmode" = msvc7msys; then
|
||||
# This is just like msvc7 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=msvc7
|
||||
fi
|
||||
|
||||
if test "$depmode" = xlc; then
|
||||
# IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
|
||||
gccflag=-qmakedep=gcc,-MF
|
||||
depmode=gcc
|
||||
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 -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
mv "$tmpdepfile" "$depfile"
|
||||
;;
|
||||
|
||||
gcc)
|
||||
## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
|
||||
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
|
||||
## (see the conditional assignment to $gccflag above).
|
||||
## 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). Also, it might not be
|
||||
## supported by the other compilers which use the 'gcc' depmode.
|
||||
## - 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 -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
# 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.
|
||||
## 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. hp depmode also adds that space, but also prefixes the VPATH
|
||||
## to the object. Take care to not repeat it in the output.
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -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 -ne 0; then
|
||||
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 ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
|
||||
| tr "$nl" ' ' >> "$depfile"
|
||||
echo >> "$depfile"
|
||||
# The second pass generates a dummy entry for each header file.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||
>> "$depfile"
|
||||
else
|
||||
make_dummy_depfile
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
xlc)
|
||||
# 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
|
||||
;;
|
||||
|
||||
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.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
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 -ne 0; then
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
aix_post_process_depfile
|
||||
;;
|
||||
|
||||
tcc)
|
||||
# tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
|
||||
# FIXME: That version still under development at the moment of writing.
|
||||
# Make that this statement remains true also for stable, released
|
||||
# versions.
|
||||
# It will wrap lines (doesn't matter whether long or short) with a
|
||||
# trailing '\', as in:
|
||||
#
|
||||
# foo.o : \
|
||||
# foo.c \
|
||||
# foo.h \
|
||||
#
|
||||
# It will put a trailing '\' even on the last line, and will use leading
|
||||
# spaces rather than leading tabs (at least since its commit 0394caf7
|
||||
# "Emit spaces for -MD").
|
||||
"$@" -MD -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
|
||||
# We have to change lines of the first kind to '$object: \'.
|
||||
sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
|
||||
# And for each line of the second kind, we have to emit a 'dep.h:'
|
||||
# dummy dependency, to avoid the deleted-header problem.
|
||||
sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
## The order of this option in the case statement is important, since the
|
||||
## shell code in configure will try each of these formats in the order
|
||||
## listed in this file. A plain '-MD' option would be understood by many
|
||||
## compilers, so we must ensure this comes after the gcc and icc options.
|
||||
pgcc)
|
||||
# Portland's C compiler understands '-MD'.
|
||||
# Will always output deps to 'file.d' where file is the root name of the
|
||||
# source file under compilation, even if file resides in a subdirectory.
|
||||
# The object file name does not affect the name of the '.d' file.
|
||||
# pgcc 10.2 will output
|
||||
# foo.o: sub/foo.c sub/foo.h
|
||||
# and will wrap long lines using '\' :
|
||||
# foo.o: sub/foo.c ... \
|
||||
# sub/foo.h ... \
|
||||
# ...
|
||||
set_dir_from "$object"
|
||||
# Use the source, not the object, to determine the base name, since
|
||||
# that's sadly what pgcc will do too.
|
||||
set_base_from "$source"
|
||||
tmpdepfile=$base.d
|
||||
|
||||
# For projects that build the same source file twice into different object
|
||||
# files, the pgcc approach of using the *source* file root name can cause
|
||||
# problems in parallel builds. Use a locking strategy to avoid stomping on
|
||||
# the same $tmpdepfile.
|
||||
lockdir=$base.d-lock
|
||||
trap "
|
||||
echo '$0: caught signal, cleaning up...' >&2
|
||||
rmdir '$lockdir'
|
||||
exit 1
|
||||
" 1 2 13 15
|
||||
numtries=100
|
||||
i=$numtries
|
||||
while test $i -gt 0; do
|
||||
# mkdir is a portable test-and-set.
|
||||
if mkdir "$lockdir" 2>/dev/null; then
|
||||
# This process acquired the lock.
|
||||
"$@" -MD
|
||||
stat=$?
|
||||
# Release the lock.
|
||||
rmdir "$lockdir"
|
||||
break
|
||||
else
|
||||
# If the lock is being held by a different process, wait
|
||||
# until the winning process is done or we timeout.
|
||||
while test -d "$lockdir" && test $i -gt 0; do
|
||||
sleep 1
|
||||
i=`expr $i - 1`
|
||||
done
|
||||
fi
|
||||
i=`expr $i - 1`
|
||||
done
|
||||
trap - 1 2 13 15
|
||||
if test $i -le 0; then
|
||||
echo "$0: failed to acquire lock after $numtries attempts" >&2
|
||||
echo "$0: check lockdir '$lockdir'" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test $stat -ne 0; then
|
||||
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.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
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 -ne 0; then
|
||||
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,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
|
||||
# Add 'dependent.h:' lines.
|
||||
sed -ne '2,${
|
||||
s/^ *//
|
||||
s/ \\*$//
|
||||
s/$/:/
|
||||
p
|
||||
}' "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
make_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.
|
||||
set_dir_from "$object"
|
||||
set_base_from "$object"
|
||||
|
||||
if test "$libtool" = yes; then
|
||||
# Libtool 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$base.o.d # libtool 1.5
|
||||
tmpdepfile2=$dir.libs/$base.o.d # Likewise.
|
||||
tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
tmpdepfile3=$dir$base.d
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
# Same post-processing that is required for AIX mode.
|
||||
aix_post_process_depfile
|
||||
;;
|
||||
|
||||
msvc7)
|
||||
if test "$libtool" = yes; then
|
||||
showIncludes=-Wc,-showIncludes
|
||||
else
|
||||
showIncludes=-showIncludes
|
||||
fi
|
||||
"$@" $showIncludes > "$tmpdepfile"
|
||||
stat=$?
|
||||
grep -v '^Note: including file: ' "$tmpdepfile"
|
||||
if test $stat -ne 0; then
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
# The first sed program below extracts the file names and escapes
|
||||
# backslashes for cygpath. The second sed program outputs the file
|
||||
# name when reading, but also accumulates all include files in the
|
||||
# hold buffer in order to output them again at the end. This only
|
||||
# works with sed implementations that can handle large buffers.
|
||||
sed < "$tmpdepfile" -n '
|
||||
/^Note: including file: *\(.*\)/ {
|
||||
s//\1/
|
||||
s/\\/\\\\/g
|
||||
p
|
||||
}' | $cygpath_u | sort -u | sed -n '
|
||||
s/ /\\ /g
|
||||
s/\(.*\)/'"$tab"'\1 \\/p
|
||||
s/.\(.*\) \\/\1:/
|
||||
H
|
||||
$ {
|
||||
s/.*/'"$tab"'/
|
||||
G
|
||||
p
|
||||
}' >> "$depfile"
|
||||
echo >> "$depfile" # make sure the fragment doesn't end with a backslash
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvc7msys)
|
||||
# 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
|
||||
;;
|
||||
|
||||
#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|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this sed invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
tr ' ' "$nl" < "$tmpdepfile" \
|
||||
| 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"
|
||||
# makedepend may prepend the VPATH from the source file name to the object.
|
||||
# No need to regex-escape $object, excess matching of '.' is harmless.
|
||||
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process the last invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed '1,2d' "$tmpdepfile" \
|
||||
| tr ' ' "$nl" \
|
||||
| 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::'"$tab"'\1 \\:p' >> "$depfile"
|
||||
echo "$tab" >> "$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 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
|
@ -0,0 +1,18 @@
|
|||
if ENABLE_GTK_DOC
|
||||
if ENABLE_PLUGIN_DOCS
|
||||
PLUGIN_DOCS_DIRS = plugins
|
||||
else
|
||||
PLUGIN_DOCS_DIRS =
|
||||
endif
|
||||
else
|
||||
PLUGIN_DOCS_DIRS = plugins
|
||||
endif
|
||||
|
||||
SUBDIRS = libs $(PLUGIN_DOCS_DIRS)
|
||||
DIST_SUBDIRS = libs plugins
|
||||
|
||||
EXTRA_DIST = \
|
||||
version.entities.in
|
||||
|
||||
upload:
|
||||
@if test "x$(SUBDIRS)" != x; then for a in $(SUBDIRS); do cd $$a; make upload; cd ..; done; fi
|
|
@ -0,0 +1,896 @@
|
|||
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
false; \
|
||||
elif test -n '$(MAKE_HOST)'; then \
|
||||
true; \
|
||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
||||
true; \
|
||||
else \
|
||||
false; \
|
||||
fi; \
|
||||
}
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
target_triplet = @target@
|
||||
subdir = docs
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
|
||||
$(top_srcdir)/common/m4/as-auto-alt.m4 \
|
||||
$(top_srcdir)/common/m4/as-compiler-flag.m4 \
|
||||
$(top_srcdir)/common/m4/as-libtool.m4 \
|
||||
$(top_srcdir)/common/m4/as-version.m4 \
|
||||
$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
|
||||
$(top_srcdir)/common/m4/ax_pthread.m4 \
|
||||
$(top_srcdir)/common/m4/gst-arch.m4 \
|
||||
$(top_srcdir)/common/m4/gst-args.m4 \
|
||||
$(top_srcdir)/common/m4/gst-check.m4 \
|
||||
$(top_srcdir)/common/m4/gst-default.m4 \
|
||||
$(top_srcdir)/common/m4/gst-error.m4 \
|
||||
$(top_srcdir)/common/m4/gst-feature.m4 \
|
||||
$(top_srcdir)/common/m4/gst-function.m4 \
|
||||
$(top_srcdir)/common/m4/gst-gettext.m4 \
|
||||
$(top_srcdir)/common/m4/gst-glib2.m4 \
|
||||
$(top_srcdir)/common/m4/gst-package-release-datetime.m4 \
|
||||
$(top_srcdir)/common/m4/gst-platform.m4 \
|
||||
$(top_srcdir)/common/m4/gst-plugin-docs.m4 \
|
||||
$(top_srcdir)/common/m4/gst-plugindir.m4 \
|
||||
$(top_srcdir)/common/m4/gst.m4 \
|
||||
$(top_srcdir)/common/m4/gtk-doc.m4 \
|
||||
$(top_srcdir)/common/m4/introspection.m4 \
|
||||
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
|
||||
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-alsa.m4 \
|
||||
$(top_srcdir)/m4/gst-gl.m4 $(top_srcdir)/m4/iconv.m4 \
|
||||
$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
|
||||
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
|
||||
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/lrint.m4 \
|
||||
$(top_srcdir)/m4/lrintf.m4 $(top_srcdir)/m4/ltoptions.m4 \
|
||||
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
|
||||
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
|
||||
$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES = version.entities
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
|
||||
ctags-recursive dvi-recursive html-recursive info-recursive \
|
||||
install-data-recursive install-dvi-recursive \
|
||||
install-exec-recursive install-html-recursive \
|
||||
install-info-recursive install-pdf-recursive \
|
||||
install-ps-recursive install-recursive installcheck-recursive \
|
||||
installdirs-recursive pdf-recursive ps-recursive \
|
||||
tags-recursive uninstall-recursive
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||
distclean-recursive maintainer-clean-recursive
|
||||
am__recursive_targets = \
|
||||
$(RECURSIVE_TARGETS) \
|
||||
$(RECURSIVE_CLEAN_TARGETS) \
|
||||
$(am__extra_recursive_targets)
|
||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||
distdir distdir-am
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/version.entities.in
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
am__relativize = \
|
||||
dir0=`pwd`; \
|
||||
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
||||
sed_rest='s,^[^/]*/*,,'; \
|
||||
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
||||
sed_butlast='s,/*[^/]*$$,,'; \
|
||||
while test -n "$$dir1"; do \
|
||||
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
||||
if test "$$first" != "."; then \
|
||||
if test "$$first" = ".."; then \
|
||||
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
||||
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
||||
else \
|
||||
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
||||
if test "$$first2" = "$$first"; then \
|
||||
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
||||
else \
|
||||
dir2="../$$dir2"; \
|
||||
fi; \
|
||||
dir0="$$dir0"/"$$first"; \
|
||||
fi; \
|
||||
fi; \
|
||||
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
||||
done; \
|
||||
reldir="$$dir2"
|
||||
ACLOCAL = @ACLOCAL@
|
||||
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
|
||||
ALSA_CFLAGS = @ALSA_CFLAGS@
|
||||
ALSA_LIBS = @ALSA_LIBS@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUDIORESAMPLE_FORMAT_AUTO = @AUDIORESAMPLE_FORMAT_AUTO@
|
||||
AUDIORESAMPLE_FORMAT_FLOAT = @AUDIORESAMPLE_FORMAT_FLOAT@
|
||||
AUDIORESAMPLE_FORMAT_INT = @AUDIORESAMPLE_FORMAT_INT@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCASFLAGS = @CCASFLAGS@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CDPARANOIA_CFLAGS = @CDPARANOIA_CFLAGS@
|
||||
CDPARANOIA_LIBS = @CDPARANOIA_LIBS@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFAULT_AUDIOSINK = @DEFAULT_AUDIOSINK@
|
||||
DEFAULT_AUDIOSRC = @DEFAULT_AUDIOSRC@
|
||||
DEFAULT_VIDEOSINK = @DEFAULT_VIDEOSINK@
|
||||
DEFAULT_VIDEOSRC = @DEFAULT_VIDEOSRC@
|
||||
DEFAULT_VISUALIZER = @DEFAULT_VISUALIZER@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DEPRECATED_CFLAGS = @DEPRECATED_CFLAGS@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DRM_CFLAGS = @DRM_CFLAGS@
|
||||
DRM_LIBS = @DRM_LIBS@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGL_CFLAGS = @EGL_CFLAGS@
|
||||
EGL_LIBS = @EGL_LIBS@
|
||||
EGREP = @EGREP@
|
||||
ERROR_CFLAGS = @ERROR_CFLAGS@
|
||||
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
|
||||
ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
|
||||
EXEEXT = @EXEEXT@
|
||||
EXTRA_CFLAGS = @EXTRA_CFLAGS@
|
||||
FFLAGS = @FFLAGS@
|
||||
FGREP = @FGREP@
|
||||
GBM_CFLAGS = @GBM_CFLAGS@
|
||||
GBM_LIBS = @GBM_LIBS@
|
||||
GCOV = @GCOV@
|
||||
GCOV_CFLAGS = @GCOV_CFLAGS@
|
||||
GCOV_LIBS = @GCOV_LIBS@
|
||||
GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@
|
||||
GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@
|
||||
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
|
||||
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
|
||||
GIO_CFLAGS = @GIO_CFLAGS@
|
||||
GIO_LDFLAGS = @GIO_LDFLAGS@
|
||||
GIO_LIBS = @GIO_LIBS@
|
||||
GIO_UNIX_2_0_CFLAGS = @GIO_UNIX_2_0_CFLAGS@
|
||||
GIO_UNIX_2_0_LIBS = @GIO_UNIX_2_0_LIBS@
|
||||
GLES2_CFLAGS = @GLES2_CFLAGS@
|
||||
GLES2_LIBS = @GLES2_LIBS@
|
||||
GLIB_CFLAGS = @GLIB_CFLAGS@
|
||||
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
|
||||
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
|
||||
GLIB_LIBS = @GLIB_LIBS@
|
||||
GLIB_MKENUMS = @GLIB_MKENUMS@
|
||||
GLIB_PREFIX = @GLIB_PREFIX@
|
||||
GLIB_REQ = @GLIB_REQ@
|
||||
GL_APIS = @GL_APIS@
|
||||
GL_CFLAGS = @GL_CFLAGS@
|
||||
GL_LIBS = @GL_LIBS@
|
||||
GL_OBJCFLAGS = @GL_OBJCFLAGS@
|
||||
GL_PLATFORMS = @GL_PLATFORMS@
|
||||
GL_WINDOWS = @GL_WINDOWS@
|
||||
GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
|
||||
GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GMSGFMT_015 = @GMSGFMT_015@
|
||||
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
|
||||
GRAPHENE_LIBS = @GRAPHENE_LIBS@
|
||||
GREP = @GREP@
|
||||
GST_AGE = @GST_AGE@
|
||||
GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
|
||||
GST_API_VERSION = @GST_API_VERSION@
|
||||
GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
|
||||
GST_BASE_LIBS = @GST_BASE_LIBS@
|
||||
GST_CFLAGS = @GST_CFLAGS@
|
||||
GST_CHECK_CFLAGS = @GST_CHECK_CFLAGS@
|
||||
GST_CHECK_LIBS = @GST_CHECK_LIBS@
|
||||
GST_CONTROLLER_CFLAGS = @GST_CONTROLLER_CFLAGS@
|
||||
GST_CONTROLLER_LIBS = @GST_CONTROLLER_LIBS@
|
||||
GST_CURRENT = @GST_CURRENT@
|
||||
GST_CXXFLAGS = @GST_CXXFLAGS@
|
||||
GST_INSTALL_PLUGINS_HELPER = @GST_INSTALL_PLUGINS_HELPER@
|
||||
GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
|
||||
GST_LIBS = @GST_LIBS@
|
||||
GST_LIBVERSION = @GST_LIBVERSION@
|
||||
GST_LIB_LDFLAGS = @GST_LIB_LDFLAGS@
|
||||
GST_LICENSE = @GST_LICENSE@
|
||||
GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
|
||||
GST_NET_CFLAGS = @GST_NET_CFLAGS@
|
||||
GST_NET_LIBS = @GST_NET_LIBS@
|
||||
GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
|
||||
GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
|
||||
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
|
||||
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
|
||||
GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
|
||||
GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
|
||||
GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
|
||||
GST_PLUGINS_DIR = @GST_PLUGINS_DIR@
|
||||
GST_PLUGINS_NONPORTED = @GST_PLUGINS_NONPORTED@
|
||||
GST_PLUGINS_SELECTED = @GST_PLUGINS_SELECTED@
|
||||
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
|
||||
GST_PREFIX = @GST_PREFIX@
|
||||
GST_REVISION = @GST_REVISION@
|
||||
GST_TOOLS_DIR = @GST_TOOLS_DIR@
|
||||
GTKDOC_CHECK = @GTKDOC_CHECK@
|
||||
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
|
||||
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
|
||||
GTKDOC_MKPDF = @GTKDOC_MKPDF@
|
||||
GTKDOC_REBASE = @GTKDOC_REBASE@
|
||||
GTK_CFLAGS = @GTK_CFLAGS@
|
||||
GTK_LIBS = @GTK_LIBS@
|
||||
GTK_QUARTZ_CFLAGS = @GTK_QUARTZ_CFLAGS@
|
||||
GTK_QUARTZ_LIBS = @GTK_QUARTZ_LIBS@
|
||||
GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
|
||||
GTK_X11_LIBS = @GTK_X11_LIBS@
|
||||
G_UDEV_CFLAGS = @G_UDEV_CFLAGS@
|
||||
G_UDEV_LIBS = @G_UDEV_LIBS@
|
||||
HAVE_CDPARANOIA = @HAVE_CDPARANOIA@
|
||||
HAVE_EGL = @HAVE_EGL@
|
||||
HAVE_GL = @HAVE_GL@
|
||||
HAVE_GLES2 = @HAVE_GLES2@
|
||||
HAVE_GRAPHENE = @HAVE_GRAPHENE@
|
||||
HAVE_JPEG = @HAVE_JPEG@
|
||||
HAVE_PNG = @HAVE_PNG@
|
||||
HAVE_XSHM = @HAVE_XSHM@
|
||||
HAVE_ZLIB = @HAVE_ZLIB@
|
||||
HTML_DIR = @HTML_DIR@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
INTLLIBS = @INTLLIBS@
|
||||
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
|
||||
INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
|
||||
INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
|
||||
INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
|
||||
INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
|
||||
INTROSPECTION_INIT = @INTROSPECTION_INIT@
|
||||
INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
|
||||
INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
|
||||
INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
|
||||
INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
|
||||
IVORBIS_CFLAGS = @IVORBIS_CFLAGS@
|
||||
IVORBIS_LIBS = @IVORBIS_LIBS@
|
||||
JPEG_LIBS = @JPEG_LIBS@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBINTL = @LIBINTL@
|
||||
LIBM = @LIBM@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
|
||||
LIBPNG_LIBS = @LIBPNG_LIBS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIBVISUAL_CFLAGS = @LIBVISUAL_CFLAGS@
|
||||
LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LOCALEDIR = @LOCALEDIR@
|
||||
LTLIBICONV = @LTLIBICONV@
|
||||
LTLIBINTL = @LTLIBINTL@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
MSGFMT = @MSGFMT@
|
||||
MSGFMT_015 = @MSGFMT_015@
|
||||
MSGMERGE = @MSGMERGE@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJC = @OBJC@
|
||||
OBJCDEPMODE = @OBJCDEPMODE@
|
||||
OBJCFLAGS = @OBJCFLAGS@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OGG_CFLAGS = @OGG_CFLAGS@
|
||||
OGG_LIBS = @OGG_LIBS@
|
||||
OPUS_CFLAGS = @OPUS_CFLAGS@
|
||||
OPUS_LIBS = @OPUS_LIBS@
|
||||
ORCC = @ORCC@
|
||||
ORCC_FLAGS = @ORCC_FLAGS@
|
||||
ORC_CFLAGS = @ORC_CFLAGS@
|
||||
ORC_LIBS = @ORC_LIBS@
|
||||
ORC_PC = @ORC_PC@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@
|
||||
PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@
|
||||
PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@
|
||||
PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@
|
||||
PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@
|
||||
PANGO_CFLAGS = @PANGO_CFLAGS@
|
||||
PANGO_LIBS = @PANGO_LIBS@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PKG_CONFIG = @PKG_CONFIG@
|
||||
PLUGINDIR = @PLUGINDIR@
|
||||
POSUB = @POSUB@
|
||||
PROFILE_CFLAGS = @PROFILE_CFLAGS@
|
||||
PTHREAD_CC = @PTHREAD_CC@
|
||||
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
|
||||
PTHREAD_LIBS = @PTHREAD_LIBS@
|
||||
PYTHON = @PYTHON@
|
||||
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
|
||||
PYTHON_PLATFORM = @PYTHON_PLATFORM@
|
||||
PYTHON_PREFIX = @PYTHON_PREFIX@
|
||||
PYTHON_VERSION = @PYTHON_VERSION@
|
||||
QTCHOOSER = @QTCHOOSER@
|
||||
QT_CFLAGS = @QT_CFLAGS@
|
||||
QT_LIBS = @QT_LIBS@
|
||||
QT_MOC = @QT_MOC@
|
||||
RANLIB = @RANLIB@
|
||||
SDL_CFLAGS = @SDL_CFLAGS@
|
||||
SDL_LIBS = @SDL_LIBS@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
SSE2_CFLAGS = @SSE2_CFLAGS@
|
||||
SSE41_CFLAGS = @SSE41_CFLAGS@
|
||||
SSE_CFLAGS = @SSE_CFLAGS@
|
||||
STRIP = @STRIP@
|
||||
THEORA_CFLAGS = @THEORA_CFLAGS@
|
||||
THEORA_LIBS = @THEORA_LIBS@
|
||||
USE_GLES2 = @USE_GLES2@
|
||||
USE_NLS = @USE_NLS@
|
||||
USE_OPENGL = @USE_OPENGL@
|
||||
VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
|
||||
VALGRIND_LIBS = @VALGRIND_LIBS@
|
||||
VALGRIND_PATH = @VALGRIND_PATH@
|
||||
VERSION = @VERSION@
|
||||
VISIBILITY_CFLAGS = @VISIBILITY_CFLAGS@
|
||||
VISIBILITY_CXXFLAGS = @VISIBILITY_CXXFLAGS@
|
||||
VORBIS_CFLAGS = @VORBIS_CFLAGS@
|
||||
VORBIS_LIBS = @VORBIS_LIBS@
|
||||
WARNING_CFLAGS = @WARNING_CFLAGS@
|
||||
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
|
||||
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
|
||||
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
|
||||
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
|
||||
WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
|
||||
WAYLAND_SCANNER = @WAYLAND_SCANNER@
|
||||
WIN32_LIBS = @WIN32_LIBS@
|
||||
X11_XCB_CFLAGS = @X11_XCB_CFLAGS@
|
||||
X11_XCB_LIBS = @X11_XCB_LIBS@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
XGETTEXT_015 = @XGETTEXT_015@
|
||||
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
|
||||
XSHM_CFLAGS = @XSHM_CFLAGS@
|
||||
XSHM_LIBS = @XSHM_LIBS@
|
||||
XVIDEO_CFLAGS = @XVIDEO_CFLAGS@
|
||||
XVIDEO_LIBS = @XVIDEO_LIBS@
|
||||
X_CFLAGS = @X_CFLAGS@
|
||||
X_LIBS = @X_LIBS@
|
||||
ZLIB_CFLAGS = @ZLIB_CFLAGS@
|
||||
ZLIB_LIBS = @ZLIB_LIBS@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
ac_ct_OBJC = @ac_ct_OBJC@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
ax_pthread_config = @ax_pthread_config@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
pkgpyexecdir = @pkgpyexecdir@
|
||||
pkgpythondir = @pkgpythondir@
|
||||
plugindir = @plugindir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
pyexecdir = @pyexecdir@
|
||||
pythondir = @pythondir@
|
||||
runstatedir = @runstatedir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target = @target@
|
||||
target_alias = @target_alias@
|
||||
target_cpu = @target_cpu@
|
||||
target_os = @target_os@
|
||||
target_vendor = @target_vendor@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
@ENABLE_GTK_DOC_FALSE@PLUGIN_DOCS_DIRS = plugins
|
||||
@ENABLE_GTK_DOC_TRUE@@ENABLE_PLUGIN_DOCS_FALSE@PLUGIN_DOCS_DIRS =
|
||||
@ENABLE_GTK_DOC_TRUE@@ENABLE_PLUGIN_DOCS_TRUE@PLUGIN_DOCS_DIRS = plugins
|
||||
SUBDIRS = libs $(PLUGIN_DOCS_DIRS)
|
||||
DIST_SUBDIRS = libs plugins
|
||||
EXTRA_DIST = \
|
||||
version.entities.in
|
||||
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu docs/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
version.entities: $(top_builddir)/config.status $(srcdir)/version.entities.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run 'make' without going through this Makefile.
|
||||
# To change the values of 'make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in 'config.status', edit 'config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run 'make');
|
||||
# (2) otherwise, pass the desired values on the 'make' command line.
|
||||
$(am__recursive_targets):
|
||||
@fail=; \
|
||||
if $(am__make_keepgoing); then \
|
||||
failcom='fail=yes'; \
|
||||
else \
|
||||
failcom='exit 1'; \
|
||||
fi; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
case "$@" in \
|
||||
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||
*) list='$(SUBDIRS)' ;; \
|
||||
esac; \
|
||||
for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-recursive
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||
include_option=--etags-include; \
|
||||
empty_fix=.; \
|
||||
else \
|
||||
include_option=--include; \
|
||||
empty_fix=; \
|
||||
fi; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test ! -f $$subdir/TAGS || \
|
||||
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-recursive
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-recursive
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||
|
||||
distdir-am: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
$(am__make_dryrun) \
|
||||
|| test -d "$(distdir)/$$subdir" \
|
||||
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||
$(am__relativize); \
|
||||
new_distdir=$$reldir; \
|
||||
dir1=$$subdir; dir2="$(top_distdir)"; \
|
||||
$(am__relativize); \
|
||||
new_top_distdir=$$reldir; \
|
||||
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
||||
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
||||
($(am__cd) $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$$new_top_distdir" \
|
||||
distdir="$$new_distdir" \
|
||||
am__remove_distdir=: \
|
||||
am__skip_length_check=: \
|
||||
am__skip_mode_fix=: \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
all-am: Makefile
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
install: install-recursive
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
uninstall: uninstall-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-recursive
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-recursive
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-recursive
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-recursive
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-recursive
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-recursive
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: $(am__recursive_targets) install-am install-strip
|
||||
|
||||
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
|
||||
check-am clean clean-generic clean-libtool cscopelist-am ctags \
|
||||
ctags-am distclean distclean-generic distclean-libtool \
|
||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
installdirs-am maintainer-clean maintainer-clean-generic \
|
||||
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
|
||||
ps ps-am tags tags-am uninstall uninstall-am
|
||||
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
upload:
|
||||
@if test "x$(SUBDIRS)" != x; then for a in $(SUBDIRS); do cd $$a; make upload; cd ..; done; fi
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
|
@ -0,0 +1,126 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
# FIXME: fix the docs then remove this variable
|
||||
DOCS_ARE_INCOMPLETE_PLEASE_FIXME=yespleasedo
|
||||
|
||||
# The name of the module, e.g. 'glib'.
|
||||
#DOC_MODULE=gst-plugins-libs-@GST_API_VERSION@
|
||||
DOC_MODULE=gst-plugins-base-libs
|
||||
|
||||
# for upload-doc.mak
|
||||
DOC=gst-plugins-base-libs
|
||||
FORMATS=html
|
||||
html: html-build.stamp
|
||||
include $(top_srcdir)/common/upload-doc.mak
|
||||
|
||||
# The top-level SGML file. Change it if you want.
|
||||
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
|
||||
|
||||
# The directory containing the source code.
|
||||
# gtk-doc will search all .c & .h files beneath here for inline comments
|
||||
# documenting functions and macros.
|
||||
DOC_SOURCE_DIR=$(top_srcdir)/gst-libs/gst
|
||||
|
||||
# Extra options to supply to gtkdoc-scan.
|
||||
SCAN_OPTIONS=--deprecated-guards="GST_DISABLE_DEPRECATED" \
|
||||
--ignore-decorators="GST_API|GST_BASE_API|GST_CHECK_API|GST_CONTROLLER_API|GST_NET_API|GST_ALLOCATORS_API|GST_APP_API|GST_AUDIO_API|GST_FFT_API|GST_GL_API|GST_PBUTILS_API|GST_RIFF_API|GST_RTP_API|GST_RTSP_API|GST_SDP_API|GST_TAG_API|GST_VIDEO_API"
|
||||
|
||||
# Extra options to supply to gtkdoc-mkdb.
|
||||
MKDB_OPTIONS=--sgml-mode --output-format=xml
|
||||
|
||||
# Extra options to supply to gtkdoc-fixref.
|
||||
FIXXREF_OPTIONS=--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html \
|
||||
--extra-dir=$(GST_PREFIX)/share/gtk-doc/html
|
||||
|
||||
# Used for dependencies.
|
||||
HFILE_GLOB=$(top_srcdir)/gst-libs/gst/*/*.h
|
||||
CFILE_GLOB=$(top_srcdir)/gst-libs/gst/*/*.c
|
||||
|
||||
KISS_FFT_HFILES=$(wildcard $(top_srcdir)/gst-libs/gst/fft/*kiss_fft*.h)
|
||||
|
||||
# Header files to ignore when scanning.
|
||||
# Note that you can't use glob, so all headers to be ignored must be specified
|
||||
IGNORE_HFILES = \
|
||||
$(top_srcdir)/gst-libs/gst/gettext.h \
|
||||
$(top_srcdir)/gst-libs/gst/gst-i18n-app.h \
|
||||
$(top_srcdir)/gst-libs/gst/gst-i18n-plugin.h \
|
||||
$(top_srcdir)/gst-libs/gst/glib-compat-private.h \
|
||||
$(top_srcdir)/gst-libs/gst/audio/gstaudioutilsprivate.h \
|
||||
$(top_srcdir)/gst-libs/gst/audio/gstaudiopack.h \
|
||||
$(top_srcdir)/gst-libs/gst/audio/gstaudiopack-dist.h \
|
||||
$(top_srcdir)/gst-libs/gst/audio/audio-resampler-private.h \
|
||||
$(top_srcdir)/gst-libs/gst/audio/audio-resampler-macros.h \
|
||||
$(top_srcdir)/gst-libs/gst/audio/audio-resampler-x86.h \
|
||||
$(top_srcdir)/gst-libs/gst/audio/audio-resampler-x86-sse.h \
|
||||
$(top_srcdir)/gst-libs/gst/audio/audio-resampler-x86-sse2.h \
|
||||
$(top_srcdir)/gst-libs/gst/audio/audio-resampler-x86-sse41.h \
|
||||
$(top_srcdir)/gst-libs/gst/audio/audio-resampler-neon.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/gstglcontext_private.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/gstglfeature_private.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/gstglfuncs.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/gstglsl_private.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/gstglutil_private.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/gstglwindow_private.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/android/gstglwindow_android_egl.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/cocoa/gstglcontext_cocoa.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/eagl/gstglwindow_eagl.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/eagl/gstglcontext_eagl.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/egl/gstglcontext_egl.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/gbm/gstgl_gbm_utils.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/gbm/gstgldisplay_gbm.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/utils/opengl_versions.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/utils/gles_versions.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/viv-fb/gstgldisplay_viv_fb.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/wayland/wayland_event_source.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/win32/gstglcontext_wgl.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/win32/gstglwindow_win32.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/win32/win32_message_source.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/x11/gstglwindow_x11.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/x11/gstglcontext_glx.h \
|
||||
$(top_srcdir)/gst-libs/gst/gl/x11/xcb_event_source.h \
|
||||
$(KISS_FFT_HFILES) \
|
||||
$(top_srcdir)/gst-libs/gst/pbutils/pbutils-private.h \
|
||||
$(top_srcdir)/gst-libs/gst/tag/gsttageditingprivate.h \
|
||||
$(top_srcdir)/gst-libs/gst/tag/id3v2.h \
|
||||
$(top_srcdir)/gst-libs/gst/video/gstvideoutilsprivate.h \
|
||||
$(top_srcdir)/gst-libs/gst/video/video-orc.h \
|
||||
$(top_srcdir)/gst-libs/gst/video/video-orc-dist.h
|
||||
|
||||
|
||||
# Images to copy into HTML directory.
|
||||
HTML_IMAGES =
|
||||
|
||||
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
|
||||
content_files = compiling.sgml
|
||||
|
||||
# Other files to distribute.
|
||||
extra_files =
|
||||
|
||||
# CFLAGS and LDFLAGS for compiling scan program. Only needed if your app/lib
|
||||
# contains GtkObjects/GObjects and you want to document signals and properties.
|
||||
GTKDOC_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GL_CFLAGS)
|
||||
GTKDOC_LIBS = \
|
||||
$(top_builddir)/gst-libs/gst/allocators/libgstallocators-@GST_API_VERSION@.la \
|
||||
$(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_API_VERSION@.la \
|
||||
$(top_builddir)/gst-libs/gst/fft/libgstfft-@GST_API_VERSION@.la \
|
||||
$(top_builddir)/gst-libs/gst/rtp/libgstrtp-@GST_API_VERSION@.la \
|
||||
$(top_builddir)/gst-libs/gst/rtsp/libgstrtsp-@GST_API_VERSION@.la \
|
||||
$(top_builddir)/gst-libs/gst/sdp/libgstsdp-@GST_API_VERSION@.la \
|
||||
$(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_API_VERSION@.la \
|
||||
$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
|
||||
$(top_builddir)/gst-libs/gst/app/libgstapp-@GST_API_VERSION@.la \
|
||||
$(top_builddir)/gst-libs/gst/pbutils/libgstpbutils-@GST_API_VERSION@.la \
|
||||
$(top_builddir)/gst-libs/gst/riff/libgstriff-@GST_API_VERSION@.la \
|
||||
$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
|
||||
$(GST_BASE_LIBS)
|
||||
|
||||
# If you need to override some of the declarations, place them in this file
|
||||
DOC_OVERRIDES = $(DOC_MODULE)-overrides.txt
|
||||
|
||||
include $(top_srcdir)/common/gtk-doc.mak
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
|
||||
<!ENTITY % version-entities SYSTEM "version.entities">
|
||||
%version-entities;
|
||||
]>
|
||||
<refentry id="compiling" revision="17 Jan 2002">
|
||||
<refmeta>
|
||||
<refentrytitle>Compiling</refentrytitle>
|
||||
<manvolnum>3</manvolnum>
|
||||
<refmiscinfo>GStreamer-Base Library</refmiscinfo>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>Compiling against the base plugins libraries</refname>
|
||||
<refpurpose>
|
||||
How to compile against the base plugins libraries
|
||||
</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1>
|
||||
<title>Compiling against the base plugins libraries</title>
|
||||
|
||||
<para>
|
||||
To compile against these libraries, you need to tell the compiler where to
|
||||
find the header files and libraries. This is done with the
|
||||
<application>pkg-config</application> utility.
|
||||
</para>
|
||||
<para>
|
||||
The following interactive shell session demonstrates how
|
||||
<application>pkg-config</application> is used:
|
||||
<programlisting>
|
||||
$ pkg-config --cflags gstreamer-plugins-base-&GST_API_VERSION;
|
||||
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pthread -I/usr/include/gstreamer-&GST_API_VERSION; -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2
|
||||
$ pkg-config --libs gstreamer-plugins-base-&GST_API_VERSION;
|
||||
-Wl,--export-dynamic -pthread -lgstreamer-&GST_API_VERSION; -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lxml2 -lpthread -lz -lm -lglib-2.0
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Note that, because of the number of libraries provided in this package,
|
||||
the pkg-config information <emphasis>does not add -l flags</emphasis> itself
|
||||
to choose the libraries to link to. You must add these yourself to select
|
||||
which of the libraries you want to use.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue