This repository has been archived by the owner on Sep 29, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
HowToBuild
executable file
·81 lines (70 loc) · 2.52 KB
/
HowToBuild
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
Building the GdbARMPlugin
------------------------------
Build the normal VM on your Platform. Consult Cog/{cygwinbuild|unixbuild|macbuild}/HowToBuild
for additional information.
When generating sources, update to the latest
versions of Cog and VMMaker.oscog.
You might want/need to change VMMaker
class>generateSqueakCogVM to point to the right
directories and remove FT2Plugin from the plugin-
list (even if skipped, generates a messageNotUnderstood).
You can also change VMMaker>plugins:do: removing
the return in the false block, in order to skip
when a plugin is not found, instead of aborting
the generation process.
Building on Windows
------------------------------
(so far tried with Windows 7 64bit unsing mingw/MSYS 32bit)
Besides the normal build environment, you need the package gettext.
Also, downgrade your mingwrt package to 3.20 (not 3.20-2) by unpacking
the respective -dev tarball into your mingw-folder.
When compiling the Squeak VM you need a version 3 gcc/g++.
For configuration of gdb, you need a version 4 gcc (you don't need
to switch g++). For switching between compilers in mingw,
you may use
mingw-get install/remove gcc/gcc-v3/g++/gcc-v3-g++.
Compile gdb/bfd and gdb/opcodes with a gcc 4.*.
cd <gdb>/bfd
./configure --enable-targets=arm-linux
make
cd <gdb>/opcodes
./configure --enable-targets=arm-linux
make
Then switch to gcc-v3.
cd <gdb>/bfd
make clean && make
cd <gdb>/opcodes
make clean && make
For libsim.a, the gcc version is not important.
cd sim/common
./configure
cd ../arm
./configure && make libsim.a
Change Makefile.win32 to point to your gdb folder.
Then copy the plugin files to your svn-checkout,
for example changing <plugin>/Makefile and running it.
Change <cog>/cygwinbuild/plugins.ext to include GdbARMPlugin.
Change to gcc 3, then build the VM (again).
Building on Linux
------------------------------
(so far tried on Ubuntu 12.04 LTS 32bit)
Download the gdb sources (http://ftp.gnu.org/gnu/gdb) and
unpack them. Change Makefile and Makefile.unix, setting
GDBBUILDFOLDER to the correct place.
Compile libopcodes.a:
cd GDBBUILDFOLDER
./configure --enable-targets=arm-linux
Making gdb takes quite some time. It may fail, as long as
it generates <gdb>/bfd/bfd.h and <gdb>/opcodes/libopcodes.a.
make
Compile libsim.a
cd sim/common
./configure
cd ../arm
./configure
make
Ensure libsim.a exists in <gdb>/sim/arm.
Make the plugin which just copies the plugin-files
to the appropriate directories. Then change
Cog/unixbuild/bld/plugins.ext to include GdbARMPlugin.
Build the VM (again).