config/companion_libs.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Aug 23 14:32:16 2010 +0200 (2010-08-23)
changeset 2100 f9fcfc002c8a
parent 1892 af092b4bf65c
child 2102 62834fa05290
permissions -rw-r--r--
debug/gdb: install dependable libs in a generic target static libs dir

For now, ncurses is the only dependable target library built for gdb.
But expat is coming, and there's no reason to install each library in
its own place.

So, install ncurses in a generic directory, where other dependable
libraries can be installed as well.

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