scripts/saveSample.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 13 10:32:38 2008 +0000 (2008-07-13)
changeset 645 8e58024f8e37
parent 574 d9326d33ae32
child 682 44fed7e2a22c
permissions -rwxr-xr-x
Ioannis E. VENETIS <venetis@mail.capsl.udel.edu> pointed out that GMP and MPFR were not used by gcc.
Turned out that none could use GMP and MPFR as the config option changed its name, but the change was not propagated to all users.

/trunk/scripts/build/binutils.sh | 2 1 1 0 +-
/trunk/scripts/build/debug/300-gdb.sh | 2 1 1 0 +-
/trunk/scripts/build/cc_gcc.sh | 6 3 3 0 +++---
3 files changed, 5 insertions(+), 5 deletions(-)
     1 #!/bin/bash
     2 
     3 # This script is responsible for saving the current configuration into a
     4 # sample to be used later on as a pre-configured target.
     5 
     6 # What we need to save:
     7 #  - the .config file
     8 #  - the kernel .config file if specified
     9 #  - the uClibc .config file if uClibc selected
    10 
    11 . "${CT_LIB_DIR}/scripts/functions"
    12 
    13 # Don't care about any log file
    14 exec >/dev/null
    15 rm -f "${tmp_log_file}"
    16 
    17 # Parse the configuration file
    18 CT_TestOrAbort "Configuration file not found. Please create one." -f "${CT_TOP_DIR}/.config"
    19 . "${CT_TOP_DIR}/.config"
    20 
    21 # Parse the architecture-specific functions
    22 . "${CT_LIB_DIR}/arch/${CT_ARCH}/functions"
    23 
    24 # Target tuple: CT_TARGET needs a little love:
    25 CT_DoBuildTargetTuple
    26 
    27 # Kludge: if any of the config options needs either CT_TARGET or CT_TOP_DIR,
    28 # re-parse them:
    29 . "${CT_TOP_DIR}/.config"
    30 
    31 # Override log level
    32 unset CT_LOG_ERROR CT_LOG_INFO CT_LOG_EXTRA CT_LOG_DEBUG LOG_ALL
    33 CT_LOG_WARN=y
    34 CT_LOG_LEVEL_MAX="WARN"
    35 
    36 # Create the sample directory
    37 if [ ! -d "${CT_TOP_DIR}/samples/${CT_TARGET}" ]; then
    38     mkdir -p "${CT_TOP_DIR}/samples/${CT_TARGET}"
    39 fi
    40 
    41 # Save the crosstool-NG config file
    42 sed -r -e 's|^(CT_PREFIX_DIR)=.*|\1="${HOME}/x-tools/${CT_TARGET}"|;'   \
    43     <"${CT_TOP_DIR}/.config"                                            \
    44     >"${CT_TOP_DIR}/samples/${CT_TARGET}/crosstool.config"
    45 
    46 # Function to copy a file to the sample directory
    47 # Needed in case the file is already there (think of a previously available sample)
    48 # Usage: CT_DoAddFileToSample <source> <dest>
    49 CT_DoAddFileToSample() {
    50     source="$1"
    51     dest="$2"
    52     inode_s=$(ls -i "${source}")
    53     inode_d=$(ls -i "${dest}" 2>/dev/null || true)
    54     if [ "${inode_s}" != "${inode_d}" ]; then
    55         cp "${source}" "${dest}"
    56     fi
    57 }
    58 
    59 if [ "${CT_TOP_DIR}" = "${CT_LIB_DIR}" ]; then
    60     samp_top_dir="\${CT_LIB_DIR}"
    61 else
    62     samp_top_dir="\${CT_TOP_DIR}"
    63 fi
    64 
    65 # Save the kernel .config file
    66 if [ -n "${CT_KERNEL_LINUX_CONFIG_FILE}" ]; then
    67     # We save the file, and then point the saved sample to this file
    68     CT_DoAddFileToSample "${CT_KERNEL_LINUX_CONFIG_FILE}" "${CT_TOP_DIR}/samples/${CT_TARGET}/${CT_KERNEL}-${CT_KERNEL_VERSION}.config"
    69     sed -r -i -e 's|^(CT_KERNEL_LINUX_CONFIG_FILE=).+$|\1"'"${samp_top_dir}"'/samples/${CT_TARGET}/${CT_KERNEL}-${CT_KERNEL_VERSION}.config"|;' \
    70         "${CT_TOP_DIR}/samples/${CT_TARGET}/crosstool.config"
    71 else
    72     # remove any dangling files
    73     for f in "${CT_TOP_DIR}/samples/${CT_TARGET}/${CT_KERNEL}-"*.config; do
    74         if [ -f "${f}" ]; then rm -f "${f}"; fi
    75     done
    76 fi
    77 
    78 # Save the uClibc .config file
    79 if [ -n "${CT_LIBC_UCLIBC_CONFIG_FILE}" ]; then
    80     # We save the file, and then point the saved sample to this file
    81     CT_DoAddFileToSample "${CT_LIBC_UCLIBC_CONFIG_FILE}" "${CT_TOP_DIR}/samples/${CT_TARGET}/${CT_LIBC}-${CT_LIBC_VERSION}.config"
    82     sed -r -i -e 's|^(CT_LIBC_UCLIBC_CONFIG_FILE=).+$|\1"'"${samp_top_dir}"'/samples/${CT_TARGET}/${CT_LIBC}-${CT_LIBC_VERSION}.config"|;' \
    83         "${CT_TOP_DIR}/samples/${CT_TARGET}/crosstool.config"
    84 else
    85     # remove any dangling files
    86     for f in "${CT_TOP_DIR}/samples/${CT_TARGET}/${CT_LIBC}-"*.config; do
    87         if [ -f "${f}" ]; then rm -f "${f}"; fi
    88     done
    89 fi