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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
bc5e7ff7d734 Update GMP and MPFR
Phil Holmes <mail@philholmes.net>
parents: 5798
diff changeset
45 patches = []
4601
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4592
diff changeset
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')