summaryrefslogtreecommitdiff
path: root/docs/C - Misc. tutorials.txt
blob: 817ba2bb5604f8121c327cee2fafa07b8c13b1ae (plain)
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
82
83
84
85
86
87
88
89
90
91
92
93
File.........: C - Misc. tutorials.txt
Copyrigth....: (C) 2010 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
License......: Creative Commons Attribution Share Alike (CC-by-sa), v2.5


Misc. tutorials  /
________________/


Using crosstool-NG on FreeBSD (and other *BSD) |
-----------------------------------------------+

Contributed by: Titus von Boxberg

Prerequisites and instructions for using ct-ng for building a cross toolchain on FreeBSD as host.

0) Tested on FreeBSD 8.0

1) Install (at least) the following ports
   archivers/lzma
   textproc/gsed
   devel/gmake
   devel/patch
   shells/bash
   devel/bison
   lang/gawk
   devel/automake110
   ftp/wget

   Of course, you should have /usr/local/bin in your PATH.

2) run ct-ng's configure with the following tool configuration:
   ./configure --with-sed=/usr/local/bin/gsed --with-make=/usr/local/bin/gmake \
   --with-patch=/usr/local/bin/gpatch
   [...other configure parameters as you like...]

3) proceed as described in general documentation
   but use gmake instead of make


Using crosstool-NG on MacOS-X |
------------------------------+

Contributed by: Titus von Boxberg

Prerequisites and instructions for using crosstool-NG for building a cross
toolchain on MacOS as host.

0) Mac OS Snow Leopard, with Developer Tools 3.2 installed, or
   Mac OS Leopard, with Developer Tools & newer gcc (>= 4.3) installed
   via macports

1) You have to use a case sensitive file system for ct-ng's build and target
   directories. Use a disk or disk image with a case sensitive fs that you
   mount somewhere.

2) Install macports (or similar easy means of installing 3rd party software),
   make sure that macport's bin dir is in your PATH.
   Furtheron assuming it is /opt/local/bin.

3) Install (at least) the following macports
   ncurses
   lzmautils
   libtool
   binutils
   gsed
   gawk
   gcc43 (only necessary for Leopard OSX 10.5)

   On Leopard, make sure that the macport's gcc is called with the default
   commands (gcc, g++,...), e.g. via macport gcc_select

4) run ct-ng's configure with the following tool configuration
   (assuming you have installed the tools via macports in /opt/local):
   ./configure --with-sed=/opt/local/bin/gsed           \
               --with-libtool=/opt/local/bin/glibtool   \
               --with-objcopy=/opt/local/bin/gobjcopy   \
               --with-objdump=/opt/local/bin/gobjdump   \
               --with-readelf=/opt/local/bin/greadelf   \
               [...other configure parameters as you like...]

5) proceed as described in standard documentation

-----

HINTS:
- Apparently, GNU make's builtin variable .LIBPATTERNS is misconfigured
  under MacOS: It does not include lib%.dylib.
  This affects build of (at least) gdb-7.1
  Put 'lib%.a lib%.so lib%.dylib' as .LIBPATTERNS into your environment
  before executing ct-ng build.
  See http://www.gnu.org/software/make/manual/html_node/Libraries_002fSearch.html
  as an explanation.