|
@ -1,44 +0,0 @@
|
||||||
*.o
|
|
||||||
*.swp
|
|
||||||
*.swo
|
|
||||||
*~
|
|
||||||
*.lo
|
|
||||||
*.la
|
|
||||||
.deps
|
|
||||||
.libs
|
|
||||||
ABOUT-NLS
|
|
||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
aclocal.m4
|
|
||||||
autom4te.cache/
|
|
||||||
compile
|
|
||||||
config.cache
|
|
||||||
config.cache-env
|
|
||||||
config.guess
|
|
||||||
config.h
|
|
||||||
config.h.in
|
|
||||||
config.log
|
|
||||||
config.status
|
|
||||||
config.sub
|
|
||||||
configure
|
|
||||||
depcomp
|
|
||||||
doc/Doxyfile
|
|
||||||
doc/Makefile
|
|
||||||
doc/Makefile.in
|
|
||||||
doc/eio.dox
|
|
||||||
eio.pc
|
|
||||||
eio.spec
|
|
||||||
install-sh
|
|
||||||
libtool
|
|
||||||
ltmain.sh
|
|
||||||
m4/libtool.m4
|
|
||||||
m4/ltoptions.m4
|
|
||||||
m4/ltsugar.m4
|
|
||||||
m4/ltversion.m4
|
|
||||||
m4/lt~obsolete.m4
|
|
||||||
missing
|
|
||||||
src/Makefile
|
|
||||||
src/Makefile.in
|
|
||||||
src/lib/Makefile
|
|
||||||
src/lib/Makefile.in
|
|
||||||
stamp-h1
|
|
|
@ -1,8 +0,0 @@
|
||||||
Cedric Bail <cedric.bail@free.fr>
|
|
||||||
Stephen Houston <UnixTitan@gmail.com>
|
|
||||||
Gustavo Sverzut Barbieri <barbieri@gmail.com>
|
|
||||||
Vincent "caro" Torri <vtorri at univ-evry dot fr>
|
|
||||||
Mikael SANS <sans.mikael@gmail.com>
|
|
||||||
Mike Blumenkrantz (zmike/discomfitor) <michael.blumenkrantz@gmail.com>
|
|
||||||
Jérôme Pinot <ngc891@gmail.com>
|
|
||||||
Daniel Willmann <d.willmann@samsung.com>
|
|
|
@ -1,537 +0,0 @@
|
||||||
Copyright notice for EIO:
|
|
||||||
|
|
||||||
Copyright (C) 2010-2011 Cedric Bail and various contributors (see AUTHORS)
|
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU Lesser General Public License as published by the
|
|
||||||
Free Software Foundation; version 2.1 of the License.
|
|
||||||
|
|
||||||
This library is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
||||||
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
details.
|
|
||||||
|
|
||||||
Below is a copy of the GNU Lesser General Public License that is distributed
|
|
||||||
along with this library. If you do not have a copy below, write to the Free
|
|
||||||
Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
||||||
02110-1301 USA
|
|
||||||
|
|
||||||
GNU LESSER GENERAL PUBLIC LICENSE
|
|
||||||
Version 2.1, February 1999
|
|
||||||
|
|
||||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
|
||||||
of this license document, but changing it is not allowed.
|
|
||||||
|
|
||||||
[This is the first released version of the Lesser GPL. It also counts
|
|
||||||
as the successor of the GNU Library Public License, version 2, hence
|
|
||||||
the version number 2.1.]
|
|
||||||
|
|
||||||
Preamble
|
|
||||||
|
|
||||||
The licenses for most software are designed to take away your
|
|
||||||
freedom to share and change it. By contrast, the GNU General Public
|
|
||||||
Licenses are intended to guarantee your freedom to share and change
|
|
||||||
free software--to make sure the software is free for all its users.
|
|
||||||
|
|
||||||
This license, the Lesser General Public License, applies to some
|
|
||||||
specially designated software packages--typically libraries--of the
|
|
||||||
Free Software Foundation and other authors who decide to use it. You
|
|
||||||
can use it too, but we suggest you first think carefully about whether
|
|
||||||
this license or the ordinary General Public License is the better
|
|
||||||
strategy to use in any particular case, based on the explanations below.
|
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom of use,
|
|
||||||
not price. Our General Public Licenses are designed to make sure that
|
|
||||||
you have the freedom to distribute copies of free software (and charge
|
|
||||||
for this service if you wish); that you receive source code or can get
|
|
||||||
it if you want it; that you can change the software and use pieces of
|
|
||||||
it in new free programs; and that you are informed that you can do
|
|
||||||
these things.
|
|
||||||
|
|
||||||
To protect your rights, we need to make restrictions that forbid
|
|
||||||
distributors to deny you these rights or to ask you to surrender these
|
|
||||||
rights. These restrictions translate to certain responsibilities for
|
|
||||||
you if you distribute copies of the library or if you modify it.
|
|
||||||
|
|
||||||
For example, if you distribute copies of the library, whether gratis
|
|
||||||
or for a fee, you must give the recipients all the rights that we gave
|
|
||||||
you. You must make sure that they, too, receive or can get the source
|
|
||||||
code. If you link other code with the library, you must provide
|
|
||||||
complete object files to the recipients, so that they can relink them
|
|
||||||
with the library after making changes to the library and recompiling
|
|
||||||
it. And you must show them these terms so they know their rights.
|
|
||||||
|
|
||||||
We protect your rights with a two-step method: (1) we copyright the
|
|
||||||
library, and (2) we offer you this license, which gives you legal
|
|
||||||
permission to copy, distribute and/or modify the library.
|
|
||||||
|
|
||||||
To protect each distributor, we want to make it very clear that
|
|
||||||
there is no warranty for the free library. Also, if the library is
|
|
||||||
modified by someone else and passed on, the recipients should know
|
|
||||||
that what they have is not the original version, so that the original
|
|
||||||
author's reputation will not be affected by problems that might be
|
|
||||||
introduced by others.
|
|
||||||
|
|
||||||
Finally, software patents pose a constant threat to the existence of
|
|
||||||
any free program. We wish to make sure that a company cannot
|
|
||||||
effectively restrict the users of a free program by obtaining a
|
|
||||||
restrictive license from a patent holder. Therefore, we insist that
|
|
||||||
any patent license obtained for a version of the library must be
|
|
||||||
consistent with the full freedom of use specified in this license.
|
|
||||||
|
|
||||||
Most GNU software, including some libraries, is covered by the
|
|
||||||
ordinary GNU General Public License. This license, the GNU Lesser
|
|
||||||
General Public License, applies to certain designated libraries, and
|
|
||||||
is quite different from the ordinary General Public License. We use
|
|
||||||
this license for certain libraries in order to permit linking those
|
|
||||||
libraries into non-free programs.
|
|
||||||
|
|
||||||
When a program is linked with a library, whether statically or using
|
|
||||||
a shared library, the combination of the two is legally speaking a
|
|
||||||
combined work, a derivative of the original library. The ordinary
|
|
||||||
General Public License therefore permits such linking only if the
|
|
||||||
entire combination fits its criteria of freedom. The Lesser General
|
|
||||||
Public License permits more lax criteria for linking other code with
|
|
||||||
the library.
|
|
||||||
|
|
||||||
We call this license the "Lesser" General Public License because it
|
|
||||||
does Less to protect the user's freedom than the ordinary General
|
|
||||||
Public License. It also provides other free software developers Less
|
|
||||||
of an advantage over competing non-free programs. These disadvantages
|
|
||||||
are the reason we use the ordinary General Public License for many
|
|
||||||
libraries. However, the Lesser license provides advantages in certain
|
|
||||||
special circumstances.
|
|
||||||
|
|
||||||
For example, on rare occasions, there may be a special need to
|
|
||||||
encourage the widest possible use of a certain library, so that it becomes
|
|
||||||
a de-facto standard. To achieve this, non-free programs must be
|
|
||||||
allowed to use the library. A more frequent case is that a free
|
|
||||||
library does the same job as widely used non-free libraries. In this
|
|
||||||
case, there is little to gain by limiting the free library to free
|
|
||||||
software only, so we use the Lesser General Public License.
|
|
||||||
|
|
||||||
In other cases, permission to use a particular library in non-free
|
|
||||||
programs enables a greater number of people to use a large body of
|
|
||||||
free software. For example, permission to use the GNU C Library in
|
|
||||||
non-free programs enables many more people to use the whole GNU
|
|
||||||
operating system, as well as its variant, the GNU/Linux operating
|
|
||||||
system.
|
|
||||||
|
|
||||||
Although the Lesser General Public License is Less protective of the
|
|
||||||
users' freedom, it does ensure that the user of a program that is
|
|
||||||
linked with the Library has the freedom and the wherewithal to run
|
|
||||||
that program using a modified version of the Library.
|
|
||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
|
||||||
modification follow. Pay close attention to the difference between a
|
|
||||||
"work based on the library" and a "work that uses the library". The
|
|
||||||
former contains code derived from the library, whereas the latter must
|
|
||||||
be combined with the library in order to run.
|
|
||||||
|
|
||||||
GNU LESSER GENERAL PUBLIC LICENSE
|
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
||||||
|
|
||||||
0. This License Agreement applies to any software library or other
|
|
||||||
program which contains a notice placed by the copyright holder or
|
|
||||||
other authorized party saying it may be distributed under the terms of
|
|
||||||
this Lesser General Public License (also called "this License").
|
|
||||||
Each licensee is addressed as "you".
|
|
||||||
|
|
||||||
A "library" means a collection of software functions and/or data
|
|
||||||
prepared so as to be conveniently linked with application programs
|
|
||||||
(which use some of those functions and data) to form executables.
|
|
||||||
|
|
||||||
The "Library", below, refers to any such software library or work
|
|
||||||
which has been distributed under these terms. A "work based on the
|
|
||||||
Library" means either the Library or any derivative work under
|
|
||||||
copyright law: that is to say, a work containing the Library or a
|
|
||||||
portion of it, either verbatim or with modifications and/or translated
|
|
||||||
straightforwardly into another language. (Hereinafter, translation is
|
|
||||||
included without limitation in the term "modification".)
|
|
||||||
|
|
||||||
"Source code" for a work means the preferred form of the work for
|
|
||||||
making modifications to it. For a library, complete source code means
|
|
||||||
all the source code for all modules it contains, plus any associated
|
|
||||||
interface definition files, plus the scripts used to control compilation
|
|
||||||
and installation of the library.
|
|
||||||
|
|
||||||
Activities other than copying, distribution and modification are not
|
|
||||||
covered by this License; they are outside its scope. The act of
|
|
||||||
running a program using the Library is not restricted, and output from
|
|
||||||
such a program is covered only if its contents constitute a work based
|
|
||||||
on the Library (independent of the use of the Library in a tool for
|
|
||||||
writing it). Whether that is true depends on what the Library does
|
|
||||||
and what the program that uses the Library does.
|
|
||||||
|
|
||||||
1. You may copy and distribute verbatim copies of the Library's
|
|
||||||
complete source code as you receive it, in any medium, provided that
|
|
||||||
you conspicuously and appropriately publish on each copy an
|
|
||||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
|
||||||
all the notices that refer to this License and to the absence of any
|
|
||||||
warranty; and distribute a copy of this License along with the
|
|
||||||
Library.
|
|
||||||
|
|
||||||
You may charge a fee for the physical act of transferring a copy,
|
|
||||||
and you may at your option offer warranty protection in exchange for a
|
|
||||||
fee.
|
|
||||||
|
|
||||||
2. You may modify your copy or copies of the Library or any portion
|
|
||||||
of it, thus forming a work based on the Library, and copy and
|
|
||||||
distribute such modifications or work under the terms of Section 1
|
|
||||||
above, provided that you also meet all of these conditions:
|
|
||||||
|
|
||||||
a) The modified work must itself be a software library.
|
|
||||||
|
|
||||||
b) You must cause the files modified to carry prominent notices
|
|
||||||
stating that you changed the files and the date of any change.
|
|
||||||
|
|
||||||
c) You must cause the whole of the work to be licensed at no
|
|
||||||
charge to all third parties under the terms of this License.
|
|
||||||
|
|
||||||
d) If a facility in the modified Library refers to a function or a
|
|
||||||
table of data to be supplied by an application program that uses
|
|
||||||
the facility, other than as an argument passed when the facility
|
|
||||||
is invoked, then you must make a good faith effort to ensure that,
|
|
||||||
in the event an application does not supply such function or
|
|
||||||
table, the facility still operates, and performs whatever part of
|
|
||||||
its purpose remains meaningful.
|
|
||||||
|
|
||||||
(For example, a function in a library to compute square roots has
|
|
||||||
a purpose that is entirely well-defined independent of the
|
|
||||||
application. Therefore, Subsection 2d requires that any
|
|
||||||
application-supplied function or table used by this function must
|
|
||||||
be optional: if the application does not supply it, the square
|
|
||||||
root function must still compute square roots.)
|
|
||||||
|
|
||||||
These requirements apply to the modified work as a whole. If
|
|
||||||
identifiable sections of that work are not derived from the Library,
|
|
||||||
and can be reasonably considered independent and separate works in
|
|
||||||
themselves, then this License, and its terms, do not apply to those
|
|
||||||
sections when you distribute them as separate works. But when you
|
|
||||||
distribute the same sections as part of a whole which is a work based
|
|
||||||
on the Library, the distribution of the whole must be on the terms of
|
|
||||||
this License, whose permissions for other licensees extend to the
|
|
||||||
entire whole, and thus to each and every part regardless of who wrote
|
|
||||||
it.
|
|
||||||
|
|
||||||
Thus, it is not the intent of this section to claim rights or contest
|
|
||||||
your rights to work written entirely by you; rather, the intent is to
|
|
||||||
exercise the right to control the distribution of derivative or
|
|
||||||
collective works based on the Library.
|
|
||||||
|
|
||||||
In addition, mere aggregation of another work not based on the Library
|
|
||||||
with the Library (or with a work based on the Library) on a volume of
|
|
||||||
a storage or distribution medium does not bring the other work under
|
|
||||||
the scope of this License.
|
|
||||||
|
|
||||||
Linking this library statically or dynamically with other modules is
|
|
||||||
making a combined work based on this library. Thus, the terms and
|
|
||||||
conditions of the GNU General Public License cover the whole combination.
|
|
||||||
|
|
||||||
As a special exception, the copyright holders of this library give you
|
|
||||||
permission to link this library with independent modules to produce an
|
|
||||||
executable, regardless of the license terms of these independent modules,
|
|
||||||
and to copy and distribute the resulting executable under terms of your
|
|
||||||
choice, provided that you also meet, for each linked independent module,
|
|
||||||
the terms and conditions of the license of that module. An independent
|
|
||||||
module is a module which is not derived from or based on this library.
|
|
||||||
If you modify this library, you may extend this exception to your version
|
|
||||||
of the library, but you are not obliged to do so. If you do not wish to
|
|
||||||
do so, delete this exception statement from your version.
|
|
||||||
|
|
||||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
|
||||||
License instead of this License to a given copy of the Library. To do
|
|
||||||
this, you must alter all the notices that refer to this License, so
|
|
||||||
that they refer to the ordinary GNU General Public License, version 2,
|
|
||||||
instead of to this License. (If a newer version than version 2 of the
|
|
||||||
ordinary GNU General Public License has appeared, then you can specify
|
|
||||||
that version instead if you wish.) Do not make any other change in
|
|
||||||
these notices.
|
|
||||||
|
|
||||||
Once this change is made in a given copy, it is irreversible for
|
|
||||||
that copy, so the ordinary GNU General Public License applies to all
|
|
||||||
subsequent copies and derivative works made from that copy.
|
|
||||||
|
|
||||||
This option is useful when you wish to copy part of the code of
|
|
||||||
the Library into a program that is not a library.
|
|
||||||
|
|
||||||
4. You may copy and distribute the Library (or a portion or
|
|
||||||
derivative of it, under Section 2) in object code or executable form
|
|
||||||
under the terms of Sections 1 and 2 above provided that you accompany
|
|
||||||
it with the complete corresponding machine-readable source code, which
|
|
||||||
must be distributed under the terms of Sections 1 and 2 above on a
|
|
||||||
medium customarily used for software interchange.
|
|
||||||
|
|
||||||
If distribution of object code is made by offering access to copy
|
|
||||||
from a designated place, then offering equivalent access to copy the
|
|
||||||
source code from the same place satisfies the requirement to
|
|
||||||
distribute the source code, even though third parties are not
|
|
||||||
compelled to copy the source along with the object code.
|
|
||||||
|
|
||||||
5. A program that contains no derivative of any portion of the
|
|
||||||
Library, but is designed to work with the Library by being compiled or
|
|
||||||
linked with it, is called a "work that uses the Library". Such a
|
|
||||||
work, in isolation, is not a derivative work of the Library, and
|
|
||||||
therefore falls outside the scope of this License.
|
|
||||||
|
|
||||||
However, linking a "work that uses the Library" with the Library
|
|
||||||
creates an executable that is a derivative of the Library (because it
|
|
||||||
contains portions of the Library), rather than a "work that uses the
|
|
||||||
library". The executable is therefore covered by this License.
|
|
||||||
Section 6 states terms for distribution of such executables.
|
|
||||||
|
|
||||||
When a "work that uses the Library" uses material from a header file
|
|
||||||
that is part of the Library, the object code for the work may be a
|
|
||||||
derivative work of the Library even though the source code is not.
|
|
||||||
Whether this is true is especially significant if the work can be
|
|
||||||
linked without the Library, or if the work is itself a library. The
|
|
||||||
threshold for this to be true is not precisely defined by law.
|
|
||||||
|
|
||||||
If such an object file uses only numerical parameters, data
|
|
||||||
structure layouts and accessors, and small macros and small inline
|
|
||||||
functions (ten lines or less in length), then the use of the object
|
|
||||||
file is unrestricted, regardless of whether it is legally a derivative
|
|
||||||
work. (Executables containing this object code plus portions of the
|
|
||||||
Library will still fall under Section 6.)
|
|
||||||
|
|
||||||
Otherwise, if the work is a derivative of the Library, you may
|
|
||||||
distribute the object code for the work under the terms of Section 6.
|
|
||||||
Any executables containing that work also fall under Section 6,
|
|
||||||
whether or not they are linked directly with the Library itself.
|
|
||||||
|
|
||||||
6. As an exception to the Sections above, you may also combine or
|
|
||||||
link a "work that uses the Library" with the Library to produce a
|
|
||||||
work containing portions of the Library, and distribute that work
|
|
||||||
under terms of your choice, provided that the terms permit
|
|
||||||
modification of the work for the customer's own use and reverse
|
|
||||||
engineering for debugging such modifications.
|
|
||||||
|
|
||||||
You must give prominent notice with each copy of the work that the
|
|
||||||
Library is used in it and that the Library and its use are covered by
|
|
||||||
this License. You must supply a copy of this License. If the work
|
|
||||||
during execution displays copyright notices, you must include the
|
|
||||||
copyright notice for the Library among them, as well as a reference
|
|
||||||
directing the user to the copy of this License. Also, you must do one
|
|
||||||
of these things:
|
|
||||||
|
|
||||||
a) Accompany the work with the complete corresponding
|
|
||||||
machine-readable source code for the Library including whatever
|
|
||||||
changes were used in the work (which must be distributed under
|
|
||||||
Sections 1 and 2 above); and, if the work is an executable linked
|
|
||||||
with the Library, with the complete machine-readable "work that
|
|
||||||
uses the Library", as object code and/or source code, so that the
|
|
||||||
user can modify the Library and then relink to produce a modified
|
|
||||||
executable containing the modified Library. (It is understood
|
|
||||||
that the user who changes the contents of definitions files in the
|
|
||||||
Library will not necessarily be able to recompile the application
|
|
||||||
to use the modified definitions.)
|
|
||||||
|
|
||||||
b) Use a suitable shared library mechanism for linking with the
|
|
||||||
Library. A suitable mechanism is one that (1) uses at run time a
|
|
||||||
copy of the library already present on the user's computer system,
|
|
||||||
rather than copying library functions into the executable, and (2)
|
|
||||||
will operate properly with a modified version of the library, if
|
|
||||||
the user installs one, as long as the modified version is
|
|
||||||
interface-compatible with the version that the work was made with.
|
|
||||||
|
|
||||||
c) Accompany the work with a written offer, valid for at
|
|
||||||
least three years, to give the same user the materials
|
|
||||||
specified in Subsection 6a, above, for a charge no more
|
|
||||||
than the cost of performing this distribution.
|
|
||||||
|
|
||||||
d) If distribution of the work is made by offering access to copy
|
|
||||||
from a designated place, offer equivalent access to copy the above
|
|
||||||
specified materials from the same place.
|
|
||||||
|
|
||||||
e) Verify that the user has already received a copy of these
|
|
||||||
materials or that you have already sent this user a copy.
|
|
||||||
|
|
||||||
For an executable, the required form of the "work that uses the
|
|
||||||
Library" must include any data and utility programs needed for
|
|
||||||
reproducing the executable from it. However, as a special exception,
|
|
||||||
the materials to be distributed need not include anything that is
|
|
||||||
normally distributed (in either source or binary form) with the major
|
|
||||||
components (compiler, kernel, and so on) of the operating system on
|
|
||||||
which the executable runs, unless that component itself accompanies
|
|
||||||
the executable.
|
|
||||||
|
|
||||||
It may happen that this requirement contradicts the license
|
|
||||||
restrictions of other proprietary libraries that do not normally
|
|
||||||
accompany the operating system. Such a contradiction means you cannot
|
|
||||||
use both them and the Library together in an executable that you
|
|
||||||
distribute.
|
|
||||||
|
|
||||||
7. You may place library facilities that are a work based on the
|
|
||||||
Library side-by-side in a single library together with other library
|
|
||||||
facilities not covered by this License, and distribute such a combined
|
|
||||||
library, provided that the separate distribution of the work based on
|
|
||||||
the Library and of the other library facilities is otherwise
|
|
||||||
permitted, and provided that you do these two things:
|
|
||||||
|
|
||||||
a) Accompany the combined library with a copy of the same work
|
|
||||||
based on the Library, uncombined with any other library
|
|
||||||
facilities. This must be distributed under the terms of the
|
|
||||||
Sections above.
|
|
||||||
|
|
||||||
b) Give prominent notice with the combined library of the fact
|
|
||||||
that part of it is a work based on the Library, and explaining
|
|
||||||
where to find the accompanying uncombined form of the same work.
|
|
||||||
|
|
||||||
8. You may not copy, modify, sublicense, link with, or distribute
|
|
||||||
the Library except as expressly provided under this License. Any
|
|
||||||
attempt otherwise to copy, modify, sublicense, link with, or
|
|
||||||
distribute the Library is void, and will automatically terminate your
|
|
||||||
rights under this License. However, parties who have received copies,
|
|
||||||
or rights, from you under this License will not have their licenses
|
|
||||||
terminated so long as such parties remain in full compliance.
|
|
||||||
|
|
||||||
9. You are not required to accept this License, since you have not
|
|
||||||
signed it. However, nothing else grants you permission to modify or
|
|
||||||
distribute the Library or its derivative works. These actions are
|
|
||||||
prohibited by law if you do not accept this License. Therefore, by
|
|
||||||
modifying or distributing the Library (or any work based on the
|
|
||||||
Library), you indicate your acceptance of this License to do so, and
|
|
||||||
all its terms and conditions for copying, distributing or modifying
|
|
||||||
the Library or works based on it.
|
|
||||||
|
|
||||||
10. Each time you redistribute the Library (or any work based on the
|
|
||||||
Library), the recipient automatically receives a license from the
|
|
||||||
original licensor to copy, distribute, link with or modify the Library
|
|
||||||
subject to these terms and conditions. You may not impose any further
|
|
||||||
restrictions on the recipients' exercise of the rights granted herein.
|
|
||||||
You are not responsible for enforcing compliance by third parties with
|
|
||||||
this License.
|
|
||||||
|
|
||||||
11. If, as a consequence of a court judgment or allegation of patent
|
|
||||||
infringement or for any other reason (not limited to patent issues),
|
|
||||||
conditions are imposed on you (whether by court order, agreement or
|
|
||||||
otherwise) that contradict the conditions of this License, they do not
|
|
||||||
excuse you from the conditions of this License. If you cannot
|
|
||||||
distribute so as to satisfy simultaneously your obligations under this
|
|
||||||
License and any other pertinent obligations, then as a consequence you
|
|
||||||
may not distribute the Library at all. For example, if a patent
|
|
||||||
license would not permit royalty-free redistribution of the Library by
|
|
||||||
all those who receive copies directly or indirectly through you, then
|
|
||||||
the only way you could satisfy both it and this License would be to
|
|
||||||
refrain entirely from distribution of the Library.
|
|
||||||
|
|
||||||
If any portion of this section is held invalid or unenforceable under any
|
|
||||||
particular circumstance, the balance of the section is intended to apply,
|
|
||||||
and the section as a whole is intended to apply in other circumstances.
|
|
||||||
|
|
||||||
It is not the purpose of this section to induce you to infringe any
|
|
||||||
patents or other property right claims or to contest validity of any
|
|
||||||
such claims; this section has the sole purpose of protecting the
|
|
||||||
integrity of the free software distribution system which is
|
|
||||||
implemented by public license practices. Many people have made
|
|
||||||
generous contributions to the wide range of software distributed
|
|
||||||
through that system in reliance on consistent application of that
|
|
||||||
system; it is up to the author/donor to decide if he or she is willing
|
|
||||||
to distribute software through any other system and a licensee cannot
|
|
||||||
impose that choice.
|
|
||||||
|
|
||||||
This section is intended to make thoroughly clear what is believed to
|
|
||||||
be a consequence of the rest of this License.
|
|
||||||
|
|
||||||
12. If the distribution and/or use of the Library is restricted in
|
|
||||||
certain countries either by patents or by copyrighted interfaces, the
|
|
||||||
original copyright holder who places the Library under this License may add
|
|
||||||
an explicit geographical distribution limitation excluding those countries,
|
|
||||||
so that distribution is permitted only in or among countries not thus
|
|
||||||
excluded. In such case, this License incorporates the limitation as if
|
|
||||||
written in the body of this License.
|
|
||||||
|
|
||||||
13. The Free Software Foundation may publish revised and/or new
|
|
||||||
versions of the Lesser General Public License from time to time.
|
|
||||||
Such new versions will be similar in spirit to the present version,
|
|
||||||
but may differ in detail to address new problems or concerns.
|
|
||||||
|
|
||||||
Each version is given a distinguishing version number. If the Library
|
|
||||||
specifies a version number of this License which applies to it and
|
|
||||||
"any later version", you have the option of following the terms and
|
|
||||||
conditions either of that version or of any later version published by
|
|
||||||
the Free Software Foundation. If the Library does not specify a
|
|
||||||
license version number, you may choose any version ever published by
|
|
||||||
the Free Software Foundation.
|
|
||||||
|
|
||||||
14. If you wish to incorporate parts of the Library into other free
|
|
||||||
programs whose distribution conditions are incompatible with these,
|
|
||||||
write to the author to ask for permission. For software which is
|
|
||||||
copyrighted by the Free Software Foundation, write to the Free
|
|
||||||
Software Foundation; we sometimes make exceptions for this. Our
|
|
||||||
decision will be guided by the two goals of preserving the free status
|
|
||||||
of all derivatives of our free software and of promoting the sharing
|
|
||||||
and reuse of software generally.
|
|
||||||
|
|
||||||
NO WARRANTY
|
|
||||||
|
|
||||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
|
||||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
|
||||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
|
||||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
|
||||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
|
||||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
|
||||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
|
||||||
|
|
||||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
|
||||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
|
||||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
|
||||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
|
||||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
|
||||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
|
||||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
|
||||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
|
||||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
|
||||||
DAMAGES.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
How to Apply These Terms to Your New Libraries
|
|
||||||
|
|
||||||
If you develop a new library, and you want it to be of the greatest
|
|
||||||
possible use to the public, we recommend making it free software that
|
|
||||||
everyone can redistribute and change. You can do so by permitting
|
|
||||||
redistribution under these terms (or, alternatively, under the terms of the
|
|
||||||
ordinary General Public License).
|
|
||||||
|
|
||||||
To apply these terms, attach the following notices to the library. It is
|
|
||||||
safest to attach them to the start of each source file to most effectively
|
|
||||||
convey the exclusion of warranty; and each file should have at least the
|
|
||||||
"copyright" line and a pointer to where the full notice is found.
|
|
||||||
|
|
||||||
<one line to give the library's name and a brief idea of what it does.>
|
|
||||||
Copyright (C) <year> <name of author>
|
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Lesser General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2.1 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
This library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Lesser General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public
|
|
||||||
License along with this library; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 51 Franklin Street, 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!
|
|
||||||
|
|
||||||
|
|
|
@ -1,365 +0,0 @@
|
||||||
Installation Instructions
|
|
||||||
*************************
|
|
||||||
|
|
||||||
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
|
|
||||||
2006, 2007, 2008, 2009 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
Copying and distribution of this file, with or without modification,
|
|
||||||
are permitted in any medium without royalty provided the copyright
|
|
||||||
notice and this notice are preserved. This file is offered as-is,
|
|
||||||
without warranty of any kind.
|
|
||||||
|
|
||||||
Basic Installation
|
|
||||||
==================
|
|
||||||
|
|
||||||
Briefly, the shell commands `./configure; make; make install' should
|
|
||||||
configure, build, and install this package. The following
|
|
||||||
more-detailed instructions are generic; see the `README' file for
|
|
||||||
instructions specific to this package. Some packages provide this
|
|
||||||
`INSTALL' file but do not implement all of the features documented
|
|
||||||
below. The lack of an optional feature in a given package is not
|
|
||||||
necessarily a bug. More recommendations for GNU packages can be found
|
|
||||||
in *note Makefile Conventions: (standards)Makefile Conventions.
|
|
||||||
|
|
||||||
The `configure' shell script attempts to guess correct values for
|
|
||||||
various system-dependent variables used during compilation. It uses
|
|
||||||
those values to create a `Makefile' in each directory of the package.
|
|
||||||
It may also create one or more `.h' files containing system-dependent
|
|
||||||
definitions. Finally, it creates a shell script `config.status' that
|
|
||||||
you can run in the future to recreate the current configuration, and a
|
|
||||||
file `config.log' containing compiler output (useful mainly for
|
|
||||||
debugging `configure').
|
|
||||||
|
|
||||||
It can also use an optional file (typically called `config.cache'
|
|
||||||
and enabled with `--cache-file=config.cache' or simply `-C') that saves
|
|
||||||
the results of its tests to speed up reconfiguring. Caching is
|
|
||||||
disabled by default to prevent problems with accidental use of stale
|
|
||||||
cache files.
|
|
||||||
|
|
||||||
If you need to do unusual things to compile the package, please try
|
|
||||||
to figure out how `configure' could check whether to do them, and mail
|
|
||||||
diffs or instructions to the address given in the `README' so they can
|
|
||||||
be considered for the next release. If you are using the cache, and at
|
|
||||||
some point `config.cache' contains results you don't want to keep, you
|
|
||||||
may remove or edit it.
|
|
||||||
|
|
||||||
The file `configure.ac' (or `configure.in') is used to create
|
|
||||||
`configure' by a program called `autoconf'. You need `configure.ac' if
|
|
||||||
you want to change it or regenerate `configure' using a newer version
|
|
||||||
of `autoconf'.
|
|
||||||
|
|
||||||
The simplest way to compile this package is:
|
|
||||||
|
|
||||||
1. `cd' to the directory containing the package's source code and type
|
|
||||||
`./configure' to configure the package for your system.
|
|
||||||
|
|
||||||
Running `configure' might take a while. While running, it prints
|
|
||||||
some messages telling which features it is checking for.
|
|
||||||
|
|
||||||
2. Type `make' to compile the package.
|
|
||||||
|
|
||||||
3. Optionally, type `make check' to run any self-tests that come with
|
|
||||||
the package, generally using the just-built uninstalled binaries.
|
|
||||||
|
|
||||||
4. Type `make install' to install the programs and any data files and
|
|
||||||
documentation. When installing into a prefix owned by root, it is
|
|
||||||
recommended that the package be configured and built as a regular
|
|
||||||
user, and only the `make install' phase executed with root
|
|
||||||
privileges.
|
|
||||||
|
|
||||||
5. Optionally, type `make installcheck' to repeat any self-tests, but
|
|
||||||
this time using the binaries in their final installed location.
|
|
||||||
This target does not install anything. Running this target as a
|
|
||||||
regular user, particularly if the prior `make install' required
|
|
||||||
root privileges, verifies that the installation completed
|
|
||||||
correctly.
|
|
||||||
|
|
||||||
6. You can remove the program binaries and object files from the
|
|
||||||
source code directory by typing `make clean'. To also remove the
|
|
||||||
files that `configure' created (so you can compile the package for
|
|
||||||
a different kind of computer), type `make distclean'. There is
|
|
||||||
also a `make maintainer-clean' target, but that is intended mainly
|
|
||||||
for the package's developers. If you use it, you may have to get
|
|
||||||
all sorts of other programs in order to regenerate files that came
|
|
||||||
with the distribution.
|
|
||||||
|
|
||||||
7. Often, you can also type `make uninstall' to remove the installed
|
|
||||||
files again. In practice, not all packages have tested that
|
|
||||||
uninstallation works correctly, even though it is required by the
|
|
||||||
GNU Coding Standards.
|
|
||||||
|
|
||||||
8. Some packages, particularly those that use Automake, provide `make
|
|
||||||
distcheck', which can by used by developers to test that all other
|
|
||||||
targets like `make install' and `make uninstall' work correctly.
|
|
||||||
This target is generally not run by end users.
|
|
||||||
|
|
||||||
Compilers and Options
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Some systems require unusual options for compilation or linking that
|
|
||||||
the `configure' script does not know about. Run `./configure --help'
|
|
||||||
for details on some of the pertinent environment variables.
|
|
||||||
|
|
||||||
You can give `configure' initial values for configuration parameters
|
|
||||||
by setting variables in the command line or in the environment. Here
|
|
||||||
is an example:
|
|
||||||
|
|
||||||
./configure CC=c99 CFLAGS=-g LIBS=-lposix
|
|
||||||
|
|
||||||
*Note Defining Variables::, for more details.
|
|
||||||
|
|
||||||
Compiling For Multiple Architectures
|
|
||||||
====================================
|
|
||||||
|
|
||||||
You can compile the package for more than one kind of computer at the
|
|
||||||
same time, by placing the object files for each architecture in their
|
|
||||||
own directory. To do this, you can use GNU `make'. `cd' to the
|
|
||||||
directory where you want the object files and executables to go and run
|
|
||||||
the `configure' script. `configure' automatically checks for the
|
|
||||||
source code in the directory that `configure' is in and in `..'. This
|
|
||||||
is known as a "VPATH" build.
|
|
||||||
|
|
||||||
With a non-GNU `make', it is safer to compile the package for one
|
|
||||||
architecture at a time in the source code directory. After you have
|
|
||||||
installed the package for one architecture, use `make distclean' before
|
|
||||||
reconfiguring for another architecture.
|
|
||||||
|
|
||||||
On MacOS X 10.5 and later systems, you can create libraries and
|
|
||||||
executables that work on multiple system types--known as "fat" or
|
|
||||||
"universal" binaries--by specifying multiple `-arch' options to the
|
|
||||||
compiler but only a single `-arch' option to the preprocessor. Like
|
|
||||||
this:
|
|
||||||
|
|
||||||
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
|
|
||||||
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
|
|
||||||
CPP="gcc -E" CXXCPP="g++ -E"
|
|
||||||
|
|
||||||
This is not guaranteed to produce working output in all cases, you
|
|
||||||
may have to build one architecture at a time and combine the results
|
|
||||||
using the `lipo' tool if you have problems.
|
|
||||||
|
|
||||||
Installation Names
|
|
||||||
==================
|
|
||||||
|
|
||||||
By default, `make install' installs the package's commands under
|
|
||||||
`/usr/local/bin', include files under `/usr/local/include', etc. You
|
|
||||||
can specify an installation prefix other than `/usr/local' by giving
|
|
||||||
`configure' the option `--prefix=PREFIX', where PREFIX must be an
|
|
||||||
absolute file name.
|
|
||||||
|
|
||||||
You can specify separate installation prefixes for
|
|
||||||
architecture-specific files and architecture-independent files. If you
|
|
||||||
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
|
|
||||||
PREFIX as the prefix for installing programs and libraries.
|
|
||||||
Documentation and other data files still use the regular prefix.
|
|
||||||
|
|
||||||
In addition, if you use an unusual directory layout you can give
|
|
||||||
options like `--bindir=DIR' to specify different values for particular
|
|
||||||
kinds of files. Run `configure --help' for a list of the directories
|
|
||||||
you can set and what kinds of files go in them. In general, the
|
|
||||||
default for these options is expressed in terms of `${prefix}', so that
|
|
||||||
specifying just `--prefix' will affect all of the other directory
|
|
||||||
specifications that were not explicitly provided.
|
|
||||||
|
|
||||||
The most portable way to affect installation locations is to pass the
|
|
||||||
correct locations to `configure'; however, many packages provide one or
|
|
||||||
both of the following shortcuts of passing variable assignments to the
|
|
||||||
`make install' command line to change installation locations without
|
|
||||||
having to reconfigure or recompile.
|
|
||||||
|
|
||||||
The first method involves providing an override variable for each
|
|
||||||
affected directory. For example, `make install
|
|
||||||
prefix=/alternate/directory' will choose an alternate location for all
|
|
||||||
directory configuration variables that were expressed in terms of
|
|
||||||
`${prefix}'. Any directories that were specified during `configure',
|
|
||||||
but not in terms of `${prefix}', must each be overridden at install
|
|
||||||
time for the entire installation to be relocated. The approach of
|
|
||||||
makefile variable overrides for each directory variable is required by
|
|
||||||
the GNU Coding Standards, and ideally causes no recompilation.
|
|
||||||
However, some platforms have known limitations with the semantics of
|
|
||||||
shared libraries that end up requiring recompilation when using this
|
|
||||||
method, particularly noticeable in packages that use GNU Libtool.
|
|
||||||
|
|
||||||
The second method involves providing the `DESTDIR' variable. For
|
|
||||||
example, `make install DESTDIR=/alternate/directory' will prepend
|
|
||||||
`/alternate/directory' before all installation names. The approach of
|
|
||||||
`DESTDIR' overrides is not required by the GNU Coding Standards, and
|
|
||||||
does not work on platforms that have drive letters. On the other hand,
|
|
||||||
it does better at avoiding recompilation issues, and works well even
|
|
||||||
when some directory options were not specified in terms of `${prefix}'
|
|
||||||
at `configure' time.
|
|
||||||
|
|
||||||
Optional Features
|
|
||||||
=================
|
|
||||||
|
|
||||||
If the package supports it, you can cause programs to be installed
|
|
||||||
with an extra prefix or suffix on their names by giving `configure' the
|
|
||||||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
|
||||||
|
|
||||||
Some packages pay attention to `--enable-FEATURE' options to
|
|
||||||
`configure', where FEATURE indicates an optional part of the package.
|
|
||||||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
|
||||||
is something like `gnu-as' or `x' (for the X Window System). The
|
|
||||||
`README' should mention any `--enable-' and `--with-' options that the
|
|
||||||
package recognizes.
|
|
||||||
|
|
||||||
For packages that use the X Window System, `configure' can usually
|
|
||||||
find the X include and library files automatically, but if it doesn't,
|
|
||||||
you can use the `configure' options `--x-includes=DIR' and
|
|
||||||
`--x-libraries=DIR' to specify their locations.
|
|
||||||
|
|
||||||
Some packages offer the ability to configure how verbose the
|
|
||||||
execution of `make' will be. For these packages, running `./configure
|
|
||||||
--enable-silent-rules' sets the default to minimal output, which can be
|
|
||||||
overridden with `make V=1'; while running `./configure
|
|
||||||
--disable-silent-rules' sets the default to verbose, which can be
|
|
||||||
overridden with `make V=0'.
|
|
||||||
|
|
||||||
Particular systems
|
|
||||||
==================
|
|
||||||
|
|
||||||
On HP-UX, the default C compiler is not ANSI C compatible. If GNU
|
|
||||||
CC is not installed, it is recommended to use the following options in
|
|
||||||
order to use an ANSI C compiler:
|
|
||||||
|
|
||||||
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
|
|
||||||
|
|
||||||
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
|
|
||||||
|
|
||||||
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
|
|
||||||
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
|
|
||||||
a workaround. If GNU CC is not installed, it is therefore recommended
|
|
||||||
to try
|
|
||||||
|
|
||||||
./configure CC="cc"
|
|
||||||
|
|
||||||
and if that doesn't work, try
|
|
||||||
|
|
||||||
./configure CC="cc -nodtk"
|
|
||||||
|
|
||||||
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
|
|
||||||
directory contains several dysfunctional programs; working variants of
|
|
||||||
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
|
|
||||||
in your `PATH', put it _after_ `/usr/bin'.
|
|
||||||
|
|
||||||
On Haiku, software installed for all users goes in `/boot/common',
|
|
||||||
not `/usr/local'. It is recommended to use the following options:
|
|
||||||
|
|
||||||
./configure --prefix=/boot/common
|
|
||||||
|
|
||||||
Specifying the System Type
|
|
||||||
==========================
|
|
||||||
|
|
||||||
There may be some features `configure' cannot figure out
|
|
||||||
automatically, but needs to determine by the type of machine the package
|
|
||||||
will run on. Usually, assuming the package is built to be run on the
|
|
||||||
_same_ architectures, `configure' can figure that out, but if it prints
|
|
||||||
a message saying it cannot guess the machine type, give it the
|
|
||||||
`--build=TYPE' option. TYPE can either be a short name for the system
|
|
||||||
type, such as `sun4', or a canonical name which has the form:
|
|
||||||
|
|
||||||
CPU-COMPANY-SYSTEM
|
|
||||||
|
|
||||||
where SYSTEM can have one of these forms:
|
|
||||||
|
|
||||||
OS
|
|
||||||
KERNEL-OS
|
|
||||||
|
|
||||||
See the file `config.sub' for the possible values of each field. If
|
|
||||||
`config.sub' isn't included in this package, then this package doesn't
|
|
||||||
need to know the machine type.
|
|
||||||
|
|
||||||
If you are _building_ compiler tools for cross-compiling, you should
|
|
||||||
use the option `--target=TYPE' to select the type of system they will
|
|
||||||
produce code for.
|
|
||||||
|
|
||||||
If you want to _use_ a cross compiler, that generates code for a
|
|
||||||
platform different from the build platform, you should specify the
|
|
||||||
"host" platform (i.e., that on which the generated programs will
|
|
||||||
eventually be run) with `--host=TYPE'.
|
|
||||||
|
|
||||||
Sharing Defaults
|
|
||||||
================
|
|
||||||
|
|
||||||
If you want to set default values for `configure' scripts to share,
|
|
||||||
you can create a site shell script called `config.site' that gives
|
|
||||||
default values for variables like `CC', `cache_file', and `prefix'.
|
|
||||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
|
||||||
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
|
||||||
`CONFIG_SITE' environment variable to the location of the site script.
|
|
||||||
A warning: not all `configure' scripts look for a site script.
|
|
||||||
|
|
||||||
Defining Variables
|
|
||||||
==================
|
|
||||||
|
|
||||||
Variables not defined in a site shell script can be set in the
|
|
||||||
environment passed to `configure'. However, some packages may run
|
|
||||||
configure again during the build, and the customized values of these
|
|
||||||
variables may be lost. In order to avoid this problem, you should set
|
|
||||||
them in the `configure' command line, using `VAR=value'. For example:
|
|
||||||
|
|
||||||
./configure CC=/usr/local2/bin/gcc
|
|
||||||
|
|
||||||
causes the specified `gcc' to be used as the C compiler (unless it is
|
|
||||||
overridden in the site shell script).
|
|
||||||
|
|
||||||
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
|
|
||||||
an Autoconf bug. Until the bug is fixed you can use this workaround:
|
|
||||||
|
|
||||||
CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
|
|
||||||
|
|
||||||
`configure' Invocation
|
|
||||||
======================
|
|
||||||
|
|
||||||
`configure' recognizes the following options to control how it
|
|
||||||
operates.
|
|
||||||
|
|
||||||
`--help'
|
|
||||||
`-h'
|
|
||||||
Print a summary of all of the options to `configure', and exit.
|
|
||||||
|
|
||||||
`--help=short'
|
|
||||||
`--help=recursive'
|
|
||||||
Print a summary of the options unique to this package's
|
|
||||||
`configure', and exit. The `short' variant lists options used
|
|
||||||
only in the top level, while the `recursive' variant lists options
|
|
||||||
also present in any nested packages.
|
|
||||||
|
|
||||||
`--version'
|
|
||||||
`-V'
|
|
||||||
Print the version of Autoconf used to generate the `configure'
|
|
||||||
script, and exit.
|
|
||||||
|
|
||||||
`--cache-file=FILE'
|
|
||||||
Enable the cache: use and save the results of the tests in FILE,
|
|
||||||
traditionally `config.cache'. FILE defaults to `/dev/null' to
|
|
||||||
disable caching.
|
|
||||||
|
|
||||||
`--config-cache'
|
|
||||||
`-C'
|
|
||||||
Alias for `--cache-file=config.cache'.
|
|
||||||
|
|
||||||
`--quiet'
|
|
||||||
`--silent'
|
|
||||||
`-q'
|
|
||||||
Do not print messages saying which checks are being made. To
|
|
||||||
suppress all normal output, redirect it to `/dev/null' (any error
|
|
||||||
messages will still be shown).
|
|
||||||
|
|
||||||
`--srcdir=DIR'
|
|
||||||
Look for the package's source code in directory DIR. Usually
|
|
||||||
`configure' can determine that directory automatically.
|
|
||||||
|
|
||||||
`--prefix=DIR'
|
|
||||||
Use DIR as the installation prefix. *note Installation Names::
|
|
||||||
for more details, including other options available for fine-tuning
|
|
||||||
the installation locations.
|
|
||||||
|
|
||||||
`--no-create'
|
|
||||||
`-n'
|
|
||||||
Run the configure checks, but stop before creating any output
|
|
||||||
files.
|
|
||||||
|
|
||||||
`configure' also accepts some other, not widely useful, options. Run
|
|
||||||
`configure --help' for more details.
|
|
||||||
|
|
|
@ -1,53 +0,0 @@
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
|
||||||
|
|
||||||
SUBDIRS = src doc
|
|
||||||
|
|
||||||
MAINTAINERCLEANFILES = \
|
|
||||||
ABOUT-NLS \
|
|
||||||
Makefile.in \
|
|
||||||
aclocal.m4 \
|
|
||||||
compile \
|
|
||||||
config.cache-env \
|
|
||||||
config.guess \
|
|
||||||
config.h.in \
|
|
||||||
config.h.in~ \
|
|
||||||
config.rpath \
|
|
||||||
config.sub \
|
|
||||||
configure \
|
|
||||||
depcomp \
|
|
||||||
install-sh \
|
|
||||||
ltmain.sh \
|
|
||||||
missing \
|
|
||||||
mkinstalldirs \
|
|
||||||
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz \
|
|
||||||
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.bz2 \
|
|
||||||
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc.tar.bz2 \
|
|
||||||
m4/libtool.m4 \
|
|
||||||
m4/lt~obsolete.m4 \
|
|
||||||
m4/ltoptions.m4 \
|
|
||||||
m4/ltsugar.m4 \
|
|
||||||
m4/ltversion.m4
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
AUTHORS \
|
|
||||||
COPYING \
|
|
||||||
README \
|
|
||||||
autogen.sh \
|
|
||||||
eio.spec \
|
|
||||||
eio.pc.in \
|
|
||||||
m4/ac_attribute.m4 \
|
|
||||||
m4/efl_doxygen.m4 \
|
|
||||||
m4/efl_path_max.m4 \
|
|
||||||
m4/efl_threads.m4 \
|
|
||||||
m4/eio_check_options.m4
|
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
|
||||||
pkgconfig_DATA = eio.pc
|
|
||||||
|
|
||||||
.PHONY: doc coverage benchmark
|
|
||||||
|
|
||||||
# Documentation
|
|
||||||
|
|
||||||
doc:
|
|
||||||
@echo "entering doc/"
|
|
||||||
make -C doc doc
|
|
|
@ -1 +0,0 @@
|
||||||
* Fix file monitoring on Windows when we pass a file and not just a directory
|
|
|
@ -1,39 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
rm -rf autom4te.cache
|
|
||||||
rm -f aclocal.m4 ltmain.sh
|
|
||||||
|
|
||||||
touch README
|
|
||||||
touch ABOUT-NLS
|
|
||||||
|
|
||||||
echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS -I m4 || exit 1
|
|
||||||
echo "Running autoheader..." ; autoheader || exit 1
|
|
||||||
echo "Running autoconf..." ; autoconf || exit 1
|
|
||||||
echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1
|
|
||||||
echo "Running automake..." ; automake --add-missing --copy --gnu || exit 1
|
|
||||||
|
|
||||||
W=0
|
|
||||||
|
|
||||||
rm -f config.cache-env.tmp
|
|
||||||
echo "OLD_PARM=\"$@\"" >> config.cache-env.tmp
|
|
||||||
echo "OLD_CFLAGS=\"$CFLAGS\"" >> config.cache-env.tmp
|
|
||||||
echo "OLD_PATH=\"$PATH\"" >> config.cache-env.tmp
|
|
||||||
echo "OLD_PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\"" >> config.cache-env.tmp
|
|
||||||
echo "OLD_LDFLAGS=\"$LDFLAGS\"" >> config.cache-env.tmp
|
|
||||||
|
|
||||||
cmp config.cache-env.tmp config.cache-env >> /dev/null
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
W=1;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $W -ne 0 ]; then
|
|
||||||
echo "Cleaning configure cache...";
|
|
||||||
rm -f config.cache config.cache-env
|
|
||||||
mv config.cache-env.tmp config.cache-env
|
|
||||||
else
|
|
||||||
rm -f config.cache-env.tmp
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$NOCONFIGURE" ]; then
|
|
||||||
./configure -C "$@"
|
|
||||||
fi
|
|
|
@ -1,281 +0,0 @@
|
||||||
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
||||||
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
||||||
m4_define([v_maj], [1])
|
|
||||||
m4_define([v_min], [7])
|
|
||||||
m4_define([v_mic], [99])
|
|
||||||
m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
|
|
||||||
m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
|
|
||||||
##-- When released, remove the dnl on the below line
|
|
||||||
dnl m4_undefine([v_rev])
|
|
||||||
##-- When doing snapshots - change soname. remove dnl on below line
|
|
||||||
dnl m4_define([relname], [ver-pre-svn-09])
|
|
||||||
dnl m4_define([v_rel], [-release relname])
|
|
||||||
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
||||||
m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])],
|
|
||||||
[m4_define([v_ver], [v_maj.v_min.v_mic])])
|
|
||||||
m4_define([lt_rev], m4_eval(v_maj + v_min))
|
|
||||||
m4_define([lt_cur], v_mic)
|
|
||||||
m4_define([lt_age], v_min)
|
|
||||||
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
||||||
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
||||||
|
|
||||||
AC_INIT([eio], [v_ver], [enlightenment-devel@lists.sourceforge.net])
|
|
||||||
AC_PREREQ([2.52])
|
|
||||||
AC_CONFIG_SRCDIR([configure.ac])
|
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
|
||||||
|
|
||||||
AC_CONFIG_HEADERS([config.h])
|
|
||||||
AH_TOP([
|
|
||||||
#ifndef EFL_CONFIG_H__
|
|
||||||
#define EFL_CONFIG_H__
|
|
||||||
])
|
|
||||||
AH_BOTTOM([
|
|
||||||
#endif /* EFL_CONFIG_H__ */
|
|
||||||
])
|
|
||||||
|
|
||||||
AM_INIT_AUTOMAKE([1.6 dist-bzip2])
|
|
||||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
|
||||||
|
|
||||||
AC_GNU_SOURCE
|
|
||||||
AC_SYS_LARGEFILE
|
|
||||||
|
|
||||||
AC_LIBTOOL_WIN32_DLL
|
|
||||||
define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
|
|
||||||
define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
|
|
||||||
AC_PROG_LIBTOOL
|
|
||||||
|
|
||||||
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
||||||
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
||||||
m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
|
|
||||||
m4_ifdef([v_rel], , [m4_define([v_rel], [])])
|
|
||||||
AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
|
|
||||||
AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
|
|
||||||
AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
|
|
||||||
AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
|
|
||||||
version_info="lt_rev:lt_cur:lt_age"
|
|
||||||
release_info="v_rel"
|
|
||||||
AC_SUBST([version_info])
|
|
||||||
AC_SUBST([release_info])
|
|
||||||
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
||||||
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
||||||
VMAJ=v_maj
|
|
||||||
AC_SUBST([VMAJ])
|
|
||||||
|
|
||||||
|
|
||||||
### Needed information
|
|
||||||
|
|
||||||
AC_CANONICAL_BUILD
|
|
||||||
AC_CANONICAL_HOST
|
|
||||||
|
|
||||||
|
|
||||||
### Default options with respect to host
|
|
||||||
|
|
||||||
want_inotify="no"
|
|
||||||
want_notify_win32="no"
|
|
||||||
|
|
||||||
case "$host_os" in
|
|
||||||
mingw*)
|
|
||||||
want_notify_win32="yes"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
want_inotify="yes"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
|
||||||
### Checks for programs
|
|
||||||
|
|
||||||
AC_PROG_CC
|
|
||||||
|
|
||||||
# pkg-config
|
|
||||||
PKG_PROG_PKG_CONFIG
|
|
||||||
|
|
||||||
# Check whether pkg-config supports Requires.private
|
|
||||||
if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
|
|
||||||
pkgconfig_requires_private="Requires.private"
|
|
||||||
else
|
|
||||||
pkgconfig_requires_private="Requires"
|
|
||||||
fi
|
|
||||||
AC_SUBST([pkgconfig_requires_private])
|
|
||||||
|
|
||||||
# doxygen program for documentation building
|
|
||||||
|
|
||||||
EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
|
|
||||||
|
|
||||||
|
|
||||||
### Checks for libraries
|
|
||||||
|
|
||||||
case "$host_os" in
|
|
||||||
mingw*)
|
|
||||||
PKG_CHECK_EXISTS([evil >= 1.6.99])
|
|
||||||
AC_DEFINE([HAVE_EVIL], [1], [Set to 1 if evil package is installed])
|
|
||||||
requirements_eio="${requirements_eio} evil >= 1.6.99"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
requirements_eio="${requirements_eio} eet >= 1.6.99 eina >= 1.6.99 ecore >= 1.6.99"
|
|
||||||
AC_SUBST([requirements_eio])
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES([EIO], [${requirements_eio}])
|
|
||||||
|
|
||||||
|
|
||||||
### Checks for header files
|
|
||||||
|
|
||||||
AC_HEADER_DIRENT
|
|
||||||
AC_HEADER_TIME
|
|
||||||
AC_CHECK_HEADERS([unistd.h libgen.h grp.h features.h pwd.h])
|
|
||||||
|
|
||||||
EFL_CHECK_THREADS(
|
|
||||||
[
|
|
||||||
if test "x${_efl_have_posix_threads}" = "xyes" ; then
|
|
||||||
have_threads="POSIX"
|
|
||||||
else
|
|
||||||
if test "x${_efl_have_win32_threads}" = "xyes" ; then
|
|
||||||
have_threads="Win32"
|
|
||||||
else
|
|
||||||
have_threads="no"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
],
|
|
||||||
[have_threads="no"])
|
|
||||||
|
|
||||||
if test "x${have_threads}" = "xno" ; then
|
|
||||||
AC_MSG_ERROR([Threads not supported. Be sure to have pthread on non Windows OS])
|
|
||||||
fi
|
|
||||||
|
|
||||||
EFL_CHECK_PATH_MAX
|
|
||||||
|
|
||||||
### Checks for types
|
|
||||||
|
|
||||||
### Checks for structures
|
|
||||||
|
|
||||||
### Checks for compiler characteristics
|
|
||||||
AC_C_BIGENDIAN
|
|
||||||
AC_C_INLINE
|
|
||||||
AC_C___ATTRIBUTE__
|
|
||||||
AM_PROG_CC_C_O
|
|
||||||
|
|
||||||
### Checks for linker characteristics
|
|
||||||
|
|
||||||
### Checks for library functions
|
|
||||||
AC_FUNC_ALLOCA
|
|
||||||
AC_CHECK_FUNCS([fchmod chown getpwnam getgrnam])
|
|
||||||
|
|
||||||
### Check for splice system call
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether to use splice for file copy])
|
|
||||||
AC_TRY_LINK(
|
|
||||||
[
|
|
||||||
#if defined(HAVE_UNISTD_H)
|
|
||||||
# include <unistd.h>
|
|
||||||
#endif
|
|
||||||
#include <fcntl.h>
|
|
||||||
],
|
|
||||||
[
|
|
||||||
long ret = splice(0,0,1,0,400,0);
|
|
||||||
],
|
|
||||||
[have_splice="yes"],
|
|
||||||
[have_splice="no"])
|
|
||||||
AC_MSG_RESULT([${have_splice}])
|
|
||||||
|
|
||||||
if test "x${have_splice}" = "xyes" ; then
|
|
||||||
AC_DEFINE([HAVE_SPLICE], [1], [Define to mention that splice syscall is supported])
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check for lstat
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether lstat is available])
|
|
||||||
AC_TRY_LINK(
|
|
||||||
[
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#if defined(HAVE_UNISTD_H)
|
|
||||||
# include <unistd.h>
|
|
||||||
#endif
|
|
||||||
],
|
|
||||||
[
|
|
||||||
struct stat st;
|
|
||||||
lstat("/tmp", &st);
|
|
||||||
],
|
|
||||||
[have_lstat="yes"],
|
|
||||||
[have_lstat="no"])
|
|
||||||
AC_MSG_RESULT([${have_lstat}])
|
|
||||||
|
|
||||||
if test "x${have_lstat}" = "xyes" ; then
|
|
||||||
AC_DEFINE([HAVE_LSTAT], [1], [Define to mention that lstat syscall is supported])
|
|
||||||
fi
|
|
||||||
|
|
||||||
# extended attribute
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for extended attributes])
|
|
||||||
|
|
||||||
AC_COMPILE_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM(
|
|
||||||
[[
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/xattr.h>
|
|
||||||
]],
|
|
||||||
[[
|
|
||||||
size_t tmp = listxattr("/", NULL, 0);
|
|
||||||
tmp = getxattr("/", "user.ethumb.md5", NULL, 0);
|
|
||||||
setxattr("/", "user.ethumb.md5", NULL, 0, 0);
|
|
||||||
]])],
|
|
||||||
[
|
|
||||||
AC_DEFINE([HAVE_XATTR], [1], [Define to 1 if you have the `listxattr', `setxattr' and `getxattr' functions.])
|
|
||||||
have_xattr="yes"
|
|
||||||
],
|
|
||||||
[have_xattr="no"])
|
|
||||||
|
|
||||||
AC_MSG_RESULT([${have_xattr}])
|
|
||||||
|
|
||||||
# Check for inotify specificity
|
|
||||||
have_inotify="no"
|
|
||||||
have_notify_win32="no"
|
|
||||||
EIO_CHECK_INOTIFY([${want_inotify}], [have_inotify="yes"], [have_inotify="no"])
|
|
||||||
EIO_CHECK_NOTIFY_WIN32([${want_notify_win32}], [have_notify_win32="yes"], [have_notify_win32="no"])
|
|
||||||
|
|
||||||
AM_CONDITIONAL([EIO_HAVE_INOTIFY], [test "x$have_inotify" = "xyes"])
|
|
||||||
AM_CONDITIONAL([EIO_HAVE_WINCHANGE], [test "x$have_notify_win32" = "xyes"])
|
|
||||||
EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"])
|
|
||||||
EFL_CHECK_INSTALL_EXAMPLES([enable_install_examples="yes"], [enable_install_examples="no"])
|
|
||||||
|
|
||||||
|
|
||||||
AC_OUTPUT([
|
|
||||||
eio.pc
|
|
||||||
eio.spec
|
|
||||||
Makefile
|
|
||||||
doc/Makefile
|
|
||||||
doc/eio.dox
|
|
||||||
doc/Doxyfile
|
|
||||||
src/Makefile
|
|
||||||
src/lib/Makefile
|
|
||||||
src/examples/Makefile
|
|
||||||
])
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo "------------------------------------------------------------------------"
|
|
||||||
echo "$PACKAGE_NAME $PACKAGE_VERSION"
|
|
||||||
echo "------------------------------------------------------------------------"
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo "Configuration Options Summary:"
|
|
||||||
echo
|
|
||||||
echo " Thread Support.......: ${have_threads}"
|
|
||||||
echo " Inotify..............: ${have_inotify}"
|
|
||||||
echo " Windows notification.: ${have_notify_win32}"
|
|
||||||
echo
|
|
||||||
echo " Documentation........: ${build_doc}"
|
|
||||||
echo " Examples...............: ${enable_build_examples}"
|
|
||||||
echo " Examples installed.....: ${enable_install_examples}"
|
|
||||||
echo
|
|
||||||
echo "Compilation............: make (or gmake)"
|
|
||||||
echo " CPPFLAGS.............: $CPPFLAGS"
|
|
||||||
echo " CFLAGS...............: $CFLAGS"
|
|
||||||
echo " LDFLAGS..............: $LDFLAGS"
|
|
||||||
echo
|
|
||||||
echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
|
|
||||||
echo " prefix...............: $prefix"
|
|
||||||
echo
|
|
|
@ -1,32 +0,0 @@
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
||||||
|
|
||||||
.PHONY: doc
|
|
||||||
|
|
||||||
PACKAGE_DOCNAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc
|
|
||||||
|
|
||||||
if EFL_BUILD_DOC
|
|
||||||
|
|
||||||
doc-clean:
|
|
||||||
rm -rf html/ latex/ man/ xml/ $(PACKAGE_DOCNAME).tar*
|
|
||||||
|
|
||||||
doc: all
|
|
||||||
$(efl_doxygen)
|
|
||||||
cp $(srcdir)/img/* html/
|
|
||||||
rm -rf $(PACKAGE_DOCNAME).tar*
|
|
||||||
mkdir -p $(PACKAGE_DOCNAME)/doc
|
|
||||||
cp -R html/ latex/ man/ $(PACKAGE_DOCNAME)/doc
|
|
||||||
tar cf $(PACKAGE_DOCNAME).tar $(PACKAGE_DOCNAME)/
|
|
||||||
bzip2 -9 $(PACKAGE_DOCNAME).tar
|
|
||||||
rm -rf $(PACKAGE_DOCNAME)/
|
|
||||||
mv $(PACKAGE_DOCNAME).tar.bz2 $(top_builddir)
|
|
||||||
|
|
||||||
clean-local: doc-clean
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
doc:
|
|
||||||
@echo "Documentation not built. Run ./configure --help"
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
EXTRA_DIST = $(builddir)/Doxyfile $(wildcard $(srcdir)/img/*.*) $(srcdir)/e.css $(srcdir)/head.html $(srcdir)/foot.html
|
|
|
@ -1,218 +0,0 @@
|
||||||
/*
|
|
||||||
Author:
|
|
||||||
Andres Blanc <andresblanc@gmail.com>
|
|
||||||
DaveMDS Andreoli <dave@gurumeditation.it>
|
|
||||||
|
|
||||||
Supported Browsers:
|
|
||||||
ie7, opera9, konqueror4 and firefox3
|
|
||||||
|
|
||||||
Please use a different file for ie6, ie5, etc. hacks.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/* Necessary to place the footer at the bottom of the page */
|
|
||||||
html, body {
|
|
||||||
height: 100%;
|
|
||||||
margin: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#container {
|
|
||||||
min-height: 100%;
|
|
||||||
height: auto !important;
|
|
||||||
height: 100%;
|
|
||||||
margin: 0 auto -53px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#footer, #push {
|
|
||||||
height: 53px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
* html #container {
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Prevent floating elements overflowing containers */
|
|
||||||
.clear {
|
|
||||||
clear: both;
|
|
||||||
width: 0px;
|
|
||||||
height: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Flexible & centered layout from 750 to 960 pixels */
|
|
||||||
.layout {
|
|
||||||
max-width: 960px;
|
|
||||||
min-width: 760px;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
/*font-family: Lucida Grande, Helvetica, sans-serif;*/
|
|
||||||
font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Prevent design overflowing the viewport in small resolutions */
|
|
||||||
#container {
|
|
||||||
padding-right: 17px;
|
|
||||||
padding-left: 17px;
|
|
||||||
background-image: url(head_bg.png);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header {
|
|
||||||
width: 100%;
|
|
||||||
height: 102px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header h1 {
|
|
||||||
width: 63px;
|
|
||||||
height: 63px;
|
|
||||||
background-image: url(e.png);
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
position: absolute;
|
|
||||||
margin: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header h1 span {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header h2 {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* .menu-container is used to set properties common to .menu and .submenu */
|
|
||||||
#header .menu-container {
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .menu-container ul {
|
|
||||||
list-style-type: none;
|
|
||||||
list-style-position: inside;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .menu-container li {
|
|
||||||
display: block;
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .menu {
|
|
||||||
height: 63px;
|
|
||||||
display: block;
|
|
||||||
background-image: url(menu_bg.png);
|
|
||||||
background-repeat: repeat-x;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .menu ul {
|
|
||||||
height: 100%;
|
|
||||||
display: block;
|
|
||||||
background-image: url(menu_bg_last.png);
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: top right;
|
|
||||||
padding-right: 17px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .menu li {
|
|
||||||
height: 100%;
|
|
||||||
text-align: center;
|
|
||||||
background-image: url(menu_bg_unsel.png);
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .menu a {
|
|
||||||
height: 100%;
|
|
||||||
display: block;
|
|
||||||
color: #cdcdcd;
|
|
||||||
text-decoration: none;
|
|
||||||
font-size: 10pt;
|
|
||||||
line-height: 59px;
|
|
||||||
text-align: center;
|
|
||||||
padding: 0px 15px 0px 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .menu li:hover {
|
|
||||||
background-image: url(menu_bg_hover.png);
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .menu li:hover a {
|
|
||||||
color: #FFFFFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .menu li.current {
|
|
||||||
background-image: url(menu_bg_current.png);
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .menu li.current a {
|
|
||||||
color: #646464;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Hide all the submenus but the current */
|
|
||||||
#header .submenu ul {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .submenu .current {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .submenu {
|
|
||||||
font: bold 10px verdana,'Bitstream Vera Sans',helvetica,arial,sans-serif;
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .submenu a {
|
|
||||||
color: #888888;
|
|
||||||
text-decoration: none;
|
|
||||||
font-size: 0.9em;
|
|
||||||
line-height: 15px;
|
|
||||||
padding:0px 5px 0px 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .submenu a:hover {
|
|
||||||
color: #444444;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .submenu li {
|
|
||||||
border-left: 1px solid #DDDDDD;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .submenu li:last-child {
|
|
||||||
border-left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header .doxytitle {
|
|
||||||
position: absolute;
|
|
||||||
font-size: 1.8em;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #444444;
|
|
||||||
line-height: 35px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#header small {
|
|
||||||
font-size: 0.4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#footer {
|
|
||||||
background-image: url(foot_bg.png);
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
#footer table {
|
|
||||||
width: 100%;
|
|
||||||
text-align: center;
|
|
||||||
white-space: nowrap;
|
|
||||||
padding: 5px 30px 5px 30px;
|
|
||||||
font-size: 0.8em;
|
|
||||||
font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif;
|
|
||||||
color: #888888;
|
|
||||||
}
|
|
||||||
|
|
||||||
#footer td.copyright {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,456 +0,0 @@
|
||||||
/* EIO - EFL data type library
|
|
||||||
* Copyright (C) 2010 Enlightenment Developers:
|
|
||||||
* Cedric Bail <cedric.bail@free.fr>
|
|
||||||
* Vincent "caro" Torri <vtorri at univ-evry dot fr>
|
|
||||||
* Stephen "okra" Houston <unixtitan@gmail.com>
|
|
||||||
* Gustavo Sverzut Barbieri <barbieri@gmail.com>
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with this library;
|
|
||||||
* if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @mainpage Eio
|
|
||||||
* @author Cedric Bail <cedric.bail@@free.fr>
|
|
||||||
* @author Stephen "okra" Houston <unixtitan@@gmail.com>
|
|
||||||
* @author Gustavo Sverzut Barbieri <barbieri@@gmail.com>
|
|
||||||
* @author Vincent "caro" Torri <vtorri at univ-evry dot fr>
|
|
||||||
* @author Guillaume "kuri" Friloux <guillaume.friloux@@asp64.com>
|
|
||||||
* @date 2010-2012
|
|
||||||
*
|
|
||||||
* @section eio_intro_sec Introduction
|
|
||||||
* @version @PACKAGE_VERSION@
|
|
||||||
*
|
|
||||||
* The Eio library is a library that implements an API for asynchronous
|
|
||||||
* input/output operation. Most operation are done in a separated thread
|
|
||||||
* to prevent lock. See @ref Eio_Group. Some helper to work on data
|
|
||||||
* received in Eio callback are also provided see @ref Eio_Helper.
|
|
||||||
* It is also possible to work asynchronously on Eina_File with @ref Eio_Map
|
|
||||||
* or on Eet_File with @ref Eio_Eet. It come with way to manipulate
|
|
||||||
* eXtended attribute assynchronously with @ref Eio_Xattr.
|
|
||||||
*
|
|
||||||
* This library is cross-platform and can be compiled and used on
|
|
||||||
* Linux, BSD, Opensolaris and Windows (XP and CE).
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @page tutorial_dir_copy eio_dir_copy() tutorial
|
|
||||||
*
|
|
||||||
* To use eio_dir_copy(), you basically need the source and
|
|
||||||
* destination files (or directories), and set three callbacks:
|
|
||||||
*
|
|
||||||
* @li The notification callback, which allows you to know if a file or
|
|
||||||
* a directory is copied, and the progress of the copy.
|
|
||||||
* @li The end callback, which is called when the copy is finished.
|
|
||||||
* @li The error callback, which is called if an error occured. You
|
|
||||||
* can then retrieve the error type as an errno error.
|
|
||||||
*
|
|
||||||
* @warning It is the user's duty to provide the "right target". It
|
|
||||||
* means that copying to '.' will copy the content directly inside '.'
|
|
||||||
* and not in a subdirectory.
|
|
||||||
*
|
|
||||||
* Here is a simple example:
|
|
||||||
*
|
|
||||||
* @code
|
|
||||||
* #include <Ecore.h>
|
|
||||||
* #include <Eio.h>
|
|
||||||
*
|
|
||||||
* static void
|
|
||||||
* _test_notify_cb(void *data, Eio_File *handler, const Eio_Progress *info)
|
|
||||||
* {
|
|
||||||
* switch (info->op)
|
|
||||||
* {
|
|
||||||
* case EIO_FILE_COPY:
|
|
||||||
* printf("[%s] %f%%\n", info->dest, info->percent);
|
|
||||||
* break;
|
|
||||||
* case EIO_DIR_COPY:
|
|
||||||
* printf("global [%li/%li] %f%%\n", info->current, info->max, info->percent);
|
|
||||||
* break;
|
|
||||||
* }
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* static void
|
|
||||||
* _test_done_cb(void *data, Eio_File *handler)
|
|
||||||
* {
|
|
||||||
* printf("copy done\n");
|
|
||||||
* ecore_main_loop_quit();
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* static void
|
|
||||||
* _test_error_cb(int error, Eio_File *handler, void *data)
|
|
||||||
* {
|
|
||||||
* fprintf(stderr, "error: [%s]\n", strerror(error));
|
|
||||||
* ecore_main_loop_quit();
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* int
|
|
||||||
* main(int argc, char **argv)
|
|
||||||
* {
|
|
||||||
* Eio_File *cp;
|
|
||||||
*
|
|
||||||
* if (argc != 3)
|
|
||||||
* {
|
|
||||||
* fprintf(stderr, "eio_cp source_file destination_file\n");
|
|
||||||
* return -1;
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* ecore_init();
|
|
||||||
* eio_init();
|
|
||||||
*
|
|
||||||
* cp = eio_dir_copy(argv[1], argv[2],
|
|
||||||
* _test_notify_cb,
|
|
||||||
* _test_done_cb,
|
|
||||||
* _test_error_cb,
|
|
||||||
* NULL);
|
|
||||||
*
|
|
||||||
* ecore_main_loop_begin();
|
|
||||||
*
|
|
||||||
* eio_shutdown();
|
|
||||||
* ecore_shutdown();
|
|
||||||
*
|
|
||||||
* return 0;
|
|
||||||
* }
|
|
||||||
* @endcode
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @page tutorial_dir_stat_ls eio_dir_stat_ls() tutorial
|
|
||||||
*
|
|
||||||
* @li The filter callback, which allow or not a file to be seen
|
|
||||||
* by the main loop handler. This callback run in a separated thread.
|
|
||||||
* @li The main callback, which receive in the main loop all the file
|
|
||||||
* that are allowed by the filter. If you are updating a user interface
|
|
||||||
* it make sense to delay the insertion a little, so you get a chance
|
|
||||||
* to update the canvas for a bunch of file instead of one by one.
|
|
||||||
* @li The end callback, which is called in the main loop when the
|
|
||||||
* content of the directory has been correctly scanned and all the
|
|
||||||
* file notified to the main loop.
|
|
||||||
* @li The error callback, which is called if an error occured or
|
|
||||||
* if the listing was cancelled during it's run. You can then retrieve
|
|
||||||
* the error type as an errno error.
|
|
||||||
*
|
|
||||||
* Here is a simple example that implement a stupidly simple replacement for find:
|
|
||||||
*
|
|
||||||
* @code
|
|
||||||
* #include <Ecore.h>
|
|
||||||
* #include <Eio.h>
|
|
||||||
*
|
|
||||||
* static Eina_Bool
|
|
||||||
* _test_filter_cb(void *data, Eio_File *handler, const Eina_File_Direct_Info *info)
|
|
||||||
* {
|
|
||||||
* fprintf(stderr, "ACCEPTING: %s\n", info->path);
|
|
||||||
* return EINA_TRUE;
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* static void
|
|
||||||
* _test_main_cb(void *data, Eio_File *handler, const Eina_File_Direct_Info *info)
|
|
||||||
* {
|
|
||||||
* fprintf(stderr, "PROCESS: %s\n", info->path);
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* static void
|
|
||||||
* _test_done_cb(void *data, Eio_File *handler)
|
|
||||||
* {
|
|
||||||
* printf("ls done\n");
|
|
||||||
* ecore_main_loop_quit();
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* static void
|
|
||||||
* _test_error_cb(void *data, Eio_File *handler, int error)
|
|
||||||
* {
|
|
||||||
* fprintf(stderr, "error: [%s]\n", strerror(error));
|
|
||||||
* ecore_main_loop_quit();
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* int
|
|
||||||
* main(int argc, char **argv)
|
|
||||||
* {
|
|
||||||
* Eio_File *cp;
|
|
||||||
*
|
|
||||||
* if (argc != 2)
|
|
||||||
* {
|
|
||||||
* fprintf(stderr, "eio_ls directory\n");
|
|
||||||
* return -1;
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* ecore_init();
|
|
||||||
* eio_init();
|
|
||||||
*
|
|
||||||
* cp = eio_dir_stat_ls(argv[1],
|
|
||||||
* _test_filter_cb,
|
|
||||||
* _test_main_cb,
|
|
||||||
* _test_done_cb,
|
|
||||||
* _test_error_cb,
|
|
||||||
* NULL);
|
|
||||||
*
|
|
||||||
* ecore_main_loop_begin();
|
|
||||||
*
|
|
||||||
* eio_shutdown();
|
|
||||||
* ecore_shutdown();
|
|
||||||
*
|
|
||||||
* return 0;
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* @endcode
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @page tutorial_file_ls eio_file_ls() tutorial
|
|
||||||
*
|
|
||||||
* To use eio_file_ls(), you just need to define four callbacks:
|
|
||||||
*
|
|
||||||
* @li The filter callback, which allow or not a file to be seen
|
|
||||||
* by the main loop handler. This callback run in a separated thread.
|
|
||||||
* @li The main callback, which receive in the main loop all the file
|
|
||||||
* that are allowed by the filter. If you are updating a user interface
|
|
||||||
* it make sense to delay the insertion a little, so you get a chance
|
|
||||||
* to update the canvas for a bunch of file instead of one by one.
|
|
||||||
* @li The end callback, which is called in the main loop when the
|
|
||||||
* content of the directory has been correctly scanned and all the
|
|
||||||
* file notified to the main loop.
|
|
||||||
* @li The error callback, which is called if an error occured or
|
|
||||||
* if the listing was cancelled during it's run. You can then retrieve
|
|
||||||
* the error type as an errno error.
|
|
||||||
*
|
|
||||||
* Here is a simple example:
|
|
||||||
*
|
|
||||||
* @code
|
|
||||||
* #include <Ecore.h>
|
|
||||||
* #include <Eio.h>
|
|
||||||
*
|
|
||||||
* static Eina_Bool
|
|
||||||
* _test_filter_cb(void *data, Eio_File *handler, const char *file)
|
|
||||||
* {
|
|
||||||
* fprintf(stderr, "ACCEPTING: %s\n", file);
|
|
||||||
* return EINA_TRUE;
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* static void
|
|
||||||
* _test_main_cb(void *data, Eio_File *handler, const char *file)
|
|
||||||
* {
|
|
||||||
* fprintf(stderr, "PROCESS: %s\n", file);
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* static void
|
|
||||||
* _test_done_cb(void *data, Eio_File *handler)
|
|
||||||
* {
|
|
||||||
* printf("ls done\n");
|
|
||||||
* ecore_main_loop_quit();
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* static void
|
|
||||||
* _test_error_cb(void *data, Eio_File *handler, int error)
|
|
||||||
* {
|
|
||||||
* fprintf(stderr, "error: [%s]\n", strerror(error));
|
|
||||||
* ecore_main_loop_quit();
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* int
|
|
||||||
* main(int argc, char **argv)
|
|
||||||
* {
|
|
||||||
* Eio_File *cp;
|
|
||||||
*
|
|
||||||
* if (argc != 2)
|
|
||||||
* {
|
|
||||||
* fprintf(stderr, "eio_ls directory\n");
|
|
||||||
* return -1;
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* ecore_init();
|
|
||||||
* eio_init();
|
|
||||||
*
|
|
||||||
* cp = eio_file_ls(argv[1],
|
|
||||||
* _test_filter_cb,
|
|
||||||
* _test_main_cb,
|
|
||||||
* _test_done_cb,
|
|
||||||
* _test_error_cb,
|
|
||||||
* NULL);
|
|
||||||
*
|
|
||||||
* ecore_main_loop_begin();
|
|
||||||
*
|
|
||||||
* eio_shutdown();
|
|
||||||
* ecore_shutdown();
|
|
||||||
*
|
|
||||||
* return 0;
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* @endcode
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @page tutorial_monitor_add eio_monitor_add() tutorial
|
|
||||||
*
|
|
||||||
* To use eio_monitor_add(), you have to define callbacks
|
|
||||||
* for events declared by eio.
|
|
||||||
* Available events are :
|
|
||||||
* - EIO_MONITOR_FILE_CREATED
|
|
||||||
* - EIO_MONITOR_FILE_DELETED
|
|
||||||
* - EIO_MONITOR_FILE_MODIFIED
|
|
||||||
* - EIO_MONITOR_FILE_CLOSED
|
|
||||||
* - EIO_MONITOR_DIRECTORY_CREATED
|
|
||||||
* - EIO_MONITOR_DIRECTORY_DELETED
|
|
||||||
* - EIO_MONITOR_DIRECTORY_CLOSED
|
|
||||||
* - EIO_MONITOR_SELF_RENAME
|
|
||||||
* - EIO_MONITOR_SELF_DELETED
|
|
||||||
*
|
|
||||||
* As nothing is worth an example, here it is :
|
|
||||||
* @code
|
|
||||||
* #include <Eina.h>
|
|
||||||
* #include <Ecore.h>
|
|
||||||
* #include <Eio.h>
|
|
||||||
*
|
|
||||||
* void file_modified(void *data, int type, void *event)
|
|
||||||
* {
|
|
||||||
* const char *filename = (const char *)data;
|
|
||||||
* printf("file %s ", filename);
|
|
||||||
* if( type == EIO_MONITOR_FILE_MODIFIED )
|
|
||||||
* printf("is being modified");
|
|
||||||
* else if( type == EIO_MONITOR_FILE_CLOSED )
|
|
||||||
* printf("is not more being modified");
|
|
||||||
* else printf("got unexpected changes");
|
|
||||||
* printf("\n");
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* int main(int argc, char **argv) {
|
|
||||||
* Eio_Monitor *monitor = NULL,
|
|
||||||
* *monitor2 = NULL;
|
|
||||||
* eio_init();
|
|
||||||
* const char *filename = eina_stringshare_add("/tmp/eio_notify_testfile");
|
|
||||||
*
|
|
||||||
* monitor = eio_monitor_add(filename);
|
|
||||||
* ecore_event_handler_add(EIO_MONITOR_FILE_MODIFIED, (Ecore_Event_Handler_Cb)file_modified, filename);
|
|
||||||
* ecore_event_handler_add(EIO_MONITOR_FILE_CLOSED, (Ecore_Event_Handler_Cb)file_modified, filename);
|
|
||||||
*
|
|
||||||
* ecore_main_loop_begin();
|
|
||||||
* eio_shutdown();
|
|
||||||
* eina_stringshare_del(filename);
|
|
||||||
* }
|
|
||||||
* @endcode
|
|
||||||
* Build the example doing :
|
|
||||||
* @verbatim gcc -o tutorial_monitor_add tutorial_monitor_add.c `pkg-config --libs --cflags eio ecore ecore-file eina`
|
|
||||||
* then create the file /tmp/eio_notify_testfile :
|
|
||||||
* touch /tmp/eio_notify_testfile
|
|
||||||
* and launch tutorial_monitor_add, and in another terminal, write into /tmp/eio_notify_testfile, doing for example :
|
|
||||||
* echo "test" >> /tmp/eio_notify_testfile
|
|
||||||
* @endverbatim
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @page tutorial_dir_direct_ls eio_dir_direct_ls() tutorial
|
|
||||||
*
|
|
||||||
* @li The filter callback, which allow or not a file to be seen
|
|
||||||
* by the main loop handler. This callback run in a separated thread.
|
|
||||||
* It also take care of getting a stat buffer needed by the main callback
|
|
||||||
* to display the file size.
|
|
||||||
* @li The main callback, which receive in the main loop all the file
|
|
||||||
* that are allowed by the filter. If you are updating a user interface
|
|
||||||
* it make sense to delay the insertion a little, so you get a chance
|
|
||||||
* to update the canvas for a bunch of file instead of one by one.
|
|
||||||
* @li The end callback, which is called in the main loop when the
|
|
||||||
* content of the directory has been correctly scanned and all the
|
|
||||||
* file notified to the main loop.
|
|
||||||
* @li The error callback, which is called if an error occured or
|
|
||||||
* if the listing was cancelled during it's run. You can then retrieve
|
|
||||||
* the error type as an errno error.
|
|
||||||
*
|
|
||||||
* Here is a simple example that implement a stupidly simple recursive ls that display file size:
|
|
||||||
*
|
|
||||||
* @code
|
|
||||||
* #include <Eina.h>
|
|
||||||
* #include <Ecore.h>
|
|
||||||
* #include <Eio.h>
|
|
||||||
*
|
|
||||||
* static Eina_Bool
|
|
||||||
* _test_filter_cb(void *data, Eio_File *handler, Eina_File_Direct_Info *info)
|
|
||||||
* {
|
|
||||||
* Eina_Stat *buffer;
|
|
||||||
* Eina_Bool isdir;
|
|
||||||
*
|
|
||||||
* isdir = info->type == EINA_FILE_DIR;
|
|
||||||
*
|
|
||||||
* buffer = malloc(sizeof (Eina_Stat));
|
|
||||||
* if (eina_file_statat(eio_file_container_get(handler), info, buffer))
|
|
||||||
* {
|
|
||||||
* free(buffer);
|
|
||||||
* return EINA_FALSE;
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* if (!isdir && info->type == EINA_FILE_DIR)
|
|
||||||
* {
|
|
||||||
* struct stat st;
|
|
||||||
* if (lstat(info->path, &st) == 0)
|
|
||||||
* {
|
|
||||||
* if (S_ISLNK(st.st_mode))
|
|
||||||
* info->type = EINA_FILE_LNK;
|
|
||||||
* }
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* eio_file_associate_direct_add(handler, "stat", buffer, free);
|
|
||||||
* fprintf(stdout, "ACCEPTING: %s\n", info->path);
|
|
||||||
* return EINA_TRUE;
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* static void
|
|
||||||
* _test_main_cb(void *data, Eio_File *handler, const Eina_File_Direct_Info *info)
|
|
||||||
* {
|
|
||||||
* struct stat *buffer;
|
|
||||||
*
|
|
||||||
* buffer = eio_file_associate_find(handler, "stat");
|
|
||||||
* fprintf(stdout, "PROCESS: %s of size %li\n", info->path, buffer->st_size);
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* static void
|
|
||||||
* _test_done_cb(void *data, Eio_File *handler)
|
|
||||||
* {
|
|
||||||
* printf("ls done\n");
|
|
||||||
* ecore_main_loop_quit();
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* static void
|
|
||||||
* _test_error_cb(void *data, Eio_File *handler, int error)
|
|
||||||
* {
|
|
||||||
* fprintf(stdout, "error: [%s]\n", strerror(error));
|
|
||||||
* ecore_main_loop_quit();
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* int
|
|
||||||
* main(int argc, char **argv)
|
|
||||||
* {
|
|
||||||
* Eio_File *cp;
|
|
||||||
*
|
|
||||||
* if (argc != 2)
|
|
||||||
* {
|
|
||||||
* fprintf(stdout, "eio_ls directory\n");
|
|
||||||
* return -1;
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* ecore_init();
|
|
||||||
* eio_init();
|
|
||||||
*
|
|
||||||
* cp = eio_dir_direct_ls(argv[1],
|
|
||||||
* _test_filter_cb,
|
|
||||||
* _test_main_cb,
|
|
||||||
* _test_done_cb,
|
|
||||||
* _test_error_cb,
|
|
||||||
* NULL);
|
|
||||||
*
|
|
||||||
* ecore_main_loop_begin();
|
|
||||||
*
|
|
||||||
* eio_shutdown();
|
|
||||||
* ecore_shutdown();
|
|
||||||
*
|
|
||||||
* return 0;
|
|
||||||
* }
|
|
||||||
* @endcode
|
|
||||||
*/
|
|
|
@ -1,19 +0,0 @@
|
||||||
|
|
||||||
<div id="push"></div>
|
|
||||||
</div> <!-- #content -->
|
|
||||||
</div> <!-- .layout -->
|
|
||||||
|
|
||||||
</div> <!-- #container -->
|
|
||||||
|
|
||||||
|
|
||||||
<div id="footer">
|
|
||||||
<table><tr>
|
|
||||||
<td class="poweredby"><img src="doxygen.png"></td>
|
|
||||||
<td class="copyright">Copyright ©$year Enlightenment</td>
|
|
||||||
<td class="generated">Docs generated $datetime</td>
|
|
||||||
</tr></table>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,67 +0,0 @@
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>$title</title>
|
|
||||||
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
|
|
||||||
<meta name="author" content="Andres Blanc" >
|
|
||||||
|
|
||||||
<link rel="icon" href="img/favicon.png" type="image/x-icon">
|
|
||||||
<link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
|
|
||||||
<link rel="icon" href="img/favicon.png" type="image/ico">
|
|
||||||
<link rel="shortcut icon" href="img/favicon.png" type="image/ico">
|
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" media="screen" href="e.css">
|
|
||||||
<link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id="container">
|
|
||||||
|
|
||||||
<div id="header">
|
|
||||||
<div class="layout">
|
|
||||||
|
|
||||||
<h1><span>Enlightenment</span></h1>
|
|
||||||
<h2><span>Beauty at your fingertips</span></h2>
|
|
||||||
|
|
||||||
<div class="menu-container">
|
|
||||||
<div class="menu">
|
|
||||||
<ul>
|
|
||||||
<li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
|
|
||||||
<li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
|
|
||||||
<li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
|
|
||||||
<li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
|
|
||||||
<li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
|
|
||||||
<li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
|
|
||||||
<li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
|
|
||||||
<li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
|
|
||||||
<li><a href="http://www.enlightenment.org/">Home</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="doxytitle">
|
|
||||||
$projectname Documentation <small>at $date</small>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="menu-container">
|
|
||||||
<div class="submenu">
|
|
||||||
<ul class="current">
|
|
||||||
<li><a href="pages.html">Tutorials</a></li>
|
|
||||||
<li><a href="group__Eio__Helper.html">Helper API</a></li>
|
|
||||||
<li><a href="group__Eio__Monitor.html">monitoring API</a></li>
|
|
||||||
<li><a href="group__Eio__Xattr.html">eXtended attribute API</a></li>
|
|
||||||
<li><a href="group__Eio__Eet.html">EET API</a></li>
|
|
||||||
<li><a href="group__Eio__Map.html">reading file API</a></li>
|
|
||||||
<li><a href="group__Eio__Group.html">Reference API</a></li>
|
|
||||||
<li class="current"><a href="index.html">Main Page</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="clear"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="content">
|
|
||||||
<div class="layout">
|
|
Before Width: | Height: | Size: 3.7 KiB |
|
@ -1,483 +0,0 @@
|
||||||
/*
|
|
||||||
* This file contain a custom doxygen style to match e.org graphics
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
|
|
||||||
font-family: Geneva, Arial, Helvetica, sans-serif;
|
|
||||||
}*/
|
|
||||||
BODY, TD {
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
H1 {
|
|
||||||
text-align: center;
|
|
||||||
font-size: 160%;
|
|
||||||
}
|
|
||||||
H2 {
|
|
||||||
font-size: 120%;
|
|
||||||
}
|
|
||||||
H3 {
|
|
||||||
font-size: 100%;
|
|
||||||
}
|
|
||||||
CAPTION {
|
|
||||||
font-weight: bold
|
|
||||||
}
|
|
||||||
DIV.qindex {
|
|
||||||
width: 100%;
|
|
||||||
background-color: #e8eef2;
|
|
||||||
border: 1px solid #84b0c7;
|
|
||||||
text-align: center;
|
|
||||||
margin: 2px;
|
|
||||||
padding: 2px;
|
|
||||||
line-height: 140%;
|
|
||||||
}
|
|
||||||
DIV.navpath {
|
|
||||||
width: 100%;
|
|
||||||
background-color: #e8eef2;
|
|
||||||
border: 1px solid #84b0c7;
|
|
||||||
text-align: center;
|
|
||||||
margin: 2px;
|
|
||||||
padding: 2px;
|
|
||||||
line-height: 140%;
|
|
||||||
}
|
|
||||||
DIV.navtab {
|
|
||||||
background-color: #e8eef2;
|
|
||||||
border: 1px solid #84b0c7;
|
|
||||||
text-align: center;
|
|
||||||
margin: 2px;
|
|
||||||
margin-right: 15px;
|
|
||||||
padding: 2px;
|
|
||||||
}
|
|
||||||
TD.navtab {
|
|
||||||
font-size: 70%;
|
|
||||||
}
|
|
||||||
A.qindex {
|
|
||||||
text-decoration: none;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #1A419D;
|
|
||||||
}
|
|
||||||
A.qindex:visited {
|
|
||||||
text-decoration: none;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #1A419D
|
|
||||||
}
|
|
||||||
A.qindex:hover {
|
|
||||||
text-decoration: none;
|
|
||||||
background-color: #ddddff;
|
|
||||||
}
|
|
||||||
A.qindexHL {
|
|
||||||
text-decoration: none;
|
|
||||||
font-weight: bold;
|
|
||||||
background-color: #6666cc;
|
|
||||||
color: #ffffff;
|
|
||||||
border: 1px double #9295C2;
|
|
||||||
}
|
|
||||||
A.qindexHL:hover {
|
|
||||||
text-decoration: none;
|
|
||||||
background-color: #6666cc;
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
A.qindexHL:visited {
|
|
||||||
text-decoration: none;
|
|
||||||
background-color: #6666cc;
|
|
||||||
color: #ffffff
|
|
||||||
}
|
|
||||||
A.el {
|
|
||||||
text-decoration: none;
|
|
||||||
font-weight: bold
|
|
||||||
}
|
|
||||||
A.elRef {
|
|
||||||
font-weight: bold
|
|
||||||
}
|
|
||||||
A.code:link {
|
|
||||||
text-decoration: none;
|
|
||||||
font-weight: normal;
|
|
||||||
color: #0000FF
|
|
||||||
}
|
|
||||||
A.code:visited {
|
|
||||||
text-decoration: none;
|
|
||||||
font-weight: normal;
|
|
||||||
color: #0000FF
|
|
||||||
}
|
|
||||||
A.codeRef:link {
|
|
||||||
font-weight: normal;
|
|
||||||
color: #0000FF
|
|
||||||
}
|
|
||||||
A.codeRef:visited {
|
|
||||||
font-weight: normal;
|
|
||||||
color: #0000FF
|
|
||||||
}
|
|
||||||
A:hover, A:visited:hover {
|
|
||||||
text-decoration: none;
|
|
||||||
/* background-color: #f2f2ff; */
|
|
||||||
color: #000055;
|
|
||||||
}
|
|
||||||
A.anchor {
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
DL.el {
|
|
||||||
margin-left: -1cm
|
|
||||||
}
|
|
||||||
.fragment {
|
|
||||||
font-family: monospace, fixed;
|
|
||||||
font-size: 95%;
|
|
||||||
}
|
|
||||||
PRE.fragment {
|
|
||||||
border: 1px solid #CCCCCC;
|
|
||||||
background-color: #f5f5f5;
|
|
||||||
margin-top: 4px;
|
|
||||||
margin-bottom: 4px;
|
|
||||||
margin-left: 2px;
|
|
||||||
margin-right: 8px;
|
|
||||||
padding-left: 6px;
|
|
||||||
padding-right: 6px;
|
|
||||||
padding-top: 4px;
|
|
||||||
padding-bottom: 4px;
|
|
||||||
}
|
|
||||||
DIV.ah {
|
|
||||||
background-color: black;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #ffffff;
|
|
||||||
margin-bottom: 3px;
|
|
||||||
margin-top: 3px
|
|
||||||
}
|
|
||||||
|
|
||||||
DIV.groupHeader {
|
|
||||||
margin-left: 16px;
|
|
||||||
margin-top: 12px;
|
|
||||||
margin-bottom: 6px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
DIV.groupText {
|
|
||||||
margin-left: 16px;
|
|
||||||
font-style: italic;
|
|
||||||
font-size: 90%
|
|
||||||
}
|
|
||||||
/*BODY {
|
|
||||||
background: white;
|
|
||||||
color: black;
|
|
||||||
margin-right: 20px;
|
|
||||||
margin-left: 20px;
|
|
||||||
}*/
|
|
||||||
TD.indexkey {
|
|
||||||
background-color: #e8eef2;
|
|
||||||
font-weight: bold;
|
|
||||||
padding-right : 10px;
|
|
||||||
padding-top : 2px;
|
|
||||||
padding-left : 10px;
|
|
||||||
padding-bottom : 2px;
|
|
||||||
margin-left : 0px;
|
|
||||||
margin-right : 0px;
|
|
||||||
margin-top : 2px;
|
|
||||||
margin-bottom : 2px;
|
|
||||||
border: 1px solid #CCCCCC;
|
|
||||||
}
|
|
||||||
TD.indexvalue {
|
|
||||||
background-color: #e8eef2;
|
|
||||||
font-style: italic;
|
|
||||||
padding-right : 10px;
|
|
||||||
padding-top : 2px;
|
|
||||||
padding-left : 10px;
|
|
||||||
padding-bottom : 2px;
|
|
||||||
margin-left : 0px;
|
|
||||||
margin-right : 0px;
|
|
||||||
margin-top : 2px;
|
|
||||||
margin-bottom : 2px;
|
|
||||||
border: 1px solid #CCCCCC;
|
|
||||||
}
|
|
||||||
TR.memlist {
|
|
||||||
background-color: #f0f0f0;
|
|
||||||
}
|
|
||||||
P.formulaDsp {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
IMG.formulaDsp {
|
|
||||||
}
|
|
||||||
IMG.formulaInl {
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
SPAN.keyword { color: #008000 }
|
|
||||||
SPAN.keywordtype { color: #604020 }
|
|
||||||
SPAN.keywordflow { color: #e08000 }
|
|
||||||
SPAN.comment { color: #800000 }
|
|
||||||
SPAN.preprocessor { color: #806020 }
|
|
||||||
SPAN.stringliteral { color: #002080 }
|
|
||||||
SPAN.charliteral { color: #008080 }
|
|
||||||
SPAN.vhdldigit { color: #ff00ff }
|
|
||||||
SPAN.vhdlchar { color: #000000 }
|
|
||||||
SPAN.vhdlkeyword { color: #700070 }
|
|
||||||
SPAN.vhdllogic { color: #ff0000 }
|
|
||||||
|
|
||||||
.mdescLeft {
|
|
||||||
padding: 0px 8px 4px 8px;
|
|
||||||
font-size: 80%;
|
|
||||||
font-style: italic;
|
|
||||||
background-color: #FAFAFA;
|
|
||||||
border-top: 1px none #E0E0E0;
|
|
||||||
border-right: 1px none #E0E0E0;
|
|
||||||
border-bottom: 1px none #E0E0E0;
|
|
||||||
border-left: 1px none #E0E0E0;
|
|
||||||
margin: 0px;
|
|
||||||
}
|
|
||||||
.mdescRight {
|
|
||||||
padding: 0px 8px 4px 8px;
|
|
||||||
font-size: 80%;
|
|
||||||
font-style: italic;
|
|
||||||
background-color: #FAFAFA;
|
|
||||||
border-top: 1px none #E0E0E0;
|
|
||||||
border-right: 1px none #E0E0E0;
|
|
||||||
border-bottom: 1px none #E0E0E0;
|
|
||||||
border-left: 1px none #E0E0E0;
|
|
||||||
margin: 0px;
|
|
||||||
}
|
|
||||||
.memItemLeft {
|
|
||||||
padding: 1px 0px 0px 8px;
|
|
||||||
margin: 4px;
|
|
||||||
border-top-width: 1px;
|
|
||||||
border-right-width: 1px;
|
|
||||||
border-bottom-width: 1px;
|
|
||||||
border-left-width: 1px;
|
|
||||||
border-top-color: #E0E0E0;
|
|
||||||
border-right-color: #E0E0E0;
|
|
||||||
border-bottom-color: #E0E0E0;
|
|
||||||
border-left-color: #E0E0E0;
|
|
||||||
border-top-style: solid;
|
|
||||||
border-right-style: none;
|
|
||||||
border-bottom-style: none;
|
|
||||||
border-left-style: none;
|
|
||||||
background-color: #FAFAFA;
|
|
||||||
font-size: 80%;
|
|
||||||
}
|
|
||||||
.memItemRight {
|
|
||||||
padding: 1px 8px 0px 8px;
|
|
||||||
margin: 4px;
|
|
||||||
border-top-width: 1px;
|
|
||||||
border-right-width: 1px;
|
|
||||||
border-bottom-width: 1px;
|
|
||||||
border-left-width: 1px;
|
|
||||||
border-top-color: #E0E0E0;
|
|
||||||
border-right-color: #E0E0E0;
|
|
||||||
border-bottom-color: #E0E0E0;
|
|
||||||
border-left-color: #E0E0E0;
|
|
||||||
border-top-style: solid;
|
|
||||||
border-right-style: none;
|
|
||||||
border-bottom-style: none;
|
|
||||||
border-left-style: none;
|
|
||||||
background-color: #FAFAFA;
|
|
||||||
font-size: 80%;
|
|
||||||
}
|
|
||||||
.memTemplItemLeft {
|
|
||||||
padding: 1px 0px 0px 8px;
|
|
||||||
margin: 4px;
|
|
||||||
border-top-width: 1px;
|
|
||||||
border-right-width: 1px;
|
|
||||||
border-bottom-width: 1px;
|
|
||||||
border-left-width: 1px;
|
|
||||||
border-top-color: #E0E0E0;
|
|
||||||
border-right-color: #E0E0E0;
|
|
||||||
border-bottom-color: #E0E0E0;
|
|
||||||
border-left-color: #E0E0E0;
|
|
||||||
border-top-style: none;
|
|
||||||
border-right-style: none;
|
|
||||||
border-bottom-style: none;
|
|
||||||
border-left-style: none;
|
|
||||||
background-color: #FAFAFA;
|
|
||||||
font-size: 80%;
|
|
||||||
}
|
|
||||||
.memTemplItemRight {
|
|
||||||
padding: 1px 8px 0px 8px;
|
|
||||||
margin: 4px;
|
|
||||||
border-top-width: 1px;
|
|
||||||
border-right-width: 1px;
|
|
||||||
border-bottom-width: 1px;
|
|
||||||
border-left-width: 1px;
|
|
||||||
border-top-color: #E0E0E0;
|
|
||||||
border-right-color: #E0E0E0;
|
|
||||||
border-bottom-color: #E0E0E0;
|
|
||||||
border-left-color: #E0E0E0;
|
|
||||||
border-top-style: none;
|
|
||||||
border-right-style: none;
|
|
||||||
border-bottom-style: none;
|
|
||||||
border-left-style: none;
|
|
||||||
background-color: #FAFAFA;
|
|
||||||
font-size: 80%;
|
|
||||||
}
|
|
||||||
.memTemplParams {
|
|
||||||
padding: 1px 0px 0px 8px;
|
|
||||||
margin: 4px;
|
|
||||||
border-top-width: 1px;
|
|
||||||
border-right-width: 1px;
|
|
||||||
border-bottom-width: 1px;
|
|
||||||
border-left-width: 1px;
|
|
||||||
border-top-color: #E0E0E0;
|
|
||||||
border-right-color: #E0E0E0;
|
|
||||||
border-bottom-color: #E0E0E0;
|
|
||||||
border-left-color: #E0E0E0;
|
|
||||||
border-top-style: solid;
|
|
||||||
border-right-style: none;
|
|
||||||
border-bottom-style: none;
|
|
||||||
border-left-style: none;
|
|
||||||
color: #606060;
|
|
||||||
background-color: #FAFAFA;
|
|
||||||
font-size: 80%;
|
|
||||||
}
|
|
||||||
.search {
|
|
||||||
color: #003399;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
FORM.search {
|
|
||||||
margin-bottom: 0px;
|
|
||||||
margin-top: 0px;
|
|
||||||
}
|
|
||||||
INPUT.search {
|
|
||||||
font-size: 75%;
|
|
||||||
color: #000080;
|
|
||||||
font-weight: normal;
|
|
||||||
background-color: #e8eef2;
|
|
||||||
}
|
|
||||||
TD.tiny {
|
|
||||||
font-size: 75%;
|
|
||||||
}
|
|
||||||
a {
|
|
||||||
color: #1A41A8;
|
|
||||||
}
|
|
||||||
a:visited {
|
|
||||||
color: #2A3798;
|
|
||||||
}
|
|
||||||
.dirtab {
|
|
||||||
padding: 4px;
|
|
||||||
border-collapse: collapse;
|
|
||||||
border: 1px solid #84b0c7;
|
|
||||||
}
|
|
||||||
TH.dirtab {
|
|
||||||
background: #e8eef2;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
HR {
|
|
||||||
height: 1px;
|
|
||||||
border: none;
|
|
||||||
border-top: 1px solid black;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Style for detailed member documentation */
|
|
||||||
.memtemplate {
|
|
||||||
font-size: 80%;
|
|
||||||
color: #606060;
|
|
||||||
font-weight: normal;
|
|
||||||
margin-left: 3px;
|
|
||||||
}
|
|
||||||
.memnav {
|
|
||||||
background-color: #e8eef2;
|
|
||||||
border: 1px solid #84b0c7;
|
|
||||||
text-align: center;
|
|
||||||
margin: 2px;
|
|
||||||
margin-right: 15px;
|
|
||||||
padding: 2px;
|
|
||||||
}
|
|
||||||
.memitem {
|
|
||||||
padding: 4px;
|
|
||||||
background-color: #eef3f5;
|
|
||||||
border-width: 1px;
|
|
||||||
border-style: solid;
|
|
||||||
border-color: #dedeee;
|
|
||||||
-moz-border-radius: 8px 8px 8px 8px;
|
|
||||||
}
|
|
||||||
.memname {
|
|
||||||
white-space: nowrap;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
.memdoc{
|
|
||||||
padding-left: 10px;
|
|
||||||
}
|
|
||||||
.memproto {
|
|
||||||
background-color: #d5e1e8;
|
|
||||||
width: 100%;
|
|
||||||
border-width: 1px;
|
|
||||||
border-style: solid;
|
|
||||||
border-color: #84b0c7;
|
|
||||||
font-weight: bold;
|
|
||||||
-moz-border-radius: 8px 8px 8px 8px;
|
|
||||||
}
|
|
||||||
.paramkey {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
.paramtype {
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
.paramname {
|
|
||||||
color: #602020;
|
|
||||||
font-style: italic;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
/* End Styling for detailed member documentation */
|
|
||||||
|
|
||||||
/* for the tree view */
|
|
||||||
.ftvtree {
|
|
||||||
font-family: sans-serif;
|
|
||||||
margin:0.5em;
|
|
||||||
}
|
|
||||||
/* these are for tree view when used as main index */
|
|
||||||
.directory {
|
|
||||||
font-size: 9pt;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
.directory h3 {
|
|
||||||
margin: 0px;
|
|
||||||
margin-top: 1em;
|
|
||||||
font-size: 11pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The following two styles can be used to replace the root node title */
|
|
||||||
/* with an image of your choice. Simply uncomment the next two styles, */
|
|
||||||
/* specify the name of your image and be sure to set 'height' to the */
|
|
||||||
/* proper pixel height of your image. */
|
|
||||||
|
|
||||||
/* .directory h3.swap { */
|
|
||||||
/* height: 61px; */
|
|
||||||
/* background-repeat: no-repeat; */
|
|
||||||
/* background-image: url("yourimage.gif"); */
|
|
||||||
/* } */
|
|
||||||
/* .directory h3.swap span { */
|
|
||||||
/* display: none; */
|
|
||||||
/* } */
|
|
||||||
|
|
||||||
.directory > h3 {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
.directory p {
|
|
||||||
margin: 0px;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
.directory div {
|
|
||||||
display: none;
|
|
||||||
margin: 0px;
|
|
||||||
}
|
|
||||||
.directory img {
|
|
||||||
vertical-align: -30%;
|
|
||||||
}
|
|
||||||
/* these are for tree view when not used as main index */
|
|
||||||
.directory-alt {
|
|
||||||
font-size: 100%;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
.directory-alt h3 {
|
|
||||||
margin: 0px;
|
|
||||||
margin-top: 1em;
|
|
||||||
font-size: 11pt;
|
|
||||||
}
|
|
||||||
.directory-alt > h3 {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
.directory-alt p {
|
|
||||||
margin: 0px;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
.directory-alt div {
|
|
||||||
display: none;
|
|
||||||
margin: 0px;
|
|
||||||
}
|
|
||||||
.directory-alt img {
|
|
||||||
vertical-align: -30%;
|
|
||||||
}
|
|
||||||
|
|
Before Width: | Height: | Size: 173 B |
Before Width: | Height: | Size: 214 B |
Before Width: | Height: | Size: 192 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 637 B |
Before Width: | Height: | Size: 1.6 KiB |
|
@ -1,60 +0,0 @@
|
||||||
%{!?_rel:%{expand:%%global _rel 0.enl%{?dist}}}
|
|
||||||
%define _missing_doc_files_terminate_build 0
|
|
||||||
|
|
||||||
Summary: Enlightenment Input/Output Library
|
|
||||||
Name: @PACKAGE@
|
|
||||||
Version: @VERSION@
|
|
||||||
Release: %{_rel}
|
|
||||||
License: LGPLv2.1
|
|
||||||
Group: System Environment/Libraries
|
|
||||||
Source: http://download.enlightenment.org/releases/%{name}-%{version}.tar.gz
|
|
||||||
Packager: %{?_packager:%{_packager}}%{!?_packager:Michael Jennings <mej@eterm.org>}
|
|
||||||
Vendor: %{?_vendorinfo:%{_vendorinfo}}%{!?_vendorinfo:The Enlightenment Project (http://www.enlightenment.org/)}
|
|
||||||
Distribution: %{?_distribution:%{_distribution}}%{!?_distribution:%{_vendor}}
|
|
||||||
URL: http://www.enlightenment.org/
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
|
||||||
|
|
||||||
%description
|
|
||||||
Enlightenment input/output library
|
|
||||||
|
|
||||||
%package devel
|
|
||||||
Summary: EIO headers, static libraries, documentation and test programs
|
|
||||||
Group: System Environment/Libraries
|
|
||||||
Requires: %{name} = %{version}
|
|
||||||
|
|
||||||
%description devel
|
|
||||||
Headers, static libraries, test programs and documentation for EIO
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q
|
|
||||||
|
|
||||||
%build
|
|
||||||
%{configure} --prefix=%{_prefix}
|
|
||||||
%{__make} %{?_smp_mflags} %{?mflags}
|
|
||||||
|
|
||||||
%install
|
|
||||||
%{__make} %{?mflags_install} DESTDIR=$RPM_BUILD_ROOT install
|
|
||||||
|
|
||||||
%clean
|
|
||||||
test "x$RPM_BUILD_ROOT" != "x/" && rm -rf $RPM_BUILD_ROOT
|
|
||||||
|
|
||||||
%post
|
|
||||||
/sbin/ldconfig
|
|
||||||
|
|
||||||
%postun
|
|
||||||
/sbin/ldconfig
|
|
||||||
|
|
||||||
%files
|
|
||||||
%defattr(-, root, root)
|
|
||||||
%doc AUTHORS COPYING README
|
|
||||||
%{_libdir}/*.so.*
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%defattr(-, root, root)
|
|
||||||
%{_includedir}/*
|
|
||||||
%{_libdir}/*.a
|
|
||||||
%{_libdir}/*.so
|
|
||||||
%{_libdir}/*.la
|
|
||||||
%{_libdir}/pkgconfig/*
|
|
||||||
|
|
||||||
%changelog
|
|
|
@ -1,46 +0,0 @@
|
||||||
dnl Copyright (C) 2004-2008 Kim Woelders
|
|
||||||
dnl Copyright (C) 2008 Vincent Torri <vtorri at univ-evry dot fr>
|
|
||||||
dnl That code is public domain and can be freely used or copied.
|
|
||||||
dnl Originally snatched from somewhere...
|
|
||||||
|
|
||||||
dnl Macro for checking if the compiler supports __attribute__
|
|
||||||
|
|
||||||
dnl Usage: AC_C___ATTRIBUTE__
|
|
||||||
dnl call AC_DEFINE for HAVE___ATTRIBUTE__ and __UNUSED__
|
|
||||||
dnl if the compiler supports __attribute__, HAVE___ATTRIBUTE__ is
|
|
||||||
dnl defined to 1 and __UNUSED__ is defined to __attribute__((unused))
|
|
||||||
dnl otherwise, HAVE___ATTRIBUTE__ is not defined and __UNUSED__ is
|
|
||||||
dnl defined to nothing.
|
|
||||||
|
|
||||||
AC_DEFUN([AC_C___ATTRIBUTE__],
|
|
||||||
[
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for __attribute__])
|
|
||||||
|
|
||||||
AC_CACHE_VAL([ac_cv___attribute__],
|
|
||||||
[AC_TRY_COMPILE(
|
|
||||||
[
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
int func(int x);
|
|
||||||
int foo(int x __attribute__ ((unused)))
|
|
||||||
{
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
],
|
|
||||||
[],
|
|
||||||
[ac_cv___attribute__="yes"],
|
|
||||||
[ac_cv___attribute__="no"]
|
|
||||||
)]
|
|
||||||
)
|
|
||||||
|
|
||||||
AC_MSG_RESULT($ac_cv___attribute__)
|
|
||||||
|
|
||||||
if test "x${ac_cv___attribute__}" = "xyes" ; then
|
|
||||||
AC_DEFINE([HAVE___ATTRIBUTE__], [1], [Define to 1 if your compiler has __attribute__])
|
|
||||||
AC_DEFINE([__UNUSED__], [__attribute__((unused))], [Macro declaring a function argument to be unused])
|
|
||||||
else
|
|
||||||
AC_DEFINE([__UNUSED__], [], [Macro declaring a function argument to be unused])
|
|
||||||
fi
|
|
||||||
|
|
||||||
])
|
|
|
@ -1,94 +0,0 @@
|
||||||
dnl Copyright (C) 2008 Vincent Torri <vtorri at univ-evry dot fr>
|
|
||||||
dnl That code is public domain and can be freely used or copied.
|
|
||||||
|
|
||||||
dnl Macro that check if doxygen is available or not.
|
|
||||||
|
|
||||||
dnl EFL_CHECK_DOXYGEN([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
|
||||||
dnl Test for the doxygen program
|
|
||||||
dnl Defines efl_doxygen
|
|
||||||
dnl Defines the automake conditionnal EFL_BUILD_DOC
|
|
||||||
dnl
|
|
||||||
AC_DEFUN([EFL_CHECK_DOXYGEN],
|
|
||||||
[
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl Disable the build of the documentation
|
|
||||||
dnl
|
|
||||||
AC_ARG_ENABLE([doc],
|
|
||||||
[AC_HELP_STRING(
|
|
||||||
[--disable-doc],
|
|
||||||
[Disable documentation build @<:@default=enabled@:>@])],
|
|
||||||
[
|
|
||||||
if test "x${enableval}" = "xyes" ; then
|
|
||||||
efl_enable_doc="yes"
|
|
||||||
else
|
|
||||||
efl_enable_doc="no"
|
|
||||||
fi
|
|
||||||
],
|
|
||||||
[efl_enable_doc="yes"])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether to build documentation])
|
|
||||||
AC_MSG_RESULT([${efl_enable_doc}])
|
|
||||||
|
|
||||||
if test "x${efl_enable_doc}" = "xyes" ; then
|
|
||||||
|
|
||||||
dnl Specify the file name, without path
|
|
||||||
|
|
||||||
efl_doxygen="doxygen"
|
|
||||||
|
|
||||||
AC_ARG_WITH([doxygen],
|
|
||||||
[AC_HELP_STRING(
|
|
||||||
[--with-doxygen=FILE],
|
|
||||||
[doxygen program to use @<:@default=doxygen@:>@])],
|
|
||||||
|
|
||||||
dnl Check the given doxygen program.
|
|
||||||
|
|
||||||
[efl_doxygen=${withval}
|
|
||||||
AC_CHECK_PROG([efl_have_doxygen],
|
|
||||||
[${efl_doxygen}],
|
|
||||||
[yes],
|
|
||||||
[no])
|
|
||||||
if test "x${efl_have_doxygen}" = "xno" ; then
|
|
||||||
echo "WARNING:"
|
|
||||||
echo "The doxygen program you specified:"
|
|
||||||
echo "${efl_doxygen}"
|
|
||||||
echo "was not found. Please check the path and make sure "
|
|
||||||
echo "the program exists and is executable."
|
|
||||||
AC_MSG_WARN([no doxygen detected. Documentation will not be built])
|
|
||||||
fi
|
|
||||||
],
|
|
||||||
[AC_CHECK_PROG([efl_have_doxygen],
|
|
||||||
[${efl_doxygen}],
|
|
||||||
[yes],
|
|
||||||
[no])
|
|
||||||
if test "x${efl_have_doxygen}" = "xno" ; then
|
|
||||||
echo "WARNING:"
|
|
||||||
echo "The doxygen program was not found in your execute path."
|
|
||||||
echo "You may have doxygen installed somewhere not covered by your path."
|
|
||||||
echo ""
|
|
||||||
echo "If this is the case make sure you have the packages installed, AND"
|
|
||||||
echo "that the doxygen program is in your execute path (see your"
|
|
||||||
echo "shell manual page on setting the \$PATH environment variable), OR"
|
|
||||||
echo "alternatively, specify the program to use with --with-doxygen."
|
|
||||||
AC_MSG_WARN([no doxygen detected. Documentation will not be built])
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
else
|
|
||||||
efl_have_doxygen="no"
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl Substitution
|
|
||||||
dnl
|
|
||||||
AC_SUBST([efl_doxygen])
|
|
||||||
|
|
||||||
if ! test "x${efl_have_doxygen}" = "xyes" ; then
|
|
||||||
efl_enable_doc="no"
|
|
||||||
fi
|
|
||||||
|
|
||||||
AM_CONDITIONAL(EFL_BUILD_DOC, test "x${efl_have_doxygen}" = "xyes")
|
|
||||||
|
|
||||||
AS_IF([test "x$efl_have_doxygen" = "xyes"], [$1], [$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl End of efl_doxygen.m4
|
|
|
@ -1,63 +0,0 @@
|
||||||
dnl Copyright (C) 2008 Vincent Torri <vtorri at univ-evry dot fr>
|
|
||||||
dnl That code is public domain and can be freely used or copied.
|
|
||||||
|
|
||||||
dnl Macro that check if building examples is wanted.
|
|
||||||
|
|
||||||
dnl Usage: EFL_CHECK_BUILD_EXAMPLES([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
|
||||||
dnl Defines the automake conditionnal EFL_ENABLE_BUILD_EXAMPLES
|
|
||||||
|
|
||||||
AC_DEFUN([EFL_CHECK_BUILD_EXAMPLES],
|
|
||||||
[
|
|
||||||
|
|
||||||
dnl configure option
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([build-examples],
|
|
||||||
[AC_HELP_STRING([--enable-build-examples], [enable building examples @<:@default=disabled@:>@])],
|
|
||||||
[
|
|
||||||
if test "x${enableval}" = "xyes" ; then
|
|
||||||
_efl_enable_build_examples="yes"
|
|
||||||
else
|
|
||||||
_efl_enable_build_examples="no"
|
|
||||||
fi
|
|
||||||
],
|
|
||||||
[_efl_enable_build_examples="no"])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether examples are built])
|
|
||||||
AC_MSG_RESULT([${_efl_enable_build_examples}])
|
|
||||||
|
|
||||||
AM_CONDITIONAL(EFL_BUILD_EXAMPLES, test "x${_efl_enable_build_examples}" = "xyes")
|
|
||||||
|
|
||||||
AS_IF([test "x$_efl_enable_build_examples" = "xyes"], [$1], [$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
|
|
||||||
dnl Macro that check if installing examples is wanted.
|
|
||||||
|
|
||||||
dnl Usage: EFL_CHECK_INSTALL_EXAMPLES([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
|
||||||
dnl Defines the automake conditionnal EFL_ENABLE_INSTALL_EXAMPLES
|
|
||||||
|
|
||||||
AC_DEFUN([EFL_CHECK_INSTALL_EXAMPLES],
|
|
||||||
[
|
|
||||||
|
|
||||||
dnl configure option
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([install-examples],
|
|
||||||
[AC_HELP_STRING([--enable-install-examples], [enable installing example source files @<:@default=disabled@:>@])],
|
|
||||||
[
|
|
||||||
if test "x${enableval}" = "xyes" ; then
|
|
||||||
_efl_enable_install_examples="yes"
|
|
||||||
else
|
|
||||||
_efl_enable_install_examples="no"
|
|
||||||
fi
|
|
||||||
],
|
|
||||||
[_efl_enable_install_examples="no"])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether examples are installed])
|
|
||||||
AC_MSG_RESULT([${_efl_enable_install_examples}])
|
|
||||||
|
|
||||||
AM_CONDITIONAL(EFL_INSTALL_EXAMPLES, test "x${_efl_enable_install_examples}" = "xyes")
|
|
||||||
|
|
||||||
AS_IF([test "x$_efl_enable_install_examples" = "xyes"], [$1], [$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl End of efl_examples.m4
|
|
|
@ -1,36 +0,0 @@
|
||||||
dnl Check for PATH_MAX in limits.h, and define a default value if not found
|
|
||||||
dnl This is a workaround for systems not providing PATH_MAX, like GNU/Hurd
|
|
||||||
|
|
||||||
dnl EFL_CHECK_PATH_MAX([DEFAULT_VALUE_IF_NOT_FOUND])
|
|
||||||
dnl
|
|
||||||
dnl If PATH_MAX is not defined in <limits.h>, defines it
|
|
||||||
dnl to DEFAULT_VALUE_IF_NOT_FOUND if it exists, or fallback
|
|
||||||
dnl to using 4096
|
|
||||||
|
|
||||||
AC_DEFUN([EFL_CHECK_PATH_MAX],
|
|
||||||
[
|
|
||||||
|
|
||||||
default_max=m4_default([$1], "4096")
|
|
||||||
AC_LANG_PUSH([C])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for PATH_MAX in limits.h])
|
|
||||||
AC_COMPILE_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM(
|
|
||||||
[[
|
|
||||||
#include <limits.h>
|
|
||||||
]],
|
|
||||||
[[
|
|
||||||
int i = PATH_MAX;
|
|
||||||
]])],
|
|
||||||
[AC_MSG_RESULT([yes])],
|
|
||||||
[
|
|
||||||
AC_DEFINE_UNQUOTED([PATH_MAX],
|
|
||||||
[${default_max}],
|
|
||||||
[default value since PATH_MAX is not defined])
|
|
||||||
AC_MSG_RESULT([no: using ${default_max}])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_LANG_POP([C])
|
|
||||||
|
|
||||||
])
|
|
||||||
dnl end of efl_path_max.m4
|
|
|
@ -1,206 +0,0 @@
|
||||||
dnl Copyright (C) 2010 Vincent Torri <vtorri at univ-evry dot fr>
|
|
||||||
dnl rwlock code added by Mike Blumenkrantz <mike at zentific dot com>
|
|
||||||
dnl This code is public domain and can be freely used or copied.
|
|
||||||
|
|
||||||
dnl Macro that check if POSIX or Win32 threads library is available or not.
|
|
||||||
|
|
||||||
dnl Usage: EFL_CHECK_THREADS(ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
|
|
||||||
dnl Call AC_SUBST(EFL_PTHREAD_CFLAGS)
|
|
||||||
dnl Call AC_SUBST(EFL_PTHREAD_LIBS)
|
|
||||||
dnl Defines EFL_HAVE_POSIX_THREADS or EFL_HAVE_WIN32_THREADS, and EFL_HAVE_THREADS
|
|
||||||
|
|
||||||
AC_DEFUN([EFL_CHECK_THREADS],
|
|
||||||
[
|
|
||||||
|
|
||||||
dnl configure option
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([posix-threads],
|
|
||||||
[AC_HELP_STRING([--disable-posix-threads], [enable POSIX threads code @<:@default=auto@:>@])],
|
|
||||||
[
|
|
||||||
if test "x${enableval}" = "xyes" ; then
|
|
||||||
_efl_enable_posix_threads="yes"
|
|
||||||
else
|
|
||||||
_efl_enable_posix_threads="no"
|
|
||||||
fi
|
|
||||||
],
|
|
||||||
[_efl_enable_posix_threads="auto"])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether to build POSIX threads code])
|
|
||||||
AC_MSG_RESULT([${_efl_enable_posix_threads}])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([win32-threads],
|
|
||||||
[AC_HELP_STRING([--disable-win32-threads], [enable Win32 threads code @<:@default=no@:>@])],
|
|
||||||
[
|
|
||||||
if test "x${enableval}" = "xyes" ; then
|
|
||||||
_efl_enable_win32_threads="yes"
|
|
||||||
else
|
|
||||||
_efl_enable_win32_threads="no"
|
|
||||||
fi
|
|
||||||
],
|
|
||||||
[_efl_enable_win32_threads="no"])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether to build Windows threads code])
|
|
||||||
AC_MSG_RESULT([${_efl_enable_win32_threads}])
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl * no + no
|
|
||||||
dnl * yes + no : win32: error, other : pthread
|
|
||||||
dnl * yes + yes : win32 : wthread, other : pthread
|
|
||||||
dnl * no + yes : win32 : wthread, other : error
|
|
||||||
|
|
||||||
if test "x${_efl_enable_posix_threads}" = "xyes" && test "x${_efl_enable_win32_threads}" = "xyes" ; then
|
|
||||||
case "$host_os" in
|
|
||||||
mingw*)
|
|
||||||
_efl_enable_posix_threads=no
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
_efl_enable_win32_threads=no
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${_efl_enable_win32_threads}" = "xyes" ; then
|
|
||||||
case "$host_os" in
|
|
||||||
mingw*)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
AC_MSG_ERROR([Win32 threads support requested but non Windows system found.])
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${_efl_enable_posix_threads}" = "xyes" ; then
|
|
||||||
case "$host_os" in
|
|
||||||
mingw*)
|
|
||||||
AC_MSG_ERROR([POSIX threads support requested but Windows system found.])
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl check if the compiler supports POSIX threads
|
|
||||||
|
|
||||||
case "$host_os" in
|
|
||||||
mingw*)
|
|
||||||
;;
|
|
||||||
solaris*)
|
|
||||||
_efl_threads_cflags="-mt"
|
|
||||||
_efl_threads_libs="-mt"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
_efl_threads_cflags="-pthread"
|
|
||||||
_efl_threads_libs="-pthread"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
_efl_have_posix_threads="no"
|
|
||||||
_efl_have_win32_threads="no"
|
|
||||||
|
|
||||||
if test "x${_efl_enable_posix_threads}" = "xyes" || test "x${_efl_enable_posix_threads}" = "xauto" ; then
|
|
||||||
|
|
||||||
SAVE_CFLAGS=${CFLAGS}
|
|
||||||
CFLAGS="${CFLAGS} ${_efl_threads_cflags}"
|
|
||||||
SAVE_LIBS=${LIBS}
|
|
||||||
LIBS="${LIBS} ${_efl_threads_libs}"
|
|
||||||
AC_LINK_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM([[
|
|
||||||
#include <pthread.h>
|
|
||||||
]],
|
|
||||||
[[
|
|
||||||
pthread_t id;
|
|
||||||
id = pthread_self();
|
|
||||||
]])],
|
|
||||||
[_efl_have_posix_threads="yes"],
|
|
||||||
[_efl_have_posix_threads="no"])
|
|
||||||
CFLAGS=${SAVE_CFLAGS}
|
|
||||||
LIBS=${SAVE_LIBS}
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether system support POSIX threads])
|
|
||||||
AC_MSG_RESULT([${_efl_have_posix_threads}])
|
|
||||||
if test "$x{_efl_enable_posix_threads}" = "xyes" && test "x${_efl_have_posix_threads}" = "xno"; then
|
|
||||||
AC_MSG_ERROR([POSIX threads support requested but not found.])
|
|
||||||
fi
|
|
||||||
|
|
||||||
EFL_PTHREAD_CFLAGS=""
|
|
||||||
EFL_PTHREAD_LIBS=""
|
|
||||||
if test "x${_efl_have_posix_threads}" = "xyes" ; then
|
|
||||||
EFL_PTHREAD_CFLAGS=${_efl_threads_cflags}
|
|
||||||
EFL_PTHREAD_LIBS=${_efl_threads_libs}
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_SUBST(EFL_PTHREAD_CFLAGS)
|
|
||||||
AC_SUBST(EFL_PTHREAD_LIBS)
|
|
||||||
|
|
||||||
_efl_enable_debug_threads="no"
|
|
||||||
AC_ARG_ENABLE([debug-threads],
|
|
||||||
[AC_HELP_STRING([--enable-debug-threads], [disable assert when you forgot to call eina_threads_init])],
|
|
||||||
[_efl_enable_debug_threads="${enableval}"])
|
|
||||||
|
|
||||||
have_debug_threads="no"
|
|
||||||
if test "x${_efl_have_posix_threads}" = "xyes" -a "x${_efl_enable_debug_threads}" = "xyes"; then
|
|
||||||
have_debug_threads="yes"
|
|
||||||
AC_DEFINE([EFL_DEBUG_THREADS], [1], [Assert when forgot to call eina_threads_init])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${_efl_have_posix_threads}" = "xyes" ; then
|
|
||||||
AC_DEFINE([EFL_HAVE_POSIX_THREADS], [1], [Define to mention that POSIX threads are supported])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${_efl_enable_win32_threads}" = "xyes" ; then
|
|
||||||
_efl_have_win32_threads="yes"
|
|
||||||
AC_DEFINE([EFL_HAVE_WIN32_THREADS], [1], [Define to mention that Win32 threads are supported])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${_efl_have_posix_threads}" = "xyes" || test "x${_efl_have_win32_threads}" = "xyes" ; then
|
|
||||||
AC_DEFINE([EFL_HAVE_THREADS], [1], [Define to mention that POSIX or Win32 threads are supported])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AS_IF([test "x$_efl_have_posix_threads" = "xyes" || test "x$_efl_have_win32_threads" = "xyes"], [$1], [$2])
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl Usage: EFL_CHECK_SPINLOCK(ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
|
|
||||||
dnl Defines EFL_HAVE_POSIX_THREADS_SPINLOCK
|
|
||||||
AC_DEFUN([EFL_CHECK_SPINLOCK],
|
|
||||||
[
|
|
||||||
|
|
||||||
dnl check if the compiler supports pthreads spinlock
|
|
||||||
|
|
||||||
_efl_have_posix_threads_spinlock="no"
|
|
||||||
|
|
||||||
if test "x${_efl_have_posix_threads}" = "xyes" ; then
|
|
||||||
|
|
||||||
SAVE_CFLAGS=${CFLAGS}
|
|
||||||
CFLAGS="${CFLAGS} ${EFL_PTHREAD_CFLAGS}"
|
|
||||||
SAVE_LIBS=${LIBS}
|
|
||||||
LIBS="${LIBS} ${EFL_PTHREAD_LIBS}"
|
|
||||||
AC_LINK_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM([[
|
|
||||||
#include <pthread.h>
|
|
||||||
]],
|
|
||||||
[[
|
|
||||||
pthread_spinlock_t lock;
|
|
||||||
int res;
|
|
||||||
res = pthread_spin_init(&lock, PTHREAD_PROCESS_PRIVATE);
|
|
||||||
]])],
|
|
||||||
[_efl_have_posix_threads_spinlock="yes"],
|
|
||||||
[_efl_have_posix_threads_spinlock="no"])
|
|
||||||
CFLAGS=${SAVE_CFLAGS}
|
|
||||||
LIBS=${SAVE_LIBS}
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether to build POSIX threads spinlock code])
|
|
||||||
AC_MSG_RESULT([${_efl_have_posix_threads_spinlock}])
|
|
||||||
if test "x${_efl_enable_posix_threads}" = "xyes" && test "x${_efl_have_posix_threads_spinlock}" = "xno" ; then
|
|
||||||
AC_MSG_WARN([POSIX threads support requested but spinlocks are not supported])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${_efl_have_posix_threads_spinlock}" = "xyes" ; then
|
|
||||||
AC_DEFINE([EFL_HAVE_POSIX_THREADS_SPINLOCK], [1], [Define to mention that POSIX threads spinlocks are supported])
|
|
||||||
fi
|
|
||||||
AS_IF([test "x$_efl_have_posix_threads_spinlock" = "xyes"], [$1], [$2])
|
|
||||||
])
|
|
||||||
|
|
|
@ -1,86 +0,0 @@
|
||||||
dnl use: EIO_CHECK_INOTIFY(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
|
|
||||||
AC_DEFUN([EIO_CHECK_INOTIFY],
|
|
||||||
[
|
|
||||||
_eio_want_inotify=$1
|
|
||||||
_eio_have_inotify="no"
|
|
||||||
|
|
||||||
dnl We need to check if the right inotify version is accessible
|
|
||||||
_eio_want_inotify="yes"
|
|
||||||
AC_ARG_ENABLE(inotify,
|
|
||||||
[AC_HELP_STRING([--disable-inotify], [disable inotify])],
|
|
||||||
[
|
|
||||||
if test "x${enableval}" = "xyes" ; then
|
|
||||||
_eio_want_inotify="yes"
|
|
||||||
else
|
|
||||||
_eio_want_inotify="no"
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(whether inotify is to be used for filemonitoring)
|
|
||||||
AC_MSG_RESULT($_eio_want_inotify)
|
|
||||||
|
|
||||||
dnl It is hard to find a good test on how to check the correct
|
|
||||||
dnl inotify version. They changed the headers a lot.
|
|
||||||
dnl in kernel 2.6.13 __NR_inotify_init was added to the defined syscalls
|
|
||||||
dnl in asm/unistd.h and IN_MOVE_SELF was added to linux/inotify.h
|
|
||||||
dnl so with this check you need a very new kernel and kernel-headers!
|
|
||||||
|
|
||||||
if test "x${_eio_want_inotify}" = "xyes" ; then
|
|
||||||
AC_CHECK_LIB([c], [inotify_init],
|
|
||||||
[
|
|
||||||
AC_DEFINE(HAVE_INOTIFY, 1, [ File monitoring with Inotify ])
|
|
||||||
AC_DEFINE(HAVE_SYS_INOTIFY, 1, [ File monitoring with Inotify - sys/inotify.h ])
|
|
||||||
_eio_have_inotify="yes"
|
|
||||||
],
|
|
||||||
[
|
|
||||||
AC_TRY_COMPILE(
|
|
||||||
[
|
|
||||||
#include <asm/unistd.h>
|
|
||||||
#include <linux/inotify.h>
|
|
||||||
],
|
|
||||||
[int a = __NR_inotify_init; int b = IN_MOVE_SELF;],
|
|
||||||
[
|
|
||||||
AC_DEFINE([HAVE_INOTIFY], [1], [ File monitoring with Inotify ])
|
|
||||||
_eio_have_inotify="yes"
|
|
||||||
],
|
|
||||||
[_eio_have_inotify="no"])
|
|
||||||
])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$_eio_have_inotify" = "xyes" ; then
|
|
||||||
m4_default([$2], [:])
|
|
||||||
else
|
|
||||||
m4_default([$3], [:])
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl use: EIO_CHECK_NOTIFY_WIN32(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
|
|
||||||
AC_DEFUN([EIO_CHECK_NOTIFY_WIN32],
|
|
||||||
[
|
|
||||||
_eio_want_notify_win32=$1
|
|
||||||
_eio_have_notify_win32="no"
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(notify-win32,
|
|
||||||
[AC_HELP_STRING([--disable-notify-win32], [disable Windows notification])],
|
|
||||||
[
|
|
||||||
if test "x${enableval}" = "xyes" ; then
|
|
||||||
_eio_want_notify_win32="yes"
|
|
||||||
else
|
|
||||||
_eio_want_notify_win32="no"
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(whether Windows notification is to be used for filemonitoring)
|
|
||||||
AC_MSG_RESULT(${_eio_want_notify_win32})
|
|
||||||
|
|
||||||
if test "x${_eio_want_notify_win32}" = "xyes" ; then
|
|
||||||
AC_DEFINE([HAVE_NOTIFY_WIN32], [1], [ File monitoring with Windows notification ])
|
|
||||||
_eio_have_notify_win32="yes"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${_eio_have_notify_win32}" = "xyes" ; then
|
|
||||||
m4_default([$2], [:])
|
|
||||||
else
|
|
||||||
m4_default([$3], [:])
|
|
||||||
fi
|
|
||||||
])
|
|
|
@ -1,4 +0,0 @@
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
||||||
|
|
||||||
SUBDIRS = lib \
|
|
||||||
examples
|
|
|
@ -1,30 +0,0 @@
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
||||||
|
|
||||||
examplesdir = $(datadir)/$(PACKAGE)/examples
|
|
||||||
|
|
||||||
filesdir = $(datadir)/$(PACKAGE)/examples
|
|
||||||
files_DATA =
|
|
||||||
|
|
||||||
AM_CPPFLAGS = \
|
|
||||||
-I. \
|
|
||||||
-I$(top_srcdir)/src/lib/ \
|
|
||||||
@EIO_CFLAGS@
|
|
||||||
|
|
||||||
ECOREBASELDADD = \
|
|
||||||
$(top_builddir)/src/lib/libeio.la \
|
|
||||||
@EIO_LIBS@
|
|
||||||
|
|
||||||
|
|
||||||
LDADD = \
|
|
||||||
$(ECOREBASELDADD)
|
|
||||||
|
|
||||||
SRCS = \
|
|
||||||
eio_file_ls.c
|
|
||||||
|
|
||||||
examples_PROGRAMS =
|
|
||||||
|
|
||||||
if EFL_BUILD_EXAMPLES
|
|
||||||
examples_PROGRAMS += \
|
|
||||||
eio_file_ls
|
|
||||||
|
|
||||||
endif
|
|
|
@ -1,34 +0,0 @@
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
||||||
|
|
||||||
AM_CPPFLAGS = @EIO_CFLAGS@ \
|
|
||||||
@EFL_PTHREAD_CFLAGS@ \
|
|
||||||
-DEFL_EIO_BUILD
|
|
||||||
|
|
||||||
lib_LTLIBRARIES = libeio.la
|
|
||||||
|
|
||||||
includes_HEADERS = Eio.h eio_inline_helper.x
|
|
||||||
includesdir = $(includedir)/eio-@VMAJ@
|
|
||||||
|
|
||||||
libeio_la_SOURCES = \
|
|
||||||
eio_dir.c \
|
|
||||||
eio_eet.c \
|
|
||||||
eio_file.c \
|
|
||||||
eio_main.c \
|
|
||||||
eio_map.c \
|
|
||||||
eio_monitor.c \
|
|
||||||
eio_monitor_poll.c \
|
|
||||||
eio_single.c \
|
|
||||||
eio_xattr.c
|
|
||||||
|
|
||||||
if EIO_HAVE_INOTIFY
|
|
||||||
libeio_la_SOURCES += eio_monitor_inotify.c
|
|
||||||
else
|
|
||||||
if EIO_HAVE_WINCHANGE
|
|
||||||
libeio_la_SOURCES += eio_monitor_win32.c
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
libeio_la_LIBADD = @EIO_LIBS@ @EFL_PTHREAD_LIBS@
|
|
||||||
libeio_la_LDFLAGS = -no-undefined -version-info @version_info@ @release_info@
|
|
||||||
|
|
||||||
EXTRA_DIST = eio_private.h
|
|
|
@ -1,3 +0,0 @@
|
||||||
Author:
|
|
||||||
Youness Alaoui (KaKaRoTo)
|
|
||||||
(With some code copied from Evil)
|
|
|
@ -1,674 +0,0 @@
|
||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
Version 3, 29 June 2007
|
|
||||||
|
|
||||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
|
||||||
of this license document, but changing it is not allowed.
|
|
||||||
|
|
||||||
Preamble
|
|
||||||
|
|
||||||
The GNU General Public License is a free, copyleft license for
|
|
||||||
software and other kinds of works.
|
|
||||||
|
|
||||||
The licenses for most software and other practical works are designed
|
|
||||||
to take away your freedom to share and change the works. By contrast,
|
|
||||||
the GNU General Public License is intended to guarantee your freedom to
|
|
||||||
share and change all versions of a program--to make sure it remains free
|
|
||||||
software for all its users. We, the Free Software Foundation, use the
|
|
||||||
GNU General Public License for most of our software; it applies also to
|
|
||||||
any other work released this way by its authors. You can apply it to
|
|
||||||
your programs, 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
|
|
||||||
them 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 prevent others from denying you
|
|
||||||
these rights or asking you to surrender the rights. Therefore, you have
|
|
||||||
certain responsibilities if you distribute copies of the software, or if
|
|
||||||
you modify it: responsibilities to respect the freedom of others.
|
|
||||||
|
|
||||||
For example, if you distribute copies of such a program, whether
|
|
||||||
gratis or for a fee, you must pass on to the recipients the same
|
|
||||||
freedoms that you received. You must make sure that they, too, receive
|
|
||||||
or can get the source code. And you must show them these terms so they
|
|
||||||
know their rights.
|
|
||||||
|
|
||||||
Developers that use the GNU GPL protect your rights with two steps:
|
|
||||||
(1) assert copyright on the software, and (2) offer you this License
|
|
||||||
giving you legal permission to copy, distribute and/or modify it.
|
|
||||||
|
|
||||||
For the developers' and authors' protection, the GPL clearly explains
|
|
||||||
that there is no warranty for this free software. For both users' and
|
|
||||||
authors' sake, the GPL requires that modified versions be marked as
|
|
||||||
changed, so that their problems will not be attributed erroneously to
|
|
||||||
authors of previous versions.
|
|
||||||
|
|
||||||
Some devices are designed to deny users access to install or run
|
|
||||||
modified versions of the software inside them, although the manufacturer
|
|
||||||
can do so. This is fundamentally incompatible with the aim of
|
|
||||||
protecting users' freedom to change the software. The systematic
|
|
||||||
pattern of such abuse occurs in the area of products for individuals to
|
|
||||||
use, which is precisely where it is most unacceptable. Therefore, we
|
|
||||||
have designed this version of the GPL to prohibit the practice for those
|
|
||||||
products. If such problems arise substantially in other domains, we
|
|
||||||
stand ready to extend this provision to those domains in future versions
|
|
||||||
of the GPL, as needed to protect the freedom of users.
|
|
||||||
|
|
||||||
Finally, every program is threatened constantly by software patents.
|
|
||||||
States should not allow patents to restrict development and use of
|
|
||||||
software on general-purpose computers, but in those that do, we wish to
|
|
||||||
avoid the special danger that patents applied to a free program could
|
|
||||||
make it effectively proprietary. To prevent this, the GPL assures that
|
|
||||||
patents cannot be used to render the program non-free.
|
|
||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
|
||||||
modification follow.
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
0. Definitions.
|
|
||||||
|
|
||||||
"This License" refers to version 3 of the GNU General Public License.
|
|
||||||
|
|
||||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
|
||||||
works, such as semiconductor masks.
|
|
||||||
|
|
||||||
"The Program" refers to any copyrightable work licensed under this
|
|
||||||
License. Each licensee is addressed as "you". "Licensees" and
|
|
||||||
"recipients" may be individuals or organizations.
|
|
||||||
|
|
||||||
To "modify" a work means to copy from or adapt all or part of the work
|
|
||||||
in a fashion requiring copyright permission, other than the making of an
|
|
||||||
exact copy. The resulting work is called a "modified version" of the
|
|
||||||
earlier work or a work "based on" the earlier work.
|
|
||||||
|
|
||||||
A "covered work" means either the unmodified Program or a work based
|
|
||||||
on the Program.
|
|
||||||
|
|
||||||
To "propagate" a work means to do anything with it that, without
|
|
||||||
permission, would make you directly or secondarily liable for
|
|
||||||
infringement under applicable copyright law, except executing it on a
|
|
||||||
computer or modifying a private copy. Propagation includes copying,
|
|
||||||
distribution (with or without modification), making available to the
|
|
||||||
public, and in some countries other activities as well.
|
|
||||||
|
|
||||||
To "convey" a work means any kind of propagation that enables other
|
|
||||||
parties to make or receive copies. Mere interaction with a user through
|
|
||||||
a computer network, with no transfer of a copy, is not conveying.
|
|
||||||
|
|
||||||
An interactive user interface displays "Appropriate Legal Notices"
|
|
||||||
to the extent that it includes a convenient and prominently visible
|
|
||||||
feature that (1) displays an appropriate copyright notice, and (2)
|
|
||||||
tells the user that there is no warranty for the work (except to the
|
|
||||||
extent that warranties are provided), that licensees may convey the
|
|
||||||
work under this License, and how to view a copy of this License. If
|
|
||||||
the interface presents a list of user commands or options, such as a
|
|
||||||
menu, a prominent item in the list meets this criterion.
|
|
||||||
|
|
||||||
1. Source Code.
|
|
||||||
|
|
||||||
The "source code" for a work means the preferred form of the work
|
|
||||||
for making modifications to it. "Object code" means any non-source
|
|
||||||
form of a work.
|
|
||||||
|
|
||||||
A "Standard Interface" means an interface that either is an official
|
|
||||||
standard defined by a recognized standards body, or, in the case of
|
|
||||||
interfaces specified for a particular programming language, one that
|
|
||||||
is widely used among developers working in that language.
|
|
||||||
|
|
||||||
The "System Libraries" of an executable work include anything, other
|
|
||||||
than the work as a whole, that (a) is included in the normal form of
|
|
||||||
packaging a Major Component, but which is not part of that Major
|
|
||||||
Component, and (b) serves only to enable use of the work with that
|
|
||||||
Major Component, or to implement a Standard Interface for which an
|
|
||||||
implementation is available to the public in source code form. A
|
|
||||||
"Major Component", in this context, means a major essential component
|
|
||||||
(kernel, window system, and so on) of the specific operating system
|
|
||||||
(if any) on which the executable work runs, or a compiler used to
|
|
||||||
produce the work, or an object code interpreter used to run it.
|
|
||||||
|
|
||||||
The "Corresponding Source" for a work in object code form means all
|
|
||||||
the source code needed to generate, install, and (for an executable
|
|
||||||
work) run the object code and to modify the work, including scripts to
|
|
||||||
control those activities. However, it does not include the work's
|
|
||||||
System Libraries, or general-purpose tools or generally available free
|
|
||||||
programs which are used unmodified in performing those activities but
|
|
||||||
which are not part of the work. For example, Corresponding Source
|
|
||||||
includes interface definition files associated with source files for
|
|
||||||
the work, and the source code for shared libraries and dynamically
|
|
||||||
linked subprograms that the work is specifically designed to require,
|
|
||||||
such as by intimate data communication or control flow between those
|
|
||||||
subprograms and other parts of the work.
|
|
||||||
|
|
||||||
The Corresponding Source need not include anything that users
|
|
||||||
can regenerate automatically from other parts of the Corresponding
|
|
||||||
Source.
|
|
||||||
|
|
||||||
The Corresponding Source for a work in source code form is that
|
|
||||||
same work.
|
|
||||||
|
|
||||||
2. Basic Permissions.
|
|
||||||
|
|
||||||
All rights granted under this License are granted for the term of
|
|
||||||
copyright on the Program, and are irrevocable provided the stated
|
|
||||||
conditions are met. This License explicitly affirms your unlimited
|
|
||||||
permission to run the unmodified Program. The output from running a
|
|
||||||
covered work is covered by this License only if the output, given its
|
|
||||||
content, constitutes a covered work. This License acknowledges your
|
|
||||||
rights of fair use or other equivalent, as provided by copyright law.
|
|
||||||
|
|
||||||
You may make, run and propagate covered works that you do not
|
|
||||||
convey, without conditions so long as your license otherwise remains
|
|
||||||
in force. You may convey covered works to others for the sole purpose
|
|
||||||
of having them make modifications exclusively for you, or provide you
|
|
||||||
with facilities for running those works, provided that you comply with
|
|
||||||
the terms of this License in conveying all material for which you do
|
|
||||||
not control copyright. Those thus making or running the covered works
|
|
||||||
for you must do so exclusively on your behalf, under your direction
|
|
||||||
and control, on terms that prohibit them from making any copies of
|
|
||||||
your copyrighted material outside their relationship with you.
|
|
||||||
|
|
||||||
Conveying under any other circumstances is permitted solely under
|
|
||||||
the conditions stated below. Sublicensing is not allowed; section 10
|
|
||||||
makes it unnecessary.
|
|
||||||
|
|
||||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
|
||||||
|
|
||||||
No covered work shall be deemed part of an effective technological
|
|
||||||
measure under any applicable law fulfilling obligations under article
|
|
||||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
|
||||||
similar laws prohibiting or restricting circumvention of such
|
|
||||||
measures.
|
|
||||||
|
|
||||||
When you convey a covered work, you waive any legal power to forbid
|
|
||||||
circumvention of technological measures to the extent such circumvention
|
|
||||||
is effected by exercising rights under this License with respect to
|
|
||||||
the covered work, and you disclaim any intention to limit operation or
|
|
||||||
modification of the work as a means of enforcing, against the work's
|
|
||||||
users, your or third parties' legal rights to forbid circumvention of
|
|
||||||
technological measures.
|
|
||||||
|
|
||||||
4. Conveying Verbatim Copies.
|
|
||||||
|
|
||||||
You may convey verbatim copies of the Program's source code as you
|
|
||||||
receive it, in any medium, provided that you conspicuously and
|
|
||||||
appropriately publish on each copy an appropriate copyright notice;
|
|
||||||
keep intact all notices stating that this License and any
|
|
||||||
non-permissive terms added in accord with section 7 apply to the code;
|
|
||||||
keep intact all notices of the absence of any warranty; and give all
|
|
||||||
recipients a copy of this License along with the Program.
|
|
||||||
|
|
||||||
You may charge any price or no price for each copy that you convey,
|
|
||||||
and you may offer support or warranty protection for a fee.
|
|
||||||
|
|
||||||
5. Conveying Modified Source Versions.
|
|
||||||
|
|
||||||
You may convey a work based on the Program, or the modifications to
|
|
||||||
produce it from the Program, in the form of source code under the
|
|
||||||
terms of section 4, provided that you also meet all of these conditions:
|
|
||||||
|
|
||||||
a) The work must carry prominent notices stating that you modified
|
|
||||||
it, and giving a relevant date.
|
|
||||||
|
|
||||||
b) The work must carry prominent notices stating that it is
|
|
||||||
released under this License and any conditions added under section
|
|
||||||
7. This requirement modifies the requirement in section 4 to
|
|
||||||
"keep intact all notices".
|
|
||||||
|
|
||||||
c) You must license the entire work, as a whole, under this
|
|
||||||
License to anyone who comes into possession of a copy. This
|
|
||||||
License will therefore apply, along with any applicable section 7
|
|
||||||
additional terms, to the whole of the work, and all its parts,
|
|
||||||
regardless of how they are packaged. This License gives no
|
|
||||||
permission to license the work in any other way, but it does not
|
|
||||||
invalidate such permission if you have separately received it.
|
|
||||||
|
|
||||||
d) If the work has interactive user interfaces, each must display
|
|
||||||
Appropriate Legal Notices; however, if the Program has interactive
|
|
||||||
interfaces that do not display Appropriate Legal Notices, your
|
|
||||||
work need not make them do so.
|
|
||||||
|
|
||||||
A compilation of a covered work with other separate and independent
|
|
||||||
works, which are not by their nature extensions of the covered work,
|
|
||||||
and which are not combined with it such as to form a larger program,
|
|
||||||
in or on a volume of a storage or distribution medium, is called an
|
|
||||||
"aggregate" if the compilation and its resulting copyright are not
|
|
||||||
used to limit the access or legal rights of the compilation's users
|
|
||||||
beyond what the individual works permit. Inclusion of a covered work
|
|
||||||
in an aggregate does not cause this License to apply to the other
|
|
||||||
parts of the aggregate.
|
|
||||||
|
|
||||||
6. Conveying Non-Source Forms.
|
|
||||||
|
|
||||||
You may convey a covered work in object code form under the terms
|
|
||||||
of sections 4 and 5, provided that you also convey the
|
|
||||||
machine-readable Corresponding Source under the terms of this License,
|
|
||||||
in one of these ways:
|
|
||||||
|
|
||||||
a) Convey the object code in, or embodied in, a physical product
|
|
||||||
(including a physical distribution medium), accompanied by the
|
|
||||||
Corresponding Source fixed on a durable physical medium
|
|
||||||
customarily used for software interchange.
|
|
||||||
|
|
||||||
b) Convey the object code in, or embodied in, a physical product
|
|
||||||
(including a physical distribution medium), accompanied by a
|
|
||||||
written offer, valid for at least three years and valid for as
|
|
||||||
long as you offer spare parts or customer support for that product
|
|
||||||
model, to give anyone who possesses the object code either (1) a
|
|
||||||
copy of the Corresponding Source for all the software in the
|
|
||||||
product that is covered by this License, on a durable physical
|
|
||||||
medium customarily used for software interchange, for a price no
|
|
||||||
more than your reasonable cost of physically performing this
|
|
||||||
conveying of source, or (2) access to copy the
|
|
||||||
Corresponding Source from a network server at no charge.
|
|
||||||
|
|
||||||
c) Convey individual copies of the object code with a copy of the
|
|
||||||
written offer to provide the Corresponding Source. This
|
|
||||||
alternative is allowed only occasionally and noncommercially, and
|
|
||||||
only if you received the object code with such an offer, in accord
|
|
||||||
with subsection 6b.
|
|
||||||
|
|
||||||
d) Convey the object code by offering access from a designated
|
|
||||||
place (gratis or for a charge), and offer equivalent access to the
|
|
||||||
Corresponding Source in the same way through the same place at no
|
|
||||||
further charge. You need not require recipients to copy the
|
|
||||||
Corresponding Source along with the object code. If the place to
|
|
||||||
copy the object code is a network server, the Corresponding Source
|
|
||||||
may be on a different server (operated by you or a third party)
|
|
||||||
that supports equivalent copying facilities, provided you maintain
|
|
||||||
clear directions next to the object code saying where to find the
|
|
||||||
Corresponding Source. Regardless of what server hosts the
|
|
||||||
Corresponding Source, you remain obligated to ensure that it is
|
|
||||||
available for as long as needed to satisfy these requirements.
|
|
||||||
|
|
||||||
e) Convey the object code using peer-to-peer transmission, provided
|
|
||||||
you inform other peers where the object code and Corresponding
|
|
||||||
Source of the work are being offered to the general public at no
|
|
||||||
charge under subsection 6d.
|
|
||||||
|
|
||||||
A separable portion of the object code, whose source code is excluded
|
|
||||||
from the Corresponding Source as a System Library, need not be
|
|
||||||
included in conveying the object code work.
|
|
||||||
|
|
||||||
A "User Product" is either (1) a "consumer product", which means any
|
|
||||||
tangible personal property which is normally used for personal, family,
|
|
||||||
or household purposes, or (2) anything designed or sold for incorporation
|
|
||||||
into a dwelling. In determining whether a product is a consumer product,
|
|
||||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
|
||||||
product received by a particular user, "normally used" refers to a
|
|
||||||
typical or common use of that class of product, regardless of the status
|
|
||||||
of the particular user or of the way in which the particular user
|
|
||||||
actually uses, or expects or is expected to use, the product. A product
|
|
||||||
is a consumer product regardless of whether the product has substantial
|
|
||||||
commercial, industrial or non-consumer uses, unless such uses represent
|
|
||||||
the only significant mode of use of the product.
|
|
||||||
|
|
||||||
"Installation Information" for a User Product means any methods,
|
|
||||||
procedures, authorization keys, or other information required to install
|
|
||||||
and execute modified versions of a covered work in that User Product from
|
|
||||||
a modified version of its Corresponding Source. The information must
|
|
||||||
suffice to ensure that the continued functioning of the modified object
|
|
||||||
code is in no case prevented or interfered with solely because
|
|
||||||
modification has been made.
|
|
||||||
|
|
||||||
If you convey an object code work under this section in, or with, or
|
|
||||||
specifically for use in, a User Product, and the conveying occurs as
|
|
||||||
part of a transaction in which the right of possession and use of the
|
|
||||||
User Product is transferred to the recipient in perpetuity or for a
|
|
||||||
fixed term (regardless of how the transaction is characterized), the
|
|
||||||
Corresponding Source conveyed under this section must be accompanied
|
|
||||||
by the Installation Information. But this requirement does not apply
|
|
||||||
if neither you nor any third party retains the ability to install
|
|
||||||
modified object code on the User Product (for example, the work has
|
|
||||||
been installed in ROM).
|
|
||||||
|
|
||||||
The requirement to provide Installation Information does not include a
|
|
||||||
requirement to continue to provide support service, warranty, or updates
|
|
||||||
for a work that has been modified or installed by the recipient, or for
|
|
||||||
the User Product in which it has been modified or installed. Access to a
|
|
||||||
network may be denied when the modification itself materially and
|
|
||||||
adversely affects the operation of the network or violates the rules and
|
|
||||||
protocols for communication across the network.
|
|
||||||
|
|
||||||
Corresponding Source conveyed, and Installation Information provided,
|
|
||||||
in accord with this section must be in a format that is publicly
|
|
||||||
documented (and with an implementation available to the public in
|
|
||||||
source code form), and must require no special password or key for
|
|
||||||
unpacking, reading or copying.
|
|
||||||
|
|
||||||
7. Additional Terms.
|
|
||||||
|
|
||||||
"Additional permissions" are terms that supplement the terms of this
|
|
||||||
License by making exceptions from one or more of its conditions.
|
|
||||||
Additional permissions that are applicable to the entire Program shall
|
|
||||||
be treated as though they were included in this License, to the extent
|
|
||||||
that they are valid under applicable law. If additional permissions
|
|
||||||
apply only to part of the Program, that part may be used separately
|
|
||||||
under those permissions, but the entire Program remains governed by
|
|
||||||
this License without regard to the additional permissions.
|
|
||||||
|
|
||||||
When you convey a copy of a covered work, you may at your option
|
|
||||||
remove any additional permissions from that copy, or from any part of
|
|
||||||
it. (Additional permissions may be written to require their own
|
|
||||||
removal in certain cases when you modify the work.) You may place
|
|
||||||
additional permissions on material, added by you to a covered work,
|
|
||||||
for which you have or can give appropriate copyright permission.
|
|
||||||
|
|
||||||
Notwithstanding any other provision of this License, for material you
|
|
||||||
add to a covered work, you may (if authorized by the copyright holders of
|
|
||||||
that material) supplement the terms of this License with terms:
|
|
||||||
|
|
||||||
a) Disclaiming warranty or limiting liability differently from the
|
|
||||||
terms of sections 15 and 16 of this License; or
|
|
||||||
|
|
||||||
b) Requiring preservation of specified reasonable legal notices or
|
|
||||||
author attributions in that material or in the Appropriate Legal
|
|
||||||
Notices displayed by works containing it; or
|
|
||||||
|
|
||||||
c) Prohibiting misrepresentation of the origin of that material, or
|
|
||||||
requiring that modified versions of such material be marked in
|
|
||||||
reasonable ways as different from the original version; or
|
|
||||||
|
|
||||||
d) Limiting the use for publicity purposes of names of licensors or
|
|
||||||
authors of the material; or
|
|
||||||
|
|
||||||
e) Declining to grant rights under trademark law for use of some
|
|
||||||
trade names, trademarks, or service marks; or
|
|
||||||
|
|
||||||
f) Requiring indemnification of licensors and authors of that
|
|
||||||
material by anyone who conveys the material (or modified versions of
|
|
||||||
it) with contractual assumptions of liability to the recipient, for
|
|
||||||
any liability that these contractual assumptions directly impose on
|
|
||||||
those licensors and authors.
|
|
||||||
|
|
||||||
All other non-permissive additional terms are considered "further
|
|
||||||
restrictions" within the meaning of section 10. If the Program as you
|
|
||||||
received it, or any part of it, contains a notice stating that it is
|
|
||||||
governed by this License along with a term that is a further
|
|
||||||
restriction, you may remove that term. If a license document contains
|
|
||||||
a further restriction but permits relicensing or conveying under this
|
|
||||||
License, you may add to a covered work material governed by the terms
|
|
||||||
of that license document, provided that the further restriction does
|
|
||||||
not survive such relicensing or conveying.
|
|
||||||
|
|
||||||
If you add terms to a covered work in accord with this section, you
|
|
||||||
must place, in the relevant source files, a statement of the
|
|
||||||
additional terms that apply to those files, or a notice indicating
|
|
||||||
where to find the applicable terms.
|
|
||||||
|
|
||||||
Additional terms, permissive or non-permissive, may be stated in the
|
|
||||||
form of a separately written license, or stated as exceptions;
|
|
||||||
the above requirements apply either way.
|
|
||||||
|
|
||||||
8. Termination.
|
|
||||||
|
|
||||||
You may not propagate or modify a covered work except as expressly
|
|
||||||
provided under this License. Any attempt otherwise to propagate or
|
|
||||||
modify it is void, and will automatically terminate your rights under
|
|
||||||
this License (including any patent licenses granted under the third
|
|
||||||
paragraph of section 11).
|
|
||||||
|
|
||||||
However, if you cease all violation of this License, then your
|
|
||||||
license from a particular copyright holder is reinstated (a)
|
|
||||||
provisionally, unless and until the copyright holder explicitly and
|
|
||||||
finally terminates your license, and (b) permanently, if the copyright
|
|
||||||
holder fails to notify you of the violation by some reasonable means
|
|
||||||
prior to 60 days after the cessation.
|
|
||||||
|
|
||||||
Moreover, your license from a particular copyright holder is
|
|
||||||
reinstated permanently if the copyright holder notifies you of the
|
|
||||||
violation by some reasonable means, this is the first time you have
|
|
||||||
received notice of violation of this License (for any work) from that
|
|
||||||
copyright holder, and you cure the violation prior to 30 days after
|
|
||||||
your receipt of the notice.
|
|
||||||
|
|
||||||
Termination of your rights under this section does not terminate the
|
|
||||||
licenses of parties who have received copies or rights from you under
|
|
||||||
this License. If your rights have been terminated and not permanently
|
|
||||||
reinstated, you do not qualify to receive new licenses for the same
|
|
||||||
material under section 10.
|
|
||||||
|
|
||||||
9. Acceptance Not Required for Having Copies.
|
|
||||||
|
|
||||||
You are not required to accept this License in order to receive or
|
|
||||||
run a copy of the Program. Ancillary propagation of a covered work
|
|
||||||
occurring solely as a consequence of using peer-to-peer transmission
|
|
||||||
to receive a copy likewise does not require acceptance. However,
|
|
||||||
nothing other than this License grants you permission to propagate or
|
|
||||||
modify any covered work. These actions infringe copyright if you do
|
|
||||||
not accept this License. Therefore, by modifying or propagating a
|
|
||||||
covered work, you indicate your acceptance of this License to do so.
|
|
||||||
|
|
||||||
10. Automatic Licensing of Downstream Recipients.
|
|
||||||
|
|
||||||
Each time you convey a covered work, the recipient automatically
|
|
||||||
receives a license from the original licensors, to run, modify and
|
|
||||||
propagate that work, subject to this License. You are not responsible
|
|
||||||
for enforcing compliance by third parties with this License.
|
|
||||||
|
|
||||||
An "entity transaction" is a transaction transferring control of an
|
|
||||||
organization, or substantially all assets of one, or subdividing an
|
|
||||||
organization, or merging organizations. If propagation of a covered
|
|
||||||
work results from an entity transaction, each party to that
|
|
||||||
transaction who receives a copy of the work also receives whatever
|
|
||||||
licenses to the work the party's predecessor in interest had or could
|
|
||||||
give under the previous paragraph, plus a right to possession of the
|
|
||||||
Corresponding Source of the work from the predecessor in interest, if
|
|
||||||
the predecessor has it or can get it with reasonable efforts.
|
|
||||||
|
|
||||||
You may not impose any further restrictions on the exercise of the
|
|
||||||
rights granted or affirmed under this License. For example, you may
|
|
||||||
not impose a license fee, royalty, or other charge for exercise of
|
|
||||||
rights granted under this License, and you may not initiate litigation
|
|
||||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
|
||||||
any patent claim is infringed by making, using, selling, offering for
|
|
||||||
sale, or importing the Program or any portion of it.
|
|
||||||
|
|
||||||
11. Patents.
|
|
||||||
|
|
||||||
A "contributor" is a copyright holder who authorizes use under this
|
|
||||||
License of the Program or a work on which the Program is based. The
|
|
||||||
work thus licensed is called the contributor's "contributor version".
|
|
||||||
|
|
||||||
A contributor's "essential patent claims" are all patent claims
|
|
||||||
owned or controlled by the contributor, whether already acquired or
|
|
||||||
hereafter acquired, that would be infringed by some manner, permitted
|
|
||||||
by this License, of making, using, or selling its contributor version,
|
|
||||||
but do not include claims that would be infringed only as a
|
|
||||||
consequence of further modification of the contributor version. For
|
|
||||||
purposes of this definition, "control" includes the right to grant
|
|
||||||
patent sublicenses in a manner consistent with the requirements of
|
|
||||||
this License.
|
|
||||||
|
|
||||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
|
||||||
patent license under the contributor's essential patent claims, to
|
|
||||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
|
||||||
propagate the contents of its contributor version.
|
|
||||||
|
|
||||||
In the following three paragraphs, a "patent license" is any express
|
|
||||||
agreement or commitment, however denominated, not to enforce a patent
|
|
||||||
(such as an express permission to practice a patent or covenant not to
|
|
||||||
sue for patent infringement). To "grant" such a patent license to a
|
|
||||||
party means to make such an agreement or commitment not to enforce a
|
|
||||||
patent against the party.
|
|
||||||
|
|
||||||
If you convey a covered work, knowingly relying on a patent license,
|
|
||||||
and the Corresponding Source of the work is not available for anyone
|
|
||||||
to copy, free of charge and under the terms of this License, through a
|
|
||||||
publicly available network server or other readily accessible means,
|
|
||||||
then you must either (1) cause the Corresponding Source to be so
|
|
||||||
available, or (2) arrange to deprive yourself of the benefit of the
|
|
||||||
patent license for this particular work, or (3) arrange, in a manner
|
|
||||||
consistent with the requirements of this License, to extend the patent
|
|
||||||
license to downstream recipients. "Knowingly relying" means you have
|
|
||||||
actual knowledge that, but for the patent license, your conveying the
|
|
||||||
covered work in a country, or your recipient's use of the covered work
|
|
||||||
in a country, would infringe one or more identifiable patents in that
|
|
||||||
country that you have reason to believe are valid.
|
|
||||||
|
|
||||||
If, pursuant to or in connection with a single transaction or
|
|
||||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
|
||||||
covered work, and grant a patent license to some of the parties
|
|
||||||
receiving the covered work authorizing them to use, propagate, modify
|
|
||||||
or convey a specific copy of the covered work, then the patent license
|
|
||||||
you grant is automatically extended to all recipients of the covered
|
|
||||||
work and works based on it.
|
|
||||||
|
|
||||||
A patent license is "discriminatory" if it does not include within
|
|
||||||
the scope of its coverage, prohibits the exercise of, or is
|
|
||||||
conditioned on the non-exercise of one or more of the rights that are
|
|
||||||
specifically granted under this License. You may not convey a covered
|
|
||||||
work if you are a party to an arrangement with a third party that is
|
|
||||||
in the business of distributing software, under which you make payment
|
|
||||||
to the third party based on the extent of your activity of conveying
|
|
||||||
the work, and under which the third party grants, to any of the
|
|
||||||
parties who would receive the covered work from you, a discriminatory
|
|
||||||
patent license (a) in connection with copies of the covered work
|
|
||||||
conveyed by you (or copies made from those copies), or (b) primarily
|
|
||||||
for and in connection with specific products or compilations that
|
|
||||||
contain the covered work, unless you entered into that arrangement,
|
|
||||||
or that patent license was granted, prior to 28 March 2007.
|
|
||||||
|
|
||||||
Nothing in this License shall be construed as excluding or limiting
|
|
||||||
any implied license or other defenses to infringement that may
|
|
||||||
otherwise be available to you under applicable patent law.
|
|
||||||
|
|
||||||
12. No Surrender of Others' Freedom.
|
|
||||||
|
|
||||||
If 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 convey a
|
|
||||||
covered work so as to satisfy simultaneously your obligations under this
|
|
||||||
License and any other pertinent obligations, then as a consequence you may
|
|
||||||
not convey it at all. For example, if you agree to terms that obligate you
|
|
||||||
to collect a royalty for further conveying from those to whom you convey
|
|
||||||
the Program, the only way you could satisfy both those terms and this
|
|
||||||
License would be to refrain entirely from conveying the Program.
|
|
||||||
|
|
||||||
13. Use with the GNU Affero General Public License.
|
|
||||||
|
|
||||||
Notwithstanding any other provision of this License, you have
|
|
||||||
permission to link or combine any covered work with a work licensed
|
|
||||||
under version 3 of the GNU Affero General Public License into a single
|
|
||||||
combined work, and to convey the resulting work. The terms of this
|
|
||||||
License will continue to apply to the part which is the covered work,
|
|
||||||
but the special requirements of the GNU Affero General Public License,
|
|
||||||
section 13, concerning interaction through a network will apply to the
|
|
||||||
combination as such.
|
|
||||||
|
|
||||||
14. Revised Versions of this License.
|
|
||||||
|
|
||||||
The Free Software Foundation may publish revised and/or new versions of
|
|
||||||
the GNU 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
|
|
||||||
Program specifies that a certain numbered version of the GNU General
|
|
||||||
Public License "or any later version" applies to it, you have the
|
|
||||||
option of following the terms and conditions either of that numbered
|
|
||||||
version or of any later version published by the Free Software
|
|
||||||
Foundation. If the Program does not specify a version number of the
|
|
||||||
GNU General Public License, you may choose any version ever published
|
|
||||||
by the Free Software Foundation.
|
|
||||||
|
|
||||||
If the Program specifies that a proxy can decide which future
|
|
||||||
versions of the GNU General Public License can be used, that proxy's
|
|
||||||
public statement of acceptance of a version permanently authorizes you
|
|
||||||
to choose that version for the Program.
|
|
||||||
|
|
||||||
Later license versions may give you additional or different
|
|
||||||
permissions. However, no additional obligations are imposed on any
|
|
||||||
author or copyright holder as a result of your choosing to follow a
|
|
||||||
later version.
|
|
||||||
|
|
||||||
15. Disclaimer of Warranty.
|
|
||||||
|
|
||||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
|
||||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
|
||||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "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 PROGRAM
|
|
||||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
|
||||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
|
||||||
|
|
||||||
16. Limitation of Liability.
|
|
||||||
|
|
||||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
|
||||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
|
||||||
THE PROGRAM 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 PROGRAM (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 PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
|
||||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
|
||||||
SUCH DAMAGES.
|
|
||||||
|
|
||||||
17. Interpretation of Sections 15 and 16.
|
|
||||||
|
|
||||||
If the disclaimer of warranty and limitation of liability provided
|
|
||||||
above cannot be given local legal effect according to their terms,
|
|
||||||
reviewing courts shall apply local law that most closely approximates
|
|
||||||
an absolute waiver of all civil liability in connection with the
|
|
||||||
Program, unless a warranty or assumption of liability accompanies a
|
|
||||||
copy of the Program in return for a fee.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
How to Apply These Terms to Your New Programs
|
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest
|
|
||||||
possible use to the public, the best way to achieve this is to make it
|
|
||||||
free software which everyone can redistribute and change under these terms.
|
|
||||||
|
|
||||||
To do so, attach the following notices to the program. It is safest
|
|
||||||
to attach them to the start of each source file to most effectively
|
|
||||||
state 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 program's name and a brief idea of what it does.>
|
|
||||||
Copyright (C) <year> <name of author>
|
|
||||||
|
|
||||||
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/>.
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
|
||||||
|
|
||||||
If the program does terminal interaction, make it output a short
|
|
||||||
notice like this when it starts in an interactive mode:
|
|
||||||
|
|
||||||
<program> Copyright (C) <year> <name of author>
|
|
||||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
|
||||||
This is free software, and you are welcome to redistribute it
|
|
||||||
under certain conditions; type `show c' for details.
|
|
||||||
|
|
||||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
|
||||||
parts of the General Public License. Of course, your program's commands
|
|
||||||
might be different; for a GUI interface, you would use an "about box".
|
|
||||||
|
|
||||||
You should also get your employer (if you work as a programmer) or school,
|
|
||||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
|
||||||
For more information on this, and how to apply and follow the GNU GPL, see
|
|
||||||
<http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
The GNU General Public License does not permit incorporating your program
|
|
||||||
into proprietary programs. If your program is a subroutine library, you
|
|
||||||
may consider it more useful to permit linking proprietary applications with
|
|
||||||
the library. If this is what you want to do, use the GNU Lesser General
|
|
||||||
Public License instead of this License. But first, please read
|
|
||||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
|
|
@ -1,30 +0,0 @@
|
||||||
## Process this file with automake to produce Makefile.in
|
|
||||||
|
|
||||||
SUBDIRS = src
|
|
||||||
|
|
||||||
MAINTAINERCLEANFILES = \
|
|
||||||
Makefile.in \
|
|
||||||
aclocal.m4 \
|
|
||||||
config.guess \
|
|
||||||
config.h.in \
|
|
||||||
config.h.in~ \
|
|
||||||
config.sub \
|
|
||||||
configure \
|
|
||||||
depcomp \
|
|
||||||
install-sh \
|
|
||||||
ltconfig \
|
|
||||||
ltmain.sh \
|
|
||||||
missing \
|
|
||||||
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz \
|
|
||||||
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.bz2 \
|
|
||||||
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc.tar.bz2
|
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
|
||||||
pkgconfig_DATA = escape.pc
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
AUTHORS \
|
|
||||||
COPYING \
|
|
||||||
$(pkgconfig_DATA) \
|
|
||||||
autogen.sh \
|
|
||||||
escape.pc.in
|
|
|
@ -1 +0,0 @@
|
||||||
|
|
|
@ -1,40 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
rm -rf autom4te.cache
|
|
||||||
rm -f aclocal.m4 ltmain.sh
|
|
||||||
|
|
||||||
touch README
|
|
||||||
touch ABOUT-NLS
|
|
||||||
|
|
||||||
echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS -I m4 || exit 1
|
|
||||||
echo "Running autoheader..." ; autoheader || exit 1
|
|
||||||
echo "Running autoconf..." ; autoconf || exit 1
|
|
||||||
echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1
|
|
||||||
echo "Running automake..." ; automake --add-missing --copy --gnu || exit 1
|
|
||||||
|
|
||||||
W=0
|
|
||||||
|
|
||||||
rm -f config.cache-env.tmp
|
|
||||||
echo "OLD_PARM=\"$@\"" >> config.cache-env.tmp
|
|
||||||
echo "OLD_CFLAGS=\"$CFLAGS\"" >> config.cache-env.tmp
|
|
||||||
echo "OLD_PATH=\"$PATH\"" >> config.cache-env.tmp
|
|
||||||
echo "OLD_PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\"" >> config.cache-env.tmp
|
|
||||||
echo "OLD_LDFLAGS=\"$LDFLAGS\"" >> config.cache-env.tmp
|
|
||||||
|
|
||||||
cmp config.cache-env.tmp config.cache-env >> /dev/null
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
W=1;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $W -ne 0 ]; then
|
|
||||||
echo "Cleaning configure cache...";
|
|
||||||
rm -f config.cache config.cache-env
|
|
||||||
mv config.cache-env.tmp config.cache-env
|
|
||||||
else
|
|
||||||
rm -f config.cache-env.tmp
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$NOCONFIGURE" ]; then
|
|
||||||
AR="powerpc64-ps3-elf-ar" CC="powerpc64-ps3-elf-gcc" RANLIB="powerpc64-ps3-elf-ranlib" CFLAGS="-O2 -Wall -I$PSL1GHT/ppu/include -I$PS3DEV/portlibs/ppu/include" CXXFLAGS="-I$PSL1GHT/ppu/include -I$PS3DEV/portlibs/ppu/include" LDFLAGS="-L$PSL1GHT/ppu/lib -L$PS3DEV/portlibs/ppu/lib" PKG_CONFIG_LIBDIR="$PSL1GHT/ppu/lib/pkgconfig" PKG_CONFIG_PATH="$PS3DEV/portlibs/ppu/lib/pkgconfig" ./configure --prefix="$PS3DEV/portlibs/ppu" --host=powerpc64-ps3-elf --includedir="$PS3DEV/portlibs/ppu/include" --libdir="$PS3DEV/portlibs/ppu/lib" -C "$@"
|
|
||||||
|
|
||||||
fi
|
|
|
@ -1,122 +0,0 @@
|
||||||
|
|
||||||
### Version
|
|
||||||
|
|
||||||
m4_define([v_maj], [0])
|
|
||||||
m4_define([v_min], [99])
|
|
||||||
m4_define([v_mic], [0])
|
|
||||||
|
|
||||||
m4_define([escape_version], [v_maj.v_min.v_mic])
|
|
||||||
|
|
||||||
m4_define([lt_cur], m4_eval(v_maj + v_min))
|
|
||||||
m4_define([lt_rev], v_mic)
|
|
||||||
m4_define([lt_age], v_min)
|
|
||||||
|
|
||||||
AC_INIT([escape], [escape_version], [enlightenment-devel@lists.sourceforge.net])
|
|
||||||
AC_PREREQ([2.52])
|
|
||||||
AC_CONFIG_SRCDIR([configure.ac])
|
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
|
||||||
|
|
||||||
AC_CONFIG_HEADERS([config.h])
|
|
||||||
AH_TOP([
|
|
||||||
#ifndef EFL_CONFIG_H__
|
|
||||||
#define EFL_CONFIG_H__
|
|
||||||
])
|
|
||||||
AH_BOTTOM([
|
|
||||||
#endif /* EFL_CONFIG_H__ */
|
|
||||||
])
|
|
||||||
|
|
||||||
|
|
||||||
### If the host is not for PS3
|
|
||||||
AC_PROG_LIBTOOL
|
|
||||||
AC_CANONICAL_HOST
|
|
||||||
|
|
||||||
case "$host_vendor" in
|
|
||||||
ps3*)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
AC_MSG_ERROR([OS must be PS3. Exiting...])
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AM_INIT_AUTOMAKE([1.6 dist-bzip2])
|
|
||||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
|
||||||
|
|
||||||
LT_PREREQ([2.2])
|
|
||||||
|
|
||||||
VMAJ=v_maj
|
|
||||||
AC_SUBST(VMAJ)
|
|
||||||
|
|
||||||
version_info="lt_cur:lt_rev:lt_age"
|
|
||||||
AC_SUBST(version_info)
|
|
||||||
|
|
||||||
|
|
||||||
### Checks for programs
|
|
||||||
AM_PROG_AS
|
|
||||||
AC_PROG_CXX
|
|
||||||
AC_LANG(C)
|
|
||||||
AC_PROG_CPP
|
|
||||||
AC_PROG_CC
|
|
||||||
|
|
||||||
### Checks for libraries
|
|
||||||
|
|
||||||
ESCAPE_CFLAGS=""
|
|
||||||
ESCAPE_CPPFLAGS=""
|
|
||||||
ESCAPE_LIBS="-llv2"
|
|
||||||
|
|
||||||
AC_SUBST(ESCAPE_CPPFLAGS)
|
|
||||||
AC_SUBST(ESCAPE_CFLAGS)
|
|
||||||
AC_SUBST(ESCAPE_LIBS)
|
|
||||||
|
|
||||||
### Checks for header files
|
|
||||||
AC_CHECK_HEADERS([errno.h])
|
|
||||||
|
|
||||||
|
|
||||||
### Checks for types
|
|
||||||
EFL_CHECK_PATH_MAX
|
|
||||||
|
|
||||||
|
|
||||||
### Checks for structures
|
|
||||||
|
|
||||||
|
|
||||||
### Checks for compiler characteristics
|
|
||||||
AC_C_CONST
|
|
||||||
|
|
||||||
### Checks for linker characteristics
|
|
||||||
|
|
||||||
|
|
||||||
### Checks for library functions
|
|
||||||
|
|
||||||
|
|
||||||
AC_CONFIG_FILES([
|
|
||||||
Makefile
|
|
||||||
escape.pc
|
|
||||||
src/Makefile
|
|
||||||
src/lib/Makefile
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_OUTPUT
|
|
||||||
|
|
||||||
|
|
||||||
#####################################################################
|
|
||||||
## Info
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo "------------------------------------------------------------------------"
|
|
||||||
echo "$PACKAGE_NAME $PACKAGE_VERSION"
|
|
||||||
echo "------------------------------------------------------------------------"
|
|
||||||
echo
|
|
||||||
echo "Configuration Options Summary:"
|
|
||||||
echo
|
|
||||||
echo " OS...................: ${host_os}"
|
|
||||||
echo
|
|
||||||
echo "Compilation............: make (or gmake)"
|
|
||||||
echo " CPPFLAGS.............: $CPPFLAGS"
|
|
||||||
echo " CFLAGS...............: $CFLAGS"
|
|
||||||
echo " CXXFLAGS.............: $CXXFLAGS"
|
|
||||||
echo " LDFLAGS..............: $LDFLAGS"
|
|
||||||
echo
|
|
||||||
echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
|
|
||||||
echo " prefix...............: $prefix"
|
|
||||||
echo
|
|
|
@ -1,36 +0,0 @@
|
||||||
dnl Check for PATH_MAX in limits.h, and define a default value if not found
|
|
||||||
dnl This is a workaround for systems not providing PATH_MAX, like GNU/Hurd
|
|
||||||
|
|
||||||
dnl EFL_CHECK_PATH_MAX([DEFAULT_VALUE_IF_NOT_FOUND])
|
|
||||||
dnl
|
|
||||||
dnl If PATH_MAX is not defined in <limits.h>, defines it
|
|
||||||
dnl to DEFAULT_VALUE_IF_NOT_FOUND if it exists, or fallback
|
|
||||||
dnl to using 4096
|
|
||||||
|
|
||||||
AC_DEFUN([EFL_CHECK_PATH_MAX],
|
|
||||||
[
|
|
||||||
|
|
||||||
default_max=m4_default([$1], "4096")
|
|
||||||
AC_LANG_PUSH([C])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for PATH_MAX in limits.h])
|
|
||||||
AC_COMPILE_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM(
|
|
||||||
[[
|
|
||||||
#include <limits.h>
|
|
||||||
]],
|
|
||||||
[[
|
|
||||||
int i = PATH_MAX;
|
|
||||||
]])],
|
|
||||||
[AC_MSG_RESULT([yes])],
|
|
||||||
[
|
|
||||||
AC_DEFINE_UNQUOTED([PATH_MAX],
|
|
||||||
[${default_max}],
|
|
||||||
[default value since PATH_MAX is not defined])
|
|
||||||
AC_MSG_RESULT([no: using ${default_max}])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_LANG_POP([C])
|
|
||||||
|
|
||||||
])
|
|
||||||
dnl end of efl_path_max.m4
|
|
|
@ -1,3 +0,0 @@
|
||||||
SUBDIRS = lib
|
|
||||||
|
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
|
@ -1,31 +0,0 @@
|
||||||
MAINTAINERCLEANFILES = Makefile.in
|
|
||||||
|
|
||||||
AM_CPPFLAGS = \
|
|
||||||
-I$(top_builddir)/src \
|
|
||||||
-DPACKAGE_BIN_DIR=\"$(bindir)\" \
|
|
||||||
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
|
|
||||||
-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
|
|
||||||
@ESCAPE_CPPFLAGS@
|
|
||||||
|
|
||||||
base_sources = \
|
|
||||||
escape_mman.c \
|
|
||||||
escape_libgen.c \
|
|
||||||
escape_unistd.c
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
sys/mman.h \
|
|
||||||
Escape.h
|
|
||||||
|
|
||||||
nobase_stdheadersdir = $(includedir)/escape-@VMAJ@
|
|
||||||
dist_nobase_stdheaders_DATA = Escape.h escape_libgen.h escape_unistd.h
|
|
||||||
stdheadersdir = $(includedir)/escape-@VMAJ@/sys
|
|
||||||
dist_stdheaders_DATA = sys/mman.h
|
|
||||||
|
|
||||||
|
|
||||||
lib_LTLIBRARIES = libescape.la
|
|
||||||
|
|
||||||
libescape_la_SOURCES = $(base_sources)
|
|
||||||
|
|
||||||
libescape_la_LIBADD = @iconv_libs@ @rt_libs@ @ESCAPE_LIBS@
|
|
||||||
libescape_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@
|
|
||||||
libescape_la_CFLAGS = @ESCAPE_CFLAGS@
|
|