annotate gub/specs/guile.py @ 4764:13f4d9792085

Guile tweaks for mingw.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Tue, 11 Nov 2008 12:53:20 +0100
parents a3a67b9d41bf
children 08999a9a75e9
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 #
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
3 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
4 from gub import loggedos
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 repository
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
6 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
7 from gub import tools
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
8
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
9 class Guile (target.AutoBuild):
4674
ed1e07a29424 Guile: add flex, remove git dependency. Bump to 1.8.5: FTBFS.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4628
diff changeset
10 # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=494337
ed1e07a29424 Guile: add flex, remove git dependency. Bump to 1.8.5: FTBFS.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4628
diff changeset
11 # source = 'git://git.sv.gnu.org/guile.git&branch=branch_release-1-8&revision=release_1-8-4'
ed1e07a29424 Guile: add flex, remove git dependency. Bump to 1.8.5: FTBFS.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4628
diff changeset
12 source = 'git://git.sv.gnu.org/guile.git&branch=branch_release-1-8&revision=release_1-8-5'
4721
d9949dcf0d59 Add aclocal_path to help auto magic. Eradicate most apply_patch () -> patches.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4674
diff changeset
13 patches = ['guile-reloc.patch',
d9949dcf0d59 Add aclocal_path to help auto magic. Eradicate most apply_patch () -> patches.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4674
diff changeset
14 'guile-cexp.patch']
4018
e62cf0f59236 Update guile source, recover from auto with_vc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4016
diff changeset
15 def __init__ (self, settings, source):
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
16 target.AutoBuild.__init__ (self, settings, source)
4027
e2824377d335 s/instanceof/isinstance/. sigh.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4026
diff changeset
17 if isinstance (source, repository.Repository):
4733
7ad0ad1b2940 Have glibc[-core] (and cross.*, target.*)install in slibdir=PREFIX/lib. Remove /../../lib[64] cruft.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4732
diff changeset
18 source.version = lambda: '1.8.5'
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
19 self.so_version = '17'
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
20 def autogen_sh (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
21 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
22 '%(srcdir)s/configure.in')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
23 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
24 '%(srcdir)s/Makefile.am')
4018
e62cf0f59236 Update guile source, recover from auto with_vc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4016
diff changeset
25 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
26 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
27 def get_subpackage_names (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
28 return ['doc', 'devel', 'runtime', '']
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
29 def get_dependency_dict (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
30 return {
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
31 '' : ['guile-runtime'],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
32 'runtime': ['gmp', 'gettext', 'libtool-runtime'],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
33 'devel': ['guile-runtime'],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
34 'doc': ['texinfo'],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
35 }
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
36 def get_build_dependencies (self):
4490
69b4641d080b Guile: add proper dependencies on autotools and tools::guile.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4391
diff changeset
37 return ['gettext-devel', 'gmp-devel', 'libtool', 'tools::guile']
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
38 # FIXME: C&P. -- from where?
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
39 def guile_version (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
40 return '.'.join (self.ball_version.split ('.')[0:2])
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
41 def patch (self):
3502
aeacf06a99b5 git-reset before patching
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 3493
diff changeset
42 self.dump ('''#!/bin/sh
3941
5e11e08c3959 Grand renamings.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3931
diff changeset
43 exec %(tools_prefix)s/bin/guile "$@"
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
44 ''', "%(srcdir)s/pre-inst-guile.in")
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
45
4378
b1fa9a38aec7 Get guile from Git repo.
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4362
diff changeset
46 self.autogen_sh ()
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
47 target.AutoBuild.patch (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
48 def configure_flags (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
49 return misc.join_lines ('''
4391
bb9a82bced4c Revert GUILE: 1.8.4 rather 1.8.5.
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4388
diff changeset
50 --without-threads
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
51 --with-gnu-ld
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
52 --enable-deprecated
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
53 --enable-discouraged
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
54 --disable-error-on-warning
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
55 --enable-relocation
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
56 --disable-rpath
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
57 ''')
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
58 def configure_variables (self):
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
59 return misc.join_lines ('''
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
60 CC_FOR_BUILD="
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
61 C_INCLUDE_PATH=
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
62 CPPFLAGS=
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
63 LIBRARY_PATH=
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
64 PATH_SEPARATOR=':'
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
65 cc
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
66 -I%(builddir)s
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
67 -I%(srcdir)s
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
68 -I%(builddir)s/libguile
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
69 -I.
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
70 -I%(srcdir)s/libguile"
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
71 ''')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
72 def configure_command (self):
3941
5e11e08c3959 Grand renamings.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3931
diff changeset
73 return ('GUILE_FOR_BUILD=%(tools_prefix)s/bin/guile '
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
74 + target.AutoBuild.configure_command (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
75 + self.configure_flags ())
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
76 def configure (self):
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
77 target.AutoBuild.configure (self)
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
78 self.update_libtool ()
4729
8627b3087e86 Use relative -rpath for guile, use reloc patch for guile tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4721
diff changeset
79 def makeflags (self):
4735
28d16e58d45e Hack slibdir=/usr/lib with rpath until pango.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4733
diff changeset
80 return '''LDFLAGS='%(rpath)s' '''
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
81 def compile_command (self):
3941
5e11e08c3959 Grand renamings.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3931
diff changeset
82 return ('preinstguile=%(tools_prefix)s/bin/guile ' +
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
83 target.AutoBuild.compile_command (self))
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
84 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
85 ## Ugh: broken dependencies break parallel build with make -jX
a3a67b9d41bf Remove cruft, use %(prefix)s/slib instead of /lib for shared libdir.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4735
diff changeset
86 self.system ('cd %(builddir)s/libguile && make gen-scmconfig guile_filter_doc_snarfage')
a3a67b9d41bf Remove cruft, use %(prefix)s/slib instead of /lib for shared libdir.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4735
diff changeset
87 # Remove -L %(system_root)s from `guile-config link'
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
88 self.system ('cd %(builddir)s/libguile && make libpath.h')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
89 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
90 '%(builddir)s/libguile/libpath.h')
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
91 target.AutoBuild.compile (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
92 def install (self):
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
93 target.AutoBuild.install (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
94 majmin_version = '.'.join (self.expand ('%(version)s').split ('.')[0:2])
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
95
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
96 self.dump ("prependdir GUILE_LOAD_PATH=$INSTALLER_PREFIX/share/guile/%(majmin_version)s\n",
3757
1af29eeaad30 Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3703
diff changeset
97 '%(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
98 env=locals ())
3890
0a85f8006a68 Defer dumping and chmodding of guile-config.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3812
diff changeset
99 version = self.expand ('%(version)s')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
100 #FIXME: c&p linux.py
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
101 self.dump ('''\
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
102 #! /bin/sh
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
103 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
104 #test "$1" = "compile" && echo "-I $%(system_prefix)s/include"
1af29eeaad30 Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3703
diff changeset
105 #test "$1" = "link" && echo "-L%(system_prefix)s/lib -lguile -lgmp"
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
106 #prefix=$(dirname $(dirname $0))
3757
1af29eeaad30 Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3703
diff changeset
107 prefix=%(system_prefix)s
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
108 test "$1" = "compile" && echo "-I$prefix/include"
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
109 test "$1" = "link" && echo "-L$prefix/lib -lguile -lgmp"
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
110 exit 0
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
111 ''',
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
112 '%(install_prefix)s/cross/bin/%(target_architecture)s-guile-config')
3890
0a85f8006a68 Defer dumping and chmodding of guile-config.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3812
diff changeset
113 self.chmod ('%(install_prefix)s/cross/bin/%(target_architecture)s-guile-config', 0755)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
114
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
115 class Guile__mingw (Guile):
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
116 source = Guile.source
3960
7147fad42fbc Grand __init__ (self, settings, source) replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3943
diff changeset
117 def __init__ (self, settings, source):
7147fad42fbc Grand __init__ (self, settings, source) replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3943
diff changeset
118 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
119 # 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
120 self.target_gcc_flags = '-mms-bitfields'
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
121 def get_build_dependencies (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
122 return Guile.get_build_dependencies (self) + ['regex-devel']
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
123 def get_dependency_dict (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
124 d = Guile.get_dependency_dict (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
125 d['runtime'].append ('regex')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
126 return d
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
127 def configure_command (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
128 return (Guile.configure_command (self)
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
129 + Guile.configure_variables (self)
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
130 # Use PATH_SEPARATOR=; or it will breaks tools
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
131 # searching for the build platform.
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
132 .replace (':', ';'))
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
133 ###LDFLAGS=-L%(system_prefix)s/lib
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
134 def config_cache_overrides (self, str):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
135 return str + '''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
136 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
137 guile_cv_exeext=${guile_cv_exeext=}
3757
1af29eeaad30 Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3703
diff changeset
138 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
139 '''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
140 def configure (self):
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
141 self.file_sub ([('''^#(LIBOBJS=".*fileblocks.*)''', r'\1')],
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
142 '%(srcdir)s/configure')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
143 Guile.configure (self)
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
144 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
145 self.file_sub ([('-mwindows', '')], libtool)
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
146 def compile (self):
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
147 ## Why the !?#@$ is .EXE only for guile_filter_doc_snarfage?
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
148 self.system ('''cd %(builddir)s/libguile && make CFLAGS='-DHAVE_CONFIG_H=1 -I%(builddir)s' gen-scmconfig guile_filter_doc_snarfage.exe''')
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
149 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
150 Guile.compile (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
151 def install (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
152 Guile.install (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
153 # dlopen-able .la files go in BIN dir, BIN OR LIB package
3757
1af29eeaad30 Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3703
diff changeset
154 self.system ('''mv %(install_prefix)s/lib/lib*[0-9].la %(install_prefix)s/bin''')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
155
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
156 class Guile__linux (Guile):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
157 def compile_command (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
158 # FIXME: when not x-building, guile runs guile without
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
159 # setting the proper LD_LIBRARY_PATH.
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
160 return ('export LD_LIBRARY_PATH=%(builddir)s/libguile/.libs:$LD_LIBRARY_PATH;'
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
161 + Guile.compile_command (self))
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
162
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
163 class Guile__linux__ppc (Guile__linux):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
164 def config_cache_overrides (self, str):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
165 return str + "\nguile_cv_have_libc_stack_end=no\n"
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
166
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
167 class Guile__freebsd (Guile):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
168 def config_cache_settings (self):
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
169 return (Guile.config_cache_settings (self)
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
170 + '''
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
171 ac_cv_type_socklen_t=yes
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
172 guile_cv_use_csqrt="no"
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
173 ''')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
174 def configure_command (self):
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
175 return (Guile.configure_command (self)
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
176 + Guile.configure_flags (self)
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
177 + Guile.configure_variables (self))
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
178
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
179 class Guile__darwin (Guile):
4609
a1249326a6f3 Guile version tweaks. Hmm
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4592
diff changeset
180 source = 'git://git.sv.gnu.org/guile.git&branch=branch_release-1-8&revision=release_1-8-4'
a1249326a6f3 Guile version tweaks. Hmm
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4592
diff changeset
181
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
182 def install (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
183 Guile.install (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
184
4210
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
185 def dylib_link (logger, fname):
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
186 directory = os.path.split (fname)[0]
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
187 src = os.path.basename (fname)
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
188 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
189 loggedos.symlink (logger, src, os.path.join (directory, dst))
4210
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
190
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
191 self.map_locate (dylib_link,
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
192 self.expand ('%(install_prefix)s/lib/'),
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
193 'libguile-srfi*.dylib')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
194
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
195 class Guile__darwin__x86 (Guile__darwin):
4609
a1249326a6f3 Guile version tweaks. Hmm
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4592
diff changeset
196 source = 'git://git.sv.gnu.org/guile.git&branch=branch_release-1-8&revision=release_1-8-4'
a1249326a6f3 Guile version tweaks. Hmm
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4592
diff changeset
197
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
198 def configure (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
199 Guile__darwin.configure (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
200 self.file_sub ([('guile-readline', '')],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
201 '%(builddir)s/Makefile')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
202
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
203 class Guile__cygwin (Guile):
3925
bf20b090178d Fix Cygwin categories.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3812
diff changeset
204 def category_dict (self):
3929
60b94bb34f62 Another round of category_dict fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3925
diff changeset
205 return {'': 'Interpreters'}
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
206 # Using gub dependencies only would be nice, but
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
207 # we need to a lot of gup.gub_to_distro_deps ().
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
208 def GUB_get_dependency_dict (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
209 d = Guile.get_dependency_dict (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
210 d['runtime'].append ('cygwin')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
211 return d
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
212 # Using gub dependencies only would be nice, but
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
213 # we need to a lot of gup.gub_to_distro_deps ().
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
214 def GUB_get_build_dependencies (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
215 return Guile.get_build_dependencies (self) + ['libiconv-devel']
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
216 # FIXME: uses mixed gub/distro dependencies
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
217 def get_dependency_dict (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
218 d = Guile.get_dependency_dict (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
219 d[''] += ['cygwin']
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
220 d['devel'] += ['cygwin'] + ['bash']
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
221 d['runtime'] += ['cygwin', 'crypt', 'libreadline6']
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
222 return d
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
223 # FIXME: uses mixed gub/distro dependencies
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
224 def get_build_dependencies (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
225 return ['crypt', 'libgmp-devel', 'gettext-devel', 'libiconv', 'libtool', 'readline']
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
226 def config_cache_overrides (self, str):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
227 return str + '''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
228 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
229 guile_cv_exeext=${guile_cv_exeext=}
3757
1af29eeaad30 Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3703
diff changeset
230 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
231 '''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
232 def configure (self):
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
233 self.file_sub ([('''^#(LIBOBJS=".*fileblocks.*)''', r'\1')],
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
234 '%(srcdir)s/configure')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
235 Guile.configure (self)
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
236 if 0: # should be fixed in w32.py already
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
237 self.file_sub ([
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
238 ('^(allow_undefined_flag=.*)unsupported', r'\1')],
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
239 '%(builddir)s/libtool')
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
240 self.file_sub ([
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
241 ('^(allow_undefined_flag=.*)unsupported', r'\1')],
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
242 '%(builddir)s/guile-readline/libtool')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
243 def description_dict (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
244 return {
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
245 '': """The GNU extension language and Scheme interpreter - executables
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
246 Guile, the GNU Ubiquitous Intelligent Language for Extension, is a scheme
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
247 implementation designed for real world programming, supporting a
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
248 rich Unix interface, a module system, and undergoing rapid development.
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
249
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
250 `guile' is a scheme interpreter that can execute scheme scripts (with a
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
251 #! line at the top of the file), or run as an inferior scheme
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
252 process inside Emacs.
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
253 """,
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
254 'runtime': '''The GNU extension language and Scheme interpreter - runtime
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
255 Guile shared object libraries and the ice-9 scheme module. Guile is
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
256 the GNU Ubiquitous Intelligent Language for Extension.
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
257 ''',
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
258 'devel': """The GNU extension language and Scheme interpreter - development
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
259 `libguile.h' etc. C headers, aclocal macros, the `guile-snarf' and
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
260 `guile-config' utilities, and static `libguile.a' libraries for Guile,
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
261 the GNU Ubiquitous Intelligent Language for Extension.
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
262 """,
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
263 'doc': """The GNU extension language and Scheme interpreter - documentation
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
264 This package contains the documentation for guile, including both
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
265 a reference manual (via `info guile'), and a tutorial (via `info
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
266 guile-tut').
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
267 """,
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
268 }
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
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):
4008
821fad950299 Update source in cases of multiple inheritance.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3960
diff changeset
271 source = Guile.source
4729
8627b3087e86 Use relative -rpath for guile, use reloc patch for guile tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4721
diff changeset
272 patches = ['guile-reloc.patch']
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
273 def get_build_dependencies (self):
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
274 return (tools.AutoBuild.get_build_dependencies (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
275 + Guile.get_build_dependencies (self)
4674
ed1e07a29424 Guile: add flex, remove git dependency. Bump to 1.8.5: FTBFS.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4628
diff changeset
276 + ['autoconf', 'automake', 'gettext', 'flex', 'libtool'])
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
277 def patch (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
278 self.autogen_sh ()
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
279 def configure_command (self):
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
280 return (tools.AutoBuild.configure_command (self)
4729
8627b3087e86 Use relative -rpath for guile, use reloc patch for guile tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4721
diff changeset
281 + Guile.configure_flags (self))
8627b3087e86 Use relative -rpath for guile, use reloc patch for guile tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4721
diff changeset
282 def makeflags (self):
8627b3087e86 Use relative -rpath for guile, use reloc patch for guile tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4721
diff changeset
283 return Guile.makeflags (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
284 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
285 tools.AutoBuild.install (self)
8627b3087e86 Use relative -rpath for guile, use reloc patch for guile tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4721
diff changeset
286 # Ugh: remove development stuff from tools
8627b3087e86 Use relative -rpath for guile, use reloc patch for guile tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4721
diff changeset
287 # Make sure no tool GUILE headers can interfere with compile.
3760
dce0e724705b Remove double slashes before packaging_suffix_dir.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3757
diff changeset
288 self.system ("rm -rf %(install_root)s%(packaging_suffix_dir)s%(prefix_dir)s/include/ %(install_root)s%(packaging_suffix_dir)s%(prefix_dir)s/bin/guile-config ")
4729
8627b3087e86 Use relative -rpath for guile, use reloc patch for guile tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4721
diff changeset
289 def wrap_executables (self):
8627b3087e86 Use relative -rpath for guile, use reloc patch for guile tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4721
diff changeset
290 pass