Mercurial > gub
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 |
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 | 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 | 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 | 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 | 188 def dylib_link (logger, fname): |
189 directory = os.path.split (fname)[0] | |
190 src = os.path.basename (fname) | |
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 | 193 |
194 self.map_locate (dylib_link, | |
195 self.expand ('%(install_prefix)s/lib/'), | |
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 |