bulk data dump

This commit is contained in:
Jason
2024-02-07 19:20:50 +11:00
committed by GitHub
parent 9bd1bf3017
commit 1a1e460665
22 changed files with 15882 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
Jason Bou-Samra [ParagonSoft]
e-mail: paragon@bou-samra.org
www: https://bou-samra.github.io/paragon
+2
View File
@@ -0,0 +1,2 @@
18/03/2023 - foundation code
25/03/2023 - final working source (v1.0)
View File
View File
+674
View File
@@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://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 <https://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
<https://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
<https://www.gnu.org/licenses/why-not-lgpl.html>.
+674
View File
@@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://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 <https://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
<https://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
<https://www.gnu.org/licenses/why-not-lgpl.html>.
+3
View File
@@ -0,0 +1,3 @@
3DCube displays a rotating 3D vector graphic of a cube.
Written in Ada with language bindings for SDL provided by SDLAda (https://github.com/Lucretia/sdlada).
have fun!
+7
View File
@@ -0,0 +1,7 @@
Compiling requires some prerequisites
1. Clone git repository of SDLAda https://github.com/Lucretia/sdlada and follow instructions as provided in README.md file.
2. Install SDL2-devel and SDL2_image-devel (depending on your Linux distribution the names of the packages may vary somewhat).
3. Update the threed.gpr file so that it contains full pathname of sdlada/share/gpr/sdlada.gpr".
4. gprbuild -largs $(pkg-config sdl2 SDL2_image --libs) (install additional packages as required).
5. If everything goes as planned you will have an executable file created which can be run from the command line.
+393
View File
@@ -0,0 +1,393 @@
pragma Warnings (Off);
pragma Ada_95;
pragma Source_File_Name (ada_main, Spec_File_Name => "b__threed.ads");
pragma Source_File_Name (ada_main, Body_File_Name => "b__threed.adb");
pragma Suppress (Overflow_Check);
with Ada.Exceptions;
package body ada_main is
E083 : Short_Integer; pragma Import (Ada, E083, "system__os_lib_E");
E010 : Short_Integer; pragma Import (Ada, E010, "ada__exceptions_E");
E015 : Short_Integer; pragma Import (Ada, E015, "system__soft_links_E");
E027 : Short_Integer; pragma Import (Ada, E027, "system__exception_table_E");
E050 : Short_Integer; pragma Import (Ada, E050, "ada__containers_E");
E078 : Short_Integer; pragma Import (Ada, E078, "ada__io_exceptions_E");
E034 : Short_Integer; pragma Import (Ada, E034, "ada__numerics_E");
E065 : Short_Integer; pragma Import (Ada, E065, "ada__strings_E");
E067 : Short_Integer; pragma Import (Ada, E067, "ada__strings__maps_E");
E070 : Short_Integer; pragma Import (Ada, E070, "ada__strings__maps__constants_E");
E055 : Short_Integer; pragma Import (Ada, E055, "interfaces__c_E");
E028 : Short_Integer; pragma Import (Ada, E028, "system__exceptions_E");
E092 : Short_Integer; pragma Import (Ada, E092, "system__object_reader_E");
E060 : Short_Integer; pragma Import (Ada, E060, "system__dwarf_lines_E");
E023 : Short_Integer; pragma Import (Ada, E023, "system__soft_links__initialize_E");
E049 : Short_Integer; pragma Import (Ada, E049, "system__traceback__symbolic_E");
E033 : Short_Integer; pragma Import (Ada, E033, "system__img_int_E");
E073 : Short_Integer; pragma Import (Ada, E073, "system__img_uns_E");
E172 : Short_Integer; pragma Import (Ada, E172, "ada__assertions_E");
E121 : Short_Integer; pragma Import (Ada, E121, "ada__strings__utf_encoding_E");
E129 : Short_Integer; pragma Import (Ada, E129, "ada__tags_E");
E119 : Short_Integer; pragma Import (Ada, E119, "ada__strings__text_buffers_E");
E155 : Short_Integer; pragma Import (Ada, E155, "interfaces__c__strings_E");
E137 : Short_Integer; pragma Import (Ada, E137, "ada__streams_E");
E149 : Short_Integer; pragma Import (Ada, E149, "system__file_control_block_E");
E148 : Short_Integer; pragma Import (Ada, E148, "system__finalization_root_E");
E146 : Short_Integer; pragma Import (Ada, E146, "ada__finalization_E");
E145 : Short_Integer; pragma Import (Ada, E145, "system__file_io_E");
E176 : Short_Integer; pragma Import (Ada, E176, "system__storage_pools_E");
E174 : Short_Integer; pragma Import (Ada, E174, "system__finalization_masters_E");
E178 : Short_Integer; pragma Import (Ada, E178, "system__storage_pools__subpools_E");
E008 : Short_Integer; pragma Import (Ada, E008, "ada__calendar_E");
E006 : Short_Integer; pragma Import (Ada, E006, "ada__calendar__delays_E");
E135 : Short_Integer; pragma Import (Ada, E135, "ada__text_io_E");
E189 : Short_Integer; pragma Import (Ada, E189, "system__pool_global_E");
E211 : Short_Integer; pragma Import (Ada, E211, "sdl__rwops_E");
E166 : Short_Integer; pragma Import (Ada, E166, "sdl__video_E");
E187 : Short_Integer; pragma Import (Ada, E187, "sdl__video__palettes_E");
E185 : Short_Integer; pragma Import (Ada, E185, "sdl__video__pixel_formats_E");
E216 : Short_Integer; pragma Import (Ada, E216, "sdl__video__pixels_E");
E193 : Short_Integer; pragma Import (Ada, E193, "sdl__video__rectangles_E");
E195 : Short_Integer; pragma Import (Ada, E195, "sdl__video__surfaces_E");
E215 : Short_Integer; pragma Import (Ada, E215, "sdl__video__textures_E");
E168 : Short_Integer; pragma Import (Ada, E168, "sdl__video__windows_E");
E158 : Short_Integer; pragma Import (Ada, E158, "sdl__events__events_E");
E213 : Short_Integer; pragma Import (Ada, E213, "sdl__video__renderers_E");
E207 : Short_Integer; pragma Import (Ada, E207, "sdl__images_E");
E209 : Short_Integer; pragma Import (Ada, E209, "sdl__images__io_E");
Sec_Default_Sized_Stacks : array (1 .. 1) of aliased System.Secondary_Stack.SS_Stack (System.Parameters.Runtime_Default_Sec_Stack_Size);
Local_Priority_Specific_Dispatching : constant String := "";
Local_Interrupt_States : constant String := "";
Is_Elaborated : Boolean := False;
procedure finalize_library is
begin
E213 := E213 - 1;
declare
procedure F1;
pragma Import (Ada, F1, "sdl__video__renderers__finalize_spec");
begin
F1;
end;
E168 := E168 - 1;
declare
procedure F2;
pragma Import (Ada, F2, "sdl__video__windows__finalize_spec");
begin
F2;
end;
E215 := E215 - 1;
declare
procedure F3;
pragma Import (Ada, F3, "sdl__video__textures__finalize_spec");
begin
F3;
end;
E195 := E195 - 1;
declare
procedure F4;
pragma Import (Ada, F4, "sdl__video__surfaces__finalize_spec");
begin
F4;
end;
declare
procedure F5;
pragma Import (Ada, F5, "sdl__video__palettes__finalize_body");
begin
E187 := E187 - 1;
F5;
end;
declare
procedure F6;
pragma Import (Ada, F6, "sdl__video__palettes__finalize_spec");
begin
F6;
end;
E189 := E189 - 1;
declare
procedure F7;
pragma Import (Ada, F7, "system__pool_global__finalize_spec");
begin
F7;
end;
E135 := E135 - 1;
declare
procedure F8;
pragma Import (Ada, F8, "ada__text_io__finalize_spec");
begin
F8;
end;
E178 := E178 - 1;
declare
procedure F9;
pragma Import (Ada, F9, "system__storage_pools__subpools__finalize_spec");
begin
F9;
end;
E174 := E174 - 1;
declare
procedure F10;
pragma Import (Ada, F10, "system__finalization_masters__finalize_spec");
begin
F10;
end;
declare
procedure F11;
pragma Import (Ada, F11, "system__file_io__finalize_body");
begin
E145 := E145 - 1;
F11;
end;
declare
procedure Reraise_Library_Exception_If_Any;
pragma Import (Ada, Reraise_Library_Exception_If_Any, "__gnat_reraise_library_exception_if_any");
begin
Reraise_Library_Exception_If_Any;
end;
end finalize_library;
procedure adafinal is
procedure s_stalib_adafinal;
pragma Import (Ada, s_stalib_adafinal, "system__standard_library__adafinal");
procedure Runtime_Finalize;
pragma Import (C, Runtime_Finalize, "__gnat_runtime_finalize");
begin
if not Is_Elaborated then
return;
end if;
Is_Elaborated := False;
Runtime_Finalize;
s_stalib_adafinal;
end adafinal;
type No_Param_Proc is access procedure;
pragma Favor_Top_Level (No_Param_Proc);
procedure adainit is
Main_Priority : Integer;
pragma Import (C, Main_Priority, "__gl_main_priority");
Time_Slice_Value : Integer;
pragma Import (C, Time_Slice_Value, "__gl_time_slice_val");
WC_Encoding : Character;
pragma Import (C, WC_Encoding, "__gl_wc_encoding");
Locking_Policy : Character;
pragma Import (C, Locking_Policy, "__gl_locking_policy");
Queuing_Policy : Character;
pragma Import (C, Queuing_Policy, "__gl_queuing_policy");
Task_Dispatching_Policy : Character;
pragma Import (C, Task_Dispatching_Policy, "__gl_task_dispatching_policy");
Priority_Specific_Dispatching : System.Address;
pragma Import (C, Priority_Specific_Dispatching, "__gl_priority_specific_dispatching");
Num_Specific_Dispatching : Integer;
pragma Import (C, Num_Specific_Dispatching, "__gl_num_specific_dispatching");
Main_CPU : Integer;
pragma Import (C, Main_CPU, "__gl_main_cpu");
Interrupt_States : System.Address;
pragma Import (C, Interrupt_States, "__gl_interrupt_states");
Num_Interrupt_States : Integer;
pragma Import (C, Num_Interrupt_States, "__gl_num_interrupt_states");
Unreserve_All_Interrupts : Integer;
pragma Import (C, Unreserve_All_Interrupts, "__gl_unreserve_all_interrupts");
Detect_Blocking : Integer;
pragma Import (C, Detect_Blocking, "__gl_detect_blocking");
Default_Stack_Size : Integer;
pragma Import (C, Default_Stack_Size, "__gl_default_stack_size");
Default_Secondary_Stack_Size : System.Parameters.Size_Type;
pragma Import (C, Default_Secondary_Stack_Size, "__gnat_default_ss_size");
Bind_Env_Addr : System.Address;
pragma Import (C, Bind_Env_Addr, "__gl_bind_env_addr");
procedure Runtime_Initialize (Install_Handler : Integer);
pragma Import (C, Runtime_Initialize, "__gnat_runtime_initialize");
Finalize_Library_Objects : No_Param_Proc;
pragma Import (C, Finalize_Library_Objects, "__gnat_finalize_library_objects");
Binder_Sec_Stacks_Count : Natural;
pragma Import (Ada, Binder_Sec_Stacks_Count, "__gnat_binder_ss_count");
Default_Sized_SS_Pool : System.Address;
pragma Import (Ada, Default_Sized_SS_Pool, "__gnat_default_ss_pool");
begin
if Is_Elaborated then
return;
end if;
Is_Elaborated := True;
Main_Priority := -1;
Time_Slice_Value := -1;
WC_Encoding := 'b';
Locking_Policy := ' ';
Queuing_Policy := ' ';
Task_Dispatching_Policy := ' ';
Priority_Specific_Dispatching :=
Local_Priority_Specific_Dispatching'Address;
Num_Specific_Dispatching := 0;
Main_CPU := -1;
Interrupt_States := Local_Interrupt_States'Address;
Num_Interrupt_States := 0;
Unreserve_All_Interrupts := 0;
Detect_Blocking := 0;
Default_Stack_Size := -1;
ada_main'Elab_Body;
Default_Secondary_Stack_Size := System.Parameters.Runtime_Default_Sec_Stack_Size;
Binder_Sec_Stacks_Count := 1;
Default_Sized_SS_Pool := Sec_Default_Sized_Stacks'Address;
Runtime_Initialize (1);
Finalize_Library_Objects := finalize_library'access;
Ada.Exceptions'Elab_Spec;
System.Soft_Links'Elab_Spec;
System.Exception_Table'Elab_Body;
E027 := E027 + 1;
Ada.Containers'Elab_Spec;
E050 := E050 + 1;
Ada.Io_Exceptions'Elab_Spec;
E078 := E078 + 1;
Ada.Numerics'Elab_Spec;
E034 := E034 + 1;
Ada.Strings'Elab_Spec;
E065 := E065 + 1;
Ada.Strings.Maps'Elab_Spec;
E067 := E067 + 1;
Ada.Strings.Maps.Constants'Elab_Spec;
E070 := E070 + 1;
Interfaces.C'Elab_Spec;
E055 := E055 + 1;
System.Exceptions'Elab_Spec;
E028 := E028 + 1;
System.Object_Reader'Elab_Spec;
E092 := E092 + 1;
System.Dwarf_Lines'Elab_Spec;
System.Os_Lib'Elab_Body;
E083 := E083 + 1;
System.Soft_Links.Initialize'Elab_Body;
E023 := E023 + 1;
E015 := E015 + 1;
System.Traceback.Symbolic'Elab_Body;
E049 := E049 + 1;
System.Img_Int'Elab_Spec;
E033 := E033 + 1;
E010 := E010 + 1;
System.Img_Uns'Elab_Spec;
E073 := E073 + 1;
E060 := E060 + 1;
Ada.Assertions'Elab_Spec;
E172 := E172 + 1;
Ada.Strings.Utf_Encoding'Elab_Spec;
E121 := E121 + 1;
Ada.Tags'Elab_Spec;
Ada.Tags'Elab_Body;
E129 := E129 + 1;
Ada.Strings.Text_Buffers'Elab_Spec;
E119 := E119 + 1;
Interfaces.C.Strings'Elab_Spec;
E155 := E155 + 1;
Ada.Streams'Elab_Spec;
E137 := E137 + 1;
System.File_Control_Block'Elab_Spec;
E149 := E149 + 1;
System.Finalization_Root'Elab_Spec;
E148 := E148 + 1;
Ada.Finalization'Elab_Spec;
E146 := E146 + 1;
System.File_Io'Elab_Body;
E145 := E145 + 1;
System.Storage_Pools'Elab_Spec;
E176 := E176 + 1;
System.Finalization_Masters'Elab_Spec;
System.Finalization_Masters'Elab_Body;
E174 := E174 + 1;
System.Storage_Pools.Subpools'Elab_Spec;
E178 := E178 + 1;
Ada.Calendar'Elab_Spec;
Ada.Calendar'Elab_Body;
E008 := E008 + 1;
Ada.Calendar.Delays'Elab_Body;
E006 := E006 + 1;
Ada.Text_Io'Elab_Spec;
Ada.Text_Io'Elab_Body;
E135 := E135 + 1;
System.Pool_Global'Elab_Spec;
E189 := E189 + 1;
SDL.RWOPS'ELAB_SPEC;
E211 := E211 + 1;
SDL.VIDEO'ELAB_SPEC;
E166 := E166 + 1;
SDL.VIDEO.PALETTES'ELAB_SPEC;
SDL.VIDEO.PALETTES'ELAB_BODY;
E187 := E187 + 1;
SDL.VIDEO.PIXEL_FORMATS'ELAB_SPEC;
E185 := E185 + 1;
SDL.VIDEO.PIXELS'ELAB_SPEC;
E216 := E216 + 1;
SDL.VIDEO.RECTANGLES'ELAB_SPEC;
E193 := E193 + 1;
SDL.VIDEO.SURFACES'ELAB_SPEC;
E195 := E195 + 1;
SDL.VIDEO.TEXTURES'ELAB_SPEC;
E215 := E215 + 1;
SDL.VIDEO.WINDOWS'ELAB_SPEC;
E168 := E168 + 1;
SDL.EVENTS.EVENTS'ELAB_SPEC;
E158 := E158 + 1;
SDL.VIDEO.RENDERERS'ELAB_SPEC;
E213 := E213 + 1;
SDL.IMAGES'ELAB_SPEC;
E207 := E207 + 1;
E209 := E209 + 1;
end adainit;
procedure Ada_Main_Program;
pragma Import (Ada, Ada_Main_Program, "_ada_threed");
function main
(argc : Integer;
argv : System.Address;
envp : System.Address)
return Integer
is
procedure Initialize (Addr : System.Address);
pragma Import (C, Initialize, "__gnat_initialize");
procedure Finalize;
pragma Import (C, Finalize, "__gnat_finalize");
SEH : aliased array (1 .. 2) of Integer;
Ensure_Reference : aliased System.Address := Ada_Main_Program_Name'Address;
pragma Volatile (Ensure_Reference);
begin
if gnat_argc = 0 then
gnat_argc := argc;
gnat_argv := argv;
end if;
gnat_envp := envp;
Initialize (SEH'Address);
adainit;
Ada_Main_Program;
adafinal;
Finalize;
return (gnat_exit_status);
end;
-- BEGIN Object file/option list
-- /home/jason/Projects/Ada/3dc/threed.o
-- -L/home/jason/Projects/Ada/3dc/
-- -L/home/jason/Projects/Ada/3dc/
-- -L/home/jason/opt/sdlada/lib/sdlada.release/
-- -L/usr/lib/gcc/x86_64-redhat-linux/13/adalib/
-- -static
-- -lgnat
-- -lm
-- -ldl
-- END Object file/option list
end ada_main;
+725
View File
@@ -0,0 +1,725 @@
pragma Warnings (Off);
pragma Ada_95;
with System;
with System.Parameters;
with System.Secondary_Stack;
package ada_main is
gnat_argc : Integer;
gnat_argv : System.Address;
gnat_envp : System.Address;
pragma Import (C, gnat_argc);
pragma Import (C, gnat_argv);
pragma Import (C, gnat_envp);
gnat_exit_status : Integer;
pragma Import (C, gnat_exit_status);
GNAT_Version : constant String :=
"GNAT Version: 13.1.1 20230426 (Red Hat 13.1.1-1)" & ASCII.NUL;
pragma Export (C, GNAT_Version, "__gnat_version");
GNAT_Version_Address : constant System.Address := GNAT_Version'Address;
pragma Export (C, GNAT_Version_Address, "__gnat_version_address");
Ada_Main_Program_Name : constant String := "_ada_threed" & ASCII.NUL;
pragma Export (C, Ada_Main_Program_Name, "__gnat_ada_main_program_name");
procedure adainit;
pragma Export (C, adainit, "adainit");
procedure adafinal;
pragma Export (C, adafinal, "adafinal");
function main
(argc : Integer;
argv : System.Address;
envp : System.Address)
return Integer;
pragma Export (C, main, "main");
type Version_32 is mod 2 ** 32;
u00001 : constant Version_32 := 16#acda4748#;
pragma Export (C, u00001, "threedB");
u00002 : constant Version_32 := 16#7320ff5f#;
pragma Export (C, u00002, "system__standard_libraryB");
u00003 : constant Version_32 := 16#50630821#;
pragma Export (C, u00003, "system__standard_libraryS");
u00004 : constant Version_32 := 16#76789da1#;
pragma Export (C, u00004, "adaS");
u00005 : constant Version_32 := 16#87ec1338#;
pragma Export (C, u00005, "ada__calendar__delaysB");
u00006 : constant Version_32 := 16#6a7ce89e#;
pragma Export (C, u00006, "ada__calendar__delaysS");
u00007 : constant Version_32 := 16#37ff5dbb#;
pragma Export (C, u00007, "ada__calendarB");
u00008 : constant Version_32 := 16#8324cd02#;
pragma Export (C, u00008, "ada__calendarS");
u00009 : constant Version_32 := 16#e9d77c55#;
pragma Export (C, u00009, "ada__exceptionsB");
u00010 : constant Version_32 := 16#1e7524b5#;
pragma Export (C, u00010, "ada__exceptionsS");
u00011 : constant Version_32 := 16#0740df23#;
pragma Export (C, u00011, "ada__exceptions__last_chance_handlerB");
u00012 : constant Version_32 := 16#6dc27684#;
pragma Export (C, u00012, "ada__exceptions__last_chance_handlerS");
u00013 : constant Version_32 := 16#426dafb8#;
pragma Export (C, u00013, "systemS");
u00014 : constant Version_32 := 16#fd5f5f4c#;
pragma Export (C, u00014, "system__soft_linksB");
u00015 : constant Version_32 := 16#3ff0395b#;
pragma Export (C, u00015, "system__soft_linksS");
u00016 : constant Version_32 := 16#d4c699bf#;
pragma Export (C, u00016, "system__secondary_stackB");
u00017 : constant Version_32 := 16#6a2f1a0f#;
pragma Export (C, u00017, "system__secondary_stackS");
u00018 : constant Version_32 := 16#821dff88#;
pragma Export (C, u00018, "system__parametersB");
u00019 : constant Version_32 := 16#96f90b1e#;
pragma Export (C, u00019, "system__parametersS");
u00020 : constant Version_32 := 16#2a95d23d#;
pragma Export (C, u00020, "system__storage_elementsB");
u00021 : constant Version_32 := 16#e939c75c#;
pragma Export (C, u00021, "system__storage_elementsS");
u00022 : constant Version_32 := 16#0286ce9f#;
pragma Export (C, u00022, "system__soft_links__initializeB");
u00023 : constant Version_32 := 16#2ed17187#;
pragma Export (C, u00023, "system__soft_links__initializeS");
u00024 : constant Version_32 := 16#8599b27b#;
pragma Export (C, u00024, "system__stack_checkingB");
u00025 : constant Version_32 := 16#e2b806a2#;
pragma Export (C, u00025, "system__stack_checkingS");
u00026 : constant Version_32 := 16#c71e6c8a#;
pragma Export (C, u00026, "system__exception_tableB");
u00027 : constant Version_32 := 16#cf46d9a1#;
pragma Export (C, u00027, "system__exception_tableS");
u00028 : constant Version_32 := 16#70c8108a#;
pragma Export (C, u00028, "system__exceptionsS");
u00029 : constant Version_32 := 16#69416224#;
pragma Export (C, u00029, "system__exceptions__machineB");
u00030 : constant Version_32 := 16#8bdfdbe3#;
pragma Export (C, u00030, "system__exceptions__machineS");
u00031 : constant Version_32 := 16#7706238d#;
pragma Export (C, u00031, "system__exceptions_debugB");
u00032 : constant Version_32 := 16#7263f7eb#;
pragma Export (C, u00032, "system__exceptions_debugS");
u00033 : constant Version_32 := 16#32ee70d0#;
pragma Export (C, u00033, "system__img_intS");
u00034 : constant Version_32 := 16#f2c63a02#;
pragma Export (C, u00034, "ada__numericsS");
u00035 : constant Version_32 := 16#174f5472#;
pragma Export (C, u00035, "ada__numerics__big_numbersS");
u00036 : constant Version_32 := 16#b847d0e1#;
pragma Export (C, u00036, "system__unsigned_typesS");
u00037 : constant Version_32 := 16#5e8f37b6#;
pragma Export (C, u00037, "system__val_intS");
u00038 : constant Version_32 := 16#48912782#;
pragma Export (C, u00038, "system__val_unsS");
u00039 : constant Version_32 := 16#96e09402#;
pragma Export (C, u00039, "system__val_utilB");
u00040 : constant Version_32 := 16#71a87b35#;
pragma Export (C, u00040, "system__val_utilS");
u00041 : constant Version_32 := 16#b98923bf#;
pragma Export (C, u00041, "system__case_utilB");
u00042 : constant Version_32 := 16#8d7e78ed#;
pragma Export (C, u00042, "system__case_utilS");
u00043 : constant Version_32 := 16#8d029d03#;
pragma Export (C, u00043, "system__wid_unsS");
u00044 : constant Version_32 := 16#5c7d9c20#;
pragma Export (C, u00044, "system__tracebackB");
u00045 : constant Version_32 := 16#c4f75b05#;
pragma Export (C, u00045, "system__tracebackS");
u00046 : constant Version_32 := 16#5f6b6486#;
pragma Export (C, u00046, "system__traceback_entriesB");
u00047 : constant Version_32 := 16#8a711034#;
pragma Export (C, u00047, "system__traceback_entriesS");
u00048 : constant Version_32 := 16#b5f8ae26#;
pragma Export (C, u00048, "system__traceback__symbolicB");
u00049 : constant Version_32 := 16#d9e66ad1#;
pragma Export (C, u00049, "system__traceback__symbolicS");
u00050 : constant Version_32 := 16#179d7d28#;
pragma Export (C, u00050, "ada__containersS");
u00051 : constant Version_32 := 16#701f9d88#;
pragma Export (C, u00051, "ada__exceptions__tracebackB");
u00052 : constant Version_32 := 16#eb07882c#;
pragma Export (C, u00052, "ada__exceptions__tracebackS");
u00053 : constant Version_32 := 16#15f799c2#;
pragma Export (C, u00053, "interfacesS");
u00054 : constant Version_32 := 16#545fe66d#;
pragma Export (C, u00054, "interfaces__cB");
u00055 : constant Version_32 := 16#9d395173#;
pragma Export (C, u00055, "interfaces__cS");
u00056 : constant Version_32 := 16#6ef2c461#;
pragma Export (C, u00056, "system__bounded_stringsB");
u00057 : constant Version_32 := 16#35908ea1#;
pragma Export (C, u00057, "system__bounded_stringsS");
u00058 : constant Version_32 := 16#1cff99e6#;
pragma Export (C, u00058, "system__crtlS");
u00059 : constant Version_32 := 16#9f199b4a#;
pragma Export (C, u00059, "system__dwarf_linesB");
u00060 : constant Version_32 := 16#a5cb9aae#;
pragma Export (C, u00060, "system__dwarf_linesS");
u00061 : constant Version_32 := 16#5b4659fa#;
pragma Export (C, u00061, "ada__charactersS");
u00062 : constant Version_32 := 16#f70a517e#;
pragma Export (C, u00062, "ada__characters__handlingB");
u00063 : constant Version_32 := 16#ea6baced#;
pragma Export (C, u00063, "ada__characters__handlingS");
u00064 : constant Version_32 := 16#cde9ea2d#;
pragma Export (C, u00064, "ada__characters__latin_1S");
u00065 : constant Version_32 := 16#e6d4fa36#;
pragma Export (C, u00065, "ada__stringsS");
u00066 : constant Version_32 := 16#16f45e54#;
pragma Export (C, u00066, "ada__strings__mapsB");
u00067 : constant Version_32 := 16#9df1863a#;
pragma Export (C, u00067, "ada__strings__mapsS");
u00068 : constant Version_32 := 16#96b40646#;
pragma Export (C, u00068, "system__bit_opsB");
u00069 : constant Version_32 := 16#8f9e0384#;
pragma Export (C, u00069, "system__bit_opsS");
u00070 : constant Version_32 := 16#4642cba6#;
pragma Export (C, u00070, "ada__strings__maps__constantsS");
u00071 : constant Version_32 := 16#a0d3d22b#;
pragma Export (C, u00071, "system__address_imageB");
u00072 : constant Version_32 := 16#e3813282#;
pragma Export (C, u00072, "system__address_imageS");
u00073 : constant Version_32 := 16#cdf7317a#;
pragma Export (C, u00073, "system__img_unsS");
u00074 : constant Version_32 := 16#20ec7aa3#;
pragma Export (C, u00074, "system__ioB");
u00075 : constant Version_32 := 16#dc2f58f7#;
pragma Export (C, u00075, "system__ioS");
u00076 : constant Version_32 := 16#754b4bb8#;
pragma Export (C, u00076, "system__mmapB");
u00077 : constant Version_32 := 16#7a46ab42#;
pragma Export (C, u00077, "system__mmapS");
u00078 : constant Version_32 := 16#367911c4#;
pragma Export (C, u00078, "ada__io_exceptionsS");
u00079 : constant Version_32 := 16#dd82c35a#;
pragma Export (C, u00079, "system__mmap__os_interfaceB");
u00080 : constant Version_32 := 16#37fd3b64#;
pragma Export (C, u00080, "system__mmap__os_interfaceS");
u00081 : constant Version_32 := 16#3e3920c1#;
pragma Export (C, u00081, "system__mmap__unixS");
u00082 : constant Version_32 := 16#1d7382c4#;
pragma Export (C, u00082, "system__os_libB");
u00083 : constant Version_32 := 16#b8017fe7#;
pragma Export (C, u00083, "system__os_libS");
u00084 : constant Version_32 := 16#6e5d049a#;
pragma Export (C, u00084, "system__atomic_operations__test_and_setB");
u00085 : constant Version_32 := 16#57acee8e#;
pragma Export (C, u00085, "system__atomic_operations__test_and_setS");
u00086 : constant Version_32 := 16#850ed59d#;
pragma Export (C, u00086, "system__atomic_operationsS");
u00087 : constant Version_32 := 16#29cc6115#;
pragma Export (C, u00087, "system__atomic_primitivesB");
u00088 : constant Version_32 := 16#0524e799#;
pragma Export (C, u00088, "system__atomic_primitivesS");
u00089 : constant Version_32 := 16#256dbbe5#;
pragma Export (C, u00089, "system__stringsB");
u00090 : constant Version_32 := 16#d9efafa0#;
pragma Export (C, u00090, "system__stringsS");
u00091 : constant Version_32 := 16#2fdbc40e#;
pragma Export (C, u00091, "system__object_readerB");
u00092 : constant Version_32 := 16#55f4bbb3#;
pragma Export (C, u00092, "system__object_readerS");
u00093 : constant Version_32 := 16#d7e08022#;
pragma Export (C, u00093, "system__val_lliS");
u00094 : constant Version_32 := 16#6a5ef568#;
pragma Export (C, u00094, "system__val_lluS");
u00095 : constant Version_32 := 16#bad10b33#;
pragma Export (C, u00095, "system__exception_tracesB");
u00096 : constant Version_32 := 16#aef5c6de#;
pragma Export (C, u00096, "system__exception_tracesS");
u00097 : constant Version_32 := 16#fd158a37#;
pragma Export (C, u00097, "system__wch_conB");
u00098 : constant Version_32 := 16#9b6e8cdb#;
pragma Export (C, u00098, "system__wch_conS");
u00099 : constant Version_32 := 16#5c289972#;
pragma Export (C, u00099, "system__wch_stwB");
u00100 : constant Version_32 := 16#b67fa0da#;
pragma Export (C, u00100, "system__wch_stwS");
u00101 : constant Version_32 := 16#f8305de6#;
pragma Export (C, u00101, "system__wch_cnvB");
u00102 : constant Version_32 := 16#9dae46ab#;
pragma Export (C, u00102, "system__wch_cnvS");
u00103 : constant Version_32 := 16#e538de43#;
pragma Export (C, u00103, "system__wch_jisB");
u00104 : constant Version_32 := 16#28192481#;
pragma Export (C, u00104, "system__wch_jisS");
u00105 : constant Version_32 := 16#307180be#;
pragma Export (C, u00105, "system__os_primitivesB");
u00106 : constant Version_32 := 16#4590ca4e#;
pragma Export (C, u00106, "system__os_primitivesS");
u00107 : constant Version_32 := 16#4b91ffca#;
pragma Export (C, u00107, "ada__command_lineB");
u00108 : constant Version_32 := 16#3cdef8c9#;
pragma Export (C, u00108, "ada__command_lineS");
u00109 : constant Version_32 := 16#dc1b3a37#;
pragma Export (C, u00109, "ada__numerics__elementary_functionsB");
u00110 : constant Version_32 := 16#007d625c#;
pragma Export (C, u00110, "ada__numerics__elementary_functionsS");
u00111 : constant Version_32 := 16#3c1a89cd#;
pragma Export (C, u00111, "ada__numerics__aux_floatS");
u00112 : constant Version_32 := 16#effcb9fc#;
pragma Export (C, u00112, "ada__numerics__aux_linker_optionsS");
u00113 : constant Version_32 := 16#3935e87c#;
pragma Export (C, u00113, "ada__numerics__aux_long_floatS");
u00114 : constant Version_32 := 16#8333dc5f#;
pragma Export (C, u00114, "ada__numerics__aux_long_long_floatS");
u00115 : constant Version_32 := 16#e2164369#;
pragma Export (C, u00115, "ada__numerics__aux_short_floatS");
u00116 : constant Version_32 := 16#e77d8041#;
pragma Export (C, u00116, "system__exn_fltS");
u00117 : constant Version_32 := 16#815f70d4#;
pragma Export (C, u00117, "system__fat_fltS");
u00118 : constant Version_32 := 16#a201b8c5#;
pragma Export (C, u00118, "ada__strings__text_buffersB");
u00119 : constant Version_32 := 16#a7cfd09b#;
pragma Export (C, u00119, "ada__strings__text_buffersS");
u00120 : constant Version_32 := 16#8b7604c4#;
pragma Export (C, u00120, "ada__strings__utf_encodingB");
u00121 : constant Version_32 := 16#4d0e0994#;
pragma Export (C, u00121, "ada__strings__utf_encodingS");
u00122 : constant Version_32 := 16#bb780f45#;
pragma Export (C, u00122, "ada__strings__utf_encoding__stringsB");
u00123 : constant Version_32 := 16#b85ff4b6#;
pragma Export (C, u00123, "ada__strings__utf_encoding__stringsS");
u00124 : constant Version_32 := 16#d1d1ed0b#;
pragma Export (C, u00124, "ada__strings__utf_encoding__wide_stringsB");
u00125 : constant Version_32 := 16#5678478f#;
pragma Export (C, u00125, "ada__strings__utf_encoding__wide_stringsS");
u00126 : constant Version_32 := 16#c2b98963#;
pragma Export (C, u00126, "ada__strings__utf_encoding__wide_wide_stringsB");
u00127 : constant Version_32 := 16#d7af3358#;
pragma Export (C, u00127, "ada__strings__utf_encoding__wide_wide_stringsS");
u00128 : constant Version_32 := 16#f38d604a#;
pragma Export (C, u00128, "ada__tagsB");
u00129 : constant Version_32 := 16#4d1deaec#;
pragma Export (C, u00129, "ada__tagsS");
u00130 : constant Version_32 := 16#3548d972#;
pragma Export (C, u00130, "system__htableB");
u00131 : constant Version_32 := 16#c3b4f753#;
pragma Export (C, u00131, "system__htableS");
u00132 : constant Version_32 := 16#1f1abe38#;
pragma Export (C, u00132, "system__string_hashB");
u00133 : constant Version_32 := 16#64f1772c#;
pragma Export (C, u00133, "system__string_hashS");
u00134 : constant Version_32 := 16#67eb6d5a#;
pragma Export (C, u00134, "ada__text_ioB");
u00135 : constant Version_32 := 16#3cf1122b#;
pragma Export (C, u00135, "ada__text_ioS");
u00136 : constant Version_32 := 16#b4f41810#;
pragma Export (C, u00136, "ada__streamsB");
u00137 : constant Version_32 := 16#67e31212#;
pragma Export (C, u00137, "ada__streamsS");
u00138 : constant Version_32 := 16#abd3c34b#;
pragma Export (C, u00138, "system__put_imagesB");
u00139 : constant Version_32 := 16#5ec3a8a7#;
pragma Export (C, u00139, "system__put_imagesS");
u00140 : constant Version_32 := 16#22b9eb9f#;
pragma Export (C, u00140, "ada__strings__text_buffers__utilsB");
u00141 : constant Version_32 := 16#89062ac3#;
pragma Export (C, u00141, "ada__strings__text_buffers__utilsS");
u00142 : constant Version_32 := 16#73d2d764#;
pragma Export (C, u00142, "interfaces__c_streamsB");
u00143 : constant Version_32 := 16#7acc80b4#;
pragma Export (C, u00143, "interfaces__c_streamsS");
u00144 : constant Version_32 := 16#1aa716c1#;
pragma Export (C, u00144, "system__file_ioB");
u00145 : constant Version_32 := 16#3ecf6aed#;
pragma Export (C, u00145, "system__file_ioS");
u00146 : constant Version_32 := 16#86c56e5a#;
pragma Export (C, u00146, "ada__finalizationS");
u00147 : constant Version_32 := 16#95817ed8#;
pragma Export (C, u00147, "system__finalization_rootB");
u00148 : constant Version_32 := 16#0d9fdc28#;
pragma Export (C, u00148, "system__finalization_rootS");
u00149 : constant Version_32 := 16#e09c58a9#;
pragma Export (C, u00149, "system__file_control_blockS");
u00150 : constant Version_32 := 16#1eeacd0c#;
pragma Export (C, u00150, "sdlB");
u00151 : constant Version_32 := 16#6e262465#;
pragma Export (C, u00151, "sdlS");
u00152 : constant Version_32 := 16#9f72c855#;
pragma Export (C, u00152, "sdl__errorB");
u00153 : constant Version_32 := 16#fbacc442#;
pragma Export (C, u00153, "sdl__errorS");
u00154 : constant Version_32 := 16#40f98252#;
pragma Export (C, u00154, "interfaces__c__stringsB");
u00155 : constant Version_32 := 16#a856e1a3#;
pragma Export (C, u00155, "interfaces__c__stringsS");
u00156 : constant Version_32 := 16#07acaf42#;
pragma Export (C, u00156, "sdl__eventsS");
u00157 : constant Version_32 := 16#5948638f#;
pragma Export (C, u00157, "sdl__events__eventsB");
u00158 : constant Version_32 := 16#5e73368b#;
pragma Export (C, u00158, "sdl__events__eventsS");
u00159 : constant Version_32 := 16#f5c36f20#;
pragma Export (C, u00159, "sdl__events__controllersS");
u00160 : constant Version_32 := 16#ae71a01b#;
pragma Export (C, u00160, "sdl__events__joysticksB");
u00161 : constant Version_32 := 16#e7c77fad#;
pragma Export (C, u00161, "sdl__events__joysticksS");
u00162 : constant Version_32 := 16#b782aba3#;
pragma Export (C, u00162, "sdl__events__filesS");
u00163 : constant Version_32 := 16#1d599977#;
pragma Export (C, u00163, "sdl__events__keyboardsB");
u00164 : constant Version_32 := 16#9106f4b1#;
pragma Export (C, u00164, "sdl__events__keyboardsS");
u00165 : constant Version_32 := 16#dff8c4d8#;
pragma Export (C, u00165, "sdl__videoB");
u00166 : constant Version_32 := 16#8ca03ec1#;
pragma Export (C, u00166, "sdl__videoS");
u00167 : constant Version_32 := 16#c55fea3f#;
pragma Export (C, u00167, "sdl__video__windowsB");
u00168 : constant Version_32 := 16#900f1f7d#;
pragma Export (C, u00168, "sdl__video__windowsS");
u00169 : constant Version_32 := 16#2fb34529#;
pragma Export (C, u00169, "system__assertionsB");
u00170 : constant Version_32 := 16#646ed023#;
pragma Export (C, u00170, "system__assertionsS");
u00171 : constant Version_32 := 16#8b2c6428#;
pragma Export (C, u00171, "ada__assertionsB");
u00172 : constant Version_32 := 16#cc3ec2fd#;
pragma Export (C, u00172, "ada__assertionsS");
u00173 : constant Version_32 := 16#28888d98#;
pragma Export (C, u00173, "system__finalization_mastersB");
u00174 : constant Version_32 := 16#02e4eddb#;
pragma Export (C, u00174, "system__finalization_mastersS");
u00175 : constant Version_32 := 16#35d6ef80#;
pragma Export (C, u00175, "system__storage_poolsB");
u00176 : constant Version_32 := 16#bf8c6aef#;
pragma Export (C, u00176, "system__storage_poolsS");
u00177 : constant Version_32 := 16#b49a0e5d#;
pragma Export (C, u00177, "system__storage_pools__subpoolsB");
u00178 : constant Version_32 := 16#a2d8d50c#;
pragma Export (C, u00178, "system__storage_pools__subpoolsS");
u00179 : constant Version_32 := 16#b0df1928#;
pragma Export (C, u00179, "system__storage_pools__subpools__finalizationB");
u00180 : constant Version_32 := 16#562129f7#;
pragma Export (C, u00180, "system__storage_pools__subpools__finalizationS");
u00181 : constant Version_32 := 16#59a9ef65#;
pragma Export (C, u00181, "sdl__c_pointersS");
u00182 : constant Version_32 := 16#dd7f75da#;
pragma Export (C, u00182, "sdl__video__displaysB");
u00183 : constant Version_32 := 16#c9623aca#;
pragma Export (C, u00183, "sdl__video__displaysS");
u00184 : constant Version_32 := 16#3f16a661#;
pragma Export (C, u00184, "sdl__video__pixel_formatsB");
u00185 : constant Version_32 := 16#cad5b75b#;
pragma Export (C, u00185, "sdl__video__pixel_formatsS");
u00186 : constant Version_32 := 16#5aa0c2ac#;
pragma Export (C, u00186, "sdl__video__palettesB");
u00187 : constant Version_32 := 16#02a22597#;
pragma Export (C, u00187, "sdl__video__palettesS");
u00188 : constant Version_32 := 16#7c78c3c5#;
pragma Export (C, u00188, "system__pool_globalB");
u00189 : constant Version_32 := 16#91b367a5#;
pragma Export (C, u00189, "system__pool_globalS");
u00190 : constant Version_32 := 16#1982dcd0#;
pragma Export (C, u00190, "system__memoryB");
u00191 : constant Version_32 := 16#19e99d68#;
pragma Export (C, u00191, "system__memoryS");
u00192 : constant Version_32 := 16#ef09c5ab#;
pragma Export (C, u00192, "sdl__video__rectanglesB");
u00193 : constant Version_32 := 16#773e1129#;
pragma Export (C, u00193, "sdl__video__rectanglesS");
u00194 : constant Version_32 := 16#b19e3a91#;
pragma Export (C, u00194, "sdl__video__surfacesB");
u00195 : constant Version_32 := 16#888c8957#;
pragma Export (C, u00195, "sdl__video__surfacesS");
u00196 : constant Version_32 := 16#e652c197#;
pragma Export (C, u00196, "system__return_stackS");
u00197 : constant Version_32 := 16#d50f3cfb#;
pragma Export (C, u00197, "system__stream_attributesB");
u00198 : constant Version_32 := 16#5e0388d4#;
pragma Export (C, u00198, "system__stream_attributesS");
u00199 : constant Version_32 := 16#3aecdcda#;
pragma Export (C, u00199, "system__stream_attributes__xdrB");
u00200 : constant Version_32 := 16#42985e70#;
pragma Export (C, u00200, "system__stream_attributes__xdrS");
u00201 : constant Version_32 := 16#a76d79d9#;
pragma Export (C, u00201, "system__fat_lfltS");
u00202 : constant Version_32 := 16#ddbdd733#;
pragma Export (C, u00202, "system__fat_llfS");
u00203 : constant Version_32 := 16#66035241#;
pragma Export (C, u00203, "sdl__events__miceS");
u00204 : constant Version_32 := 16#446ed451#;
pragma Export (C, u00204, "sdl__events__touchesS");
u00205 : constant Version_32 := 16#713bfc83#;
pragma Export (C, u00205, "sdl__events__windowsS");
u00206 : constant Version_32 := 16#48176494#;
pragma Export (C, u00206, "sdl__imagesB");
u00207 : constant Version_32 := 16#530d5180#;
pragma Export (C, u00207, "sdl__imagesS");
u00208 : constant Version_32 := 16#34c5a405#;
pragma Export (C, u00208, "sdl__images__ioB");
u00209 : constant Version_32 := 16#9a728871#;
pragma Export (C, u00209, "sdl__images__ioS");
u00210 : constant Version_32 := 16#ebda439b#;
pragma Export (C, u00210, "sdl__rwopsB");
u00211 : constant Version_32 := 16#82fbb5ae#;
pragma Export (C, u00211, "sdl__rwopsS");
u00212 : constant Version_32 := 16#f5f567e3#;
pragma Export (C, u00212, "sdl__video__renderersB");
u00213 : constant Version_32 := 16#a0ad70f6#;
pragma Export (C, u00213, "sdl__video__renderersS");
u00214 : constant Version_32 := 16#580ccfdc#;
pragma Export (C, u00214, "sdl__video__texturesB");
u00215 : constant Version_32 := 16#abea9c79#;
pragma Export (C, u00215, "sdl__video__texturesS");
u00216 : constant Version_32 := 16#71581158#;
pragma Export (C, u00216, "sdl__video__pixelsS");
u00217 : constant Version_32 := 16#010b3ca4#;
pragma Export (C, u00217, "sdl__video__renderers__makersB");
u00218 : constant Version_32 := 16#9b55209d#;
pragma Export (C, u00218, "sdl__video__renderers__makersS");
u00219 : constant Version_32 := 16#1aa788ac#;
pragma Export (C, u00219, "sdl__video__surfaces__makersB");
u00220 : constant Version_32 := 16#7aec1d50#;
pragma Export (C, u00220, "sdl__video__surfaces__makersS");
u00221 : constant Version_32 := 16#6b6cf7a1#;
pragma Export (C, u00221, "sdl__video__textures__makersB");
u00222 : constant Version_32 := 16#bee99f6d#;
pragma Export (C, u00222, "sdl__video__textures__makersS");
u00223 : constant Version_32 := 16#6a50b071#;
pragma Export (C, u00223, "sdl__video__windows__makersB");
u00224 : constant Version_32 := 16#49567878#;
pragma Export (C, u00224, "sdl__video__windows__makersS");
u00225 : constant Version_32 := 16#ca878138#;
pragma Export (C, u00225, "system__concat_2B");
u00226 : constant Version_32 := 16#f796dc4f#;
pragma Export (C, u00226, "system__concat_2S");
-- BEGIN ELABORATION ORDER
-- ada%s
-- ada.characters%s
-- ada.characters.latin_1%s
-- interfaces%s
-- system%s
-- system.atomic_operations%s
-- system.io%s
-- system.io%b
-- system.parameters%s
-- system.parameters%b
-- system.crtl%s
-- interfaces.c_streams%s
-- interfaces.c_streams%b
-- system.os_primitives%s
-- system.os_primitives%b
-- system.storage_elements%s
-- system.storage_elements%b
-- system.return_stack%s
-- system.stack_checking%s
-- system.stack_checking%b
-- system.string_hash%s
-- system.string_hash%b
-- system.htable%s
-- system.htable%b
-- system.strings%s
-- system.strings%b
-- system.traceback_entries%s
-- system.traceback_entries%b
-- system.unsigned_types%s
-- system.wch_con%s
-- system.wch_con%b
-- system.wch_jis%s
-- system.wch_jis%b
-- system.wch_cnv%s
-- system.wch_cnv%b
-- system.concat_2%s
-- system.concat_2%b
-- system.exn_flt%s
-- system.traceback%s
-- system.traceback%b
-- ada.characters.handling%s
-- system.atomic_operations.test_and_set%s
-- system.case_util%s
-- system.os_lib%s
-- system.secondary_stack%s
-- system.standard_library%s
-- ada.exceptions%s
-- system.exceptions_debug%s
-- system.exceptions_debug%b
-- system.soft_links%s
-- system.val_llu%s
-- system.val_lli%s
-- system.val_uns%s
-- system.val_int%s
-- system.val_util%s
-- system.val_util%b
-- system.wch_stw%s
-- system.wch_stw%b
-- ada.exceptions.last_chance_handler%s
-- ada.exceptions.last_chance_handler%b
-- ada.exceptions.traceback%s
-- ada.exceptions.traceback%b
-- system.address_image%s
-- system.address_image%b
-- system.bit_ops%s
-- system.bit_ops%b
-- system.bounded_strings%s
-- system.bounded_strings%b
-- system.case_util%b
-- system.exception_table%s
-- system.exception_table%b
-- ada.containers%s
-- ada.io_exceptions%s
-- ada.numerics%s
-- ada.numerics.big_numbers%s
-- ada.strings%s
-- ada.strings.maps%s
-- ada.strings.maps%b
-- ada.strings.maps.constants%s
-- interfaces.c%s
-- interfaces.c%b
-- system.atomic_primitives%s
-- system.atomic_primitives%b
-- system.exceptions%s
-- system.exceptions.machine%s
-- system.exceptions.machine%b
-- ada.characters.handling%b
-- system.atomic_operations.test_and_set%b
-- system.exception_traces%s
-- system.exception_traces%b
-- system.memory%s
-- system.memory%b
-- system.mmap%s
-- system.mmap.os_interface%s
-- system.mmap%b
-- system.mmap.unix%s
-- system.mmap.os_interface%b
-- system.object_reader%s
-- system.object_reader%b
-- system.dwarf_lines%s
-- system.os_lib%b
-- system.secondary_stack%b
-- system.soft_links.initialize%s
-- system.soft_links.initialize%b
-- system.soft_links%b
-- system.standard_library%b
-- system.traceback.symbolic%s
-- system.traceback.symbolic%b
-- system.wid_uns%s
-- system.img_int%s
-- ada.exceptions%b
-- system.img_uns%s
-- system.dwarf_lines%b
-- ada.assertions%s
-- ada.assertions%b
-- ada.command_line%s
-- ada.command_line%b
-- ada.numerics.aux_linker_options%s
-- ada.numerics.aux_float%s
-- ada.numerics.aux_long_float%s
-- ada.numerics.aux_long_long_float%s
-- ada.numerics.aux_short_float%s
-- ada.strings.utf_encoding%s
-- ada.strings.utf_encoding%b
-- ada.strings.utf_encoding.strings%s
-- ada.strings.utf_encoding.strings%b
-- ada.strings.utf_encoding.wide_strings%s
-- ada.strings.utf_encoding.wide_strings%b
-- ada.strings.utf_encoding.wide_wide_strings%s
-- ada.strings.utf_encoding.wide_wide_strings%b
-- ada.tags%s
-- ada.tags%b
-- ada.strings.text_buffers%s
-- ada.strings.text_buffers%b
-- ada.strings.text_buffers.utils%s
-- ada.strings.text_buffers.utils%b
-- interfaces.c.strings%s
-- interfaces.c.strings%b
-- system.fat_flt%s
-- ada.numerics.elementary_functions%s
-- ada.numerics.elementary_functions%b
-- system.fat_lflt%s
-- system.fat_llf%s
-- system.put_images%s
-- system.put_images%b
-- ada.streams%s
-- ada.streams%b
-- system.file_control_block%s
-- system.finalization_root%s
-- system.finalization_root%b
-- ada.finalization%s
-- system.file_io%s
-- system.file_io%b
-- system.storage_pools%s
-- system.storage_pools%b
-- system.finalization_masters%s
-- system.finalization_masters%b
-- system.storage_pools.subpools%s
-- system.storage_pools.subpools.finalization%s
-- system.storage_pools.subpools.finalization%b
-- system.storage_pools.subpools%b
-- system.stream_attributes%s
-- system.stream_attributes.xdr%s
-- system.stream_attributes.xdr%b
-- system.stream_attributes%b
-- ada.calendar%s
-- ada.calendar%b
-- ada.calendar.delays%s
-- ada.calendar.delays%b
-- ada.text_io%s
-- ada.text_io%b
-- system.assertions%s
-- system.assertions%b
-- system.pool_global%s
-- system.pool_global%b
-- sdl%s
-- sdl%b
-- sdl.c_pointers%s
-- sdl.error%s
-- sdl.error%b
-- sdl.events%s
-- sdl.events.files%s
-- sdl.events.joysticks%s
-- sdl.events.joysticks%b
-- sdl.events.controllers%s
-- sdl.events.touches%s
-- sdl.rwops%s
-- sdl.rwops%b
-- sdl.video%s
-- sdl.video%b
-- sdl.video.palettes%s
-- sdl.video.palettes%b
-- sdl.video.pixel_formats%s
-- sdl.video.pixel_formats%b
-- sdl.video.pixels%s
-- sdl.video.rectangles%s
-- sdl.video.rectangles%b
-- sdl.video.displays%s
-- sdl.video.displays%b
-- sdl.video.surfaces%s
-- sdl.video.surfaces%b
-- sdl.video.surfaces.makers%s
-- sdl.video.surfaces.makers%b
-- sdl.video.textures%s
-- sdl.video.textures%b
-- sdl.video.windows%s
-- sdl.video.windows%b
-- sdl.events.keyboards%s
-- sdl.events.keyboards%b
-- sdl.events.mice%s
-- sdl.events.windows%s
-- sdl.events.events%s
-- sdl.events.events%b
-- sdl.video.renderers%s
-- sdl.video.renderers%b
-- sdl.video.renderers.makers%s
-- sdl.video.renderers.makers%b
-- sdl.video.textures.makers%s
-- sdl.video.textures.makers%b
-- sdl.video.windows.makers%s
-- sdl.video.windows.makers%b
-- sdl.images%s
-- sdl.images%b
-- sdl.images.io%s
-- sdl.images.io%b
-- threed%b
-- END ELABORATION ORDER
end ada_main;
+424
View File
@@ -0,0 +1,424 @@
V "GNAT Lib v13"
A -gnatA
A -gnatA
A -gnatWb
A -gnatiw
A -gnatws
A -mtune=generic
A -march=x86-64
P ZX
RN
RV NO_ACCESS_SUBPROGRAMS
RV NO_STANDARD_STORAGE_POOLS
RV NO_DEFAULT_INITIALIZATION
RV NO_IMPLEMENTATION_ATTRIBUTES
RV NO_IMPLEMENTATION_PRAGMAS
RV NO_IMPLICIT_LOOPS
RV NO_ELABORATION_CODE
RV NO_OBSOLESCENT_FEATURES
U ada_main%b b__threed.adb fc6f94f1 OO PK IL
W ada%s ada.ads ada.ali
W ada.exceptions%s a-except.adb a-except.ali
Z system%s system.ads system.ali
U ada_main%s b__threed.ads 092635e3 EE NE OO PK IL
W system%s system.ads system.ali
W system.parameters%s s-parame.adb s-parame.ali
W system.secondary_stack%s s-secsta.adb s-secsta.ali
D ada.ads 20230426000000 76789da1 ada%s
D a-except.ads 20230426000000 2a7d8d70 ada.exceptions%s
D a-unccon.ads 20230426000000 0e9b276f ada.unchecked_conversion%s
D b__threed.ads 20230506025956 c85d4708 ada_main%s
D b__threed.adb 20230506025956 1e4f5e89 ada_main%b
D system.ads 20230426000000 426dafb8 system%s
D s-parame.ads 20230426000000 d494a4a6 system.parameters%s
D s-secsta.ads 20230426000000 578279f5 system.secondary_stack%s
D s-stalib.ads 20230426000000 1c9580f6 system.standard_library%s
D s-stoele.ads 20230426000000 ab5468e4 system.storage_elements%s
D s-traent.ads 20230426000000 c81cbf8c system.traceback_entries%s
G a e
G c Z s b [adainit ada_main 29 14 none]
G c Z s b [adafinal ada_main 32 14 none]
G c Z s b [main ada_main 35 13 none]
G c Z b b [Tsec_default_sized_stacksBIP ada_main 59 4 none]
G c Z b b [finalize_library ada_main 66 14 none]
G c Z b b [ada_main_program ada_main 347 14 none]
X 1 ada.ads
16K9*Ada 20e8 5|6r6
X 2 a-except.ads
44K13*Exceptions 295e19 5|6w10
X 4 b__threed.ads
6K9*ada_main 725l5 725e13 5|8b14 393l5 393t13
8i4*gnat_argc{integer} 12m22 12r22 5|367r10 368m10
9m4*gnat_argv{6|67M9} 13m22 13r22 5|369m10
10m4*gnat_envp{6|67M9} 14m22 14r22 5|371m7
16i4*gnat_exit_status{integer} 17m22 17r22 5|378r15
19a4*GNAT_Version{string} 21r22 23r54
23m4*GNAT_Version_Address{6|67M9} 24r22
26a4*Ada_Main_Program_Name{string} 27r22 5|363r52
29U14*adainit 30i<c,adainit>22 5|171b14 345l8 345t15 374s7
32U14*adafinal 33i<c,adafinal>22 5|152b14 166l8 166t16 376s7
35V13*main{integer} 36>7 37>7 38>7 40i<c,main>22 5|350b13 379t7
36i7 argc{integer} 5|351b7 368r23
37m7 argv{6|67M9} 5|352b7 369r23
38m7 envp{6|67M9} 5|353b7 371r20
42M9*Version_32 43r22 45r22 47r22 49r22 51r22 53r22 55r22 57r22 59r22 61r22
. 63r22 65r22 67r22 69r22 71r22 73r22 75r22 77r22 79r22 81r22 83r22 85r22
. 87r22 89r22 91r22 93r22 95r22 97r22 99r22 101r22 103r22 105r22 107r22 109r22
. 111r22 113r22 115r22 117r22 119r22 121r22 123r22 125r22 127r22 129r22 131r22
. 133r22 135r22 137r22 139r22 141r22 143r22 145r22 147r22 149r22 151r22 153r22
. 155r22 157r22 159r22 161r22 163r22 165r22 167r22 169r22 171r22 173r22 175r22
. 177r22 179r22 181r22 183r22 185r22 187r22 189r22 191r22 193r22 195r22 197r22
. 199r22 201r22 203r22 205r22 207r22 209r22 211r22 213r22 215r22 217r22 219r22
. 221r22 223r22 225r22 227r22 229r22 231r22 233r22 235r22 237r22 239r22 241r22
. 243r22 245r22 247r22 249r22 251r22 253r22 255r22 257r22 259r22 261r22 263r22
. 265r22 267r22 269r22 271r22 273r22 275r22 277r22 279r22 281r22 283r22 285r22
. 287r22 289r22 291r22 293r22 295r22 297r22 299r22 301r22 303r22 305r22 307r22
. 309r22 311r22 313r22 315r22 317r22 319r22 321r22 323r22 325r22 327r22 329r22
. 331r22 333r22 335r22 337r22 339r22 341r22 343r22 345r22 347r22 349r22 351r22
. 353r22 355r22 357r22 359r22 361r22 363r22 365r22 367r22 369r22 371r22 373r22
. 375r22 377r22 379r22 381r22 383r22 385r22 387r22 389r22 391r22 393r22 395r22
. 397r22 399r22 401r22 403r22 405r22 407r22 409r22 411r22 413r22 415r22 417r22
. 419r22 421r22 423r22 425r22 427r22 429r22 431r22 433r22 435r22 437r22 439r22
. 441r22 443r22 445r22 447r22 449r22 451r22 453r22 455r22 457r22 459r22 461r22
. 463r22 465r22 467r22 469r22 471r22 473r22 475r22 477r22 479r22 481r22 483r22
. 485r22 487r22 489r22 491r22 493r22
43m4*u00001{42M9} 44r22
45m4*u00002{42M9} 46r22
47m4*u00003{42M9} 48r22
49m4*u00004{42M9} 50r22
51m4*u00005{42M9} 52r22
53m4*u00006{42M9} 54r22
55m4*u00007{42M9} 56r22
57m4*u00008{42M9} 58r22
59m4*u00009{42M9} 60r22
61m4*u00010{42M9} 62r22
63m4*u00011{42M9} 64r22
65m4*u00012{42M9} 66r22
67m4*u00013{42M9} 68r22
69m4*u00014{42M9} 70r22
71m4*u00015{42M9} 72r22
73m4*u00016{42M9} 74r22
75m4*u00017{42M9} 76r22
77m4*u00018{42M9} 78r22
79m4*u00019{42M9} 80r22
81m4*u00020{42M9} 82r22
83m4*u00021{42M9} 84r22
85m4*u00022{42M9} 86r22
87m4*u00023{42M9} 88r22
89m4*u00024{42M9} 90r22
91m4*u00025{42M9} 92r22
93m4*u00026{42M9} 94r22
95m4*u00027{42M9} 96r22
97m4*u00028{42M9} 98r22
99m4*u00029{42M9} 100r22
101m4*u00030{42M9} 102r22
103m4*u00031{42M9} 104r22
105m4*u00032{42M9} 106r22
107m4*u00033{42M9} 108r22
109m4*u00034{42M9} 110r22
111m4*u00035{42M9} 112r22
113m4*u00036{42M9} 114r22
115m4*u00037{42M9} 116r22
117m4*u00038{42M9} 118r22
119m4*u00039{42M9} 120r22
121m4*u00040{42M9} 122r22
123m4*u00041{42M9} 124r22
125m4*u00042{42M9} 126r22
127m4*u00043{42M9} 128r22
129m4*u00044{42M9} 130r22
131m4*u00045{42M9} 132r22
133m4*u00046{42M9} 134r22
135m4*u00047{42M9} 136r22
137m4*u00048{42M9} 138r22
139m4*u00049{42M9} 140r22
141m4*u00050{42M9} 142r22
143m4*u00051{42M9} 144r22
145m4*u00052{42M9} 146r22
147m4*u00053{42M9} 148r22
149m4*u00054{42M9} 150r22
151m4*u00055{42M9} 152r22
153m4*u00056{42M9} 154r22
155m4*u00057{42M9} 156r22
157m4*u00058{42M9} 158r22
159m4*u00059{42M9} 160r22
161m4*u00060{42M9} 162r22
163m4*u00061{42M9} 164r22
165m4*u00062{42M9} 166r22
167m4*u00063{42M9} 168r22
169m4*u00064{42M9} 170r22
171m4*u00065{42M9} 172r22
173m4*u00066{42M9} 174r22
175m4*u00067{42M9} 176r22
177m4*u00068{42M9} 178r22
179m4*u00069{42M9} 180r22
181m4*u00070{42M9} 182r22
183m4*u00071{42M9} 184r22
185m4*u00072{42M9} 186r22
187m4*u00073{42M9} 188r22
189m4*u00074{42M9} 190r22
191m4*u00075{42M9} 192r22
193m4*u00076{42M9} 194r22
195m4*u00077{42M9} 196r22
197m4*u00078{42M9} 198r22
199m4*u00079{42M9} 200r22
201m4*u00080{42M9} 202r22
203m4*u00081{42M9} 204r22
205m4*u00082{42M9} 206r22
207m4*u00083{42M9} 208r22
209m4*u00084{42M9} 210r22
211m4*u00085{42M9} 212r22
213m4*u00086{42M9} 214r22
215m4*u00087{42M9} 216r22
217m4*u00088{42M9} 218r22
219m4*u00089{42M9} 220r22
221m4*u00090{42M9} 222r22
223m4*u00091{42M9} 224r22
225m4*u00092{42M9} 226r22
227m4*u00093{42M9} 228r22
229m4*u00094{42M9} 230r22
231m4*u00095{42M9} 232r22
233m4*u00096{42M9} 234r22
235m4*u00097{42M9} 236r22
237m4*u00098{42M9} 238r22
239m4*u00099{42M9} 240r22
241m4*u00100{42M9} 242r22
243m4*u00101{42M9} 244r22
245m4*u00102{42M9} 246r22
247m4*u00103{42M9} 248r22
249m4*u00104{42M9} 250r22
251m4*u00105{42M9} 252r22
253m4*u00106{42M9} 254r22
255m4*u00107{42M9} 256r22
257m4*u00108{42M9} 258r22
259m4*u00109{42M9} 260r22
261m4*u00110{42M9} 262r22
263m4*u00111{42M9} 264r22
265m4*u00112{42M9} 266r22
267m4*u00113{42M9} 268r22
269m4*u00114{42M9} 270r22
271m4*u00115{42M9} 272r22
273m4*u00116{42M9} 274r22
275m4*u00117{42M9} 276r22
277m4*u00118{42M9} 278r22
279m4*u00119{42M9} 280r22
281m4*u00120{42M9} 282r22
283m4*u00121{42M9} 284r22
285m4*u00122{42M9} 286r22
287m4*u00123{42M9} 288r22
289m4*u00124{42M9} 290r22
291m4*u00125{42M9} 292r22
293m4*u00126{42M9} 294r22
295m4*u00127{42M9} 296r22
297m4*u00128{42M9} 298r22
299m4*u00129{42M9} 300r22
301m4*u00130{42M9} 302r22
303m4*u00131{42M9} 304r22
305m4*u00132{42M9} 306r22
307m4*u00133{42M9} 308r22
309m4*u00134{42M9} 310r22
311m4*u00135{42M9} 312r22
313m4*u00136{42M9} 314r22
315m4*u00137{42M9} 316r22
317m4*u00138{42M9} 318r22
319m4*u00139{42M9} 320r22
321m4*u00140{42M9} 322r22
323m4*u00141{42M9} 324r22
325m4*u00142{42M9} 326r22
327m4*u00143{42M9} 328r22
329m4*u00144{42M9} 330r22
331m4*u00145{42M9} 332r22
333m4*u00146{42M9} 334r22
335m4*u00147{42M9} 336r22
337m4*u00148{42M9} 338r22
339m4*u00149{42M9} 340r22
341m4*u00150{42M9} 342r22
343m4*u00151{42M9} 344r22
345m4*u00152{42M9} 346r22
347m4*u00153{42M9} 348r22
349m4*u00154{42M9} 350r22
351m4*u00155{42M9} 352r22
353m4*u00156{42M9} 354r22
355m4*u00157{42M9} 356r22
357m4*u00158{42M9} 358r22
359m4*u00159{42M9} 360r22
361m4*u00160{42M9} 362r22
363m4*u00161{42M9} 364r22
365m4*u00162{42M9} 366r22
367m4*u00163{42M9} 368r22
369m4*u00164{42M9} 370r22
371m4*u00165{42M9} 372r22
373m4*u00166{42M9} 374r22
375m4*u00167{42M9} 376r22
377m4*u00168{42M9} 378r22
379m4*u00169{42M9} 380r22
381m4*u00170{42M9} 382r22
383m4*u00171{42M9} 384r22
385m4*u00172{42M9} 386r22
387m4*u00173{42M9} 388r22
389m4*u00174{42M9} 390r22
391m4*u00175{42M9} 392r22
393m4*u00176{42M9} 394r22
395m4*u00177{42M9} 396r22
397m4*u00178{42M9} 398r22
399m4*u00179{42M9} 400r22
401m4*u00180{42M9} 402r22
403m4*u00181{42M9} 404r22
405m4*u00182{42M9} 406r22
407m4*u00183{42M9} 408r22
409m4*u00184{42M9} 410r22
411m4*u00185{42M9} 412r22
413m4*u00186{42M9} 414r22
415m4*u00187{42M9} 416r22
417m4*u00188{42M9} 418r22
419m4*u00189{42M9} 420r22
421m4*u00190{42M9} 422r22
423m4*u00191{42M9} 424r22
425m4*u00192{42M9} 426r22
427m4*u00193{42M9} 428r22
429m4*u00194{42M9} 430r22
431m4*u00195{42M9} 432r22
433m4*u00196{42M9} 434r22
435m4*u00197{42M9} 436r22
437m4*u00198{42M9} 438r22
439m4*u00199{42M9} 440r22
441m4*u00200{42M9} 442r22
443m4*u00201{42M9} 444r22
445m4*u00202{42M9} 446r22
447m4*u00203{42M9} 448r22
449m4*u00204{42M9} 450r22
451m4*u00205{42M9} 452r22
453m4*u00206{42M9} 454r22
455m4*u00207{42M9} 456r22
457m4*u00208{42M9} 458r22
459m4*u00209{42M9} 460r22
461m4*u00210{42M9} 462r22
463m4*u00211{42M9} 464r22
465m4*u00212{42M9} 466r22
467m4*u00213{42M9} 468r22
469m4*u00214{42M9} 470r22
471m4*u00215{42M9} 472r22
473m4*u00216{42M9} 474r22
475m4*u00217{42M9} 476r22
477m4*u00218{42M9} 478r22
479m4*u00219{42M9} 480r22
481m4*u00220{42M9} 482r22
483m4*u00221{42M9} 484r22
485m4*u00222{42M9} 486r22
487m4*u00223{42M9} 488r22
489m4*u00224{42M9} 490r22
491m4*u00225{42M9} 492r22
493m4*u00226{42M9} 494r22
X 5 b__threed.adb
10i4 E083{short_integer} 10m46 10r46 269m7 269r15
11i4 E010{short_integer} 11m46 11r46 277m7 277r15
12i4 E015{short_integer} 12m46 12r46 272m7 272r15
13i4 E027{short_integer} 13m46 13r46 248m7 248r15
14i4 E050{short_integer} 14m46 14r46 250m7 250r15
15i4 E078{short_integer} 15m46 15r46 252m7 252r15
16i4 E034{short_integer} 16m46 16r46 254m7 254r15
17i4 E065{short_integer} 17m46 17r46 256m7 256r15
18i4 E067{short_integer} 18m46 18r46 258m7 258r15
19i4 E070{short_integer} 19m46 19r46 260m7 260r15
20i4 E055{short_integer} 20m46 20r46 262m7 262r15
21i4 E028{short_integer} 21m46 21r46 264m7 264r15
22i4 E092{short_integer} 22m46 22r46 266m7 266r15
23i4 E060{short_integer} 23m46 23r46 280m7 280r15
24i4 E023{short_integer} 24m46 24r46 271m7 271r15
25i4 E049{short_integer} 25m46 25r46 274m7 274r15
26i4 E033{short_integer} 26m46 26r46 276m7 276r15
27i4 E073{short_integer} 27m46 27r46 279m7 279r15
28i4 E172{short_integer} 28m46 28r46 282m7 282r15
29i4 E121{short_integer} 29m46 29r46 284m7 284r15
30i4 E129{short_integer} 30m46 30r46 287m7 287r15
31i4 E119{short_integer} 31m46 31r46 289m7 289r15
32i4 E155{short_integer} 32m46 32r46 291m7 291r15
33i4 E137{short_integer} 33m46 33r46 293m7 293r15
34i4 E149{short_integer} 34m46 34r46 295m7 295r15
35i4 E148{short_integer} 35m46 35r46 297m7 297r15
36i4 E146{short_integer} 36m46 36r46 299m7 299r15
37i4 E145{short_integer} 37m46 37r46 141m10 141r18 301m7 301r15
38i4 E176{short_integer} 38m46 38r46 303m7 303r15
39i4 E174{short_integer} 39m46 39r46 130m7 130r15 306m7 306r15
40i4 E178{short_integer} 40m46 40r46 123m7 123r15 308m7 308r15
41i4 E008{short_integer} 41m46 41r46 311m7 311r15
42i4 E006{short_integer} 42m46 42r46 313m7 313r15
43i4 E135{short_integer} 43m46 43r46 116m7 116r15 316m7 316r15
44i4 E189{short_integer} 44m46 44r46 109m7 109r15 318m7 318r15
45i4 E211{short_integer} 45m46 45r46 320m7 320r15
46i4 E166{short_integer} 46m46 46r46 322m7 322r15
47i4 E187{short_integer} 47m46 47r46 100m10 100r18 325m7 325r15
48i4 E185{short_integer} 48m46 48r46 327m7 327r15
49i4 E216{short_integer} 49m46 49r46 329m7 329r15
50i4 E193{short_integer} 50m46 50r46 331m7 331r15
51i4 E195{short_integer} 51m46 51r46 89m7 89r15 333m7 333r15
52i4 E215{short_integer} 52m46 52r46 82m7 82r15 335m7 335r15
53i4 E168{short_integer} 53m46 53r46 75m7 75r15 337m7 337r15
54i4 E158{short_integer} 54m46 54r46 339m7 339r15
55i4 E213{short_integer} 55m46 55r46 68m7 68r15 341m7 341r15
56i4 E207{short_integer} 56m46 56r46 343m7 343r15
57i4 E209{short_integer} 57m46 57r46 344m7 344r15
59a4 Sec_Default_Sized_Stacks(8|43R9) 239m32 239r32
61a4 Local_Priority_Specific_Dispatching{string} 227r9
62a4 Local_Interrupt_States{string} 230r27
64b4 Is_Elaborated{boolean} 160r14 163m7 216r10 219m7
66U14 finalize_library 66b14 150l8 150t24 243r35
70U20*F1 71b<ada,sdl__video__renderers__finalize_spec>30 73s10
77U20*F2 78b<ada,sdl__video__windows__finalize_spec>30 80s10
84U20*F3 85b<ada,sdl__video__textures__finalize_spec>30 87s10
91U20*F4 92b<ada,sdl__video__surfaces__finalize_spec>30 94s10
97U20*F5 98b<ada,sdl__video__palettes__finalize_body>30 101s10
104U20*F6 105b<ada,sdl__video__palettes__finalize_spec>30 107s10
111U20*F7 112b<ada,system__pool_global__finalize_spec>30 114s10
118U20*F8 119b<ada,ada__text_io__finalize_spec>30 121s10
125U20*F9 126b<ada,system__storage_pools__subpools__finalize_spec>30 128s10
132U20*F10 133b<ada,system__finalization_masters__finalize_spec>30 135s10
138U20*F11 139b<ada,system__file_io__finalize_body>30 142s10
145U20*Reraise_Library_Exception_If_Any 146b<ada,__gnat_reraise_library_exception_if_any>33
. 148s10
153U17*s_stalib_adafinal 154b<ada,system__standard_library__adafinal>27 165s7
156U17*Runtime_Finalize 157b<c,__gnat_runtime_finalize>25 164s7
168P9 No_Param_Proc 169r28 208r34
172i7*Main_Priority{integer} 173m25 173r25 220m7
174i7*Time_Slice_Value{integer} 175m25 175r25 221m7
176e7*WC_Encoding{character} 177m25 177r25 222m7
178e7*Locking_Policy{character} 179m25 179r25 223m7
180e7*Queuing_Policy{character} 181m25 181r25 224m7
182e7*Task_Dispatching_Policy{character} 183m25 183r25 225m7
184m7*Priority_Specific_Dispatching{6|67M9} 185m25 185r25 226m7
186i7*Num_Specific_Dispatching{integer} 187m25 187r25 228m7
188i7*Main_CPU{integer} 189m25 189r25 229m7
190m7*Interrupt_States{6|67M9} 191m25 191r25 230m7
192i7*Num_Interrupt_States{integer} 193m25 193r25 231m7
194i7*Unreserve_All_Interrupts{integer} 195m25 195r25 232m7
196i7*Detect_Blocking{integer} 197m25 197r25 233m7
198i7*Default_Stack_Size{integer} 199m25 199r25 234m7
200i7*Default_Secondary_Stack_Size{7|56I9} 201m25 201r25 237m7
202m7*Bind_Env_Addr{6|67M9} 203m25 203r25
205U17*Runtime_Initialize 205>37 206b<c,__gnat_runtime_initialize>25 241s7
205i37 Install_Handler{integer}
208p7*Finalize_Library_Objects{168P9} 209m25 209r25 243m7
210i7*Binder_Sec_Stacks_Count{natural} 211m27 211r27 238m7
212m7*Default_Sized_SS_Pool{6|67M9} 213m27 213r27 239m7
347U14 Ada_Main_Program 348b<ada,_ada_threed>24 375s7
356U17*Initialize 356>29 357b<c,__gnat_initialize>25 373s7
356m29 Addr{6|67M9}
359U17*Finalize 360b<c,__gnat_finalize>25 377s7
361a7 SEH(integer) 373m19 373r19
363m7 Ensure_Reference{6|67M9} 364r24
X 6 system.ads
37K9*System 4|3w6 4r6 5r6 9r16 10r16 23r36 37r14 38r14 5|59r57 59r90 184r39
. 190r26 200r38 202r23 212r31 237r39 352r14 353r14 356r36 363r34 6|153e11
67M9*Address 4|9r23 10r23 23r43 37r21 38r21 5|184r46 190r33 202r30 212r38
. 352r21 353r21 356r43 363r41
X 7 s-parame.ads
49K16*Parameters 4|4w13 5|59r97 200r45 237r46 7|190e22
56I9*Size_Type<long_integer> 5|200r56
93i4*Runtime_Default_Sec_Stack_Size{56I9} 5|59r108 237r57
X 8 s-secsta.ads
35K16*Secondary_Stack 4|5w13 5|59r64 8|429e27
43R9*SS_Stack 5|59r80 8|329e14
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+234
View File
@@ -0,0 +1,234 @@
----------------------------------------------------------------------------
----------------------------------------------------------------------------
-- threed.adb - display a 3D rotating cube --
-- Copyright (c) 25/03/2023 Jason Bou-Samra. [Paragon] --
-- --
-- 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 <https://www.gnu.org/licenses/>. --
----------------------------------------------------------------------------
with Ada.Text_IO; use Ada.Text_IO;
with Ada.Command_Line; use Ada.Command_Line;
with Ada.Numerics.Elementary_Functions; use Ada.Numerics.Elementary_Functions;
with SDL.Video.Windows.Makers;
with SDL.Video.Renderers.Makers;
with SDL.Video.Surfaces.Makers;
with SDL.Video.Textures.Makers;
with SDL.Video.Rectangles;
--with SDL.Video.Renderers;
with SDL.Images.IO;
with SDL.Events.Events;
with SDL.Error;
use SDL.C;
procedure threed is
-- hidden message
S : String := "toto, all the way";
-- temporary xyz sets
xt, yt, zt : array (1 .. 8) of Float;
xu, yu, zu : array (1 .. 8) of Float;
-- cube model
x : array (1 .. 8) of Float :=
(-80.0, 80.0, 80.0, -80.0, -80.0, 80.0, 80.0, -80.0);
y : array (1 .. 8) of Float :=
(80.0, 80.0, -80.0, -80.0, 80.0, 80.0, -80.0, -80.0);
z : array (1 .. 8) of Float :=
(80.0, 80.0, 80.0, 80.0, -80.0, -80.0, -80.0, -80.0);
angle : Float := 0.0;
scale : Float := 3.0;
RAD : Float := 3.14159 / 180.0;
SPEED : Float := 2.0;
Window_Title : constant String := "3DCube demo";
quit : Boolean := False;
use SDL.Video;
use type Windows.Window_Flags;
use type Renderers.Renderer_Flags;
use type SDL.Events.Event_Types;
Win : Windows.Window;
Ren : Renderers.Renderer;
Bmp : Surfaces.Surface;
Tex : Textures.Texture;
Event : SDL.Events.Events.Events;
Dummy : Boolean;
---------------------------------
-- poll function
---------------------------------
function Poll_Quit return Boolean is
use type SDL.Events.Event_Types;
begin
while SDL.Events.Events.Poll (Event) loop
if Event.Common.Event_Type = SDL.Events.Quit then
return True;
end if;
end loop;
return False;
end Poll_Quit;
--------------------------------
-- initialise SDL
--------------------------------
procedure initSDL is
begin
-- Initialise SDL
if not SDL.Initialise or not SDL.Images.Initialise then
Ada.Text_IO.Put_Line
(Ada.Text_IO.Standard_Error,
"SDL.Initialize error: " & SDL.Error.Get);
Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
return;
end if;
-- Create window
Windows.Makers.Create
(Win,
Title => Window_Title,
Position =>
(Windows.Undefined_Window_Position,
Windows.Undefined_Window_Position),
Size => (640, 512),
Flags => Windows.Shown);
-- Create renderer
Renderers.Makers.Create
(Rend => Ren,
Window => Win,
Flags => (Renderers.Accelerated or Renderers.Present_V_Sync));
end initSDL;
-------------------------------
-- shutdown routine
-------------------------------
procedure shutdownSDL is
begin
-- Not really needed since these will soon go out of scope
Tex.Finalize; -- texture
Ren.Finalize; -- renderer
Win.Finalize; -- window
SDL.Finalise; -- SDL
end shutdownSDL;
--------------------------------
-- rotation & projection routine
--------------------------------
procedure rotate is
begin
for I in 1 .. 8 loop
-- x angle (Roll)
xt (I) := x (I);
yt (I) := y (I) * Cos (RAD * angle) - z (I) * Sin (RAD * angle);
zt (I) := y (I) * Sin (RAD * angle) + z (I) * Cos (RAD * angle);
-- y angle (Pitch)
xu (I) := zt (I) * Sin (RAD * angle) + xt (I) * Cos (RAD * angle);
yu (I) := yt (I);
zu (I) := xt (I) * (-Sin (RAD * angle)) + zt (I) * Cos (RAD * angle);
-- z angle (Yaw)
xt (I) := xu (I) * Cos (RAD * angle) - yu (I) * Sin (RAD * angle);
yt (I) := xu (I) * Sin (RAD * angle) + yu (I) * Cos (RAD * angle);
zt (I) := zu (I);
-- 2d perspective projection
xt (I) := (xt (I) * 200.0) / (zt (I) + 800.0) * scale + 160.0;
yt (I) := (yt (I) * 200.0) / (zt (I) + 800.0) * scale + 128.0;
end loop;
angle := angle + SPEED;
end rotate;
-------------------------------
-- render cube
-------------------------------
procedure Render is
begin
Renderers.Set_Draw_Colour (Ren, (0, 0, 40, 255));
Renderers.Clear (Ren); -- background
Renderers.Set_Draw_Colour (Ren, (100, 100, 255, 255)); -- pen
-- draw cube front face
Ren.Draw
(Line => ((int (xt (1)), int (yt (1))), (int (xt (2)), int (yt (2)))));
Ren.Draw
(Line => ((int (xt (2)), int (yt (2))), (int (xt (3)), int (yt (3)))));
Ren.Draw
(Line => ((int (xt (3)), int (yt (3))), (int (xt (4)), int (yt (4)))));
Ren.Draw
(Line => ((int (xt (4)), int (yt (4))), (int (xt (1)), int (yt (1)))));
-- draw cube back face
Ren.Draw
(Line => ((int (xt (5)), int (yt (5))), (int (xt (6)), int (yt (6)))));
Ren.Draw
(Line => ((int (xt (6)), int (yt (6))), (int (xt (7)), int (yt (7)))));
Ren.Draw
(Line => ((int (xt (7)), int (yt (7))), (int (xt (8)), int (yt (8)))));
Ren.Draw
(Line => ((int (xt (8)), int (yt (8))), (int (xt (5)), int (yt (5)))));
-- draw cube sides
Ren.Draw
(Line => ((int (xt (1)), int (yt (1))), (int (xt (5)), int (yt (5)))));
Ren.Draw
(Line => ((int (xt (2)), int (yt (2))), (int (xt (6)), int (yt (6)))));
Ren.Draw
(Line => ((int (xt (3)), int (yt (3))), (int (xt (7)), int (yt (7)))));
Ren.Draw
(Line => ((int (xt (4)), int (yt (4))), (int (xt (8)), int (yt (8)))));
Renderers.Present (Ren);
end Render;
-------------------------------
-- main
-------------------------------
begin
Put_Line ("3D cube rotating vector graphic demo");
initSDL; -- call initialise SDL
Renderers.Set_Scale (Ren, 2.0, 2.0);
Main :
loop
rotate; -- call rotate
Render; -- call draw
quit := Poll_Quit;
exit when quit;
delay 0.020;
end loop Main;
shutdownSDL;
end threed;
+234
View File
@@ -0,0 +1,234 @@
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- Copyright (c) 25/03/2023 Jason Bou-Samra.
--
-- 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, version 3.
--
-- 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/>.
-------------------------------------------------------------------------------
-- to build : gprbuild -largs $(pkg-config sdl2 SDL2_image --libs)
with Ada.Text_IO; use Ada.Text_IO;
with Ada.Command_Line; use Ada.Command_Line;
with Ada.Numerics.Elementary_Functions; use Ada.Numerics.Elementary_Functions;
with SDL.Video.Windows.Makers;
with SDL.Video.Renderers.Makers;
with SDL.Video.Surfaces.Makers;
with SDL.Video.Textures.Makers;
with SDL.Video.Rectangles;
--with SDL.Video.Renderers;
with SDL.Images.IO;
with SDL.Events.Events;
with SDL.Error;
use SDL.C;
procedure threed is
-- hidden message
S : String := "toto all the way";
-- temporary xyz sets
xt, yt, zt : array (1 .. 8) of Float;
xu, yu, zu : array (1 .. 8) of Float;
-- cube model
x : array (1 .. 8) of Float :=
(-80.0, 80.0, 80.0, -80.0, -80.0, 80.0, 80.0, -80.0);
y : array (1 .. 8) of Float :=
(80.0, 80.0, -80.0, -80.0, 80.0, 80.0, -80.0, -80.0);
z : array (1 .. 8) of Float :=
(80.0, 80.0, 80.0, 80.0, -80.0, -80.0, -80.0, -80.0);
angle : Float := 0.0;
scale : Float := 3.0;
RAD : Float := 3.14159 / 180.0;
SPEED : Float := 2.0;
Window_Title : constant String := "3DCube demo";
quit : Boolean := False;
use SDL.Video;
use type Windows.Window_Flags;
use type Renderers.Renderer_Flags;
use type SDL.Events.Event_Types;
Win : Windows.Window;
Ren : Renderers.Renderer;
Bmp : Surfaces.Surface;
Tex : Textures.Texture;
Event : SDL.Events.Events.Events;
Dummy : Boolean;
---------------------------------
-- poll function
---------------------------------
function Poll_Quit return Boolean is
use type SDL.Events.Event_Types;
begin
while SDL.Events.Events.Poll (Event) loop
if Event.Common.Event_Type = SDL.Events.Quit then
return True;
end if;
end loop;
return False;
end Poll_Quit;
--------------------------------
-- initialise SDL
--------------------------------
procedure initSDL is
begin
-- Initialise SDL
if not SDL.Initialise or not SDL.Images.Initialise then
Ada.Text_IO.Put_Line
(Ada.Text_IO.Standard_Error,
"SDL.Initialize error: " & SDL.Error.Get);
Ada.Command_Line.Set_Exit_Status (Ada.Command_Line.Failure);
return;
end if;
-- Create window
Windows.Makers.Create
(Win,
Title => Window_Title,
Position =>
(Windows.Undefined_Window_Position,
Windows.Undefined_Window_Position),
Size => (640, 512),
Flags => Windows.Shown);
-- Create renderer
Renderers.Makers.Create
(Rend => Ren,
Window => Win,
Flags => (Renderers.Accelerated or Renderers.Present_V_Sync));
end initSDL;
-------------------------------
-- shutdown routine
-------------------------------
procedure shutdownSDL is
begin
-- Not really needed since these will soon go out of scope
Tex.Finalize; -- texture
Ren.Finalize; -- renderer
Win.Finalize; -- window
SDL.Finalise; -- SDL
end shutdownSDL;
--------------------------------
-- rotation & projection routine
--------------------------------
procedure rotate is
begin
for I in 1 .. 8 loop
-- x angle (Roll)
xt (I) := x (I);
yt (I) := y (I) * Cos (RAD * angle) - z (I) * Sin (RAD * angle);
zt (I) := y (I) * Sin (RAD * angle) + z (I) * Cos (RAD * angle);
-- y angle (Pitch)
xu (I) := zt (I) * Sin (RAD * angle) + xt (I) * Cos (RAD * angle);
yu (I) := yt (I);
zu (I) := xt (I) * (-Sin (RAD * angle)) + zt (I) * Cos (RAD * angle);
-- z angle (Yaw)
xt (I) := xu (I) * Cos (RAD * angle) - yu (I) * Sin (RAD * angle);
yt (I) := xu (I) * Sin (RAD * angle) + yu (I) * Cos (RAD * angle);
zt (I) := zu (I);
-- 2d perspective projection
xt (I) := (xt (I) * 200.0) / (zt (I) + 800.0) * scale + 160.0;
yt (I) := (yt (I) * 200.0) / (zt (I) + 800.0) * scale + 128.0;
end loop;
angle := angle + SPEED;
end rotate;
-------------------------------
-- render cube
-------------------------------
procedure Render is
begin
Renderers.Set_Draw_Colour (Ren, (0, 0, 40, 255));
Renderers.Clear (Ren); -- background
Renderers.Set_Draw_Colour (Ren, (100, 100, 255, 255)); -- pen
-- draw cube front face
Ren.Draw
(Line => ((int (xt (1)), int (yt (1))), (int (xt (2)), int (yt (2)))));
Ren.Draw
(Line => ((int (xt (2)), int (yt (2))), (int (xt (3)), int (yt (3)))));
Ren.Draw
(Line => ((int (xt (3)), int (yt (3))), (int (xt (4)), int (yt (4)))));
Ren.Draw
(Line => ((int (xt (4)), int (yt (4))), (int (xt (1)), int (yt (1)))));
-- draw cube back face
Ren.Draw
(Line => ((int (xt (5)), int (yt (5))), (int (xt (6)), int (yt (6)))));
Ren.Draw
(Line => ((int (xt (6)), int (yt (6))), (int (xt (7)), int (yt (7)))));
Ren.Draw
(Line => ((int (xt (7)), int (yt (7))), (int (xt (8)), int (yt (8)))));
Ren.Draw
(Line => ((int (xt (8)), int (yt (8))), (int (xt (5)), int (yt (5)))));
-- draw cube sides
Ren.Draw
(Line => ((int (xt (1)), int (yt (1))), (int (xt (5)), int (yt (5)))));
Ren.Draw
(Line => ((int (xt (2)), int (yt (2))), (int (xt (6)), int (yt (6)))));
Ren.Draw
(Line => ((int (xt (3)), int (yt (3))), (int (xt (7)), int (yt (7)))));
Ren.Draw
(Line => ((int (xt (4)), int (yt (4))), (int (xt (8)), int (yt (8)))));
Renderers.Present (Ren);
end Render;
-------------------------------
-- main
-------------------------------
begin
Put_Line ("3D cube rotating vector graphic demo");
initSDL; -- call initialise SDL
Renderers.Set_Scale (Ren, 2.0, 2.0);
Main :
loop
rotate; -- call rotate
Render; -- call draw
quit := Poll_Quit;
exit when quit;
delay 0.020;
end loop Main;
shutdownSDL;
end threed;
View File
View File
+316
View File
@@ -0,0 +1,316 @@
V "GNAT Lib v13"
M P W=b
A -gnatA
A -mtune=generic
A -march=x86-64
P SS ZX
RN
RV NO_DELAY
RV NO_DIRECT_BOOLEAN_OPERATORS
RV NO_EXCEPTION_HANDLERS
RV NO_EXCEPTIONS
RV NO_FIXED_POINT
RV NO_FLOATING_POINT
RV NO_IO
RV NO_IMPLICIT_CONDITIONALS
RV NO_LOCAL_ALLOCATORS
RV NO_NESTED_FINALIZATION
RV NO_RELATIVE_DELAY
RV NO_SECONDARY_STACK
RV NO_STANDARD_STORAGE_POOLS
RV NO_DEFAULT_INITIALIZATION
RV NO_DYNAMIC_SIZED_OBJECTS
RV NO_IMPLEMENTATION_PRAGMAS
U threed%b threed.adb acda4748 NE OO SU IL
W ada%s ada.ads ada.ali
Z ada.calendar.delays%s a-caldel.adb a-caldel.ali
W ada.command_line%s a-comlin.adb a-comlin.ali
Z ada.exceptions%s a-except.adb a-except.ali
W ada.numerics%s a-numeri.ads a-numeri.ali
W ada.numerics.elementary_functions%s a-nuelfu.ads a-nuelfu.ali
Z ada.strings.text_buffers%s a-sttebu.adb a-sttebu.ali
W ada.text_io%s a-textio.adb a-textio.ali
W sdl%s sdl.adb sdl.ali
W sdl.error%s sdl-error.adb sdl-error.ali
W sdl.events%s sdl-events.ads sdl-events.ali
W sdl.events.events%s sdl-events-events.adb sdl-events-events.ali
W sdl.images%s sdl-images.adb sdl-images.ali
W sdl.images.io%s sdl-images-io.adb sdl-images-io.ali
W sdl.video%s sdl-video.adb sdl-video.ali
W sdl.video.rectangles%s sdl-video-rectangles.adb sdl-video-rectangles.ali
W sdl.video.renderers%s sdl-video-renderers.adb sdl-video-renderers.ali
W sdl.video.renderers.makers%s sdl-video-renderers-makers.adb sdl-video-renderers-makers.ali
W sdl.video.surfaces%s sdl-video-surfaces.adb sdl-video-surfaces.ali
W sdl.video.surfaces.makers%s sdl-video-surfaces-makers.adb sdl-video-surfaces-makers.ali
W sdl.video.textures%s sdl-video-textures.adb sdl-video-textures.ali
W sdl.video.textures.makers%s sdl-video-textures-makers.adb sdl-video-textures-makers.ali
W sdl.video.windows%s sdl-video-windows.adb sdl-video-windows.ali
W sdl.video.windows.makers%s sdl-video-windows-makers.adb sdl-video-windows-makers.ali
Z system.concat_2%s s-conca2.adb s-conca2.ali
Z system.secondary_stack%s s-secsta.adb s-secsta.ali
Z system.soft_links%s s-soflin.adb s-soflin.ali
Z system.standard_library%s s-stalib.adb s-stalib.ali
D ada.ads 20230426000000 76789da1 ada%s
D a-calend.ads 20230426000000 f55c50a3 ada.calendar%s
D a-caldel.ads 20230426000000 9f20b83d ada.calendar.delays%s
D a-charac.ads 20230426000000 2d3ec45b ada.characters%s
D a-chlat1.ads 20230426000000 e0d72e76 ada.characters.latin_1%s
D a-comlin.ads 20230426000000 4aa66568 ada.command_line%s
D a-except.ads 20230426000000 2a7d8d70 ada.exceptions%s
D a-finali.ads 20230426000000 bf4f806b ada.finalization%s
D a-ioexce.ads 20230426000000 40018c65 ada.io_exceptions%s
D a-iteint.ads 20230426000000 49a8bee2 ada.iterator_interfaces%s
D a-numeri.ads 20230426000000 84bea7a3 ada.numerics%s
D a-nuelfu.ads 20230426000000 dc1b3a37 ada.numerics.elementary_functions%s
D a-ngelfu.ads 20230426000000 58d8ffc8 ada.numerics.generic_elementary_functions%s
D a-stream.ads 20230426000000 119b8fb3 ada.streams%s
D a-string.ads 20230426000000 90ac6797 ada.strings%s
D a-sttebu.ads 20230426000000 f1ad67a2 ada.strings.text_buffers%s
D a-stuten.ads 20230426000000 c6ced0ae ada.strings.utf_encoding%s
D a-tags.ads 20230426000000 9eaa38c6 ada.tags%s
D a-textio.ads 20230426000000 5c2c6153 ada.text_io%s
D a-unccon.ads 20230426000000 0e9b276f ada.unchecked_conversion%s
D interfac.ads 20230426000000 15f799c2 interfaces%s
D i-c.ads 20230426000000 5c5a6c17 interfaces.c%s
D i-cpoint.ads 20230426000000 ee8a93ec interfaces.c.pointers%s
D i-cstrin.ads 20230426000000 f40c8db4 interfaces.c.strings%s
D i-cstrea.ads 20230426000000 e53d8b8e interfaces.c_streams%s
D sdl.ads 20230506025106 327c4872 sdl%s
D sdl-c_pointers.ads 20230506025106 6bd5a717 sdl.c_pointers%s
D sdl-error.ads 20230506025106 c9d08c30 sdl.error%s
D sdl-events.ads 20230506025106 3b4bc05f sdl.events%s
D sdl-events-controllers.ads 20230506025106 1204108d sdl.events.controllers%s
D sdl-events-events.ads 20230506025106 8e3f142f sdl.events.events%s
D sdl-events-files.ads 20230506025106 3aa849f0 sdl.events.files%s
D sdl-events-joysticks.ads 20230506025106 dc8cbff2 sdl.events.joysticks%s
D sdl-events-keyboards.ads 20230506025220 300c6c02 sdl.events.keyboards%s
D sdl-events-mice.ads 20230506025106 dc65745f sdl.events.mice%s
D sdl-events-touches.ads 20230506025106 237f7819 sdl.events.touches%s
D sdl-events-windows.ads 20230506025106 d0316430 sdl.events.windows%s
D sdl-images.ads 20230506025106 3d2b75e5 sdl.images%s
D sdl-images-io.ads 20230506025106 c01195b2 sdl.images.io%s
D sdl-rwops.ads 20230506025106 687eeedd sdl.rwops%s
D sdl-video.ads 20230506025106 e2861aa4 sdl.video%s
D sdl-video-displays.ads 20230506025106 3485c755 sdl.video.displays%s
D sdl-video-palettes.ads 20230506025106 4706123d sdl.video.palettes%s
D sdl-video-pixel_formats.ads 20230506025106 c8b4430e sdl.video.pixel_formats%s
D sdl-video-pixels.ads 20230506025106 73ff7ff8 sdl.video.pixels%s
D sdl-video-rectangles.ads 20230506025106 c9e2679a sdl.video.rectangles%s
D sdl-video-renderers.ads 20230506025106 2a4d8895 sdl.video.renderers%s
D sdl-video-renderers-makers.ads 20230506025106 3c3a4e96 sdl.video.renderers.makers%s
D sdl-video-surfaces.ads 20230506025106 8d22e69e sdl.video.surfaces%s
D sdl-video-surfaces-makers.ads 20230506025106 5c9a932a sdl.video.surfaces.makers%s
D sdl-video-textures.ads 20230506025106 a859e8f0 sdl.video.textures%s
D sdl-video-textures-makers.ads 20230506025106 b1df1996 sdl.video.textures.makers%s
D sdl-video-windows.ads 20230506025106 9a4158ec sdl.video.windows%s
D sdl-video-windows-makers.ads 20230506025106 d3172094 sdl.video.windows.makers%s
D system.ads 20230426000000 426dafb8 system%s
D s-conca2.ads 20230426000000 b5fb73f7 system.concat_2%s
D s-crtl.ads 20230426000000 8a0692f8 system.crtl%s
D s-exctab.ads 20230426000000 91bef6ef system.exception_table%s
D s-ficobl.ads 20230426000000 dc5161d4 system.file_control_block%s
D s-finmas.ads 20230426000000 bd688734 system.finalization_masters%s
D s-finroo.ads 20230426000000 4ff27390 system.finalization_root%s
D s-memory.ads 20230426000000 5b8432d0 system.memory%s
D s-parame.ads 20230426000000 d494a4a6 system.parameters%s
D s-pooglo.ads 20230426000000 91708d21 system.pool_global%s
D s-putima.ads 20230426000000 17291fe4 system.put_images%s
D s-retsta.ads 20230426000000 0f6b06cb system.return_stack%s
D s-secsta.ads 20230426000000 578279f5 system.secondary_stack%s
D s-soflin.ads 20230426000000 df77073e system.soft_links%s
D s-stache.ads 20230426000000 0b81c1fe system.stack_checking%s
D s-stalib.ads 20230426000000 1c9580f6 system.standard_library%s
D s-stalib.adb 20230426000000 eb464a47 system.standard_library%b
D s-stoele.ads 20230426000000 ab5468e4 system.storage_elements%s
D s-stoele.adb 20230426000000 8f5a9db6 system.storage_elements%b
D s-stopoo.ads 20230426000000 e9fa2dd8 system.storage_pools%s
D s-stposu.ads 20230426000000 e251976f system.storage_pools.subpools%s
D s-stratt.ads 20230426000000 f7dfd786 system.stream_attributes%s
D s-traent.ads 20230426000000 c81cbf8c system.traceback_entries%s
D s-unstyp.ads 20230426000000 fa2a7f59 system.unsigned_types%s
D s-wchcon.ads 20230426000000 d9032363 system.wch_con%s
D threed.adb 20230408094738 2a3ff7cd threed%b
G a e
G c Z b b [threed standard 36 11 none]
G r s window [threed standard 36 11 none] [windowIP sdl__video__windows 190 9 none]
G r s renderer [threed standard 36 11 none] [rendererIP sdl__video__renderers 132 9 none]
G r s surface [threed standard 36 11 none] [surfaceIP sdl__video__surfaces 233 9 none]
G r s texture [threed standard 36 11 none] [textureIP sdl__video__textures 112 9 none]
G r s events [threed standard 36 11 none] [eventsIP sdl__events__events 60 9 none]
G r c none [threed standard 36 11 none] [initialise sdl 102 13 none]
G r c none [threed standard 36 11 none] [initialise sdl__images 45 13 none]
G r c none [threed standard 36 11 none] [get sdl__error 37 13 none]
G r c none [threed standard 36 11 none] [undefined_window_position sdl__video__windows 44 13 none]
G r c none [threed standard 36 11 none] [create sdl__video__windows__makers 34 14 none]
G r c none [threed standard 36 11 none] [create sdl__video__renderers__makers 39 14 none]
G r c none [threed standard 36 11 none] [set_scale sdl__video__renderers 117 14 none]
G r c none [threed standard 36 11 none] [set_draw_colour sdl__video__renderers 70 14 none]
G r c none [threed standard 36 11 none] [clear sdl__video__renderers 74 14 none]
G r c none [threed standard 36 11 none] [draw sdl__video__renderers 100 14 none]
G r c none [threed standard 36 11 none] [present sdl__video__renderers 122 14 none]
G r c none [threed standard 36 11 none] [poll sdl__events__events 135 13 none]
G r e texture [threed standard 36 11 none] [finalize sdl__video__textures 122 14 none]
G r e renderer [threed standard 36 11 none] [finalize sdl__video__renderers 64 14 none]
G r e window [threed standard 36 11 none] [finalize sdl__video__windows 96 14 none]
G r c none [threed standard 36 11 none] [finalise sdl 104 14 none]
X 1 ada.ads
16K9*Ada 20e8 80|20r6 20r45 21r6 21r45 22r6 22r45 101r10 102r13 104r10 104r44
X 6 a-comlin.ads
36K13*Command_Line 144e21 80|21w10 21r49 104r14 104r48
70I9*Exit_Status<integer>
73i4*Failure{70I9} 80|104r61
75U14*Set_Exit_Status 80|104s27
X 11 a-numeri.ads
16K13*Numerics 35e17 80|22r10 22r49
X 12 a-nuelfu.ads
18K22*Elementary_Functions[13|39] 80|22w19 22r58
X 13 a-ngelfu.ads
95V13*Sin{float} 80|148s56[12|18] 149s28[12|18] 152s29[12|18] 154s31[12|18]
. 157s58[12|18] 158s29[12|18]
105V13*Cos{float} 80|148s28[12|18] 149s56[12|18] 152s58[12|18] 154s61[12|18]
. 157s29[12|18] 158s58[12|18]
X 17 a-stuten.ads
59A12*UTF_8_String{string}<integer>
X 19 a-textio.ads
58K13*Text_IO 787e16 80|20w10 20r49 101r14 102r17
66P9*File_Type
188V13*Standard_Error{66P9} 80|102s25
555U14*Put_Line 80|101s22
566U14*Put_Line 80|220s4
X 22 i-c.ads
57I9*int<integer> 80|184r18 184r32 184r48 184r62 186r18 186r32 186r48 186r62
. 188r18 188r32 188r48 188r62 190r18 190r32 190r48 190r62 194r18 194r32 194r48
. 194r62 196r18 196r32 196r48 196r62 198r18 198r32 198r48 198r62 200r18 200r32
. 200r48 200r62 204r18 204r32 204r48 204r62 206r18 206r32 206r48 206r62 208r18
. 208r32 208r48 208r62 210r18 210r32 210r48 210r62
X 26 sdl.ads
29K9*SDL 139e8 80|24r6 25r6 26r6 27r6 28r6 32r6 33r6 34r6 35r5 64r8 67r13
. 74r12 82r16 84r13 85r39 100r14 100r36 103r40 136r7
32K12*C=32:33 80|35r9
53I12*Coordinate{22|57I9}
54I12*Natural_Coordinate{53I12}
102V13*Initialise{boolean} 80|100s18
104U14*Finalise 80|136s11
X 28 sdl-error.ads
27K13*Error 38e14 80|34w10 103r44
37V13*Get{string} 80|103s50
X 29 sdl-events.ads
33K13*Events 136e15 80|33r10 67r17 74r16 82r20 84r17 85r43
36M9*Event_Types 80|67r24 82r27
52m4*Quit{36M9} 80|85r50
85m10*Event_Type{36M9} 80|85r26
X 31 sdl-events-events.ads
36K20*Events 144e22 80|33w17 74r23 84r24
60R9*Events 123e18 80|74r30
121r16*Common{29|83R9} 80|85r19
135V13*Poll{boolean} 80|84s31
X 38 sdl-images.ads
29K13*Images 57e15 80|32r10 100r40
45V13*Initialise{boolean}<26|102p13> 80|100s47
X 39 sdl-images-io.ads
32K20*IO 52e18 80|32w17
X 41 sdl-video.ads
29K13*Video 74e14 80|24r10 25r10 26r10 27r10 28r10 64r12
X 46 sdl-video-rectangles.ads
29K19*Rectangles 82e25 80|28w16
X 47 sdl-video-renderers.ads
34K19*Renderers 145e24 80|25r16 66r13 70r10 119r7 122r21 122r46 177r7 178r7
. 180r7 212r7 222r4
41M9*Renderer_Flags 80|66r23
46m4*Accelerated{41M9} 80|122r31
47m4*Present_V_Sync{41M9} 80|122r56
59R9*Renderer<8|50R9> 136e17 80|70r20
64U14*Finalize<8|54p14> 80|134s11
70U14*Set_Draw_Colour 80|177s17 180s17
74U14*Clear 80|178s17
100U14*Draw 80|183s11 185s11 187s11 189s11 193s11 195s11 197s11 199s11 203s11
. 205s11 207s11 209s11
100r44 Line{46|44R9} 80|184r8 186r8 188r8 190r8 194r8 196r8 198r8 200r8 204r8
. 206r8 208r8 210r8
117U14*Set_Scale 80|222s14
122U14*Present 80|212s17
X 48 sdl-video-renderers-makers.ads
29K29*Makers 50e31 80|25w26 119r17
39U14*Create 80|119s24
40r7 Rend{47|59R9} 80|120r10
41r7 Window{53|89R9} 80|121r10
42m7 Flags{47|41M9} 80|122r10
X 49 sdl-video-surfaces.ads
36K19*Surfaces 242e23 80|26r16 71r10
56R9*Surface<8|43R9> 237e17 80|71r19
X 50 sdl-video-surfaces-makers.ads
29K28*Makers 83e30 80|26w25
X 51 sdl-video-textures.ads
34K19*Textures 134e23 80|27r16 72r10
43R9*Texture<8|50R9> 119e17 80|72r19
122U14 Finalize<8|54p14> 80|133s11
X 52 sdl-video-textures-makers.ads
30K28*Makers 44e30 80|27w25
X 53 sdl-video-windows.ads
36K19*Windows 208e22 80|24r16 65r13 69r10 109r7 113r13 114r13 116r19
44V13*Undefined_Window_Position{26|54I12} 80|113s21 114s21
52M9*Window_Flags 80|65r21
58m4*Shown{52M9} 80|116r27
89R9*Window<8|50R9> 194e17 80|69r18
96U14*Finalize<8|54p14> 80|135s11
X 54 sdl-video-windows-makers.ads
27K27*Makers 56e29 80|24w24 109r15
34U14*Create 80|109s22
36a7 Title{17|59A12} 80|111r10
37r7 Position{26|68R12} 80|112r10
38r7 Size{26|93R12} 80|115r10
39m7 Flags{53|52M9} 80|116r10
X 55 system.ads
67M9*Address
X 62 s-memory.ads
51V13*Alloc{55|67M9} 101i<c,__gnat_malloc>22
66U14*Free 102i<c,__gnat_free>22
74V13*Realloc{55|67M9} 103i<c,__gnat_realloc>22
X 71 s-stalib.adb
87U14 Break_Start 88i<c,__gnat_break_start>22
X 80 threed.adb
36U11*threed 36b11 234l5 234t11
40a4 S{string}
44a4 xt(float) 147m10 152r49 154r20 157m10 162m10 162r21 184r23 184r53 186r23
. 186r53 188r23 188r53 190r23 190r53 194r23 194r53 196r23 196r53 198r23 198r53
. 200r23 200r53 204r23 204r53 206r23 206r53 208r23 208r53 210r23 210r53
44a8 yt(float) 148m10 153r20 158m10 163m10 163r21 184r37 184r67 186r37 186r67
. 188r37 188r67 190r37 190r67 194r37 194r67 196r37 196r67 198r37 198r67 200r37
. 200r67 204r37 204r67 206r37 206r67 208r37 208r67 210r37 210r67
44a12 zt(float) 149m10 152r20 154r52 159m10 162r40 163r40
45a4 xu(float) 152m10 157r20 158r20
45a8 yu(float) 153m10 157r49 158r49
45a12 zu(float) 154m10 159r20
49a4 x(float) 147r20
51a4 y(float) 148r20 149r20
53a4 z(float) 148r48 149r48
56f4 angle{float} 148r39 148r67 149r39 149r67 152r40 152r69 154r42 154r72
. 157r40 157r69 158r40 158r69 167m7 167r16
57f4 scale{float} 162r58 163r58
58f4 RAD{float} 148r33 148r61 149r33 149r61 152r34 152r63 154r36 154r66 157r34
. 157r63 158r34 158r63
59f4 SPEED{float} 167r24
61a4 Window_Title{string} 111r22
62b4 quit{boolean} 228m7 229r17
69r4 Win{53|89R9} 110m10 110r10 121m20 121r20 135m7 135r7
70r4 Ren{47|59R9} 120m20 120r20 134m7 134r7 177m34 177r34 178m24 178r24 180m34
. 180r34 183m7 183r7 185m7 185r7 187m7 187r7 189m7 189r7 193m7 193r7 195m7
. 195r7 197m7 197r7 199m7 199r7 203m7 203r7 205m7 205r7 207m7 207r7 209m7
. 209r7 212r26 222m25 222r25
71r4 Bmp{49|56R9}
72r4 Tex{51|43R9} 133m7 133r7
74r4 Event{31|60R9} 84m37 84r37 85r13
75b4 Dummy{boolean}
81V13 Poll_Quit{boolean} 81b13 90l8 90t17 228s15
95U14 initSDL 95b14 124l8 124t15 221s4
129U14 shutdownSDL 129b14 137l8 137t19 233s4
142U14 rotate 142b14 169l8 169t14 226s7
145i11 I{integer} 147r14 147r23 148r14 148r23 148r51 149r14 149r23 149r51
. 152r14 152r24 152r53 153r14 153r24 154r14 154r24 154r56 157r14 157r24 157r53
. 158r14 158r24 158r53 159r14 159r24 162r14 162r25 162r44 163r14 163r25 163r44
174U14 Render 174b14 213l8 213t14 227s7
224l4 Main 231l13 231e17
+22
View File
@@ -0,0 +1,22 @@
[GENERATED OBJECT FILE]
b__threed.o
[PROJECT FILES]
/home/jason/Projects/Ada/3dc/threed.gpr
20230318225743 0663ee68fdcdcea9e21ca9ca03d50775
/home/jason/opt/sdlada/share/gpr/sdlada.gpr
20230506025901 af41c3ed36798e1c0fec4f1f74bfb120
[BOUND OBJECT FILES]
/home/jason/Projects/Ada/3dc/threed.o
[GENERATED SOURCE FILES]
b__threed.ads
b__threed.adb
b__threed.ali
[RESULTING OPTIONS]
-L/home/jason/Projects/Ada/3dc/
-L/home/jason/Projects/Ada/3dc/
-L/home/jason/opt/sdlada/lib/sdlada.release/
-L/usr/lib/gcc/x86_64-redhat-linux/13/adalib/
-static
/usr/lib/gcc/x86_64-redhat-linux/13/adalib/libgnat.a
-lm
-ldl
+5
View File
@@ -0,0 +1,5 @@
with "/home/jason/opt/sdlada/share/gpr/sdlada.gpr";
project threed is
for Main use ("threed.adb");
end threed;
+12166
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.