Mercurial > gub
annotate gub/tools.py @ 6477:00000bc42f8a
guile: depend on pkg-config and bump to 1.9.15.
author | Jan Nieuwenhuizen <janneke@gnu.org> |
---|---|
date | Thu, 03 Feb 2011 12:58:34 +0100 |
parents | 659bf46a5aee |
children |
rev | line source |
---|---|
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
1 import os |
5661
9cc45009b221
Grand install_command () -> class.install_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5660
diff
changeset
|
2 import sys |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
3 # |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
4 from gub import build |
4648
789cb738d254
Fix tools.broken_install_command (). Eradicate packaging_suffix_dir () usage.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4628
diff
changeset
|
5 from gub import context |
4895
43408bcf252d
Move octal constants to gub.octal. Helps python2 <-> python3 transition.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4827
diff
changeset
|
6 from gub import loggedos |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
7 from gub import misc |
4895
43408bcf252d
Move octal constants to gub.octal. Helps python2 <-> python3 transition.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4827
diff
changeset
|
8 from gub import octal |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
9 |
3942
4cc1bff16fc7
Grand refactoring of get_build_spec.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
10 def get_cross_build_dependencies (settings): |
4cc1bff16fc7
Grand refactoring of get_build_spec.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
11 return [] |
4cc1bff16fc7
Grand refactoring of get_build_spec.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
12 |
4979
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
13 def change_target_package (package): |
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
14 package_auto_dependency_dict (package) |
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
15 |
6071
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
16 # tools packages, such as guile 2.0, that can only compile |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
17 # to equivalent binary platforms: endianness and word length |
6477
00000bc42f8a
guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6140
diff
changeset
|
18 tools_archmatch = [ |
00000bc42f8a
guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6140
diff
changeset
|
19 'guile', |
00000bc42f8a
guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6140
diff
changeset
|
20 'tools::guile' |
00000bc42f8a
guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6140
diff
changeset
|
21 ] |
00000bc42f8a
guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6140
diff
changeset
|
22 libs_archmatch = [ |
00000bc42f8a
guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6140
diff
changeset
|
23 'gettext', |
00000bc42f8a
guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6140
diff
changeset
|
24 'gmp', |
00000bc42f8a
guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6140
diff
changeset
|
25 'guile', |
00000bc42f8a
guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6140
diff
changeset
|
26 'libffi', |
00000bc42f8a
guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6140
diff
changeset
|
27 'libtool', |
00000bc42f8a
guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6140
diff
changeset
|
28 'libunistring', |
00000bc42f8a
guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6140
diff
changeset
|
29 'libgc', |
00000bc42f8a
guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6140
diff
changeset
|
30 'pkg-config' |
00000bc42f8a
guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6140
diff
changeset
|
31 ] |
6071
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
32 |
4979
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
33 def package_auto_dependency_dict (package): |
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
34 '''Generate get_build_dependencies () and get_dependency_dict ({'':}) |
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
35 from _get_build_dependencies (). |
6477
00000bc42f8a
guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6140
diff
changeset
|
36 |
4979
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
37 For most packages, this either removes the need of having both, |
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
38 or adds the dict where it was missing. |
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
39 ''' |
5635
3ecad6b5f9b1
Grand rename: _get_build_dependencies () -> dependencies.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5597
diff
changeset
|
40 if (not package.get_dependency_dict ().get ('', None) |
3ecad6b5f9b1
Grand rename: _get_build_dependencies () -> dependencies.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5597
diff
changeset
|
41 and not package.get_dependency_dict ().get ('devel', None)): |
4979
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
42 def get_build_dependencies (foo): |
5137
5742a4510175
tools.package_auto_dependency_dict: change tools::libtool into libtool dep.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5096
diff
changeset
|
43 # If a package depends on tools::libtool, ie not on |
5742a4510175
tools.package_auto_dependency_dict: change tools::libtool into libtool dep.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5096
diff
changeset
|
44 # libltdl, we still also need <target-arch>::libtool, |
5742a4510175
tools.package_auto_dependency_dict: change tools::libtool into libtool dep.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5096
diff
changeset
|
45 # because of our update_libtool (). We fix this here, |
5742a4510175
tools.package_auto_dependency_dict: change tools::libtool into libtool dep.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5096
diff
changeset
|
46 # because it's not a package's real dependency but rather |
5742a4510175
tools.package_auto_dependency_dict: change tools::libtool into libtool dep.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5096
diff
changeset
|
47 # a detail of our libtool breakage fixup. |
5352
57422e18b02c
Add far-fetched ill-advised system:: platform to check for build essentials.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5239
diff
changeset
|
48 if (not 'cross/' in package.name () |
57422e18b02c
Add far-fetched ill-advised system:: platform to check for build essentials.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5239
diff
changeset
|
49 and not 'system::' in package.platform_name ()): |
6071
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
50 package.dependencies = [name.replace ('tools::libtool', 'libtool') |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
51 for name in package.dependencies] |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
52 if (package.name () in tools_archmatch): |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
53 # on linux-x86, refuse to build linux-x64::guile |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
54 if (package.settings.target_bits == '64' |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
55 and package.settings.build_bits == '32'): |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
56 raise Exception ('cannot build %s for 64 bits' + package.platform_name ()) |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
57 # on linux-64, build linux-x86::guile with tools32::guile |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
58 if (package.settings.target_bits == '32' |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
59 and package.settings.build_bits == '64'): |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
60 package.dependencies = [name.replace ('tools::', 'tools32::') |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
61 if (misc.strip_platform (name) in libs_archmatch |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
62 and 'system::' not in name |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
63 and ('cross/' not in name |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
64 or 'runtime' in name)) else name |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
65 for name in package.dependencies] |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
66 # only keep tools32:: for libraries linked against, |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
67 # do not build tools32::autotools etc |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
68 if (package.settings.target_bits == '32' |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
69 and package.settings.build_bits == '64'): |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
70 package.dependencies = ['tools::' + misc.strip_platform (name) |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
71 if (misc.strip_platform (name) not in libs_archmatch |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
72 and misc.strip_name (name, package.platform ()) == 'tools32' |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
73 and 'system::' not in name |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
74 and ('cross/' not in name |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
75 or 'runtime' in name)) else name |
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
76 for name in package.dependencies] |
5635
3ecad6b5f9b1
Grand rename: _get_build_dependencies () -> dependencies.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5597
diff
changeset
|
77 return package.dependencies |
4979
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
78 package.get_build_dependencies \ |
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
79 = misc.MethodOverrider (package.nop, get_build_dependencies) |
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
80 def get_dependency_dict (foo): |
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
81 d = {'': [x.replace ('-devel', '') |
5635
3ecad6b5f9b1
Grand rename: _get_build_dependencies () -> dependencies.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5597
diff
changeset
|
82 for x in package.dependencies |
5352
57422e18b02c
Add far-fetched ill-advised system:: platform to check for build essentials.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5239
diff
changeset
|
83 if ('system::' not in x |
57422e18b02c
Add far-fetched ill-advised system:: platform to check for build essentials.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5239
diff
changeset
|
84 and 'tools::' not in x |
6071
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
85 and 'tools32::' not in x |
5649
801cfb67b10e
Grand makeflags () -> compile_flags, install_flags [make_flags] hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5645
diff
changeset
|
86 and ('cross/' not in x |
801cfb67b10e
Grand makeflags () -> compile_flags, install_flags [make_flags] hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5645
diff
changeset
|
87 or 'runtime' in x))]} |
5645
362550f2054b
Grand def get_subpackage_names () -> subpackage_names replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5644
diff
changeset
|
88 if 'runtime' in package.subpackage_names: |
4979
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
89 d[''] += [package.name () + '-runtime'] |
5352
57422e18b02c
Add far-fetched ill-advised system:: platform to check for build essentials.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5239
diff
changeset
|
90 if package.platform_name () not in ['system', 'tools']: |
5635
3ecad6b5f9b1
Grand rename: _get_build_dependencies () -> dependencies.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5597
diff
changeset
|
91 d['devel'] = ([x for x in package.dependencies |
5352
57422e18b02c
Add far-fetched ill-advised system:: platform to check for build essentials.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5239
diff
changeset
|
92 if ('system::' not in x |
57422e18b02c
Add far-fetched ill-advised system:: platform to check for build essentials.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5239
diff
changeset
|
93 and 'tools::' not in x |
6071
c0339ac4ba5f
tools32: new platform.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5732
diff
changeset
|
94 and 'tools32::' not in x |
5649
801cfb67b10e
Grand makeflags () -> compile_flags, install_flags [make_flags] hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5645
diff
changeset
|
95 and ('cross/' not in x |
801cfb67b10e
Grand makeflags () -> compile_flags, install_flags [make_flags] hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5645
diff
changeset
|
96 or 'runtime' in x))] |
4979
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
97 + [package.name ()]) |
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
98 return d |
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
99 package.get_dependency_dict \ |
0fb231221057
Also automate _get_build_dependencies for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4937
diff
changeset
|
100 = misc.MethodOverrider (package.nop, get_dependency_dict) |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
101 |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
102 class AutoBuild (build.AutoBuild): |
5641
387483526bff
Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5635
diff
changeset
|
103 configure_flags = (build.AutoBuild.configure_flags |
387483526bff
Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5635
diff
changeset
|
104 + misc.join_lines (''' |
387483526bff
Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5635
diff
changeset
|
105 --enable-shared |
387483526bff
Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5635
diff
changeset
|
106 --enable-static |
387483526bff
Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5635
diff
changeset
|
107 --disable-silent-rules |
387483526bff
Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5635
diff
changeset
|
108 ''')) |
387483526bff
Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5635
diff
changeset
|
109 configure_variables = (build.AutoBuild.configure_variables |
387483526bff
Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5635
diff
changeset
|
110 + misc.join_lines (''' |
387483526bff
Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5635
diff
changeset
|
111 CFLAGS=-I%(system_prefix)s/include |
387483526bff
Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5635
diff
changeset
|
112 LDFLAGS='-L%(system_prefix)s/lib %(rpath)s %(libs)s' |
387483526bff
Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5635
diff
changeset
|
113 ''')) |
5662
13f949bf6968
Grand _native (), autodir (), configure_binary () hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5661
diff
changeset
|
114 subpackage_names = [''] |
5641
387483526bff
Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5635
diff
changeset
|
115 def __init__ (self, settings, source): |
387483526bff
Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5635
diff
changeset
|
116 build.AutoBuild.__init__ (self, settings, source) |
387483526bff
Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5635
diff
changeset
|
117 if self.config_cache_settings (): |
387483526bff
Grand configure_flags (), Class.configure_flags replacement. Also _vars.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5635
diff
changeset
|
118 self.configure_flags += ' --cache-file=config.cache' |
5732
fec3ceb5ef84
LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5701
diff
changeset
|
119 if 'stat' in misc.librestrict (): |
fec3ceb5ef84
LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5701
diff
changeset
|
120 self.LD_PRELOAD = misc.bind_method (build.AutoBuild.LD_PRELOAD, |
fec3ceb5ef84
LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5701
diff
changeset
|
121 self) |
fec3ceb5ef84
LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5701
diff
changeset
|
122 from gub.cross import bootstrap_names |
fec3ceb5ef84
LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5701
diff
changeset
|
123 if self.platform_name () not in bootstrap_names + [ |
fec3ceb5ef84
LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5701
diff
changeset
|
124 'tools::git', |
fec3ceb5ef84
LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5701
diff
changeset
|
125 'tools::gettext', |
fec3ceb5ef84
LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5701
diff
changeset
|
126 'tools::tar' |
fec3ceb5ef84
LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5701
diff
changeset
|
127 ]: |
fec3ceb5ef84
LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5701
diff
changeset
|
128 self.configure_variables = (self.configure_variables |
fec3ceb5ef84
LIBRESTRICT=open:stat updates.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5701
diff
changeset
|
129 + ' SHELL=%(tools_prefix)s/bin/sh ') |
5597
f2836aba1edf
tools: make autoupdate/cross_compling MI-safe. Fixes curl build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5591
diff
changeset
|
130 # FIXME: MI-hacks |
f2836aba1edf
tools: make autoupdate/cross_compling MI-safe. Fixes curl build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5591
diff
changeset
|
131 # must not set cross-compiling, a config cache or update libtool |
f2836aba1edf
tools: make autoupdate/cross_compling MI-safe. Fixes curl build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5591
diff
changeset
|
132 def autoupdate (self): |
f2836aba1edf
tools: make autoupdate/cross_compling MI-safe. Fixes curl build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5591
diff
changeset
|
133 build.AutoBuild.autoupdate (self) |
f2836aba1edf
tools: make autoupdate/cross_compling MI-safe. Fixes curl build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5591
diff
changeset
|
134 def config_cache_settings (self): |
f2836aba1edf
tools: make autoupdate/cross_compling MI-safe. Fixes curl build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5591
diff
changeset
|
135 return '' |
f2836aba1edf
tools: make autoupdate/cross_compling MI-safe. Fixes curl build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5591
diff
changeset
|
136 def update_libtool (self): |
f2836aba1edf
tools: make autoupdate/cross_compling MI-safe. Fixes curl build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5591
diff
changeset
|
137 build.AutoBuild.update_libtool (self) |
5408
95b3a706b813
/GUB: install_root/system_prefix -> install_prefix and BOOTSTRAP for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5405
diff
changeset
|
138 def configure_prefix (self): |
95b3a706b813
/GUB: install_root/system_prefix -> install_prefix and BOOTSTRAP for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5405
diff
changeset
|
139 return '%(system_prefix)s' |
5591
8c4c67e75cab
Grand rpath, configure_flags, configure_variables, cross_compiling hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5552
diff
changeset
|
140 def post_install (self): |
8c4c67e75cab
Grand rpath, configure_flags, configure_variables, cross_compiling hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5552
diff
changeset
|
141 build.AutoBuild.post_install (self) |
8c4c67e75cab
Grand rpath, configure_flags, configure_variables, cross_compiling hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5552
diff
changeset
|
142 if not self.expand ('rpath'): |
8c4c67e75cab
Grand rpath, configure_flags, configure_variables, cross_compiling hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5552
diff
changeset
|
143 # and not if no shared libs? |
5393
a9e728eddb12
/GUB: Get cross/gcc to build.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5352
diff
changeset
|
144 self.wrap_executables () |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
145 |
5408
95b3a706b813
/GUB: install_root/system_prefix -> install_prefix and BOOTSTRAP for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5405
diff
changeset
|
146 @context.subst_method |
95b3a706b813
/GUB: install_root/system_prefix -> install_prefix and BOOTSTRAP for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5405
diff
changeset
|
147 def install_prefix (self): |
5451
963ce152f0af
tools: recurse substitute oopslet.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5408
diff
changeset
|
148 return '%(install_root)s/%(system_prefix)s' |
5408
95b3a706b813
/GUB: install_root/system_prefix -> install_prefix and BOOTSTRAP for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5405
diff
changeset
|
149 |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
150 def wrap_executables (self): |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
151 def wrap (logger, file): |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
152 dir = os.path.dirname (file) |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
153 base = os.path.basename (file) |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
154 cmd = self.expand ('mv %(file)s %(dir)s/.%(base)s', locals ()) |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
155 loggedos.system (logger, cmd) |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
156 loggedos.dump_file (logger, self.expand ('''#!/bin/sh |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
157 LD_LIBRARY_PATH=%(system_prefix)s/lib |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
158 %(system_prefix)s/bin/.%(base)s "$@" |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
159 ''', locals ()), file) |
4895
43408bcf252d
Move octal constants to gub.octal. Helps python2 <-> python3 transition.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4827
diff
changeset
|
160 loggedos.chmod (logger, file, octal.o755) |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
161 self.map_locate (wrap, '%(install_prefix)s/bin', '*') |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
162 self.map_locate (wrap, '%(install_root)s/%(tools_prefix)s/bin', '*') |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
163 |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
164 ## we need to tar up %(install_root)/%(prefix) |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
165 def packaging_suffix_dir (self): |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
166 return '%(system_root)s' |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
167 |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
168 def configure (self): |
5239
cee142369244
Make overriding of a tools' config.cache bit easier.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5234
diff
changeset
|
169 self.config_cache () |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
170 build.AutoBuild.configure (self) |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
171 self.update_libtool () |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
172 |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
173 def get_substitution_dict (self, env={}): |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
174 dict = { |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
175 'C_INCLUDE_PATH': '%(system_prefix)s/include' |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
176 + misc.append_path (os.environ.get ('C_INCLUDE_PATH', '')), |
5096
0afd51bcc3f7
tools, cross: set make as ignored executable.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5055
diff
changeset
|
177 'CPLUS_INCLUDE_PATH': '%(system_prefix)s/include' |
0afd51bcc3f7
tools, cross: set make as ignored executable.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5055
diff
changeset
|
178 + misc.append_path (os.environ.get ('CPLUS_INCLUDE_PATH', '')), |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
179 'LIBRARY_PATH': '%(system_prefix)s/lib' |
5485
e506118f65a8
tools:: lift LD_PRELOAD restrictions. Fixes confusion.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5472
diff
changeset
|
180 # 'LIBRESTRICT_IGNORE': '%(system_prefix)s/bin/make:%(system_prefix)s/gcc:%(system_prefix)s/g++:%(system_prefix)s/ld', #etc. |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
181 + misc.append_path (os.environ.get ('LIBRARY_PATH', '')), |
5405
53a9f1d78f1d
/GUB: initial full cross root build setup.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5393
diff
changeset
|
182 'PATH': '%(system_prefix)s/bin:%(system_cross_prefix)s/bin:' + os.environ['PATH'], |
5457
f65d6e563f9f
/GUB: slew of bootstrap/root fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5451
diff
changeset
|
183 'PERL5LIB': 'foo:%(tools_prefix)s/lib/perl5/5.10.0' |
5493
fba5536cc30f
Autoconf: depend on perl. Fixes build in minimal etch debootstrap.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5485
diff
changeset
|
184 + ':%(tools_prefix)s/lib/perl5/5.10.0/%(build_architecture)s' |
5457
f65d6e563f9f
/GUB: slew of bootstrap/root fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5451
diff
changeset
|
185 + ':%(tools_prefix)s/share/autoconf' |
f65d6e563f9f
/GUB: slew of bootstrap/root fixes.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5451
diff
changeset
|
186 + misc.append_path (os.environ.get ('PERL5LIB', '')), |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
187 } |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
188 dict.update (env) |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
189 d = build.AutoBuild.get_substitution_dict (self, dict).copy () |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
190 return d |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
191 |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
192 class MakeBuild (AutoBuild): |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
193 def stages (self): |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
194 return [s.replace ('configure', 'shadow') for s in AutoBuild.stages (self) if s not in ['autoupdate']] |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
195 |
4937
ad70c1a27d49
tools.py: Add ShBuild class.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4907
diff
changeset
|
196 class ShBuild (AutoBuild): |
ad70c1a27d49
tools.py: Add ShBuild class.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4907
diff
changeset
|
197 def stages (self): |
ad70c1a27d49
tools.py: Add ShBuild class.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4907
diff
changeset
|
198 return [s.replace ('configure', 'shadow') for s in AutoBuild.stages (self) if s not in ['autoupdate']] |
5660
f1cc9e07d8a9
Grand compile_command () -> class.compile_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5649
diff
changeset
|
199 compile_command = 'bash build.sh %(make_flags)s %(compile_flags)s' |
5661
9cc45009b221
Grand install_command () -> class.install_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5660
diff
changeset
|
200 install_command = '%%%override-me' |
4937
ad70c1a27d49
tools.py: Add ShBuild class.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4907
diff
changeset
|
201 |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
202 class PythonBuild (AutoBuild): |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
203 def stages (self): |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
204 return [s for s in AutoBuild.stages (self) if s not in ['autoupdate', 'configure']] |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
205 def compile (self): |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
206 self.system ('mkdir -p %(builddir)s') |
5661
9cc45009b221
Grand install_command () -> class.install_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5660
diff
changeset
|
207 install_command = sys.executable + ' %(srcdir)s/setup.py install --prefix=%(tools_prefix)s --root=%(install_root)s' |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
208 |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
209 class SConsBuild (AutoBuild): |
5644
7aee893b7746
Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5641
diff
changeset
|
210 scons_flags = '' |
4628
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
211 def stages (self): |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
212 return [s for s in AutoBuild.stages (self) if s not in ['autoupdate', 'configure']] |
e4825590ebe5
s/targetbuild/target/, s/toolsbuild/tools/.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4507
diff
changeset
|
213 # SCons barfs on trailing / on directory names |
5660
f1cc9e07d8a9
Grand compile_command () -> class.compile_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5649
diff
changeset
|
214 compile_command = ('scons PREFIX=%(system_prefix)s' |
5644
7aee893b7746
Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5641
diff
changeset
|
215 ' PREFIX_DEST=%(install_root)s' |
7aee893b7746
Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5641
diff
changeset
|
216 ' %(compile_flags)s' |
7aee893b7746
Grand make_flags, compile_flags, install_flags hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5641
diff
changeset
|
217 ' %(scons_flags)s') |
5661
9cc45009b221
Grand install_command () -> class.install_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5660
diff
changeset
|
218 install_command = compile_command + ' %(install_flags)s' |
4907
4f3f97469dda
Python3: Start simple runtime test: bin/gub tools:test-23.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4895
diff
changeset
|
219 |
5234
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
220 class BjamBuild_v2 (MakeBuild): |
5635
3ecad6b5f9b1
Grand rename: _get_build_dependencies () -> dependencies.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5597
diff
changeset
|
221 dependencies = ['boost-jam'] |
5234
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
222 def patch (self): |
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
223 MakeBuild.patch (self) |
5660
f1cc9e07d8a9
Grand compile_command () -> class.compile_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5649
diff
changeset
|
224 compile_command = misc.join_lines (''' |
5234
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
225 bjam |
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
226 -q |
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
227 --layout=system |
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
228 --builddir=%(builddir)s |
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
229 --prefix=%(system_prefix)s |
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
230 --exec-prefix=%(system_prefix)s |
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
231 --libdir=%(system_prefix)s/lib |
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
232 --includedir=%(system_prefix)s/include |
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
233 --verbose |
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
234 cxxflags=-fPIC |
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
235 toolset=gcc |
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
236 debug-symbols=off |
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
237 link=shared |
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
238 runtime-link=shared |
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
239 threading=multi |
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
240 release |
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
241 ''') |
5661
9cc45009b221
Grand install_command () -> class.install_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5660
diff
changeset
|
242 install_command = (compile_command |
9cc45009b221
Grand install_command () -> class.install_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5660
diff
changeset
|
243 .replace ('=%(system_prefix)s', '=%(install_prefix)s') |
9cc45009b221
Grand install_command () -> class.install_command hack.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5660
diff
changeset
|
244 + ' install') |
5234
87363393b295
tools::Boost: new package. Move BjamBuild_v2 to target, tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5137
diff
changeset
|
245 |
4907
4f3f97469dda
Python3: Start simple runtime test: bin/gub tools:test-23.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4895
diff
changeset
|
246 class NullBuild (AutoBuild): |
4f3f97469dda
Python3: Start simple runtime test: bin/gub tools:test-23.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4895
diff
changeset
|
247 def stages (self): |
4f3f97469dda
Python3: Start simple runtime test: bin/gub tools:test-23.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4895
diff
changeset
|
248 return ['patch', 'install', 'package', 'clean'] |
5645
362550f2054b
Grand def get_subpackage_names () -> subpackage_names replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5644
diff
changeset
|
249 subpackage_names = [''] |
4907
4f3f97469dda
Python3: Start simple runtime test: bin/gub tools:test-23.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
4895
diff
changeset
|
250 def install (self): |
5408
95b3a706b813
/GUB: install_root/system_prefix -> install_prefix and BOOTSTRAP for tools.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5405
diff
changeset
|
251 self.system ('mkdir -p %(install_prefix)s') |
5472 | 252 |
253 class BinaryBuild (AutoBuild): | |
254 def stages (self): | |
255 return ['untar', 'install', 'package', 'clean'] | |
256 def install (self): | |
257 self.system ('mkdir -p %(install_root)s') | |
258 _v = '' #self.os_interface.verbose_flag () | |
259 self.system ('tar -C %(srcdir)s -cf- . | tar -C %(install_root)s%(_v)s -p -xf-', env=locals ()) | |
260 self.libtool_installed_la_fixups () | |
5645
362550f2054b
Grand def get_subpackage_names () -> subpackage_names replace.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5644
diff
changeset
|
261 subpackage_names = [''] |
6477
00000bc42f8a
guile: depend on pkg-config and bump to 1.9.15.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6140
diff
changeset
|
262 |
5472 | 263 class CpanBuild (AutoBuild): |
264 def stages (self): | |
265 return [s for s in AutoBuild.stages (self) if s not in ['autoupdate']] | |
266 def configure (self): | |
267 self.shadow () | |
5552
fd3f5dbe840f
cpanbuild: build shared extensions. Fixes perl XML::Parser.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
5503
diff
changeset
|
268 self.system ('cd %(builddir)s && perl Makefile.PL PREFIX=%(system_prefix)s LINKTYPE=dynamic') |