annotate gub/specs/guile.py @ 3365:cb9077953e4e

Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Sun, 29 Apr 2007 23:28:01 +0200
parents
children b6d7c063a4f9
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 re
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
2 import os
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
3 #
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
4 from gub import misc
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
5 from gub import targetpackage
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
6 from gub import repository
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
7
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
8 class Guile (targetpackage.TargetBuildSpec):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
9 def set_mirror (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
10 source = 'git://repo.or.cz/guile.git'
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
11 source = 'http://lilypond.org/vc/guile.git'
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
12
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
13 repo = repository.Git (self.get_repodir (),
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
14 branch='branch_release-1-8',
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
15 source=source)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
16 repo.version = lambda: '1.8.2'
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
17 self.with_vc (repo)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
18 self.so_version = '17'
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
19
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')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
25 self.dump ('',
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
26 '%(srcdir)s/doc/ref/version.texi')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
27 self.dump ('',
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
28 '%(srcdir)s/doc/tutorial/version.texi')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
29
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
30 def license_file (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
31 return '%(srcdir)s/COPYING.LIB'
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
32
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
33 def get_subpackage_names (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
34 return ['doc', 'devel', 'runtime', '']
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_dependency_dict (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
37 return {
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
38 '' : ['guile-runtime'],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
39 'runtime': ['gmp', 'gettext', 'libtool-runtime'],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
40 'devel': ['guile-runtime'],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
41 'doc': ['texinfo'],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
42 }
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
43
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
44 def get_build_dependencies (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
45 return ['gettext-devel', 'gmp-devel', 'libtool']
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
46
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
47 def __init__ (self, settings):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
48 targetpackage.TargetBuildSpec.__init__ (self, settings)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
49 self.set_mirror ()
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
50
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
51 # FIXME: C&P.
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
52 def guile_version (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
53 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
54
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
55 def patch (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
56 self.autogen_sh()
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
57
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
58 ## Don't apply patch twice.
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
59 if None == re.search ('reloc_p=', open (self.expand ('%(srcdir)s/configure.in')).read()):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
60 self.system ('cd %(srcdir)s && patch -p0 < %(patchdir)s/guile-reloc.patch')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
61 self.system ('cd %(srcdir)s && patch -p1 < %(patchdir)s/guile-cexp.patch')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
62 self.dump ('''#!/bin/sh
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
63 exec %(local_prefix)s/bin/guile "$@"
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
64 ''', "%(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
65
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
66 self.autoupdate ()
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
67
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
68 def configure_flags (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
69 return misc.join_lines ('''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
70 --without-threads
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
71 --with-gnu-ld
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
72 --enable-deprecated
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
73 --enable-discouraged
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
74 --disable-error-on-warning
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
75 --enable-relocation
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
76 --disable-rpath
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
77 ''')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
78
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
79 def configure_command (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
80 return ('GUILE_FOR_BUILD=%(local_prefix)s/bin/guile '
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
81 + targetpackage.TargetBuildSpec.configure_command (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
82 + self.configure_flags ())
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
83
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
84 def compile_command (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
85 return ('preinstguile=%(local_prefix)s/bin/guile ' +
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
86 targetpackage.TargetBuildSpec.compile_command (self))
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
87
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
88 def compile (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
89
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
90 ## Ugh : broken dependencies barf with make -jX
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
91 self.system ('cd %(builddir)s/libguile && make scmconfig.h')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
92 # No -L %(system_root)s in `guile-config link'
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
93 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
94 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
95 '%(builddir)s/libguile/libpath.h')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
96 targetpackage.TargetBuildSpec.compile (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
97
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
98 def configure (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
99 targetpackage.TargetBuildSpec.configure (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
100 self.update_libtool ()
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
101
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
102 def install (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
103 targetpackage.TargetBuildSpec.install (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
104 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
105
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
106 self.dump ("prependdir GUILE_LOAD_PATH=$INSTALLER_PREFIX/share/guile/%(majmin_version)s\n",
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
107 '%(install_root)s/usr/etc/relocate/guile.reloc',
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
108 env=locals())
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
109
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
110 ## can't assume that /usr/bin/guile is the right one.
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
111 version = self.read_pipe ('''\
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
112 GUILE_LOAD_PATH=%(install_prefix)s/share/guile/* guile -e main -s %(install_prefix)s/bin/guile-config --version 2>&1\
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
113 ''').split ()[-1]
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
114 #FIXME: c&p linux.py
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
115 self.dump ('''\
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
116 #! /bin/sh
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
117 test "$1" = "--version" && echo "%(target_architecture)s-guile-config - Guile version %(version)s"
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
118 #test "$1" = "compile" && echo "-I $%(system_root)s/usr/include"
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
119 #test "$1" = "link" && echo "-L%(system_root)s/usr/lib -lguile -lgmp"
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
120 #prefix=$(dirname $(dirname $0))
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
121 prefix=%(system_root)s/usr
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
122 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
123 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
124 exit 0
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
125 ''',
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
126 '%(install_prefix)s/cross/bin/%(target_architecture)s-guile-config')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
127 os.chmod ('%(install_prefix)s/cross/bin/%(target_architecture)s-guile-config' % self.get_substitution_dict (), 0755)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
128
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
129
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
130
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
131 class Guile__mingw (Guile):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
132 def __init__ (self, settings):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
133 Guile.__init__ (self, settings)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
134 # 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
135 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
136
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
137
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
138 def get_build_dependencies (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
139 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
140
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
141 def get_dependency_dict (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
142 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
143 d['runtime'].append ('regex')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
144 return d
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
145
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
146 # FIXME: ugh, C&P to Guile__freebsd, put in cross-Guile?
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
147 def configure_command (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
148 # watch out for whitespace
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
149 builddir = self.builddir ()
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
150 srcdir = self.srcdir ()
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
151
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
152
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
153 # don't set PATH_SEPARATOR; it will fuckup tool searching for the
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
154 # build platform.
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
155
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
156 return (Guile.configure_command (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
157 + misc.join_lines ('''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
158 LDFLAGS=-L%(system_root)s/usr/lib
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
159 CC_FOR_BUILD="
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
160 C_INCLUDE_PATH=
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
161 CPPFLAGS=
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
162 LIBRARY_PATH=
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
163 LDFLAGS=
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
164 cc
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
165 -I%(builddir)s
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
166 -I%(srcdir)s
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
167 -I%(builddir)s/libguile
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
168 -I.
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
169 -I%(srcdir)s/libguile"
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
170 '''))
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 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
173 return str + '''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
174 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
175 guile_cv_exeext=${guile_cv_exeext=}
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
176 libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="%(system_root)s/usr/lib"}
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
177 '''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
178
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
179 def configure (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
180 if 0: # using patch
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
181 targetpackage.TargetBuildSpec.autoupdate (self)
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 if 1:
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
184 self.file_sub ([('''^#(LIBOBJS=".*fileblocks.*)''',
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
185 '\\1')],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
186 '%(srcdir)s/configure')
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 Guile.configure (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
189
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
190 ## probably not necessary, but just be sure.
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
191 for el in self.locate_files ('%(builddir)s', "Makefile"):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
192 self.file_sub ([('PATH_SEPARATOR = .', 'PATH_SEPARATOR = ;'),
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
193 ], el)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
194
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
195 self.file_sub ([
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
196 #('^(allow_undefined_flag=.*)unsupported', '\\1'),
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
197 ('-mwindows', ''),
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
198 ],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
199 '%(builddir)s/libtool')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
200
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
201 if os.path.exists (self.expand ('%(builddir)s/guile-readline/libtool')):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
202 self.file_sub ([
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
203 #('^(allow_undefined_flag=.*)unsupported', '\\1'),
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
204 ('-mwindows', ''),
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
205 ],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
206 '%(builddir)s/guile-readline/libtool')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
207
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
208 def install (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
209 Guile.install (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
210 # dlopen-able .la files go in BIN dir, BIN OR LIB package
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
211 self.system ('''mv %(install_root)s/usr/lib/lib*[0-9].la %(install_root)s/usr/bin''')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
212
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
213 class Guile__linux (Guile):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
214 def compile_command (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
215 # 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
216 # 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
217 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
218 + Guile.compile_command (self))
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
219
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
220 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
221 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
222 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
223
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
224 class Guile__freebsd (Guile):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
225 def config_cache_settings (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
226 return Guile.config_cache_settings (self) + '\nac_cv_type_socklen_t=yes'
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
227 def configure_command (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
228 # watch out for whitespace
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
229 builddir = self.builddir ()
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
230 srcdir = self.srcdir ()
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
231 return (
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
232 ''' guile_cv_use_csqrt="no" '''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
233 + Guile.configure_command (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
234 + misc.join_lines ('''\
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
235 CC_FOR_BUILD="
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
236 C_INCLUDE_PATH=
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
237 CPPFLAGS=
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
238 LIBRARY_PATH=
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
239 cc
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
240 -I%(builddir)s
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
241 -I%(srcdir)s
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
242 -I%(builddir)s/libguile
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
243 -I.
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
244 -I%(srcdir)s/libguile"
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
245 '''))
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
246
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
247 class Guile__darwin (Guile):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
248 def install (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
249 Guile.install (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
250 pat = self.expand ('%(install_root)s/usr/lib/libguile-srfi*.dylib')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
251 import glob
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
252 for f in glob.glob (pat):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
253 directory = os.path.split (f)[0]
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
254 src = os.path.basename (f)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
255 dst = os.path.splitext (os.path.basename (f))[0] + '.so'
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
256
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
257 self.system ('cd %(directory)s && ln -s %(src)s %(dst)s', locals())
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 class Guile__darwin__x86 (Guile__darwin):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
260 def configure (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
261 Guile__darwin.configure (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
262 self.file_sub ([('guile-readline', '')],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
263 '%(builddir)s/Makefile')
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 class Guile__cygwin (Guile):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
266 def __init__ (self, settings):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
267 Guile.__init__ (self, settings)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
268 self.with (version='1.8.1')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
269
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
270 # 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
271 # 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
272 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
273 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
274 d['runtime'].append ('cygwin')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
275 return d
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 # 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
278 # 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
279 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
280 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
281
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
282 # 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
283 def get_dependency_dict (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
284 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
285 d[''] += ['cygwin']
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
286 d['devel'] += ['cygwin'] + ['bash']
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
287 d['runtime'] += ['cygwin', 'crypt', 'libreadline6']
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
288 return d
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
289
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
290 # 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
291 def get_build_dependencies (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
292 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
293
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
294 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
295 return str + '''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
296 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
297 guile_cv_exeext=${guile_cv_exeext=}
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
298 libltdl_cv_sys_search_path=${libltdl_cv_sys_search_path="%(system_root)s/usr/lib"}
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
299 '''
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
300 def configure (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
301 if 1:
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
302 self.file_sub ([('''^#(LIBOBJS=".*fileblocks.*)''', '\\1')],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
303 '%(srcdir)s/configure')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
304 Guile.configure (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
305
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
306 ## ugh code dup.
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
307 ## probably not necessary, but just be sure.
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
308 for i in self.locate_files ('%(builddir)s', "Makefile"):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
309 self.file_sub ([
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
310 ('PATH_SEPARATOR = .', 'PATH_SEPARATOR = ;'),
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
311 ], i)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
312
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
313 self.file_sub ([
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
314 ('^(allow_undefined_flag=.*)unsupported', '\\1'),
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
315 ],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
316 '%(builddir)s/libtool')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
317 self.file_sub ([
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
318 ('^(allow_undefined_flag=.*)unsupported', '\\1'),
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
319 ],
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
320 '%(builddir)s/guile-readline/libtool')
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
321
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
322 def patch (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
323 pass
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
324
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
325 # FIXME: we do most of this for all cygwin packages
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
326 def category_dict (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
327 return {'': 'interpreters',
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
328 'runtime': 'libs',
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
329 'devel': 'devel libs',
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
330 'doc': 'doc'}
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
331
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
332 def description_dict (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
333 return {
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
334 '': """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
335 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
336 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
337 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
338
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
339 `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
340 #! 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
341 process inside Emacs.
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
342 """,
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
343 '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
344 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
345 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
346 ''',
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
347 '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
348 `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
349 `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
350 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
351 """,
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
352 '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
353 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
354 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
355 guile-tut').
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
356 """,
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
357 }
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
358
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
359 from gub import toolpackage
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
360 class Guile__local (toolpackage.ToolBuildSpec, Guile):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
361 def __init__ (self, settings):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
362 toolpackage.ToolBuildSpec.__init__ (self, settings)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
363 self.set_mirror ()
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
364
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
365 def get_build_dependencies (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
366 return (toolpackage.ToolBuildSpec.get_build_dependencies (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
367 + Guile.get_build_dependencies (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
368 + ['automake'])
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
369
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
370 def patch (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
371 self.autogen_sh ()
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
372 self.autoupdate ()
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
373
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
374 def configure_command (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
375 return (toolpackage.ToolBuildSpec.configure_command (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
376 + self.configure_flags ())
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
377
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
378 def configure (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
379 toolpackage.ToolBuildSpec.configure (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
380 self.update_libtool ()
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
381
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
382 def install (self):
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
383 toolpackage.ToolBuildSpec.install (self)
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
384
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
385 ## don't want local GUILE headers to interfere with compile.
cb9077953e4e Grand lib -> gub, specs -> gub/specs, gub/specs/cross renaming.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
386 self.system ("rm -rf %(install_root)s/%(packaging_suffix_dir)s/usr/include/ %(install_root)s/%(packaging_suffix_dir)s/usr/bin/guile-config ")