annotate gub/specs/guile.py @ 4828:2de16a73dadf

Resurrect Cygwin for lilypond 2.12.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Tue, 06 Jan 2009 20:07:41 +0100
parents 5bafc4086a02
children 929eed24fefa
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 ''',
4809
5bafc4086a02 Junk literal use of /usr and /cross.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4794
diff changeset
112 '%(install_prefix)s%(cross_dir)s/bin/%(target_architecture)s-guile-config')
5bafc4086a02 Junk literal use of /usr and /cross.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4794
diff changeset
113 self.chmod ('%(install_prefix)s%(cross_dir)s/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)
4794
3b2e201bd281 Mingw: make guile build without threads, even when they're installed.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4773
diff changeset
129 # + ' --with-threads=pthread'
3b2e201bd281 Mingw: make guile build without threads, even when they're installed.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4773
diff changeset
130 # checking whether pthread_attr_getstack works for the main thread... configure: error: cannot run test program while cross compiling
3b2e201bd281 Mingw: make guile build without threads, even when they're installed.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4773
diff changeset
131 # also, gen-scmconfig.c has
3b2e201bd281 Mingw: make guile build without threads, even when they're installed.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4773
diff changeset
132 #ifdef HAVE_STRUCT_TIMESPEC
3b2e201bd281 Mingw: make guile build without threads, even when they're installed.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4773
diff changeset
133 # pf ("typedef struct timespec scm_t_timespec;\n");
3b2e201bd281 Mingw: make guile build without threads, even when they're installed.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4773
diff changeset
134 # which breaks because __MINGW32__ needs #include <pthread.h>
3b2e201bd281 Mingw: make guile build without threads, even when they're installed.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4773
diff changeset
135 # So, for now:
3b2e201bd281 Mingw: make guile build without threads, even when they're installed.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4773
diff changeset
136 + ' --without-threads'
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
137 + Guile.configure_variables (self)
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
138 # Use PATH_SEPARATOR=; or it will breaks tools
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
139 # searching for the build platform.
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
140 .replace (':', ';'))
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
141 ###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
142 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
143 return str + '''
4794
3b2e201bd281 Mingw: make guile build without threads, even when they're installed.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4773
diff changeset
144 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
145 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
146 guile_cv_exeext=${guile_cv_exeext=}
3757
1af29eeaad30 Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3703
diff changeset
147 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
148 '''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
149 def configure (self):
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
150 self.file_sub ([('''^#(LIBOBJS=".*fileblocks.*)''', r'\1')],
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
151 '%(srcdir)s/configure')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
152 Guile.configure (self)
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
153 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
154 self.file_sub ([('-mwindows', '')], libtool)
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
155 def compile (self):
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
156 ## Why the !?#@$ is .EXE only for guile_filter_doc_snarfage?
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
157 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
158 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
159 Guile.compile (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
160 def install (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
161 Guile.install (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
162 # 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
163 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
164
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
165 class Guile__linux (Guile):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
166 def compile_command (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
167 # 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
168 # 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
169 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
170 + Guile.compile_command (self))
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
171
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
172 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
173 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
174 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
175
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
176 class Guile__freebsd (Guile):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
177 def config_cache_settings (self):
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
178 return (Guile.config_cache_settings (self)
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
179 + '''
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
180 ac_cv_type_socklen_t=yes
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
181 guile_cv_use_csqrt="no"
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
182 ''')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
183 def configure_command (self):
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
184 return (Guile.configure_command (self)
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
185 + Guile.configure_flags (self)
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
186 + Guile.configure_variables (self))
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
187
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
188 class Guile__darwin (Guile):
4609
a1249326a6f3 Guile version tweaks. Hmm
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4592
diff changeset
189 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
190
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
191 def install (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
192 Guile.install (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
193
4210
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
194 def dylib_link (logger, fname):
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
195 directory = os.path.split (fname)[0]
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
196 src = os.path.basename (fname)
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
197 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
198 loggedos.symlink (logger, src, os.path.join (directory, dst))
4210
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
199
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
200 self.map_locate (dylib_link,
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
201 self.expand ('%(install_prefix)s/lib/'),
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
202 'libguile-srfi*.dylib')
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 class Guile__darwin__x86 (Guile__darwin):
4609
a1249326a6f3 Guile version tweaks. Hmm
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4592
diff changeset
205 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
206
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
207 def configure (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
208 Guile__darwin.configure (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
209 self.file_sub ([('guile-readline', '')],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
210 '%(builddir)s/Makefile')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
211
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
212 class Guile__cygwin (Guile):
3925
bf20b090178d Fix Cygwin categories.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3812
diff changeset
213 def category_dict (self):
3929
60b94bb34f62 Another round of category_dict fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3925
diff changeset
214 return {'': 'Interpreters'}
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
215 # 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
216 # 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
217 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
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['runtime'].append ('cygwin')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
220 return d
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
221 # 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
222 # 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
223 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
224 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
225 # 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
226 def get_dependency_dict (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
227 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
228 d[''] += ['cygwin']
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
229 d['devel'] += ['cygwin'] + ['bash']
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
230 d['runtime'] += ['cygwin', 'crypt', 'libreadline6']
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
231 return d
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
232 # 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
233 def get_build_dependencies (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
234 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
235 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
236 return str + '''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
237 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
238 guile_cv_exeext=${guile_cv_exeext=}
3757
1af29eeaad30 Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3703
diff changeset
239 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
240 '''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
241 def configure (self):
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
242 self.file_sub ([('''^#(LIBOBJS=".*fileblocks.*)''', r'\1')],
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
243 '%(srcdir)s/configure')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
244 Guile.configure (self)
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
245 if 0: # should be fixed in w32.py already
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
246 self.file_sub ([
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
247 ('^(allow_undefined_flag=.*)unsupported', r'\1')],
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
248 '%(builddir)s/libtool')
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
249 self.file_sub ([
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
250 ('^(allow_undefined_flag=.*)unsupported', r'\1')],
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
251 '%(builddir)s/guile-readline/libtool')
4828
2de16a73dadf Resurrect Cygwin for lilypond 2.12.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4809
diff changeset
252 # C&P from Guile__mingw
2de16a73dadf Resurrect Cygwin for lilypond 2.12.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4809
diff changeset
253 def compile (self):
2de16a73dadf Resurrect Cygwin for lilypond 2.12.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4809
diff changeset
254 ## Why the !?#@$ is .EXE only for guile_filter_doc_snarfage?
2de16a73dadf Resurrect Cygwin for lilypond 2.12.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4809
diff changeset
255 self.system ('''cd %(builddir)s/libguile && make CFLAGS='-DHAVE_CONFIG_H=1 -I%(builddir)s' gen-scmconfig guile_filter_doc_snarfage.exe''')
2de16a73dadf Resurrect Cygwin for lilypond 2.12.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4809
diff changeset
256 self.system ('cd %(builddir)s/libguile && cp guile_filter_doc_snarfage.exe guile_filter_doc_snarfage')
2de16a73dadf Resurrect Cygwin for lilypond 2.12.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4809
diff changeset
257 Guile.compile (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
258 def description_dict (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
259 return {
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
260 '': """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
261 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
262 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
263 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
264
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
265 `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
266 #! 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
267 process inside Emacs.
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 '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
270 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
271 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
272 ''',
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
273 '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
274 `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
275 `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
276 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
277 """,
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
278 '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
279 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
280 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
281 guile-tut').
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
282 """,
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
283 }
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
284
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
285 class Guile__tools (tools.AutoBuild, Guile):
4008
821fad950299 Update source in cases of multiple inheritance.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3960
diff changeset
286 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
287 patches = ['guile-reloc.patch']
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
288 def get_build_dependencies (self):
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
289 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
290 + 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
291 + ['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
292 def patch (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
293 self.autogen_sh ()
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
294 def configure_command (self):
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
295 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
296 + 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
297 def makeflags (self):
8627b3087e86 Use relative -rpath for guile, use reloc patch for guile tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4721
diff changeset
298 return Guile.makeflags (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
299 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
300 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
301 # 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
302 # 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
303 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
304 def wrap_executables (self):
4773
08999a9a75e9 Find auto-no-wrap difficult: document wrap_executables () use.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4764
diff changeset
305 # using rpath
4729
8627b3087e86 Use relative -rpath for guile, use reloc patch for guile tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4721
diff changeset
306 pass