diff options
author | Sylvain Henry <sylvain@haskus.fr> | 2019-09-19 16:26:52 +0200 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2020-06-17 16:22:03 -0400 |
commit | 9f96bc127d6231b5e76bbab442244eb303b08867 (patch) | |
tree | 3b40983164af5d78e7efe8cdb7e580ba36819f79 /libraries/integer-gmp/configure.ac | |
parent | 57db91d8ee501c7cf176c4bb1e2101d3092fd0f6 (diff) | |
download | haskell-9f96bc127d6231b5e76bbab442244eb303b08867.tar.gz |
ghc-bignum library
ghc-bignum is a newer package that aims to replace the legacy
integer-simple and integer-gmp packages.
* it supports several backends. In particular GMP is still supported and
most of the code from integer-gmp has been merged in the "gmp"
backend.
* the pure Haskell "native" backend is new and is much faster than the
previous pure Haskell implementation provided by integer-simple
* new backends are easier to write because they only have to provide a
few well defined functions. All the other code is common to all
backends. In particular they all share the efficient small/big number
distinction previously used only in integer-gmp.
* backends can all be tested against the "native" backend with a simple
Cabal flag. Backends are only allowed to differ in performance, their
results should be the same.
* Add `integer-gmp` compat package: provide some pattern synonyms and
function aliases for those in `ghc-bignum`. It is intended to avoid
breaking packages that depend on `integer-gmp` internals.
Update submodules: text, bytestring
Metric Decrease:
Conversions
ManyAlternatives
ManyConstructors
Naperian
T10359
T10547
T10678
T12150
T12227
T12234
T12425
T13035
T13719
T14936
T1969
T4801
T4830
T5237
T5549
T5837
T8766
T9020
parsing001
space_leak_001
T16190
haddock.base
On ARM and i386, T17499 regresses (+6% > 5%).
On x86_64 unregistered, T13701 sometimes regresses (+2.2% > 2%).
Metric Increase:
T17499
T13701
Diffstat (limited to 'libraries/integer-gmp/configure.ac')
-rw-r--r-- | libraries/integer-gmp/configure.ac | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/libraries/integer-gmp/configure.ac b/libraries/integer-gmp/configure.ac deleted file mode 100644 index 1ccd48e698..0000000000 --- a/libraries/integer-gmp/configure.ac +++ /dev/null @@ -1,115 +0,0 @@ -AC_PREREQ(2.69) -AC_INIT([Haskell integer (GMP)], [1.0], [libraries@haskell.org], [integer]) - -# Safety check: Ensure that we are in the correct source directory. -AC_CONFIG_SRCDIR([cbits/wrappers.c]) - -AC_CANONICAL_TARGET - -AC_PROG_CC -dnl make extensions visible to allow feature-tests to detect them lateron -AC_USE_SYSTEM_EXTENSIONS - - -dnl-------------------------------------------------------------------- -dnl * Deal with arguments telling us gmp is somewhere odd -dnl-------------------------------------------------------------------- - -AC_ARG_WITH([gmp-includes], - [AC_HELP_STRING([--with-gmp-includes], - [directory containing gmp.h])], - [GMP_INCLUDE_DIRS=$withval; CPPFLAGS="-I$withval"], - [GMP_INCLUDE_DIRS=]) - -AC_ARG_WITH([gmp-libraries], - [AC_HELP_STRING([--with-gmp-libraries], - [directory containing gmp library])], - [GMP_LIB_DIRS=$withval; LDFLAGS="-L$withval"], - [GMP_LIB_DIRS=]) - -AC_ARG_WITH([gmp-framework-preferred], - [AC_HELP_STRING([--with-gmp-framework-preferred], - [on OSX, prefer the GMP framework to the gmp lib])], - [GMP_PREFER_FRAMEWORK=YES], - [GMP_PREFER_FRAMEWORK=NO]) - -AC_ARG_WITH([intree-gmp], - [AC_HELP_STRING([--with-intree-gmp], - [force using the in-tree GMP])], - [GMP_FORCE_INTREE=YES], - [GMP_FORCE_INTREE=NO]) - -dnl-------------------------------------------------------------------- -dnl * Detect gmp -dnl-------------------------------------------------------------------- - -HaveLibGmp=NO -GMP_LIBS= -HaveFrameworkGMP=NO -GMP_FRAMEWORK= -HaveSecurePowm=0 - -if test "$GMP_FORCE_INTREE" != "YES" -then - if test "$GMP_PREFER_FRAMEWORK" = "YES" - then - LOOK_FOR_GMP_FRAMEWORK - LOOK_FOR_GMP_LIB - else - LOOK_FOR_GMP_LIB - LOOK_FOR_GMP_FRAMEWORK - fi -fi - -AC_MSG_CHECKING([whether to use in-tree GMP]) -if test "$HaveFrameworkGMP" = "YES" || test "$HaveLibGmp" = "YES" -then - AC_MSG_RESULT([no]) - UseIntreeGmp=0 - AC_CHECK_HEADER([gmp.h], , [AC_MSG_ERROR([Cannot find gmp.h])]) - - AC_MSG_CHECKING([GMP version]) - AC_COMPUTE_INT(GhcGmpVerMj, __GNU_MP_VERSION, [#include <gmp.h>], - AC_MSG_ERROR([Unable to get value of __GNU_MP_VERSION])) - AC_COMPUTE_INT(GhcGmpVerMi, __GNU_MP_VERSION_MINOR, [#include <gmp.h>], - AC_MSG_ERROR([Unable to get value of __GNU_MP_VERSION_MINOR])) - AC_COMPUTE_INT(GhcGmpVerPl, __GNU_MP_VERSION_PATCHLEVEL, [#include <gmp.h>], - AC_MSG_ERROR([Unable to get value of __GNU_MP_VERSION_PATCHLEVEL])) - AC_MSG_RESULT([$GhcGmpVerMj.$GhcGmpVerMi.$GhcGmpVerPl]) - -else - AC_MSG_RESULT([yes]) - UseIntreeGmp=1 - HaveSecurePowm=1 - - AC_MSG_CHECKING([GMP version]) - GhcGmpVerMj=5 - GhcGmpVerMi=0 - GhcGmpVerPl=4 - AC_MSG_RESULT([$GhcGmpVerMj.$GhcGmpVerMi.$GhcGmpVerPl]) -fi - - -dnl-------------------------------------------------------------------- -dnl * Make sure we got some form of gmp -dnl-------------------------------------------------------------------- - -AC_SUBST(GMP_INCLUDE_DIRS) -AC_SUBST(GMP_LIBS) -AC_SUBST(GMP_LIB_DIRS) -AC_SUBST(GMP_FRAMEWORK) -AC_SUBST(HaveLibGmp) -AC_SUBST(HaveFrameworkGMP) -AC_SUBST(HaveSecurePowm) -AC_SUBST(UseIntreeGmp) -AC_SUBST(GhcGmpVerMj) -AC_SUBST(GhcGmpVerMi) -AC_SUBST(GhcGmpVerPl) - -AC_CONFIG_FILES([integer-gmp.buildinfo config.mk include/HsIntegerGmp.h]) - -dnl-------------------------------------------------------------------- -dnl * Generate output files -dnl-------------------------------------------------------------------- - -AC_OUTPUT |