docs/README.macos.txt
author Johannes Stezenbach <js@sig21.net>
Thu Jul 29 19:47:16 2010 +0200 (2010-07-29)
changeset 2045 fdaa6c7f6dea
parent 1971 cbe89e8dfc9c
permissions -rw-r--r--
cc/gcc: add option to compile against static libstdc++, for gcc-4.4 and newer

Idea and know-how taken from CodeSourcery build script.

Normal build:
$ ldd arm-unknown-linux-uclibcgnueabi-gcc
linux-gate.so.1 => (0xb77f3000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb76e8000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb75a1000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb757a000)
/lib/ld-linux.so.2 (0xb77f4000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb755c000)

CC_STATIC_LIBSTDCXX=y:
$ ldd arm-unknown-linux-uclibcgnueabi-gcc
linux-gate.so.1 => (0xb7843000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb76e6000)
/lib/ld-linux.so.2 (0xb7844000)

I made CC_STATIC_LIBSTDCXX default=y since I think
it is always desirable.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
titus@1971
     1
22 May 2010 - Titus
titus@1971
     2
titus@1971
     3
Prerequisites and instructions for using crosstool-NG for building a cross
titus@1971
     4
toolchain on MacOS as host.
titus@1971
     5
titus@1971
     6
0) Mac OS Snow Leopard, with Developer Tools 3.2 installed, or
titus@1971
     7
   Mac OS Leopard, with Developer Tools & newer gcc (>= 4.3) installed
titus@1971
     8
   via macports
titus@1971
     9
titus@1971
    10
1) You have to use a case sensitive file system for ct-ng's build and target
titus@1971
    11
   directories. Use a disk or disk image with a case sensitive fs that you
titus@1971
    12
   mount somewhere.
titus@1971
    13
titus@1971
    14
2) Install macports (or similar easy means of installing 3rd party software),
titus@1971
    15
   make sure that macport's bin dir is in your PATH.
titus@1971
    16
   Furtheron assuming it is /opt/local/bin.
titus@1971
    17
titus@1971
    18
3) Install (at least) the following macports
titus@1971
    19
   ncurses
titus@1971
    20
   lzmautils
titus@1971
    21
   libtool
titus@1971
    22
   binutils
titus@1971
    23
   gsed
titus@1971
    24
   gawk
titus@1971
    25
   gcc43 (only necessary for Leopard OSX 10.5)
titus@1971
    26
titus@1971
    27
   On Leopard, make sure that the macport's gcc is called with the default
titus@1971
    28
   commands (gcc, g++,...), e.g. via macport gcc_select
titus@1971
    29
titus@1971
    30
4) run ct-ng's configure with the following tool configuration
titus@1971
    31
   (assuming you have installed the tools via macports in /opt/local):
titus@1971
    32
   ./configure --with-sed=/opt/local/bin/gsed           \
titus@1971
    33
               --with-libtool=/opt/local/bin/glibtool   \
titus@1971
    34
               --with-objcopy=/opt/local/bin/gobjcopy   \
titus@1971
    35
               --with-objdump=/opt/local/bin/gobjdump   \
titus@1971
    36
               --with-readelf=/opt/local/bin/greadelf   \
titus@1971
    37
               [...other configure parameters as you like...]
titus@1971
    38
titus@1971
    39
5) proceed as described in standard documentation
titus@1987
    40
titus@1987
    41
-----
titus@1987
    42
titus@1987
    43
HINTS:
titus@1987
    44
- Apparently, GNU make's builtin variable .LIBPATTERNS is misconfigured
titus@1987
    45
  under MacOS: It does not include lib%.dylib.
titus@1987
    46
  This affects build of (at least) gdb-7.1
titus@1987
    47
  Put 'lib%.a lib%.so lib%.dylib' as .LIBPATTERNS into your environment
titus@1987
    48
  before executing ct-ng build.
titus@1987
    49
  See http://www.gnu.org/software/make/manual/html_node/Libraries_002fSearch.html
titus@1987
    50
  as an explanation.