config/companion_libs.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Oct 03 23:10:46 2010 +0200 (2010-10-03)
changeset 2130 b46ecc90d3ab
parent 2121 ea11e149ec23
child 2131 469830f72fe7
permissions -rw-r--r--
complibs: better deduce whether to backup complibs or not

To decide whether we need to backup the companion libraries,
do not rely on the !shared case. In the future other cases
may require not to save the companion libraries (eg. if using
the ones provided by the host distro).

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 config COMPLIBS
     8     bool
     9     default n
    10 
    11 config WRAPPER_NEEDED
    12     bool
    13     default n
    14 
    15 config GMP
    16     bool
    17     select COMPLIBS
    18 
    19 config MPFR
    20     bool
    21     select GMP
    22     select COMPLIBS
    23 
    24 config PPL
    25     bool
    26     select GMP
    27     select COMPLIBS
    28 
    29 config CLOOG
    30     bool
    31     select GMP
    32     select PPL
    33     select COMPLIBS
    34 
    35 config MPC
    36     bool
    37     select GMP
    38     select MPFR
    39     select COMPLIBS
    40 
    41 config LIBELF
    42     bool
    43     select COMPLIBS
    44 
    45 config LIBELF_TARGET
    46     bool
    47 
    48 if GMP
    49 source "config/companion_libs/gmp.in"
    50 endif
    51 if MPFR
    52 source "config/companion_libs/mpfr.in"
    53 endif
    54 if PPL
    55 source "config/companion_libs/ppl.in"
    56 endif
    57 if CLOOG
    58 source "config/companion_libs/cloog.in"
    59 endif
    60 if MPC
    61 source "config/companion_libs/mpc.in"
    62 endif
    63 if LIBELF || LIBELF_TARGET
    64 comment "libelf version needed to build for target"
    65     depends on !LIBELF
    66 source "config/companion_libs/libelf.in"
    67 endif
    68 
    69 config FOO
    70     bool
    71 
    72 if COMPLIBS
    73 
    74 comment "Companion libraries common options"
    75 
    76 config COMPLIBS_BACKUP
    77     bool
    78     default y
    79     depends on ! COMPLIBS_SHARED
    80 
    81 config COMPLIBS_CHECK
    82     bool
    83     prompt "Check the companion libraries builds (!!! READ HELP!!!)"
    84     default n
    85     help
    86       It is highly recommended to check the newly built companion libraries.
    87       Unfortunately, this is a very intensive task, and takes a loooong time.
    88       
    89       Checking the newly built companion libraries is thus disabled by default,
    90       but it is suggested that you check them at least once on your machine,
    91       and if they work, disable the check on subsequent builds.
    92       
    93       If you suspect that one (or more) of your companion libraries is the
    94       cause for incorrectly generated code, you should answer 'Y' here.
    95       Note however that this will take a really long time. For example,
    96       building PPL on my machine takes roughly 1'40", while checking it takes
    97       about 1h40'...
    98 
    99 config COMPLIBS_SHARED
   100     bool
   101     prompt "Build shared companion libraries"
   102     default n
   103     depends on COMPLIBS
   104     select WRAPPER_NEEDED
   105     help
   106       By default, the companion libraries will be build static. If you want to
   107       build shared libraries, then you can say 'Y' here, but a wrapper will be
   108       needed (see docs/overview.txt,section "Tools wrapper").
   109       
   110       It is highly recommended that you keep static libraries.
   111 
   112 choice
   113     bool
   114     prompt "|  Install tools wrapper as:"
   115     depends on WRAPPER_NEEDED
   116     default TOOLS_WRAPPER_SHELL
   117 
   118 config TOOLS_WRAPPER_SCRIPT
   119     bool
   120     prompt "shell script"
   121     help
   122       If your host has a shell, then you should say 'Y' here, to use
   123       a (very very simple) shell script as wrapper.
   124       
   125       See docs/overview.txt, section "Tools wrapper".
   126 
   127 config TOOLS_WRAPPER_EXEC
   128     bool
   129     prompt "executable"
   130     help
   131       If your host lacks a shell, then you should say 'Y' here, to use
   132       an executable.
   133       
   134       See docs/overview.txt, section "Tools wrapper".
   135 
   136 endchoice
   137 
   138 config TOOLS_WRAPPER
   139     string
   140     default "script" if TOOLS_WRAPPER_SCRIPT
   141     default "exec"   if TOOLS_WRAPPER_EXEC
   142 
   143 endif # COMPLIBS
   144 
   145 endmenu