scripts/build/libc/uClibc.sh
changeset 2036 67e02b48b595
parent 2033 ffc1121618fa
child 2037 cd00fdab6117
     1.1 --- a/scripts/build/libc/uClibc.sh	Thu Jul 22 20:06:27 2010 +0200
     1.2 +++ b/scripts/build/libc/uClibc.sh	Wed Jul 28 01:03:07 2010 +0200
     1.3 @@ -12,7 +12,7 @@
     1.4      # later...
     1.5      CT_GetFile "uClibc-${CT_LIBC_VERSION}" ${libc_src}
     1.6      # uClibc locales
     1.7 -    if [ "${CT_LIBC_UCLIBC_LOCALES}" = "y" ]; then
     1.8 +    if [ "${CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA}" = "y" ]; then
     1.9          CT_GetFile "uClibc-locale-030818" ${libc_src}
    1.10      fi
    1.11  
    1.12 @@ -40,11 +40,14 @@
    1.13      fi
    1.14  
    1.15      # uClibc locales
    1.16 -    if [ "${CT_LIBC_UCLIBC_LOCALES}" = "y" ]; then
    1.17 +    # Extracting pregen locales ourselves is kinda
    1.18 +    # broken, so just link it in place...
    1.19 +    if [    "${CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA}" = "y"           \
    1.20 +         -a ! -f "${CT_SRC_DIR}/.uClibc-locales-030818.extracted"   ]; then
    1.21          CT_Pushd "$(libc_uclibc_src_dir)/extra/locale"
    1.22 -        CT_Extract nochdir "uClibc-locale-030818"
    1.23 -        CT_Patch nochdir "uClibc" "locale-030818"
    1.24 +        CT_DoExecLog ALL ln -s "${CT_TARBALLS_DIR}/uClibc-locale-030818.tgz" .
    1.25          CT_Popd
    1.26 +        touch "${CT_SRC_DIR}/.uClibc-locales-030818.extracted"
    1.27      fi
    1.28  
    1.29      return 0
    1.30 @@ -354,14 +357,26 @@
    1.31      # arrangements.  Note that having the uClibc Makefile download the
    1.32      # pregenerated locales is not compatible with crosstool; besides,
    1.33      # crosstool downloads them as part of getandpatch.sh.
    1.34 -    if [ "${CT_LIBC_UCLIBC_LOCALES}" = "y" ] ; then
    1.35 -        cat <<-ENDSED
    1.36 -			s/^# UCLIBC_HAS_LOCALE is not set/UCLIBC_HAS_LOCALE=y\\
    1.37 -			UCLIBC_PREGENERATED_LOCALE_DATA=y\\
    1.38 -			# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set\\
    1.39 -			# UCLIBC_HAS_XLOCALE is not set/
    1.40 -			ENDSED
    1.41 -    fi
    1.42 +    case "${CT_LIBC_UCLIBC_LOCALES}:${CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA}" in
    1.43 +        :*)
    1.44 +            ;;
    1.45 +        y:)
    1.46 +            cat <<-ENDSED
    1.47 +				s/^# UCLIBC_HAS_LOCALE is not set/UCLIBC_HAS_LOCALE=y\\
    1.48 +				# UCLIBC_PREGENERATED_LOCALE_DATA is not set\\
    1.49 +				# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set\\
    1.50 +				# UCLIBC_HAS_XLOCALE is not set/
    1.51 +				ENDSED
    1.52 +            ;;
    1.53 +        y:y)
    1.54 +            cat <<-ENDSED
    1.55 +				s/^# UCLIBC_HAS_LOCALE is not set/UCLIBC_HAS_LOCALE=y\\
    1.56 +				UCLIBC_PREGENERATED_LOCALE_DATA=y\\
    1.57 +				# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set\\
    1.58 +				# UCLIBC_HAS_XLOCALE is not set/
    1.59 +				ENDSED
    1.60 +            ;;
    1.61 +    esac
    1.62  
    1.63      # WCHAR support
    1.64      if [ "${CT_LIBC_UCLIBC_WCHAR}" = "y" ] ; then