Mercurial > gub
annotate gub/specs/gmp.py @ 6512:ccc20ae889ca default tip guix
mingw::guile-2.0.7 builds.
author | Jan Nieuwenhuizen <janneke@gnu.org> |
---|---|
date | Thu, 24 Mar 2016 08:03:39 +0100 |
parents | 3a8e89e97310 |
children |
rev | line source |
---|---|
3365
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
1 import re |
4592
5f2385e5390c
Eradicate use of with_vc, with_tarball, with_mirror, with_template.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4530
diff
changeset
|
2 # |
5520
ed247d070add
LIBRESTRICT=open:stat progress.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5194
diff
changeset
|
3 from gub import build |
ed247d070add
LIBRESTRICT=open:stat progress.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5194
diff
changeset
|
4 from gub import misc |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4604
diff
changeset
|
5 from gub import target |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4604
diff
changeset
|
6 from gub import tools |
3365
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
7 |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4604
diff
changeset
|
8 class Gmp (target.AutoBuild): |
6308
3a8e89e97310
Update GMP to 6.0.0a
Masamichi Hosoda <trueroad@users.noreply.github.com>
parents:
6303
diff
changeset
|
9 source = 'http://ftp.gnu.org/pub/gnu/gmp/gmp-6.0.0a.tar.xz' |
6512
ccc20ae889ca
mingw::guile-2.0.7 builds.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6308
diff
changeset
|
10 xsource = 'http://ftp.gnu.org/pub/gnu/gmp/gmp-6.1.0.tar.xz' |
3943
e708d6ba5a17
Move urls for tools packages to gub/sources.py.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
3942
diff
changeset
|
11 def __init__ (self, settings, source): |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4604
diff
changeset
|
12 target.AutoBuild.__init__ (self, settings, source) |
3365
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
13 if not self.settings.platform.startswith ('darwin'): |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
14 self.target_architecture = re.sub ('i[0-9]86-', 'i386-', settings.target_architecture) |
5520
ed247d070add
LIBRESTRICT=open:stat progress.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5194
diff
changeset
|
15 if 'stat' in misc.librestrict (): |
ed247d070add
LIBRESTRICT=open:stat progress.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5194
diff
changeset
|
16 build.add_dict (self, {'LIBRESTRICT_IGNORE': '%(tools_prefix)s/bin/bash'}) |
6308
3a8e89e97310
Update GMP to 6.0.0a
Masamichi Hosoda <trueroad@users.noreply.github.com>
parents:
6303
diff
changeset
|
17 dependencies = ['libtool', 'tools::autoconf', 'tools::automake', 'tools::bison', 'tools::flex', 'tools::libtool', 'tools::xzutils'] |
5641
387483526bff
Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5635
diff
changeset
|
18 configure_flags = (target.AutoBuild.configure_flags |
387483526bff
Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5635
diff
changeset
|
19 + ' --disable-cxx ') |
3365
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
20 def configure (self): |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4604
diff
changeset
|
21 target.AutoBuild.configure (self) |
3365
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
22 # automake's Makefile.in's too old for new libtool, |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
23 # but autoupdating breaks even more. This nice |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
24 # hack seems to work. |
5166
dd11858b78e9
gmp: handle libtool fixup even when SHELL != /bin/*sh.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5085
diff
changeset
|
25 self.file_sub ([('(#! .*/bin/.*sh)', r'#! \1\ntagname=CXX')], |
dd11858b78e9
gmp: handle libtool fixup even when SHELL != /bin/*sh.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5085
diff
changeset
|
26 '%(builddir)s/libtool') |
6512
ccc20ae889ca
mingw::guile-2.0.7 builds.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6308
diff
changeset
|
27 |
3365
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
28 class Gmp__darwin (Gmp): |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
29 def patch (self): |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
30 ## powerpc/darwin cross barfs on all C++ includes from |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
31 ## a C linkage file. |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
32 ## don't know why. Let's patch C++ completely from GMP. |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
33 self.file_sub ([('__GMP_DECLSPEC_XX std::[oi]stream& operator[<>][^;]+;$', ''), |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
34 ('#include <iosfwd>', ''), |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
35 ('<cstddef>','<stddef.h>') |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
36 ], |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
37 '%(srcdir)s/gmp-h.in') |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
38 Gmp.patch (self) |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
39 def install (self): |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
40 Gmp.install (self) |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
41 self.file_sub ([('using std::FILE;','')], |
3757
1af29eeaad30
Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
3493
diff
changeset
|
42 '%(install_prefix)s/include/gmp.h') |
3365
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
43 |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
44 class Gmp__mingw (Gmp): |
6242 | 45 patches = [] |
4601 | 46 def __init__ (self, settings, source): |
3960
7147fad42fbc
Grand __init__ (self, settings, source) replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
3943
diff
changeset
|
47 Gmp.__init__ (self, settings, source) |
3365
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
48 # Configure (compile) without -mwindows for console |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
49 self.target_gcc_flags = '-mms-bitfields' |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
50 def install (self): |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
51 Gmp.install (self) |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
52 self.system (''' |
3757
1af29eeaad30
Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
3493
diff
changeset
|
53 mv %(install_prefix)s/lib/*dll %(install_prefix)s/bin || true |
3365
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
54 ''') |
cb9077953e4e
Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
55 |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4604
diff
changeset
|
56 class Gmp__tools (tools.AutoBuild, Gmp): |
6308
3a8e89e97310
Update GMP to 6.0.0a
Masamichi Hosoda <trueroad@users.noreply.github.com>
parents:
6303
diff
changeset
|
57 dependencies = ['bison', 'flex', 'libtool', 'xzutils'] |
5798
fdd7ec0c5948
tools::gmp: compile without stack protector. May fix some guile builds.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5649
diff
changeset
|
58 configure_variables = (tools.AutoBuild.configure_variables |
fdd7ec0c5948
tools::gmp: compile without stack protector. May fix some guile builds.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5649
diff
changeset
|
59 # avoid __isoc99_fscanf@@GLIBC_2.7 etc |
fdd7ec0c5948
tools::gmp: compile without stack protector. May fix some guile builds.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5649
diff
changeset
|
60 + ' CPPFLAGS=-D_GNU_SOURCE') |