annotate gub/specs/guile.py @ 6476:5e8c30d45fc0

guile: depend on libffi.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Thu, 03 Feb 2011 08:37:35 +0100
parents 57f607784269
children 00000bc42f8a
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'
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
15 source = 'http://alpha.gnu.org/gnu/guile/guile-1.9.14.tar.gz'
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
16 patches = [
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
17 #'guile-reloc-1.8.6.patch',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
18 'guile-1.9.14-reloc.patch',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
19 #'guile-cexp.patch',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
20 'guile-1.8.6-test-use-srfi.patch',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
21 #'guile-1.8.7-doc-snarfing.patch',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
22 'guile-1.9.14-configure-cross.patch',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
23 'guile-1.9.14-cross.patch',
6475
57f607784269 guile: use included gnulib-tools. Fixes build & patching.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6473
diff changeset
24 '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
25 #'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
26 ]
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
27 force_autoupdate = True
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
28 dependencies = [
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
29 'gettext-devel',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
30 'gmp-devel',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
31 'libtool',
6476
5e8c30d45fc0 guile: depend on libffi.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6475
diff changeset
32 'libffi',
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
33 'libunistring',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
34 'libgc',
6447
302dc1c206fe tools::guile: build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6445
diff changeset
35 'tools::guile',
6475
57f607784269 guile: use included gnulib-tools. Fixes build & patching.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6473
diff changeset
36 'tools::gnulib',
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
37 ]
5641
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
38 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
39 --without-threads
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
40 --with-gnu-ld
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
41 --enable-deprecated
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
42 --enable-discouraged
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
43 --disable-error-on-warning
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
44 --enable-relocation
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
45 --enable-rpath
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
46 --with-pic
5641
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
47 ''')
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
48 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
49 + misc.join_lines ('''
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
50 CC_FOR_BUILD="
5735
3fa9a9f36622 LIBRESTRICT=open:stat: flex, guile, build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5732
diff changeset
51 LD_PRELOAD=
5641
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
52 C_INCLUDE_PATH=
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
53 CPPFLAGS=
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
54 LIBRARY_PATH=
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
55 PATH_SEPARATOR=':'
5732
fec3ceb5ef84 LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5685
diff changeset
56 PATH=/usr/bin:$PATH
5735
3fa9a9f36622 LIBRESTRICT=open:stat: flex, guile, build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5732
diff changeset
57 /usr/bin/cc
5641
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
58 -I%(builddir)s
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
59 -I%(srcdir)s
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
60 -I%(builddir)s/libguile
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
61 -I.
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
62 -I%(srcdir)s/libguile"
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
63 '''))
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
64 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
65 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
66 '''
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
67 # 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
68 # 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
69 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
70 + ' 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
71 + ' 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
72 + ' LIBFFI_CFLAGS='
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
73 + ' 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
74 + ' 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
75 # 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
76 # 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
77 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
78 + target.AutoBuild.configure_command
4ccd65fdeff1 Grand def configure_command () -> class.configure_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5649
diff changeset
79 + 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
80 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
81 + 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
82 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
83 + target.AutoBuild.install_command)
5732
fec3ceb5ef84 LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5685
diff changeset
84 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
85 @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
86 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
87 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
88 '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
89 '%(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
90 '1.8.6')
4018
e62cf0f59236 Update guile source, recover from auto with_vc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4016
diff changeset
91 def __init__ (self, settings, source):
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
92 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
93 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
94 ##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
95 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
96 source)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
97 self.so_version = '17'
6471
834c939b7f86 guile: always retool and junk putenv.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6470
diff changeset
98 # REMOVE putenv!
834c939b7f86 guile: always retool and junk putenv.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6470
diff changeset
99 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
100 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
101 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
102 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
103 ''', "%(srcdir)s/pre-inst-guile.in")
6049
0b17bdcc8159 cygwin::guile update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6007
diff changeset
104 #self.autopatch ()
6471
834c939b7f86 guile: always retool and junk putenv.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6470
diff changeset
105 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
106 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
107 target.AutoBuild.patch (self)
6473
3f3bf4ecad6e guile: more aggressive gnulib:putenv exorcism.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6471
diff changeset
108 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
109 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
110 def autoupdate (self):
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
111 self.system ('cd %(srcdir)s && autoreconf')
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
112 # .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
113 # 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
114 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
115 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
116 'cross_compiling=yes')], '%(srcdir)s/configure')
5467
851a62cb12ae tools::guile: build fix.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5383
diff changeset
117 def autopatch (self):
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
118 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
119 '%(srcdir)s/configure.in')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
120 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
121 '%(srcdir)s/Makefile.am')
5467
851a62cb12ae tools::guile: build fix.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5383
diff changeset
122 # Guile [doc] does not compile with dash *and* not with
851a62cb12ae tools::guile: build fix.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5383
diff changeset
123 # librestrict-stat.so; patch out.
5732
fec3ceb5ef84 LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5685
diff changeset
124 if isinstance (self.source, repository.Git):
fec3ceb5ef84 LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5685
diff changeset
125 self.file_sub ([(' doc ', ' ')], '%(srcdir)s/Makefile.am')
fec3ceb5ef84 LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5685
diff changeset
126 self.file_sub ([('guile-readline', '')], '%(srcdir)s/Makefile.am')
fec3ceb5ef84 LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5685
diff changeset
127 else:
5369
0069380ed85b darwin-x86::Denemo: further progress.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5308
diff changeset
128 self.file_sub ([(' doc ', ' ')], '%(srcdir)s/Makefile.in')
5467
851a62cb12ae tools::guile: build fix.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5383
diff changeset
129 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
130 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
131 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
132 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
133 ## 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
134 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
135 # 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
136 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
137 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
138 '%(builddir)s/libguile/libpath.h')
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
139 target.AutoBuild.compile (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
140 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
141 # 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
142 # 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
143 self.update_libtool ()
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
144 target.AutoBuild.install (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
145 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
146 majmin_version = '2.0'
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
147
6468
0ea4f16c7d7a guile: somewhat better relocation patch.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6459
diff changeset
148 self.dump ('''
0ea4f16c7d7a guile: somewhat better relocation patch.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6459
diff changeset
149 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
150 prependdir GUILE_LOAD_PATH=$INSTALLER_PREFIX/share/guile/site
0ea4f16c7d7a guile: somewhat better relocation patch.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6459
diff changeset
151 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
152 ''',
3757
1af29eeaad30 Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3703
diff changeset
153 '%(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
154 env=locals ())
3890
0a85f8006a68 Defer dumping and chmodding of guile-config.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3812
diff changeset
155 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
156 #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
157 self.dump ('''\
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
158 #! /bin/sh
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
159 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
160 prefix=%(system_prefix)s
6444
1455e040df43 guile: small cleanups and fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6443
diff changeset
161 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
162 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
163 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
164 exit 0
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
165 ''',
4809
5bafc4086a02 Junk literal use of /usr and /cross.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4794
diff changeset
166 '%(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
167 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
168 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
169
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
170 class Guile__mingw (Guile):
3960
7147fad42fbc Grand __init__ (self, settings, source) replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3943
diff changeset
171 def __init__ (self, settings, source):
7147fad42fbc Grand __init__ (self, settings, source) replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3943
diff changeset
172 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
173 # 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
174 self.target_gcc_flags = '-mms-bitfields'
6471
834c939b7f86 guile: always retool and junk putenv.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6470
diff changeset
175 patches = Guile.patches + [ # [x for x in Guile.patches if not 'libunistring' in x] + [
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
176 'guile-1.9.14-mingw.patch',
6452
d0006ae646bd guile: mingw and linux fixes. Now also runs on mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6447
diff changeset
177 'guile-1.9.14-gnulib-mingw.patch',
6459
73d419fb8438 mingw::guile: add dirent patch. Fixes starting up lilypond.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6457
diff changeset
178 'guile-1.9.14-mingw-dirent.patch',
6471
834c939b7f86 guile: always retool and junk putenv.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6470
diff changeset
179 #'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
180 ]
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
181 dependencies = (Guile.dependencies
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
182 + [
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
183 'regex-devel',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
184 'mingw-extras',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
185 ])
5641
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
186 configure_flags = (Guile.configure_flags
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
187 + ' --without-threads')
387483526bff Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5635
diff changeset
188 configure_variables = (Guile.configure_variables
5735
3fa9a9f36622 LIBRESTRICT=open:stat: flex, guile, build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5732
diff changeset
189 .replace ("':'", "';'")
6468
0ea4f16c7d7a guile: somewhat better relocation patch.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6459
diff changeset
190 ###we're debugging here
0ea4f16c7d7a guile: somewhat better relocation patch.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6459
diff changeset
191 ###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
192 + misc.join_lines ('''
6468
0ea4f16c7d7a guile: somewhat better relocation patch.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6459
diff changeset
193 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
194 LIBS='-lgc -lmingw-extras'
5369
0069380ed85b darwin-x86::Denemo: further progress.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5308
diff changeset
195 '''))
5665
c2252fd358e9 Grand config_cache_overrides () -> class.config_cache_overrides hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5660
diff changeset
196 config_cache_overrides = Guile.config_cache_overrides + '''
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
197 gl_cv_socket_ipv6=no
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
198 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
199 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
200 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
201 guile_cv_exeext=${guile_cv_exeext=}
3757
1af29eeaad30 Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3703
diff changeset
202 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
203 '''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
204 def configure (self):
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
205 self.file_sub ([('''^#(LIBOBJS=".*fileblocks.*)''', r'\1')],
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
206 '%(srcdir)s/configure')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
207 Guile.configure (self)
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
208 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
209 self.file_sub ([('-mwindows', '')], libtool)
6471
834c939b7f86 guile: always retool and junk putenv.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6470
diff changeset
210
834c939b7f86 guile: always retool and junk putenv.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6470
diff changeset
211 gnulib_modules = (Guile.gnulib_modules
834c939b7f86 guile: always retool and junk putenv.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6470
diff changeset
212 + '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
213 def compile (self):
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
214 ## 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
215 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
216 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
217 Guile.compile (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
218 def install (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
219 Guile.install (self)
6007
fdef984a92a0 guile: support info command. tools::guile: keep devel stuff.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6002
diff changeset
220 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
221
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
222 class Guile__linux (Guile):
5660
f1cc9e07d8a9 Grand compile_command () -> class.compile_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5656
diff changeset
223 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
224 + Guile.compile_command)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
225
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
226 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
227 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
228 guile_cv_have_libc_stack_end=no
964452fe46fc guile: configure_flags update. Fixes build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5592
diff changeset
229 '''
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
230
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
231 class Guile__freebsd (Guile):
5665
c2252fd358e9 Grand config_cache_overrides () -> class.config_cache_overrides hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5660
diff changeset
232 config_cache_overrides = Guile.config_cache_overrides + '''
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
233 ac_cv_type_socklen_t=yes
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
234 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
235 '''
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
236
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
237 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
238 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
239 def install (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
240 Guile.install (self)
4210
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
241 def dylib_link (logger, fname):
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
242 directory = os.path.split (fname)[0]
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
243 src = os.path.basename (fname)
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
244 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
245 loggedos.symlink (logger, src, os.path.join (directory, dst))
4210
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
246 self.map_locate (dylib_link,
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
247 self.expand ('%(install_prefix)s/lib/'),
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
248 'libguile-srfi*.dylib')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
249 def configure (self):
5369
0069380ed85b darwin-x86::Denemo: further progress.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5308
diff changeset
250 self.file_sub ([('guile-readline', '')],
0069380ed85b darwin-x86::Denemo: further progress.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5308
diff changeset
251 '%(srcdir)s/Makefile.in')
6317
c24904e00a69 Fix darwin-ppc::guile
Masamichi Hosoda <trueroad@users.noreply.github.com>
parents: 6049
diff changeset
252 Guile.configure (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
253
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
254 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
255 patches = Guile.patches + [
d0006ae646bd guile: mingw and linux fixes. Now also runs on mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6447
diff changeset
256 '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
257 '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
258 ]
d0006ae646bd guile: mingw and linux fixes. Now also runs on mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6447
diff changeset
259 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
260 '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
261
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
262 class Guile__tools (tools.AutoBuild, Guile):
6447
302dc1c206fe tools::guile: build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6445
diff changeset
263 patches = []
5635
3ecad6b5f9b1 Grand rename: _get_build_dependencies () -> dependencies.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5605
diff changeset
264 dependencies = (Guile.dependencies
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
265 + [
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
266 'autoconf',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
267 'automake',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
268 'gettext',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
269 'flex',
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
270 'libtool'
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
271 ])
5644
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
272 make_flags = Guile.make_flags
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
273 # 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
274 # cd .. && make am--refresh
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
275 # /bin/sh ./config.status --recheck
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
276 # leading to
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
277 # checking size of char... 0
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
278 # 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
279 compile_flags_native = misc.join_lines ('''
7aee893b7746 Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5643
diff changeset
280 LD_LIBRARY_PATH=%(system_prefix)s/lib
6049
0b17bdcc8159 cygwin::guile update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6007
diff changeset
281 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
282 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
283 ''')
5656
4ccd65fdeff1 Grand def configure_command () -> class.configure_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5649
diff changeset
284 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
285 + tools.AutoBuild.configure_command
4ccd65fdeff1 Grand def configure_command () -> class.configure_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5649
diff changeset
286 + Guile.guile_configure_flags)
5685
55c3b2b2a645 cygwin::guile: build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5665
diff changeset
287 # FIXME: when configuring, guile runs binaries linked against
55c3b2b2a645 cygwin::guile: build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5665
diff changeset
288 # libltdl.
55c3b2b2a645 cygwin::guile: build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5665
diff changeset
289 # 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
290 # setting the proper LD_LIBRARY_PATH.
55c3b2b2a645 cygwin::guile: build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 5665
diff changeset
291 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
292 + tools.AutoBuild.compile_command)
302dc1c206fe tools::guile: build fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6445
diff changeset
293 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
294 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
295 tools.AutoBuild.patch (self)
6049
0b17bdcc8159 cygwin::guile update.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6007
diff changeset
296 #Guile.autopatch (self)
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
297 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
298 def autoupdate (self):
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
299 self.system ('cd %(srcdir)s && autoreconf')
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
300 # .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
301 # 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
302 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
303 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
304 tools.AutoBuild.install (self)
6443
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
305 self.system ('cd %(install_root)s%(packaging_suffix_dir)s%(prefix_dir)s/bin && cp guile guile-1.9')
344d21a6233d guile: bump to 1.9.14.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6317
diff changeset
306 # 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
307 # '%(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
308 # 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
309
64050ee2dd8a tools32::guile: Support building linux-x86 and mingw[32] guile on linux-64.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6444
diff changeset
310 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
311 pass