annotate gub/specs/guile.py @ 6493:a753f2b56688

guile: bump to 2.0
author Jan Nieuwenhuizen <janneke@gnu.org>
date Tue, 15 Mar 2011 14:13:15 +0100
parents 840b403f7762
children 4af12ccffd10
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 os
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
2 #
5528
6dcb4e0a8146 tools::guile: debootstrap build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5470
diff changeset
3 from gub import context
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
4 from gub import misc
4592
5f2385e5390c Eradicate use of with_vc, with_tarball, with_mirror, with_template.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4530
diff changeset
5 from gub import loggedos
4895
43408bcf252d Move octal constants to gub.octal. Helps python2 <-> python3 transition.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4863
diff changeset
6 from gub import octal
4592
5f2385e5390c Eradicate use of with_vc, with_tarball, with_mirror, with_template.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4530
diff changeset
7 from gub import repository
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
8 from gub import target
4729
8627b3087e86 Use relative -rpath for guile, use reloc patch for guile tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4721
diff changeset
9 from gub import tools
6445
64050ee2dd8a tools32::guile: Support building linux-x86 and mingw[32] guile on linux-64.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6444
diff changeset
10 from gub import tools32
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
11
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
12 class Guile (target.AutoBuild):
5382
82ac909ba559 guile: bump to 1.8.7 (was some GIT version). Workaround for ball/GIT download.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5369
diff changeset
13 # source = 'git://git.sv.gnu.org/guile.git&branch=branch_release-1-8&revision=bba579611b3671c7e4c1515b100f01c048a07935'
82ac909ba559 guile: bump to 1.8.7 (was some GIT version). Workaround for ball/GIT download.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5369
diff changeset
14 source = 'http://ftp.gnu.org/pub/gnu/guile/guile-1.8.7.tar.gz'
6477
00000bc42f8a guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6476
diff changeset
15 source = 'http://alpha.gnu.org/gnu/guile/guile-1.9.15.tar.gz'
6493
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6489
diff changeset
16 source = 'http://ftp.gnu.org/gnu/guile/guile-2.0.0.tar.gz'
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
17 patches = [
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
18 #'guile-reloc-1.8.6.patch',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
19 'guile-1.9.14-reloc.patch',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
20 #'guile-cexp.patch',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
21 'guile-1.8.6-test-use-srfi.patch',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
22 #'guile-1.8.7-doc-snarfing.patch',
6493
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6489
diff changeset
23 ##'guile-2.0.0-configure-cross.patch',
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
24 'guile-1.9.14-configure-cross.patch',
6478
e054e6313ace guile-1.9.15-cross.patch: new version
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6477
diff changeset
25 'guile-1.9.15-cross.patch',
6475
57f607784269 guile: use included gnulib-tools. Fixes build & patching.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6473
diff changeset
26 'guile-1.9.14-gnulib-libunistring.patch',
57f607784269 guile: use included gnulib-tools. Fixes build & patching.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6473
diff changeset
27 #'guile-1.9.14-gnulib-libunistring-retooled.patch',
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
28 ]
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
29 force_autoupdate = True
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
30 dependencies = [
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
31 'gettext-devel',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
32 'gmp-devel',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
33 'libtool',
6476
5e8c30d45fc0 guile: depend on libffi.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6475
diff changeset
34 'libffi',
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
35 'libunistring',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
36 'libgc',
6447
302dc1c206fe tools::guile: build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6445
diff changeset
37 'tools::guile',
6475
57f607784269 guile: use included gnulib-tools. Fixes build & patching.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6473
diff changeset
38 'tools::gnulib',
6477
00000bc42f8a guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6476
diff changeset
39 'tools::pkg-config',
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
40 ]
5641
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
41 guile_configure_flags = misc.join_lines ('''
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
42 --without-threads
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
43 --with-gnu-ld
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
44 --enable-deprecated
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
45 --enable-discouraged
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
46 --disable-error-on-warning
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
47 --enable-relocation
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
48 --enable-rpath
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
49 --with-pic
5641
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
50 ''')
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
51 configure_variables = (target.AutoBuild.configure_variables
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
52 + misc.join_lines ('''
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
53 CC_FOR_BUILD="
5735
3fa9a9f36622 LIBRESTRICT=open:stat: flex, guile, build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5732
diff changeset
54 LD_PRELOAD=
5641
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
55 C_INCLUDE_PATH=
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
56 CPPFLAGS=
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
57 LIBRARY_PATH=
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
58 PATH_SEPARATOR=':'
5732
fec3ceb5ef84 LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5685
diff changeset
59 PATH=/usr/bin:$PATH
5735
3fa9a9f36622 LIBRESTRICT=open:stat: flex, guile, build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5732
diff changeset
60 /usr/bin/cc
5641
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
61 -I%(builddir)s
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
62 -I%(srcdir)s
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
63 -I%(builddir)s/libguile
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
64 -I.
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
65 -I%(srcdir)s/libguile"
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
66 '''))
6470
f1b28c608b3a guile: never use gnulib's putenv. Fixes env-related bugs such as pango fonts.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6468
diff changeset
67 config_cache_overrides = target.AutoBuild.config_cache_overrides + '''
f1b28c608b3a guile: never use gnulib's putenv. Fixes env-related bugs such as pango fonts.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6468
diff changeset
68 gl_cv_func_svid_putenv=yes
f1b28c608b3a guile: never use gnulib's putenv. Fixes env-related bugs such as pango fonts.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6468
diff changeset
69 '''
5781
be607c132aa0 guile: move LD_LIBRARY_PATH libgmp.so hack to compile_flags_native. Fixes build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5756
diff changeset
70 # FIXME: guile runs gen_scmconfig [when not x-building also guile]
be607c132aa0 guile: move LD_LIBRARY_PATH libgmp.so hack to compile_flags_native. Fixes build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5756
diff changeset
71 # without setting the proper LD_LIBRARY_PATH.
be607c132aa0 guile: move LD_LIBRARY_PATH libgmp.so hack to compile_flags_native. Fixes build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5756
diff changeset
72 compile_flags_native = (' LD_PRELOAD= '
5813
16524f1c9e4d guile.py: yet another Let's run i386 on 64 bit hardware build fix.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5781
diff changeset
73 + ' LD_LIBRARY_PATH=%(tools_prefix)s/lib:${LD_LIBRARY_PATH-/foe} '
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
74 + ' CFLAGS="-I%(srcdir)s -I%(builddir)s -DHAVE_CONFIG_H=1"'
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
75 + ' LIBFFI_CFLAGS='
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
76 + ' LDFLAGS='
5813
16524f1c9e4d guile.py: yet another Let's run i386 on 64 bit hardware build fix.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5781
diff changeset
77 + ' cross_compiling=yes ')
5756
a78f20fde0cd Guile: also set LD_LIBRARY_PATH when cross building. Fixes etch debootstrap.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5735
diff changeset
78 # FIXME: guile runs gen_scmconfig [when not x-building also guile]
a78f20fde0cd Guile: also set LD_LIBRARY_PATH when cross building. Fixes etch debootstrap.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5735
diff changeset
79 # without setting the proper LD_LIBRARY_PATH.
6445
64050ee2dd8a tools32::guile: Support building linux-x86 and mingw[32] guile on linux-64.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6444
diff changeset
80 configure_command = ('GUILE_FOR_BUILD=%(tools_archmatch_prefix)s/bin/guile '
5656
4ccd65fdeff1 Grand def configure_command () -> class.configure_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5649
diff changeset
81 + target.AutoBuild.configure_command
4ccd65fdeff1 Grand def configure_command () -> class.configure_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5649
diff changeset
82 + guile_configure_flags)
6445
64050ee2dd8a tools32::guile: Support building linux-x86 and mingw[32] guile on linux-64.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6444
diff changeset
83 compile_command = ('export preinstguile=%(tools_archmatch_prefix)s/bin/guile; '
5756
a78f20fde0cd Guile: also set LD_LIBRARY_PATH when cross building. Fixes etch debootstrap.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5735
diff changeset
84 + target.AutoBuild.compile_command)
6445
64050ee2dd8a tools32::guile: Support building linux-x86 and mingw[32] guile on linux-64.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6444
diff changeset
85 install_command = ('export preinstguile=%(tools_archmatch_prefix)s/bin/guile; '
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
86 + target.AutoBuild.install_command)
5732
fec3ceb5ef84 LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5685
diff changeset
87 subpackage_names = ['doc', 'devel', 'runtime', '']
5308
2b886b00c83e Guile build fix for linux-x86, bump to 1.8.7, use version_from_shell_script.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5268
diff changeset
88 @staticmethod
2b886b00c83e Guile build fix for linux-x86, bump to 1.8.7, use version_from_shell_script.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5268
diff changeset
89 def version_from_VERSION (self):
2b886b00c83e Guile build fix for linux-x86, bump to 1.8.7, use version_from_shell_script.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5268
diff changeset
90 return self.version_from_shell_script ('GUILE-VERSION',
2b886b00c83e Guile build fix for linux-x86, bump to 1.8.7, use version_from_shell_script.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5268
diff changeset
91 'GUILE_MAJOR_VERSION',
2b886b00c83e Guile build fix for linux-x86, bump to 1.8.7, use version_from_shell_script.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5268
diff changeset
92 '%(GUILE_MAJOR_VERSION)s.%(GUILE_MINOR_VERSION)s.%(GUILE_MICRO_VERSION)s',
2b886b00c83e Guile build fix for linux-x86, bump to 1.8.7, use version_from_shell_script.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5268
diff changeset
93 '1.8.6')
4018
e62cf0f59236 Update guile source, recover from auto with_vc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4016
diff changeset
94 def __init__ (self, settings, source):
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
95 target.AutoBuild.__init__ (self, settings, source)
5308
2b886b00c83e Guile build fix for linux-x86, bump to 1.8.7, use version_from_shell_script.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5268
diff changeset
96 if isinstance (source, repository.Git):
2b886b00c83e Guile build fix for linux-x86, bump to 1.8.7, use version_from_shell_script.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5268
diff changeset
97 ##source.version = lambda: '1.8.6'
2b886b00c83e Guile build fix for linux-x86, bump to 1.8.7, use version_from_shell_script.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5268
diff changeset
98 source.version = misc.bind_method (Guile.version_from_VERSION,
2b886b00c83e Guile build fix for linux-x86, bump to 1.8.7, use version_from_shell_script.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5268
diff changeset
99 source)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
100 self.so_version = '17'
6471
834c939b7f86 guile: always retool and junk putenv.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6470
diff changeset
101 # REMOVE putenv!
834c939b7f86 guile: always retool and junk putenv.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6470
diff changeset
102 gnulib_modules = 'alignof alloca-opt announce-gen autobuild byteswap canonicalize-lgpl duplocale environ extensions flock fpieee full-read full-write func gendocs getaddrinfo git-version-gen gitlog-to-changelog gnu-web-doc-update gnupload havelib iconv_open-utf inet_ntop inet_pton isinf isnan lib-symbol-versions lib-symbol-visibility libunistring locale maintainer-makefile nproc stat-time stdlib strcase strftime striconveh string sys_stat verify version-etc-fsf vsnprintf warnings '
5131
6e3713719820 Move mingw guile doc patching up to Guile and Guile__tools. Fixes build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5117
diff changeset
103 def patch (self):
6e3713719820 Move mingw guile doc patching up to Guile and Guile__tools. Fixes build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5117
diff changeset
104 self.dump ('''#!/bin/sh
6445
64050ee2dd8a tools32::guile: Support building linux-x86 and mingw[32] guile on linux-64.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6444
diff changeset
105 exec %(tools_archmatch_prefix)s/bin/guile "$@"
5131
6e3713719820 Move mingw guile doc patching up to Guile and Guile__tools. Fixes build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5117
diff changeset
106 ''', "%(srcdir)s/pre-inst-guile.in")
6049
0b17bdcc8159 cygwin::guile update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6007
diff changeset
107 #self.autopatch ()
6471
834c939b7f86 guile: always retool and junk putenv.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6470
diff changeset
108 self.system ('cp -pv %(sourcefiledir)s/fcntl-o.m4 %(srcdir)s/m4')
6475
57f607784269 guile: use included gnulib-tools. Fixes build & patching.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6473
diff changeset
109 self.system ('%(tools_prefix)s/share/gnulib/gnulib-tool --import --dir=%(srcdir)s --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --libtool --macro-prefix=gl --no-vc-files %(gnulib_modules)s')
5131
6e3713719820 Move mingw guile doc patching up to Guile and Guile__tools. Fixes build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5117
diff changeset
110 target.AutoBuild.patch (self)
6473
3f3bf4ecad6e guile: more aggressive gnulib:putenv exorcism.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6471
diff changeset
111 self.file_sub ([('putenv', 'gnulib_putenv')], '%(srcdir)s/lib/putenv.c')
3f3bf4ecad6e guile: more aggressive gnulib:putenv exorcism.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6471
diff changeset
112 self.file_sub ([('putenv', 'gnulib_putenv')], '%(srcdir)s/lib/stdlib.in.h')
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
113 def autoupdate (self):
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
114 self.system ('cd %(srcdir)s && autoreconf')
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
115 # .libs/libguile_2.0_la-arbiters.o: In function `__gmpz_abs':
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
116 # arbiters.c:(.text+0x0): multiple definition of `__gmpz_abs'
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
117 self.file_sub ([('-std=gnu99', ''),('-std=c99', '')], '%(srcdir)s/configure')
6452
d0006ae646bd guile: mingw and linux fixes. Now also runs on mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6447
diff changeset
118 self.file_sub ([('cross_compiling=(maybe|no|yes)',
d0006ae646bd guile: mingw and linux fixes. Now also runs on mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6447
diff changeset
119 'cross_compiling=yes')], '%(srcdir)s/configure')
5467
851a62cb12ae tools::guile: build fix.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5383
diff changeset
120 def autopatch (self):
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
121 self.file_sub ([(r'AC_CONFIG_SUBDIRS\(guile-readline\)', '')],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
122 '%(srcdir)s/configure.in')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
123 self.file_sub ([(r'guile-readline', '')],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
124 '%(srcdir)s/Makefile.am')
5467
851a62cb12ae tools::guile: build fix.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5383
diff changeset
125 # Guile [doc] does not compile with dash *and* not with
851a62cb12ae tools::guile: build fix.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5383
diff changeset
126 # librestrict-stat.so; patch out.
5732
fec3ceb5ef84 LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5685
diff changeset
127 if isinstance (self.source, repository.Git):
fec3ceb5ef84 LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5685
diff changeset
128 self.file_sub ([(' doc ', ' ')], '%(srcdir)s/Makefile.am')
fec3ceb5ef84 LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5685
diff changeset
129 self.file_sub ([('guile-readline', '')], '%(srcdir)s/Makefile.am')
fec3ceb5ef84 LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5685
diff changeset
130 else:
5369
0069380ed85b darwin-x86::Denemo: further progress.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5308
diff changeset
131 self.file_sub ([(' doc ', ' ')], '%(srcdir)s/Makefile.in')
5467
851a62cb12ae tools::guile: build fix.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5383
diff changeset
132 self.file_sub ([('guile-readline', '')], '%(srcdir)s/Makefile.in')
4018
e62cf0f59236 Update guile source, recover from auto with_vc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4016
diff changeset
133 self.dump ('', '%(srcdir)s/doc/ref/version.texi')
e62cf0f59236 Update guile source, recover from auto with_vc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4016
diff changeset
134 self.dump ('', '%(srcdir)s/doc/tutorial/version.texi')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
135 def compile (self):
4738
a3a67b9d41bf Remove cruft, use %(prefix)s/slib instead of /lib for shared libdir.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4735
diff changeset
136 ## Ugh: broken dependencies break parallel build with make -jX
5644
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
137 self.system ('cd %(builddir)s/libguile && make %(compile_flags_native)s gen-scmconfig guile_filter_doc_snarfage')
4738
a3a67b9d41bf Remove cruft, use %(prefix)s/slib instead of /lib for shared libdir.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4735
diff changeset
138 # Remove -L %(system_root)s from `guile-config link'
5644
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
139 self.system ('cd %(builddir)s/libguile && make %(compile_flags_native)slibpath.h')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
140 self.file_sub ([('''-L *%(system_root)s''', '-L')],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
141 '%(builddir)s/libguile/libpath.h')
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
142 target.AutoBuild.compile (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
143 def install (self):
5383
602ba2aa82ba Move update_libtool from linux-x86::guile up to Guile. Fixes FreeBSD.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5382
diff changeset
144 # with 1.8.7: libtool: cannot install directory not ending in...
602ba2aa82ba Move update_libtool from linux-x86::guile up to Guile. Fixes FreeBSD.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5382
diff changeset
145 # after config.status is being re-run for building of libpath.h
602ba2aa82ba Move update_libtool from linux-x86::guile up to Guile. Fixes FreeBSD.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5382
diff changeset
146 self.update_libtool ()
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
147 target.AutoBuild.install (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
148 majmin_version = '.'.join (self.expand ('%(version)s').split ('.')[0:2])
6468
0ea4f16c7d7a guile: somewhat better relocation patch.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6459
diff changeset
149 majmin_version = '2.0'
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
150
6468
0ea4f16c7d7a guile: somewhat better relocation patch.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6459
diff changeset
151 self.dump ('''
0ea4f16c7d7a guile: somewhat better relocation patch.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6459
diff changeset
152 prependdir GUILE_LOAD_PATH=$INSTALLER_PREFIX/share/guile/%(majmin_version)s
0ea4f16c7d7a guile: somewhat better relocation patch.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6459
diff changeset
153 prependdir GUILE_LOAD_PATH=$INSTALLER_PREFIX/share/guile/site
0ea4f16c7d7a guile: somewhat better relocation patch.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6459
diff changeset
154 prependdir GUILE_LOAD_COMPILED_PATH=$INSTALLER_PREFIX/lib/guile/%(majmin_version)s/ccache
0ea4f16c7d7a guile: somewhat better relocation patch.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6459
diff changeset
155 ''',
3757
1af29eeaad30 Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3703
diff changeset
156 '%(install_prefix)s/etc/relocate/guile.reloc',
4313
902fe5ef547f Updates to easy GNU coding: haakje nits.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4219
diff changeset
157 env=locals ())
3890
0a85f8006a68 Defer dumping and chmodding of guile-config.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3812
diff changeset
158 version = self.expand ('%(version)s')
4863
929eed24fefa Python3: no tabs: sed -i -e 's@^\( *\)\t@\1 @g'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4828
diff changeset
159 #FIXME: c&p linux.py
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
160 self.dump ('''\
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
161 #! /bin/sh
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
162 test "$1" = "--version" && echo "%(target_architecture)s-guile-config - Guile version %(version)s"
3757
1af29eeaad30 Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3703
diff changeset
163 prefix=%(system_prefix)s
6444
1455e040df43 guile: small cleanups and fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6443
diff changeset
164 test "$1" = "compile" && echo "-I$prefix/include/guile/2.0"
1455e040df43 guile: small cleanups and fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6443
diff changeset
165 test "$1" = "link" && echo "-L$prefix/lib -lguile-2.0 -lgmp"
6007
fdef984a92a0 guile: support info command. tools::guile: keep devel stuff.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6002
diff changeset
166 test "$1" = "info" && test "$2" = "guileversion" && echo "%(version)s"
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
167 exit 0
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
168 ''',
4809
5bafc4086a02 Junk literal use of /usr and /cross.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4794
diff changeset
169 '%(install_prefix)s%(cross_dir)s/bin/%(target_architecture)s-guile-config')
4895
43408bcf252d Move octal constants to gub.octal. Helps python2 <-> python3 transition.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4863
diff changeset
170 self.chmod ('%(install_prefix)s%(cross_dir)s/bin/%(target_architecture)s-guile-config', octal.o755)
5268
2faa22764b3a Add denemo with dependencies for mingw32.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5168
diff changeset
171 self.system ('cd %(install_prefix)s%(cross_dir)s/bin && cp -pv %(target_architecture)s-guile-config guile-config')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
172
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
173 class Guile__mingw (Guile):
3960
7147fad42fbc Grand __init__ (self, settings, source) replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3943
diff changeset
174 def __init__ (self, settings, source):
7147fad42fbc Grand __init__ (self, settings, source) replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3943
diff changeset
175 Guile.__init__ (self, settings, source)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
176 # 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
177 self.target_gcc_flags = '-mms-bitfields'
6489
840b403f7762 mingw::guile: another round of 1.9 patches.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6485
diff changeset
178 patches = Guile.patches + [
6479
7236e510eec3 guile-1.9.15-mingw.patch: update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6478
diff changeset
179 'guile-1.9.15-mingw.patch',
6459
73d419fb8438 mingw::guile: add dirent patch. Fixes starting up lilypond.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6457
diff changeset
180 'guile-1.9.14-mingw-dirent.patch',
6485
919f33e40679 mingw::guile: fix socket and compiling.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6479
diff changeset
181 'guile-1.9.15-mingw-compile.patch',
6489
840b403f7762 mingw::guile: another round of 1.9 patches.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6485
diff changeset
182 'guile-1.9.15-mingw-canonicalize.patch',
6485
919f33e40679 mingw::guile: fix socket and compiling.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6479
diff changeset
183 'guile-1.9.15-mingw-fports.patch',
6489
840b403f7762 mingw::guile: another round of 1.9 patches.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6485
diff changeset
184 'guile-1.9.15-mingw-rename.patch',
840b403f7762 mingw::guile: another round of 1.9 patches.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6485
diff changeset
185 'guile-1.9.15-mingw-cachedir.patch',
6493
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6489
diff changeset
186 'guile-2.0.0-mingw-compile-binary.patch',
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6489
diff changeset
187 'guile-2.0.0-mingw-fchmod.patch',
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6489
diff changeset
188 'guile-2.0.0-mingw-dynl.patch',
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
189 ]
6489
840b403f7762 mingw::guile: another round of 1.9 patches.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6485
diff changeset
190 dependencies = (Guile.dependencies + [
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
191 'regex-devel',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
192 'mingw-extras',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
193 ])
5641
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
194 configure_flags = (Guile.configure_flags
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
195 + ' --without-threads')
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
196 configure_variables = (Guile.configure_variables
5735
3fa9a9f36622 LIBRESTRICT=open:stat: flex, guile, build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5732
diff changeset
197 .replace ("':'", "';'")
6468
0ea4f16c7d7a guile: somewhat better relocation patch.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6459
diff changeset
198 ###we're debugging here
0ea4f16c7d7a guile: somewhat better relocation patch.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6459
diff changeset
199 ###CFLAGS='-O2 -DHAVE_CONFIG_H=1 -I%(builddir)s'
5369
0069380ed85b darwin-x86::Denemo: further progress.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5308
diff changeset
200 + misc.join_lines ('''
6468
0ea4f16c7d7a guile: somewhat better relocation patch.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6459
diff changeset
201 CFLAGS='-g -DHAVE_CONFIG_H=1 -I%(builddir)s'
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
202 LIBS='-lgc -lmingw-extras'
5369
0069380ed85b darwin-x86::Denemo: further progress.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5308
diff changeset
203 '''))
5665
c2252fd358e9 Grand config_cache_overrides () -> class.config_cache_overrides hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5660
diff changeset
204 config_cache_overrides = Guile.config_cache_overrides + '''
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
205 gl_cv_socket_ipv6=no
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
206 guile_cv_have_ipv6=no
4794
3b2e201bd281 Mingw: make guile build without threads, even when they're installed.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4773
diff changeset
207 scm_cv_struct_timespec=${scm_cv_struct_timespec=no}
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
208 guile_cv_func_usleep_declared=${guile_cv_func_usleep_declared=yes}
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
209 guile_cv_exeext=${guile_cv_exeext=}
3757
1af29eeaad30 Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3703
diff changeset
210 libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="%(system_prefix)s/lib"}
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
211 '''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
212 def configure (self):
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
213 self.file_sub ([('''^#(LIBOBJS=".*fileblocks.*)''', r'\1')],
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
214 '%(srcdir)s/configure')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
215 Guile.configure (self)
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
216 for libtool in ['%(builddir)s/libtool']: # readline patched-out: '%(builddir)s/guile-readline/libtool']:
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
217 self.file_sub ([('-mwindows', '')], libtool)
6471
834c939b7f86 guile: always retool and junk putenv.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6470
diff changeset
218
834c939b7f86 guile: always retool and junk putenv.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6470
diff changeset
219 gnulib_modules = (Guile.gnulib_modules
834c939b7f86 guile: always retool and junk putenv.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6470
diff changeset
220 + 'accept bind close connect getpeername getsockname getsockopt listen recv recv recvfrom send sendto setsockopt shutdown socket ')
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
221 def compile (self):
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
222 ## Why the !?#@$ is .EXE only for guile_filter_doc_snarfage?
5644
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
223 self.system ('''cd %(builddir)s/libguile &&make %(compile_flags_native)sgen-scmconfig guile_filter_doc_snarfage.exe''')
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
224 self.system ('cd %(builddir)s/libguile && cp guile_filter_doc_snarfage.exe guile_filter_doc_snarfage')
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
225 Guile.compile (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
226 def install (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
227 Guile.install (self)
6007
fdef984a92a0 guile: support info command. tools::guile: keep devel stuff.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6002
diff changeset
228 self.system ('''cd %(install_prefix)s/bin && cp guile.exe guile-windows.exe''')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
229
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
230 class Guile__linux (Guile):
5660
f1cc9e07d8a9 Grand compile_command () -> class.compile_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5656
diff changeset
231 compile_command = ('export LD_LIBRARY_PATH=%(builddir)s/libguile/.libs:$LD_LIBRARY_PATH;'
6452
d0006ae646bd guile: mingw and linux fixes. Now also runs on mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6447
diff changeset
232 + Guile.compile_command)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
233
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
234 class Guile__linux__ppc (Guile__linux):
5665
c2252fd358e9 Grand config_cache_overrides () -> class.config_cache_overrides hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5660
diff changeset
235 config_cache_overrides = Guile__linux.config_cache_overrides + '''
5605
964452fe46fc guile: configure_flags update. Fixes build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5592
diff changeset
236 guile_cv_have_libc_stack_end=no
964452fe46fc guile: configure_flags update. Fixes build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5592
diff changeset
237 '''
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
238
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
239 class Guile__freebsd (Guile):
5665
c2252fd358e9 Grand config_cache_overrides () -> class.config_cache_overrides hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5660
diff changeset
240 config_cache_overrides = Guile.config_cache_overrides + '''
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
241 ac_cv_type_socklen_t=yes
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
242 guile_cv_use_csqrt="no"
5665
c2252fd358e9 Grand config_cache_overrides () -> class.config_cache_overrides hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5660
diff changeset
243 '''
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
244
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
245 class Guile__darwin (Guile):
6452
d0006ae646bd guile: mingw and linux fixes. Now also runs on mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6447
diff changeset
246 patches = Guile.patches + ['guile-1.9.14-pthreads-cross.patch']
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
247 def install (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
248 Guile.install (self)
4210
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
249 def dylib_link (logger, fname):
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
250 directory = os.path.split (fname)[0]
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
251 src = os.path.basename (fname)
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
252 dst = os.path.splitext (os.path.basename (fname))[0] + '.so'
4313
902fe5ef547f Updates to easy GNU coding: haakje nits.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4219
diff changeset
253 loggedos.symlink (logger, src, os.path.join (directory, dst))
4210
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
254 self.map_locate (dylib_link,
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
255 self.expand ('%(install_prefix)s/lib/'),
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
256 'libguile-srfi*.dylib')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
257 def configure (self):
5369
0069380ed85b darwin-x86::Denemo: further progress.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5308
diff changeset
258 self.file_sub ([('guile-readline', '')],
0069380ed85b darwin-x86::Denemo: further progress.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5308
diff changeset
259 '%(srcdir)s/Makefile.in')
6317
c24904e00a69 Fix darwin-ppc::guile
Masamichi Hosoda <trueroad@users.noreply.github.com>
parents: 6049
diff changeset
260 Guile.configure (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
261
5308
2b886b00c83e Guile build fix for linux-x86, bump to 1.8.7, use version_from_shell_script.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5268
diff changeset
262 class Guile__linux__x86 (Guile):
6452
d0006ae646bd guile: mingw and linux fixes. Now also runs on mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6447
diff changeset
263 patches = Guile.patches + [
d0006ae646bd guile: mingw and linux fixes. Now also runs on mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6447
diff changeset
264 'guile-1.9.14-pthreads-cross.patch',
d0006ae646bd guile: mingw and linux fixes. Now also runs on mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6447
diff changeset
265 'guile-1.9.14-struct.patch',
d0006ae646bd guile: mingw and linux fixes. Now also runs on mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6447
diff changeset
266 ]
d0006ae646bd guile: mingw and linux fixes. Now also runs on mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6447
diff changeset
267 compile_flags_native = (Guile.compile_flags_native +
d0006ae646bd guile: mingw and linux fixes. Now also runs on mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6447
diff changeset
268 'CPATH="%(srcdir)s:%(builddir)s:%(system_prefix)s/include" ')
5308
2b886b00c83e Guile build fix for linux-x86, bump to 1.8.7, use version_from_shell_script.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5268
diff changeset
269
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
270 class Guile__tools (tools.AutoBuild, Guile):
6493
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6489
diff changeset
271 patches = [
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6489
diff changeset
272 'guile-2.0.0-testsuite.patch',
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6489
diff changeset
273 'guile-2.0.0-mingw-compile-binary.patch',
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6489
diff changeset
274 ]
5635
3ecad6b5f9b1 Grand rename: _get_build_dependencies () -> dependencies.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5605
diff changeset
275 dependencies = (Guile.dependencies
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
276 + [
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
277 'autoconf',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
278 'automake',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
279 'gettext',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
280 'flex',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
281 'libtool'
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
282 ])
5644
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
283 make_flags = Guile.make_flags
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
284 # Doing make gen-scmconfig, guile starts a configure recheck:
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
285 # cd .. && make am--refresh
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
286 # /bin/sh ./config.status --recheck
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
287 # leading to
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
288 # checking size of char... 0
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
289 # Great idea, let's re-check! You never know... :-)
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
290 compile_flags_native = misc.join_lines ('''
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
291 LD_LIBRARY_PATH=%(system_prefix)s/lib
6049
0b17bdcc8159 cygwin::guile update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6007
diff changeset
292 CFLAGS='-O2 -I%(system_prefix)s/include'
5644
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
293 LDFLAGS='-L%(system_prefix)s/lib %(rpath)s'
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
294 ''')
5656
4ccd65fdeff1 Grand def configure_command () -> class.configure_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5649
diff changeset
295 configure_command = ('LD_LIBRARY_PATH=%(system_prefix)s/lib:${LD_LIBRARY_PATH-/foe} '
4ccd65fdeff1 Grand def configure_command () -> class.configure_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5649
diff changeset
296 + tools.AutoBuild.configure_command
4ccd65fdeff1 Grand def configure_command () -> class.configure_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5649
diff changeset
297 + Guile.guile_configure_flags)
5685
55c3b2b2a645 cygwin::guile: build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5665
diff changeset
298 # FIXME: when configuring, guile runs binaries linked against
55c3b2b2a645 cygwin::guile: build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5665
diff changeset
299 # libltdl.
55c3b2b2a645 cygwin::guile: build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5665
diff changeset
300 # FIXME: when not x-building, guile runs gen_scmconfig, guile without
55c3b2b2a645 cygwin::guile: build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5665
diff changeset
301 # setting the proper LD_LIBRARY_PATH.
55c3b2b2a645 cygwin::guile: build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5665
diff changeset
302 compile_command = ('export LD_LIBRARY_PATH=%(builddir)s/libguile/.libs:%(system_prefix)s/lib:${LD_LIBRARY_PATH-/foe};'
6447
302dc1c206fe tools::guile: build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6445
diff changeset
303 + tools.AutoBuild.compile_command)
302dc1c206fe tools::guile: build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6445
diff changeset
304 install_command = tools.AutoBuild.install_command
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
305 def patch (self):
4987
d82e369c5fc3 Bump libtool to 2.2.6a. Should allow junking much libtool hackings.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4984
diff changeset
306 tools.AutoBuild.patch (self)
6049
0b17bdcc8159 cygwin::guile update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6007
diff changeset
307 #Guile.autopatch (self)
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
308 self.system ('cp -pv %(sourcefiledir)s/fcntl-o.m4 %(srcdir)s/m4')
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
309 def autoupdate (self):
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
310 self.system ('cd %(srcdir)s && autoreconf')
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
311 # .libs/libguile_2.0_la-arbiters.o: In function `__gmpz_abs':
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
312 # arbiters.c:(.text+0x0): multiple definition of `__gmpz_abs'
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
313 self.file_sub ([('-std=gnu99', ''),('-std=c99', '')], '%(srcdir)s/configure')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
314 def install (self):
4729
8627b3087e86 Use relative -rpath for guile, use reloc patch for guile tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4721
diff changeset
315 tools.AutoBuild.install (self)
6493
a753f2b56688 guile: bump to 2.0
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6489
diff changeset
316 self.system ('cd %(install_root)s%(packaging_suffix_dir)s%(prefix_dir)s/bin && cp guile guile-2.0')
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
317 # self.file_sub ([('[(]string-join other-flags[)]', '(string-join (filter (lambda (x) (not (equal? x "-L/usr/lib"))) other-flags))')],
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
318 # '%(install_root)s%(packaging_suffix_dir)s%(prefix_dir)s/bin/guile-config',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
319 # must_succeed=True)
6445
64050ee2dd8a tools32::guile: Support building linux-x86 and mingw[32] guile on linux-64.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6444
diff changeset
320
64050ee2dd8a tools32::guile: Support building linux-x86 and mingw[32] guile on linux-64.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6444
diff changeset
321 class Guile__tools32 (tools32.AutoBuild, Guile__tools):
64050ee2dd8a tools32::guile: Support building linux-x86 and mingw[32] guile on linux-64.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6444
diff changeset
322 pass