complibs-use-distro-provided-libs
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jan 02 00:02:32 2011 +0100 (2011-01-02)
changeset 1 3c998003904c
permissions -rw-r--r--
MQ: add current state of changes

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@1
     1
# HG changeset patch
yann@1
     2
# Parent 23e27fc054b699f1f6530ef0458d990b1f834599
yann@1
     3
# User "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@1
     4
# Date 1284399119 -7200
yann@1
     5
yann@1
     6
complibs: add option to use distro-provided libs
yann@1
     7
yann@1
     8
Now that some distros are catching up (eg. Debian testing at least),
yann@1
     9
add an option to use companion libs from the distro.
yann@1
    10
yann@1
    11
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@1
    12
yann@1
    13
diff --git a/config/companion_libs.in b/config/companion_libs.in
yann@1
    14
--- a/config/companion_libs.in
yann@1
    15
+++ b/config/companion_libs.in
yann@1
    16
@@ -4,6 +4,42 @@
yann@1
    17
 
yann@1
    18
 menu "Companion libraries"
yann@1
    19
 
yann@1
    20
+config COMPLIBS_DISTRO
yann@1
    21
+    bool
yann@1
    22
+    prompt "Trust companion libraries from the distro (READ HELP!)"
yann@1
    23
+    default n
yann@1
    24
+    depends on COMPLIBS_NEEDED
yann@1
    25
+    depends on EXPERIMENTAL
yann@1
    26
+    help
yann@1
    27
+      Most of the distributions current as of this writing lack the proper
yann@1
    28
+      version of the required companion libraries, or do not even package
yann@1
    29
+      those.  For example Debian Lenny has too old a version for PPL, and
yann@1
    30
+      does not provide MPC and CLooG.
yann@1
    31
+      
yann@1
    32
+      But now distributions are catching up, and some (most?) of them do
yann@1
    33
+      package the proper versions of those libraries. For example again,
yann@1
    34
+      Debian Squeeze (still in testing) has the proper versions now.
yann@1
    35
+      
yann@1
    36
+      If you want to trust your distribution for providing the companion
yann@1
    37
+      libraries, say 'Y' here, or if you want crosstool-NG to build them
yann@1
    38
+      for you, say 'N'.
yann@1
    39
+      
yann@1
    40
+      The default is 'N', to cope with stable productions systems that most
yann@1
    41
+      probably are using proven-stable distributions, and can not upgrade.
yann@1
    42
+      
yann@1
    43
+      Also, this is still experimental, so you'd better say 'N' if you are
yann@1
    44
+      not sure.
yann@1
    45
+      
yann@1
    46
+      Note-1: if you say 'Y' here, it is very probable that the libraries
yann@1
    47
+      will be linked in dynamically, and not static. This is not an issue
yann@1
    48
+      if you keep the toolchain on the machine where it was built, but can
yann@1
    49
+      become one if you want to move the toolchain to another machine, with
yann@1
    50
+      an older distro. You've been warned!
yann@1
    51
+      
yann@1
    52
+      Note-2: for now, this is an all-from-distro or all-from-crosstool-NG
yann@1
    53
+      setting. You can't use one lib from the distro, and build another
yann@1
    54
+      one from crosstool-NG.
yann@1
    55
+
yann@1
    56
 config COMPLIBS_NEEDED
yann@1
    57
     bool
yann@1
    58
     default n
yann@1
    59
@@ -11,37 +47,37 @@
yann@1
    60
 config GMP_NEEDED
yann@1
    61
     bool
yann@1
    62
     default n
yann@1
    63
-    select GMP
yann@1
    64
+    select GMP      if ! COMPLIBS_DISTRO
yann@1
    65
     select COMPLIBS_NEEDED
yann@1
    66
 
yann@1
    67
 config MPFR_NEEDED
yann@1
    68
     bool
yann@1
    69
     default n
yann@1
    70
-    select MPFR
yann@1
    71
+    select MPFR     if ! COMPLIBS_DISTRO
yann@1
    72
     select COMPLIBS_NEEDED
yann@1
    73
 
yann@1
    74
 config PPL_NEEDED
yann@1
    75
     bool
yann@1
    76
     default n
yann@1
    77
-    select PPL
yann@1
    78
+    select PPL      if ! COMPLIBS_DISTRO
yann@1
    79
     select COMPLIBS_NEEDED
yann@1
    80
 
yann@1
    81
 config CLOOG_NEEDED
yann@1
    82
     bool
yann@1
    83
     default n
yann@1
    84
-    select CLOOG
yann@1
    85
+    select CLOOG    if ! COMPLIBS_DISTRO
yann@1
    86
     select COMPLIBS_NEEDED
yann@1
    87
 
yann@1
    88
 config MPC_NEEDED
yann@1
    89
     bool
yann@1
    90
     default n
yann@1
    91
-    select MPC
yann@1
    92
+    select MPC      if ! COMPLIBS_DISTRO
yann@1
    93
     select COMPLIBS_NEEDED
yann@1
    94
 
yann@1
    95
 config LIBELF_NEEDED
yann@1
    96
     bool
yann@1
    97
     default n
yann@1
    98
-    select LIBELF
yann@1
    99
+    select LIBELF   if ! COMPLIBS_DISTRO
yann@1
   100
     select COMPLIBS_NEEDED
yann@1
   101
 
yann@1
   102
 config COMPLIBS