diff options
-rw-r--r-- | .travis.yml | 1 | ||||
-rw-r--r-- | COPYING | 13 | ||||
-rw-r--r-- | NEWS | 10 | ||||
-rw-r--r-- | config/cvc4.m4 | 34 | ||||
-rw-r--r-- | config/readline.m4 | 4 | ||||
-rw-r--r-- | configure.ac | 14 |
6 files changed, 57 insertions, 19 deletions
diff --git a/.travis.yml b/.travis.yml index c47ad1928..9b8482c00 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ language: cpp +cache: apt compiler: - gcc - clang @@ -245,8 +245,8 @@ Please be advised that as this library is covered under the GPLv3, if you choose to use the combined work, "CVC4+CLN," by building CVC4 with CLN, then it is also covered under the GPLv3. If you want to make sure you build a version of CVC4 that uses no GPLed libraries, configure CVC4 with the -"--bsd" option before building. CVC4 can then be used in contexts where you -want to license CVC4 under the (modified) BSD license. +"--bsd" option before building (which is the default). CVC4 can then be used +in contexts where you want to license CVC4 under the (modified) BSD license. CVC4 can be optionally configured to link against GLPK, the GNU Linear Programming Kit, available here: @@ -257,8 +257,8 @@ Please be advised that as this library is covered under the GPLv3, if you choose to use the combined work, "CVC4+GLPK," by building CVC4 with GLPK, then it is also covered under the GPLv3. If you want to make sure you build a version of CVC4 that uses no GPLed libraries, configure CVC4 with the -"--bsd" option before building. CVC4 can then be used in contexts where you -want to license CVC4 under the (modified) BSD license. +"--bsd" option before building (which is the default). CVC4 can then be used +in contexts where you want to license CVC4 under the (modified) BSD license. CVC4 can be optionally configured to link against GNU Readline for improved text-editing support in interactive mode. GNU Readline is available here: @@ -269,8 +269,9 @@ Please be advised that as this library is covered under the GPLv3, if you choose to use the combined work, "CVC4+Readline," by building CVC4 with Readline, then it is also covered under the GPLv3. If you want to make sure you build a version of CVC4 that uses no GPLed libraries, configure CVC4 with -the "--bsd" option before building. CVC4 can then be used in contexts where -you want to license CVC4 under the (modified) BSD license. +the "--bsd" option before building (which is the default). CVC4 can then be +used in contexts where you want to license CVC4 under the (modified) BSD +license. CVC4 sources incorporate those of the LFSC proof checker, which is covered by the following license: @@ -7,11 +7,11 @@ Changes since 1.3 * The LFSC proof checker has been incorporated into CVC4 sources. * By default, CVC4 builds in "production" mode (optimized, with fewer internal checks on). The common alternative is a "debug" build, which - is much slower. CVC4 also builds with GPL dependences by default now - (if those libraries are available), as this is the best-performing - version of CVC4. However, the new configure option "--bsd" disables - these GPL dependences and builds the best-performing BSD-licenced version - of CVC4. + is much slower. By default, CVC4 builds with no GPL'ed dependences. + However, this is not the best-performing version; for that, you should + configure with "--enable-gpl --best", which links against GPL'ed + libraries that improve usability and performance. For details on + licensing and dependences, see the README file. * Small API adjustments to Datatypes to even out the API and make it function better in Java. * Better automatic handling of output language setting when using CVC4 diff --git a/config/cvc4.m4 b/config/cvc4.m4 index 87d984ab4..40e2054e6 100644 --- a/config/cvc4.m4 +++ b/config/cvc4.m4 @@ -13,12 +13,40 @@ dnl _AS_ME_PREPARE AC_DEFUN([CVC4_REWRITE_ARGS_FOR_BUILD_PROFILE], [m4_divert_push([PARSE_ARGS])dnl +CVC4_BSD_LICENSED_CODE_ONLY=1 + +m4_divert_once([HELP_ENABLE], [[ +Licensing and performance options: + --bsd disable all GPL dependences (default) + --enable-gpl permit GPL dependences, if available + --best turn on dependences known to give best performance]])dnl + handle_option() { ac_option="$[]1" case $ac_option in - --bsd) ac_option='CVC4_BSD_LICENSED_CODE_ONLY=1' ;; - -enable-proofs | --enable-proofs) ac_option='--enable-proof' ;; - -*|*=*) ;; + --bsd|--disable-gpl|CVC4_BSD_LICENSED_CODE_ONLY=1) + if test "$CVC4_LICENSE_OPTION" = gpl; then AC_ERROR([cannot give both --bsd and --enable-gpl]); fi + CVC4_LICENSE_OPTION=bsd + ac_option="CVC4_BSD_LICENSED_CODE_ONLY=1" + eval $ac_option + ;; + --enable-gpl|--gpl|CVC4_BSD_LICENSED_CODE_ONLY=0) + if test "$CVC4_LICENSE_OPTION" = bsd; then AC_ERROR([cannot give both --bsd and --enable-gpl]); fi + CVC4_LICENSE_OPTION=gpl + ac_option="CVC4_BSD_LICENSED_CODE_ONLY=0" + eval $ac_option + ;; + --best) + # set the best configuration + handle_option --with-readline + handle_option --with-cln + return + ;; + -enable-proofs|--enable-proofs) + ac_option='--enable-proof' + ;; + -*|*=*) + ;; production|production-*|debug|debug-*|competition|competition-*) # regexp `\?' not supported on Mac OS X ac_option_build=`expr "$ac_option" : '\([[^-]]*\)-\{0,1\}'` diff --git a/config/readline.m4 b/config/readline.m4 index c298f3db4..e9ce921fb 100644 --- a/config/readline.m4 +++ b/config/readline.m4 @@ -9,8 +9,8 @@ readline_compentry_func_returns_charp=0 READLINE_LIBS= if test "$with_readline" = no; then AC_MSG_RESULT([no, readline disabled by user]) -elif test "$with_readline" = check -a -n "$CVC4_BSD_LICENSED_CODE_ONLY"; then - AC_MSG_RESULT([no, user requested BSD-compatible dependences only]) +elif test "$with_readline" = check -a "$CVC4_BSD_LICENSED_CODE_ONLY" = 1; then + AC_MSG_RESULT([no, using BSD-compatible dependences only]) with_readline=no else if test "$with_readline" = check; then diff --git a/configure.ac b/configure.ac index 9179bc116..bf1e0dd0c 100644 --- a/configure.ac +++ b/configure.ac @@ -285,7 +285,7 @@ fi AC_CHECK_LIB(gmp, __gmpz_init, , [AC_MSG_ERROR([GNU MP (libgmp) not found, see http://gmplib.org/])]) if test $cvc4_use_cln = 2; then - if test -n "$CVC4_BSD_LICENSED_CODE_ONLY" -o "$with_portfolio" = yes; then + if test "$CVC4_BSD_LICENSED_CODE_ONLY" = 1 -o "$with_portfolio" = yes; then cvc4_use_cln=0 cvc4_use_gmp=1 fi @@ -1337,8 +1337,9 @@ else fi if test "$gpl" = yes; then - if test -n "$CVC4_BSD_LICENSED_CODE_ONLY"; then - AC_ERROR([Bad configuration detected: user requested BSD-licensed code only, but also requested GPLed libraries:$gpllibs]) + if test "$CVC4_BSD_LICENSED_CODE_ONLY" = 1; then + AC_ERROR([Bad configuration detected: BSD-licensed code only, but also requested GPLed libraries:$gpllibs +To permit GPL'ed dependences, use the configure flag --enable-gpl]) fi licensewarn="${licensewarn}"'**************************************************************************** @@ -1353,6 +1354,13 @@ option "--bsd", which will disable all optional GPLed library dependences. ' license="GPLv3 (due to optional libraries; see below)" else + licensewarn="${licensewarn}Please note that this configuration is NOT built against any GPL'ed +libraries, so it is covered by the (modified) BSD license. This is, +however, not the best-performing configuration of CVC4. To build +against GPL'ed libraries which improve CVC4's performance, re-configure +with '--best --enable-gpl'. + +" license="modified BSD" fi |