config/companion_libs.in
author Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed Apr 07 09:20:05 2010 +0200 (2010-04-07)
changeset 1887 5d872df743fe
parent 1847 c311bf33c64d
child 1890 39045a2f1163
permissions -rw-r--r--
Re-enable the FD_PIC ELF configuration option

Blackfin uses FD_PIC ELF format to provide shared libraries on a
non-MMU architecture.
     1 # Companion libraries config options
     2 # Those libraries are required for different versions of gcc,
     3 # and can be used by binutils and gdb (maybe others as well).
     4 
     5 menu "Companion libraries"
     6 
     7 comment "FIXME: check real dependencies!!!"
     8 
     9 config COMPLIBS
    10     bool
    11     default n
    12 
    13 config WRAPPER_NEEDED
    14     bool
    15     default n
    16 
    17 config GMP
    18     bool
    19     select COMPLIBS
    20     select WRAPPER_NEEDED
    21     help
    22       gcc 4.3.0 and above requires GMP to build some frontends, and some
    23       other components can use them as well.
    24       
    25       This will be automatically selected if you choose gcc>=4.3.0, but you
    26       can say 'Y' here if you want to build this library for the other
    27       components (that don't select them by default).
    28       
    29       The packages that can use GMP and MPFR are:
    30         - binutils
    31         - gcc
    32         - gdb
    33 
    34 config MPFR
    35     bool
    36     select GMP
    37     select COMPLIBS
    38     select WRAPPER_NEEDED
    39     help
    40       gcc 4.3.0 and above requires MPFR to build some frontends, and some
    41       other components can use them as well.
    42       
    43       This will be automatically selected if you choose gcc>=4.3.0, but you
    44       can say 'Y' here if you want to build this library for the other
    45       components (that don't select them by default).
    46       
    47       The packages that can use GMP and MPFR are:
    48         - binutils
    49         - gcc
    50         - gdb
    51 
    52 config PPL
    53     bool
    54     select GMP
    55     select MPFR
    56     select COMPLIBS
    57     select WRAPPER_NEEDED
    58     help
    59       gcc-4.4.0 and above requires PPL to build some parts of the optimiser
    60       (the GRAPHITE loop optimisation, to be precise).
    61       
    62       This will be automatically selected if you choose gcc>=4.4.0, but you
    63       can say 'Y' here, although it is unknown yet if any other component
    64       can use it.
    65 
    66 config CLOOG
    67     bool
    68     select GMP
    69     select MPFR
    70     select PPL
    71     select COMPLIBS
    72     select WRAPPER_NEEDED
    73     help
    74       gcc-4.4.0 and above requires CLooG/PPL to build some parts of the
    75       optimiser (the GRAPHITE loop optimisation, to be precise).
    76       
    77       This will be automatically selected if you choose gcc>=4.4.0, but you
    78       can say 'Y' here, although it is unknown yet if any other component
    79       can use it.
    80 
    81 config MPC
    82     bool
    83     select GMP
    84     select MPFR
    85     select PPL
    86     select CLOOG
    87     select COMPLIBS
    88     select WRAPPER_NEEDED
    89     help
    90       gcc-4.4.0 and above can also optionally use MPC to enable additional
    91       optimisations on complex numbers. Although MPC is optional,
    92       crosstool-NG requires it and uses it to build gcc >= 4.4.0.
    93       
    94       This will be automatically selected if you choose gcc>=4.4.0, but you
    95       can say 'Y' here, although it is unknown yet if any other component
    96       can use it.
    97 
    98 config LIBELF
    99     bool
   100     select COMPLIBS
   101     select WRAPPER_NEEDED
   102     help
   103       gcc-4.5.0 and above can also use libelf to enable some optimisation
   104       (LTO, Link-Time Optimisation, to be precise).  Although libelf is
   105       optional, crosstool-NG requires it and uses it to build gcc >= 4.5.0.
   106       
   107       This will be automatically selected if you choose gcc>=4.5.0, but you
   108       can say 'Y' here, although it is unknown yet if any other component
   109       can use it.
   110 
   111 config GMP_TARGET
   112     bool
   113 
   114 config MPFR_TARGET
   115     bool
   116     select GMP_TARGET
   117 
   118 config PPL_TARGET
   119     bool
   120     select GMP_TARGET
   121     select MPFR_TARGET
   122 
   123 config CLOOG_TARGET
   124     bool
   125     select GMP_TARGET
   126     select MPFR_TARGET
   127     select PPL_TARGET
   128 
   129 config MPC_TARGET
   130     bool
   131     select GMP_TARGET
   132     select MPFR_TARGET
   133     select PPL_TARGET
   134     select CLOOG_TARGET
   135 
   136 config LIBELF_TARGET
   137     bool
   138 
   139 if GMP || GMP_TARGET
   140 comment "GMP version needed to build for target"
   141     depends on !GMP
   142 source "config/companion_libs/gmp.in"
   143 endif
   144 if MPFR || MPFR_TARGET
   145 comment "MPFR version needed to build for target"
   146     depends on !MPFR
   147 source "config/companion_libs/mpfr.in"
   148 endif
   149 if PPL || PPL_TARGET
   150 comment "PPL version needed to build for target"
   151     depends on !PPL
   152 source "config/companion_libs/ppl.in"
   153 endif
   154 if CLOOG || CLOOG_TARGET
   155 comment "CLOOG version needed to build for target"
   156     depends on !CLOOG
   157 source "config/companion_libs/cloog.in"
   158 endif
   159 if MPC || MPC_TARGET
   160 comment "MPC version needed to build for target"
   161     depends on !MPC
   162 source "config/companion_libs/mpc.in"
   163 endif
   164 if LIBELF || LIBELF_TARGET
   165 comment "libelf version needed to build for target"
   166     depends on !LIBELF
   167 source "config/companion_libs/libelf.in"
   168 endif
   169 
   170 config FOO
   171     bool
   172 
   173 comment "Companion libraries common options"
   174     depends on COMPLIBS || WRAPPER_NEEDED
   175 
   176 config COMP_LIBS_CHECK
   177     bool
   178     prompt "|  Check the companion libraries builds (!!! READ HELP!!!)"
   179     default n
   180     depends on COMPLIBS
   181     help
   182       It is highly recommended to check the newly built companion libraries.
   183       Unfortunately, this is a very intensive task, and takes a loooong time.
   184       
   185       Checking the newly built companion libraries is thus disabled by default,
   186       but it is suggested that you check them at least once on your machine,
   187       and if they work, disable the check on subsequent builds.
   188       
   189       If you suspect that one (or more) of your companion libraries is the
   190       cause for incorrectly generated code, you should answer 'Y' here.
   191       Note however that this will take a really long time. For example,
   192       building PPL on my machine takes roughly 1'40", while checking it takes
   193       about 1h40'...
   194 
   195 choice
   196     bool
   197     prompt "|  Install tools wrapper as:"
   198     depends on WRAPPER_NEEDED
   199     default TOOLS_WRAPPER_SHELL
   200 
   201 config TOOLS_WRAPPER_SCRIPT
   202     bool
   203     prompt "shell script"
   204     help
   205       If your host has a shell, then you should say 'Y' here, to use
   206       a (very very simple) shell script as wrapper.
   207       
   208       See docs/overview.txt, section "Tools wrapper".
   209 
   210 config TOOLS_WRAPPER_EXEC
   211     bool
   212     prompt "executable"
   213     help
   214       If your host lacks a shell, then you should say 'Y' here, to use
   215       an executable.
   216       
   217       See docs/overview.txt, section "Tools wrapper".
   218 
   219 endchoice
   220 
   221 config TOOLS_WRAPPER
   222     string
   223     default "script" if TOOLS_WRAPPER_SCRIPT
   224     default "exec"   if TOOLS_WRAPPER_EXEC
   225 
   226 endmenu