annotate gub/specs/guile.py @ 4984:42b0b088f51d

Guile: all use patches. Hmm, better automate this, like source?
author Jan Nieuwenhuizen <janneke@gnu.org>
date Sun, 08 Feb 2009 15:45:56 +0100
parents 5feb352b3f30
children d82e369c5fc3
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
4895
43408bcf252d Move octal constants to gub.octal. Helps python2 <-> python3 transition.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4863
diff changeset
5 from gub import octal
4592
5f2385e5390c Eradicate use of with_vc, with_tarball, with_mirror, with_template.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4530
diff changeset
6 from gub import repository
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
7 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
8 from gub import tools
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
9
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
10 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
11 # 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
12 # 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
13 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
14 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
15 'guile-cexp.patch']
4018
e62cf0f59236 Update guile source, recover from auto with_vc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4016
diff changeset
16 def __init__ (self, settings, source):
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
17 target.AutoBuild.__init__ (self, settings, source)
4027
e2824377d335 s/instanceof/isinstance/. sigh.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4026
diff changeset
18 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
19 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
20 self.so_version = '17'
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
21 def autogen_sh (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
22 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
23 '%(srcdir)s/configure.in')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
24 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
25 '%(srcdir)s/Makefile.am')
4018
e62cf0f59236 Update guile source, recover from auto with_vc.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4016
diff changeset
26 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
27 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
28 def get_subpackage_names (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
29 return ['doc', 'devel', 'runtime', '']
4980
5feb352b3f30 Eradicate get_build_dependencies ().
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4958
diff changeset
30 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
31 return ['gettext-devel', 'gmp-devel', 'libtool', 'tools::guile']
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
32 # 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
33 def guile_version (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
34 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
35 def patch (self):
3502
aeacf06a99b5 git-reset before patching
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 3493
diff changeset
36 self.dump ('''#!/bin/sh
3941
5e11e08c3959 Grand renamings.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3931
diff changeset
37 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
38 ''', "%(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
39
4378
b1fa9a38aec7 Get guile from Git repo.
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4362
diff changeset
40 self.autogen_sh ()
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
41 target.AutoBuild.patch (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
42 def configure_flags (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
43 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
44 --without-threads
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
45 --with-gnu-ld
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
46 --enable-deprecated
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
47 --enable-discouraged
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
48 --disable-error-on-warning
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
49 --enable-relocation
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
50 --disable-rpath
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
51 ''')
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
52 def configure_variables (self):
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
53 return misc.join_lines ('''
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
54 CC_FOR_BUILD="
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
55 C_INCLUDE_PATH=
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
56 CPPFLAGS=
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
57 LIBRARY_PATH=
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
58 PATH_SEPARATOR=':'
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
59 cc
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
60 -I%(builddir)s
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
61 -I%(srcdir)s
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
62 -I%(builddir)s/libguile
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
63 -I.
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
64 -I%(srcdir)s/libguile"
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
65 ''')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
66 def configure_command (self):
3941
5e11e08c3959 Grand renamings.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3931
diff changeset
67 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
68 + 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
69 + self.configure_flags ())
4729
8627b3087e86 Use relative -rpath for guile, use reloc patch for guile tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4721
diff changeset
70 def makeflags (self):
4735
28d16e58d45e Hack slibdir=/usr/lib with rpath until pango.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4733
diff changeset
71 return '''LDFLAGS='%(rpath)s' '''
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
72 def compile_command (self):
3941
5e11e08c3959 Grand renamings.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3931
diff changeset
73 return ('preinstguile=%(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.compile_command (self))
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
75 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
76 ## 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
77 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
78 # 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
79 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
80 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
81 '%(builddir)s/libguile/libpath.h')
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
82 target.AutoBuild.compile (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
83 def install (self):
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
84 target.AutoBuild.install (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
85 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
86
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
87 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
88 '%(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
89 env=locals ())
3890
0a85f8006a68 Defer dumping and chmodding of guile-config.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3812
diff changeset
90 version = self.expand ('%(version)s')
4863
929eed24fefa Python3: no tabs: sed -i -e 's@^\( *\)\t@\1 @g'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4828
diff changeset
91 #FIXME: c&p linux.py
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
92 self.dump ('''\
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
93 #! /bin/sh
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
94 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
95 #test "$1" = "compile" && echo "-I $%(system_prefix)s/include"
1af29eeaad30 Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3703
diff changeset
96 #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
97 #prefix=$(dirname $(dirname $0))
3757
1af29eeaad30 Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3703
diff changeset
98 prefix=%(system_prefix)s
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
99 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
100 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
101 exit 0
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
102 ''',
4809
5bafc4086a02 Junk literal use of /usr and /cross.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4794
diff changeset
103 '%(install_prefix)s%(cross_dir)s/bin/%(target_architecture)s-guile-config')
4895
43408bcf252d Move octal constants to gub.octal. Helps python2 <-> python3 transition.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4863
diff changeset
104 self.chmod ('%(install_prefix)s%(cross_dir)s/bin/%(target_architecture)s-guile-config', octal.o755)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
105
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
106 class Guile__mingw (Guile):
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
107 source = Guile.source
4984
42b0b088f51d Guile: all use patches. Hmm, better automate this, like source?
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4980
diff changeset
108 patches = Guile.patches
3960
7147fad42fbc Grand __init__ (self, settings, source) replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3943
diff changeset
109 def __init__ (self, settings, source):
7147fad42fbc Grand __init__ (self, settings, source) replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3943
diff changeset
110 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
111 # 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
112 self.target_gcc_flags = '-mms-bitfields'
4980
5feb352b3f30 Eradicate get_build_dependencies ().
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4958
diff changeset
113 def _get_build_dependencies (self):
5feb352b3f30 Eradicate get_build_dependencies ().
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4958
diff changeset
114 return Guile._get_build_dependencies (self) + ['regex-devel']
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
115 def get_dependency_dict (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
116 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
117 d['runtime'].append ('regex')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
118 return d
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
119 def configure_command (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
120 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
121 # + ' --with-threads=pthread'
3b2e201bd281 Mingw: make guile build without threads, even when they're installed.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4773
diff changeset
122 # 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
123 # 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
124 #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
125 # 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
126 # 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
127 # So, for now:
3b2e201bd281 Mingw: make guile build without threads, even when they're installed.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4773
diff changeset
128 + ' --without-threads'
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 + '''
4794
3b2e201bd281 Mingw: make guile build without threads, even when they're installed.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4773
diff changeset
136 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
137 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
138 guile_cv_exeext=${guile_cv_exeext=}
3757
1af29eeaad30 Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3703
diff changeset
139 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
140 '''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
141 def configure (self):
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
142 self.file_sub ([('''^#(LIBOBJS=".*fileblocks.*)''', r'\1')],
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
143 '%(srcdir)s/configure')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
144 Guile.configure (self)
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
145 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
146 self.file_sub ([('-mwindows', '')], libtool)
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
147 def compile (self):
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
148 ## Why the !?#@$ is .EXE only for guile_filter_doc_snarfage?
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
149 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
150 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
151 Guile.compile (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
152 def install (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
153 Guile.install (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
154 # 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
155 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
156
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
157 class Guile__linux (Guile):
4984
42b0b088f51d Guile: all use patches. Hmm, better automate this, like source?
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4980
diff changeset
158 patches = Guile.patches
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
159 def compile_command (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
160 # 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
161 # 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
162 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
163 + Guile.compile_command (self))
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__ppc (Guile__linux):
4984
42b0b088f51d Guile: all use patches. Hmm, better automate this, like source?
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4980
diff changeset
166 patches = Guile.patches
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
167 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
168 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
169
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
170 class Guile__freebsd (Guile):
4984
42b0b088f51d Guile: all use patches. Hmm, better automate this, like source?
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4980
diff changeset
171 patches = Guile.patches
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
172 def config_cache_settings (self):
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
173 return (Guile.config_cache_settings (self)
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
174 + '''
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
175 ac_cv_type_socklen_t=yes
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
176 guile_cv_use_csqrt="no"
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
177 ''')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
178 def configure_command (self):
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
179 return (Guile.configure_command (self)
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
180 + Guile.configure_flags (self)
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
181 + Guile.configure_variables (self))
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
182
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
183 class Guile__darwin (Guile):
4984
42b0b088f51d Guile: all use patches. Hmm, better automate this, like source?
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4980
diff changeset
184 patches = Guile.patches
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
185 def install (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
186 Guile.install (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
187
4210
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
188 def dylib_link (logger, fname):
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
189 directory = os.path.split (fname)[0]
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
190 src = os.path.basename (fname)
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
191 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
192 loggedos.symlink (logger, src, os.path.join (directory, dst))
4210
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
193
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
194 self.map_locate (dylib_link,
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
195 self.expand ('%(install_prefix)s/lib/'),
582215be97af Eradicate globbing
Han-Wen Nienhuys <hanwen@lilypond.org>
parents: 4182
diff changeset
196 'libguile-srfi*.dylib')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
197
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
198 class Guile__darwin__x86 (Guile__darwin):
4984
42b0b088f51d Guile: all use patches. Hmm, better automate this, like source?
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4980
diff changeset
199 patches = Guile.patches
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
200 def configure (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
201 Guile__darwin.configure (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
202 self.file_sub ([('guile-readline', '')],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
203 '%(builddir)s/Makefile')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
204
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
205 class Guile__cygwin (Guile):
4984
42b0b088f51d Guile: all use patches. Hmm, better automate this, like source?
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4980
diff changeset
206 patches = Guile.patches
3925
bf20b090178d Fix Cygwin categories.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3812
diff changeset
207 def category_dict (self):
3929
60b94bb34f62 Another round of category_dict fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3925
diff changeset
208 return {'': 'Interpreters'}
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
209 # 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
210 # 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
211 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
212 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
213 d['runtime'].append ('cygwin')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
214 return d
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_build_dependencies (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
218 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
219 # 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
220 def get_dependency_dict (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
221 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
222 d[''] += ['cygwin']
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
223 d['devel'] += ['cygwin'] + ['bash']
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
224 d['runtime'] += ['cygwin', 'crypt', 'libreadline6']
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
225 return d
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
226 # FIXME: uses mixed gub/distro dependencies
4980
5feb352b3f30 Eradicate get_build_dependencies ().
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4958
diff changeset
227 def get_build_dependencies (self): # cygwin
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
228 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
229 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
230 return str + '''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
231 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
232 guile_cv_exeext=${guile_cv_exeext=}
3757
1af29eeaad30 Eradicate stray use of `/usr'.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3703
diff changeset
233 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
234 '''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
235 def configure (self):
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
236 self.file_sub ([('''^#(LIBOBJS=".*fileblocks.*)''', r'\1')],
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
237 '%(srcdir)s/configure')
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
238 Guile.configure (self)
4764
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
239 if 0: # should be fixed in w32.py already
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/libtool')
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
243 self.file_sub ([
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
244 ('^(allow_undefined_flag=.*)unsupported', r'\1')],
13f4d9792085 Guile tweaks for mingw.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4738
diff changeset
245 '%(builddir)s/guile-readline/libtool')
4828
2de16a73dadf Resurrect Cygwin for lilypond 2.12.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4809
diff changeset
246 # C&P from Guile__mingw
2de16a73dadf Resurrect Cygwin for lilypond 2.12.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4809
diff changeset
247 def compile (self):
2de16a73dadf Resurrect Cygwin for lilypond 2.12.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4809
diff changeset
248 ## 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
249 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
250 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
251 Guile.compile (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
252 def description_dict (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
253 return {
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
254 '': """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
255 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
256 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
257 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
258
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
259 `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
260 #! 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
261 process inside Emacs.
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 '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
264 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
265 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
266 ''',
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
267 '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
268 `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
269 `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
270 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
271 """,
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
272 '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
273 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
274 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
275 guile-tut').
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
276 """,
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
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
279 class Guile__tools (tools.AutoBuild, Guile):
4008
821fad950299 Update source in cases of multiple inheritance.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 3960
diff changeset
280 source = Guile.source
4984
42b0b088f51d Guile: all use patches. Hmm, better automate this, like source?
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4980
diff changeset
281 patches = Guile.patches
4980
5feb352b3f30 Eradicate get_build_dependencies ().
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4958
diff changeset
282 def _get_build_dependencies (self):
5feb352b3f30 Eradicate get_build_dependencies ().
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4958
diff changeset
283 return (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
284 + ['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
285 def patch (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
286 self.autogen_sh ()
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
287 def configure_command (self):
4628
e4825590ebe5 s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4609
diff changeset
288 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
289 + 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
290 def makeflags (self):
8627b3087e86 Use relative -rpath for guile, use reloc patch for guile tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4721
diff changeset
291 return Guile.makeflags (self)
3365
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
292 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
293 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
294 # 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
295 # 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
296 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
297 def wrap_executables (self):
4773
08999a9a75e9 Find auto-no-wrap difficult: document wrap_executables () use.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4764
diff changeset
298 # using rpath
4729
8627b3087e86 Use relative -rpath for guile, use reloc patch for guile tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 4721
diff changeset
299 pass