fix incorrect 64-bit detection -- powerpc64le doesn't end in 64 but is 64-bit
[cvc5.git] / COPYING
1 cvc5 is copyright (C) 2009-2021 by its authors and contributors (see the file
2 AUTHORS) and their institutional affiliations. All rights reserved.
3
4 The source code of cvc5 is open and available to students, researchers,
5 software companies, and everyone else to study, to modify, and to redistribute
6 original or modified versions; distribution is under the terms of the modified
7 BSD license (reproduced below). Please note that cvc5 can be configured
8 (however, by default it is not) to link against some GPLed libraries, and
9 therefore the use of these builds may be restricted in non-GPL-compatible
10 projects. See below for a discussion of CLN and GLPK (the two GPLed optional
11 library dependences for cvc5), and how to ensure you have a build that doesn't
12 link against GPLed libraries.
13
14 Redistribution and use in source and binary forms, with or without
15 modification, are permitted provided that the following conditions are
16 met:
17
18 1. Redistributions of source code must retain the above copyright
19 notice, this list of conditions and the following disclaimer.
20
21 2. Redistributions in binary form must reproduce the above copyright
22 notice, this list of conditions and the following disclaimer in the
23 documentation and/or other materials provided with the distribution.
24
25 3. Neither the name of the copyright holder nor the names of its
26 contributors may be used to endorse or promote products derived from
27 this software without specific prior written permission.
28
29 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT OWNERS AND CONTRIBUTORS
30 ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
31 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
32 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
33 OWNERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
34 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
35 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
36 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
37 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
38 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
39 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
40
41
42 -------------------------------------------------------------------------------
43 Third-Party Software
44 -------------------------------------------------------------------------------
45
46 The cvc5 source code includes third-party software which has its own copyright
47 and licensing terms, as described below.
48
49 The following file contains third-party software.
50
51 cmake/CodeCoverage.cmake
52
53 The copyright and licensing information of this file is in its header.
54
55 cvc5 incorporates MiniSat code (see src/prop/minisat and src/prop/bvminisat),
56 excluded from the above copyright. See src/prop/minisat/LICENSE and
57 src/prop/bvminisat/LICENSE for copyright and licensing information.
58
59 cvc5 incorporates code from ANTLR3 (http://www.antlr3.org/), the files
60 src/parser/bounded_token_buffer.h, src/parser/bounded_token_buffer.cpp, and
61 src/parser/antlr_input_imports.cpp are excluded from the above copyright.
62 See licenses/antlr3-LICENSE for copyright and licensing information.
63
64 cvc5 by default links against The GNU Multiple Precision (GMP) Arithmetic
65 Library, which is licensed under GNU LGPL v3. See the file
66 licenses/lgpl-3.0.txt for a copy of that license. Note that according to the
67 terms of the LGPL, both cvc5's source, and the combined work (cvc5 linked with
68 GMP) may (and do) remain under the more permissive modified BSD license.
69
70 The implementation of the floating point solver in cvc5 depends on symfpu
71 (https://github.com/martin-cs/symfpu) written by Martin Brain.
72 See https://raw.githubusercontent.com/martin-cs/symfpu/cvc5/LICENSE for
73 copyright and licensing information.
74
75 cvc5 optionally links against the following libraries:
76
77 ABC (https://bitbucket.org/alanmi/abc)
78 CaDiCaL (https://github.com/arminbiere/cadical)
79 CryptoMiniSat (https://github.com/msoos/cryptominisat)
80 LibPoly (https://github.com/SRI-CSL/libpoly)
81 libedit (https://thrysoee.dk/editline)
82
83 Linking cvc5 against these libraries does not affect the license terms of the
84 cvc5 code. See the respective projects for copyright and licensing
85 information.
86
87
88 -------------------------------------------------------------------------------
89 OPTIONAL GPLv3 libraries
90 -------------------------------------------------------------------------------
91
92 Please be advised that the following libraries are covered under the GPLv3
93 license. If you choose to link cvc5 against one of these libraries, the
94 resulting combined work is also covered under the GPLv3. If you want to make
95 sure you build a version of cvc5 that uses no GPLed libraries, configure cvc5
96 with the "--no-gpl" option before building (which is the default). cvc5 can
97 then be used in contexts where you want to use cvc5 under the terms of the
98 (modified) BSD license. See licenses/gpl-3.0.txt for more information.
99
100 cvc5 can be optionally configured to link against CLN, the Class Library for
101 Numbers, available here:
102
103 http://www.ginac.de/CLN/
104
105 cvc5 can be optionally configured to link against glpk-cut-log, a modified
106 version of GLPK, the GNU Linear Programming Kit, available here:
107
108 https://github.com/timothy-king/glpk-cut-log