Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemath
GitHub Repository: sagemath/sagesmc
Path: blob/master/build/pkgs/ecm/SPKG.txt
8817 views
1
= ecm =
2
3
== Description ==
4
5
GMP-ECM - Elliptic Curve Method for Integer Factorization
6
7
Sources can be obtained from http://gforge.inria.fr/projects/ecm/
8
9
== License ==
10
11
LGPL V3+
12
13
== SPKG Maintainers ==
14
15
* Jeroen Demeyer
16
17
== Upstream Contact ==
18
19
* [email protected] (requires subscription)
20
21
== Dependencies ==
22
23
* GMP/MPIR (Note: Python is *not* required for ordinary builds.)
24
* GNU patch
25
26
== Special Update/Build Instructions ==
27
28
* GMP-ECM comes with a self-tuning feature; we could support
29
that as an option ($SAGE_TUNE_*=yes) in the future.
30
* ECM currently does not (by itself) use the CC and CFLAGS settings
31
from 'gmp.h' since we pass (other) options in CFLAGS, and CC is set
32
by Sage and might got set by the user. We now at least partially fix that
33
such that "optimized" code generation options ('-mcpu=...', '-mtune=...')
34
are used by gcc.
35
Of course a user can also manually enable them by setting the "global"
36
CFLAGS to e.g. '-march=native' on x86[_64] systems, or '-mcpu=...' and
37
'-mtune=...' on other architectures where "native" isn't supported.
38
Note that this doesn't affect the packages' selection of processor-
39
specific optimized [assembly] code.
40
'spkg-install' already reads the settings from Sage's and also a
41
system-wide GMP / MPIR now, but doesn't (yet) use all of them.
42
If SAGE_FAT_BINARY="yes", we should avoid too specific settings of
43
"-mcpu=...", and perhaps pass a more generic "--host=..." to
44
'configure'. (MPIR honors '--enable-fat' to some extent, but this
45
option isn't used on anything other than x86 / x86_64.)
46
* We could save some space by removing the `src/build.vc10/` directory which
47
isn't used in Sage. (It gets probably more worth in case also directories /
48
files for later versions of Microsoft Visual C get added.)
49
50
=== Patches ===
51
* Currently none
52
53
== Changelog ==
54
55
=== ecm-6.4.4 (Jeroen Demeyer, 11 April 2013) ===
56
* Trac #14151: upgrade to GMP-ECM 6.4.4, remove all Sage patches
57
since they are upstream now.
58
59
=== ecm-6.3.p8 (Jeroen Demeyer, 28 May 2012) ===
60
* Trac #12751: remove the gcc-4.7.0 workaround for ia64 since this bug
61
has been fixed in gcc-4.7.1 and we will not support building Sage
62
with gcc-4.7.0 on Itanium.
63
* Remove unused variable SAGE_CONF_OPTS.
64
* Rename ECM_EXTRA_OPTS to ECM_CONFIGURE for consistency with MPIR.
65
* Don't override user-set CFLAGS.
66
67
=== ecm-6.3.p7 (Leif Leonhardy, April 19th 2012) ===
68
* #12830: Add `-m[no-]power*` to the processor-specific options recognized;
69
these are used to enable/disable specific instruction set extensions of the
70
POWER and PowerPC (PPC) CPUs.
71
72
=== ecm-6.3.p6 (Leif Leonhardy, April 16th 2012) ===
73
* #12830: Add a work-around for GCC 4.7.x on ia64 (Itanium), since GMP-ECM
74
currently won't build with that and anything but `-O0` on that platform.
75
* Use `\{1,\}` instead of `\+` in `sed` patterns, which is more portable.
76
* Also support newer system-wide MPIR installations for printing their
77
settings.
78
* Use `patch` to apply patches. Since the pre-patched `configure` in
79
`patches/` was created with a newer version of autotools (or, rather, the
80
original `configure` was created with an outdated version), the patch would
81
have been almost as large as the patched `configure` file itself. Hence
82
I `autoreconf`ed the source tree with a patched `configure.in` (and almost
83
the latest versions of autotools), then created a patch to `configure`
84
from the resulting file(s). Note that therefore `src/` isn't really vanilla
85
any more, although just the auto-generated files differ (which are still
86
made from vanilla upstream sources, including `configure.in`).
87
Add a "Patches" subsection and update "Special Update/Build Instructions".
88
Remove files in `patches/` from `.hgignore` (and also remove pre-patched
89
files from that directory); the patch to `configure` and the diff of
90
`configure.in` are [now] under revision control, which IMHO makes sense.
91
* Beautify (and simplify) the output with respect to options passed to
92
`configure`; print the settings of a few more environment variables that
93
GMP-ECM uses (in case they're set); add some messages, also mention
94
`--enable-assert` etc. if `SAGE_DEBUG=yes`.
95
* Remove unused test for GCC.
96
97
=== ecm-6.3.p5 (Leif Leonhardy, April 11th 2012) ===
98
* #12830: Don't add `-march=native` if the assembler doesn't understand the
99
instructions the compiler emits with that. (E.g. the Apple/XCode assembler
100
on Darwin doesn't yet support AVX.)
101
* Fix extraction of `__GMP_CC` and `__GMP_CFLAGS` (from `gmp.h`) for newer
102
versions of MPIR, which define these to preprocessor macros rather than
103
strings.
104
* Redirect warnings and error messages to `stderr`; add some messages.
105
* Correct `SPKG.txt` w.r.t. applied patches.
106
107
=== ecm-6.3.p4 (Jeroen Demeyer, 13 February 2012) ===
108
* #12501: Do not patch configure.in in spkg-install (to prevent
109
automake from running).
110
* Restore upstream sources.
111
112
=== ecm-6.3.p3 (Simon King, December 11th, 2011) ===
113
* #12131: Use --libdir, to make the package work on openSUSE.
114
115
=== ecm-6.3.p2 (Leif Leonhardy, November 25th, 2010) ===
116
* #5847: Apply another patch from upstream to 'configure.in' to fix com-
117
pilation on 32-bit x86 processors supporting SSE2. (Also #10252.)
118
(There's only a single, cumulative patch file since both patches are to
119
'configure.in'.)
120
* Work around linker bug on MacOS X 10.5 PPC (see Special Update/Build
121
Instructions above, and #5847 comment 35 ff.).
122
* Allow passing extra arguments to 'configure' through ECM_EXTRA_OPTS.
123
* Add "-march=native" to CFLAGS on platforms that support it, or use
124
processor-specific CFLAGS from GMP's / MPIR's 'gmp.h' if available,
125
but only if CFLAGS do not already contain similar (i.e., don't over-
126
ride a user's choice). [Subject to further improvement.]
127
* Print settings of CC, CFLAGS etc. and how we configure.
128
* Print settings of CC and CFLAGS found in 'SAGE_LOCAL/include/gmp.h'
129
and eventually a system-wide 'gmp.h', although the latter aren't (yet)
130
used at all, and only processor-specific parts of the former.
131
* Add '-fPIC' conditionally, i.e. not if we're also building a shared
132
library (or '--with-pic' was given).
133
* Don't delete previous installations unless the build succeeded.
134
* Further clean-up.
135
136
=== ecm-6.3.p1 (Jeroen Demeyer, November 10th, 2010) ===
137
* #5847: Apply a patch from upstream to configure.in to fix compilation
138
on 32-bit PowerPC processors.
139
140
=== ecm-6.3.p0 (Leif Leonhardy, November 4th, 2010) ===
141
* #5847: Reviewer patch applied to Mike's spkg (upgrade to 6.3)
142
* There are no patches, but to avoid confusion with the previous
143
one, it's now 'p0'.
144
* Added sanity checks to spkg-install and spkg-check.
145
* Add debug symbols by default, disable optimization if SAGE_DEBUG=yes,
146
enable optimization (-O3) otherwise.
147
* Remove also the manual page of previous installations.
148
* Typo: 'rm -r' -> 'rm -f' (header file)
149
* Removed setting of CXXFLAGS, since we don't have C++ code.
150
* Don't overwrite CFLAGS if SAGE64=yes (instead, append).
151
Removed -O2 -g in that case. Make use of CFLAG64 if set.
152
* Quote $SAGE_LOCAL in the parameters to configure, too.
153
* Use $MAKE instead of 'make' in spkg-check, too.
154
* Some messages changed (e.g. all failures now starting with "Error"),
155
some added.
156
* A few comments/notes added (SPKG.txt, spkg-install).
157
158
=== ecm-6.3 (Mike Hansen, August 16th, 2010) ===
159
* #5847: Update GMP-ECM to 6.3
160
161
=== ecm-6.2.1.p2 (Jaap Spies, Jan 25th, 2010) ===
162
* Made SAGE64="yes" work also for Open Solaris 64 bit
163
* Removed Michael Mabshoff as maintainer
164
165
=== ecm-6.2.1.p1 (Fran�ois Bissey, October 26th, 2009) ===
166
* The removal of the old version of ecm in ecm-6.2.1_p0.spkg is
167
broken because of the typo "SAGE_LCOAL"; notice that it should be
168
"SAGE_LOCAL".
169
170
=== ecm-6.2.1.p0 (Michael Abshoff, January 19th, 2008) ===
171
* bump version to force recompile due to gmp -> MPIR switch
172
173
=== ecm-6.2.1 (Michael Abshoff, December 23rd, 2008) ===
174
* upgrade to latest upstream release (#3237)
175
* clean up old static library, headers and binary
176
* improve SPKG.txt
177
178
=== ecm-6.1.3.p0 (Michael Abshoff, May 18th, 2008) ===
179
* add 64 bit OSX support
180
181
=== ecm-6.1.3 (Michael Abshoff, Sept. 24th, 2007) ===
182
* update to ecm 6.1.3
183
184
* Initial version - date unknown:
185
186
I obtained the package from http://gforge.inria.fr/projects/ecm/
187
188
189