scripts/build/libc/mingw.sh
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Fri Jan 03 17:10:09 2014 +0100 (2014-01-03)
changeset 3270 dff359adf15c
parent 3112 6cb56b3f2d34
permissions -rw-r--r--
libc/eglibc: fix downloading of localedef addon

For the versions of eglibc where the ports addon is not external (ie,
all versions after, and including 2.17), we would fail to download the
localedef addon, since the test did not care about the addon we were
about to download, only whether the ports addon was external or not.

Fix that by skipping the ports addon only if that's the addon we're
trying to download.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
diorcet@3112
     1
# Copyright 2012 Yann Diorcet
diorcet@3112
     2
# Licensed under the GPL v2. See COPYING in the root of this package
bartvdrmeulen@2018
     3
diorcet@3112
     4
do_libc_get() { 
diorcet@3112
     5
    CT_GetFile "mingw-w64-v${CT_WINAPI_VERSION}" \
diorcet@3112
     6
        http://downloads.sourceforge.net/sourceforge/mingw-w64
bartvdrmeulen@2017
     7
}
bartvdrmeulen@2017
     8
bartvdrmeulen@2017
     9
do_libc_extract() {
diorcet@3112
    10
    CT_Extract "mingw-w64-v${CT_WINAPI_VERSION}"
diorcet@3112
    11
    CT_Pushd "${CT_SRC_DIR}/mingw-w64-v${CT_WINAPI_VERSION}/"
diorcet@3112
    12
    CT_Patch nochdir mingw-w64 "${CT_WINAPI_VERSION}"
diorcet@3112
    13
    CT_Popd
bartvdrmeulen@2017
    14
}
bartvdrmeulen@2017
    15
bartvdrmeulen@2017
    16
do_libc_check_config() {
bartvdrmeulen@2017
    17
    :
bartvdrmeulen@2017
    18
}
bartvdrmeulen@2017
    19
yann@2269
    20
do_libc_start_files() {
diorcet@3112
    21
    local -a sdk_opts
diorcet@3112
    22
bartvdrmeulen@2017
    23
    CT_DoStep INFO "Installing C library headers"
bartvdrmeulen@2017
    24
diorcet@3112
    25
    case "${CT_MINGW_DIRECTX}:${CT_MINGW_DDK}" in
diorcet@3112
    26
        y:y)    sdk_opts+=( "--enable-sdk=all"     );;
diorcet@3112
    27
        y:)     sdk_opts+=( "--enable-sdk=directx" );;
diorcet@3112
    28
        :y)     sdk_opts+=( "--enable-sdk=ddk"     );;
diorcet@3112
    29
        :)      ;;
diorcet@3112
    30
    esac
diorcet@3112
    31
diorcet@3112
    32
    CT_mkdir_pushd "${CT_BUILD_DIR}/build-mingw-w64-headers"
diorcet@3112
    33
diorcet@3112
    34
    CT_DoLog EXTRA "Configuring Headers"
diorcet@3112
    35
diorcet@3112
    36
    CT_DoExecLog CFG        \
diorcet@3112
    37
    "${CT_SRC_DIR}/mingw-w64-v${CT_WINAPI_VERSION}/mingw-w64-headers/configure" \
diorcet@3112
    38
        --build=${CT_BUILD} \
diorcet@3112
    39
        --host=${CT_TARGET} \
diorcet@3112
    40
        --prefix=/usr       \
diorcet@3112
    41
        "${sdk_opts[@]}"
diorcet@3112
    42
diorcet@3112
    43
    CT_DoLog EXTRA "Compile Headers"
diorcet@3112
    44
    CT_DoExecLog ALL make
diorcet@3112
    45
diorcet@3112
    46
    CT_DoLog EXTRA "Installing Headers"
diorcet@3112
    47
    CT_DoExecLog ALL make install DESTDIR=${CT_SYSROOT_DIR}
diorcet@3112
    48
    
diorcet@3112
    49
    CT_Popd
yann@2282
    50
yann@2282
    51
    # It seems mingw is strangely set up to look into /mingw instead of
yann@2282
    52
    # /usr (notably when looking for the headers). This symlink is
yann@2282
    53
    # here to workaround this, and seems to be here to last... :-/
diorcet@3112
    54
    CT_DoExecLog ALL ln -sv "usr/${CT_TARGET}" "${CT_SYSROOT_DIR}/mingw"
bartvdrmeulen@2017
    55
bartvdrmeulen@2017
    56
    CT_EndStep
bartvdrmeulen@2017
    57
}
bartvdrmeulen@2017
    58
bartvdrmeulen@2017
    59
do_libc() {
diorcet@3112
    60
    CT_DoStep INFO "Building mingw-w64 files"
bartvdrmeulen@2017
    61
diorcet@3112
    62
    CT_DoLog EXTRA "Configuring mingw-w64-crt"
bartvdrmeulen@2017
    63
diorcet@3112
    64
    CT_mkdir_pushd "${CT_BUILD_DIR}/build-mingw-w64-crt"
bartvdrmeulen@2017
    65
diorcet@3112
    66
    CT_DoExecLog CFG                                                        \
diorcet@3112
    67
    "${CT_SRC_DIR}/mingw-w64-v${CT_WINAPI_VERSION}/mingw-w64-crt/configure" \
diorcet@3112
    68
        --prefix=/usr                                                       \
diorcet@3112
    69
        --build=${CT_BUILD}                                                 \
diorcet@3112
    70
        --host=${CT_TARGET}                                                 \
bartvdrmeulen@2017
    71
diorcet@3112
    72
    CT_DoLog EXTRA "Building mingw-w64-crt"
yann@2275
    73
    CT_DoExecLog ALL make ${JOBSFLAGS}
bartvdrmeulen@2017
    74
diorcet@3112
    75
    CT_DoLog EXTRA "Installing mingw-w64-crt"
diorcet@3112
    76
    CT_DoExecLog ALL make install DESTDIR=${CT_SYSROOT_DIR}
bartvdrmeulen@2017
    77
bartvdrmeulen@2017
    78
    CT_EndStep
bartvdrmeulen@2017
    79
}