scripts/build/libc/mingw.sh
author "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
Mon Apr 16 15:25:36 2012 +0200 (2012-04-16)
changeset 2941 13e40098fffc
parent 2354 c7fa1f177830
child 3112 6cb56b3f2d34
permissions -rw-r--r--
cc/gcc: update Linaro GCC revisions to 2012.04

Update Linaro GCC with the latest available revisions.

The 4.7 revision is also released, but the infrastructure is not yet ready for
it in CT-NG.

Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
bartvdrmeulen@2017
     1
do_libc_get() {
bartvdrmeulen@2017
     2
    CT_GetFile "mingwrt-${CT_MINGWRT_VERSION}-mingw32-src" \
bartvdrmeulen@2017
     3
        http://downloads.sourceforge.net/sourceforge/mingw
bartvdrmeulen@2018
     4
bartvdrmeulen@2018
     5
    if [ -n "${CT_MINGW_DIRECTX}" ]; then
bartvdrmeulen@2018
     6
        CT_GetFile "directx-devel" \
bartvdrmeulen@2018
     7
            http://www.libsdl.org/extras/win32/common
bartvdrmeulen@2018
     8
    fi
bartvdrmeulen@2018
     9
    if [ -n "${CT_MINGW_OPENGL}" ]; then
bartvdrmeulen@2018
    10
        CT_GetFile "opengl-devel" \
bartvdrmeulen@2018
    11
            http://www.libsdl.org/extras/win32/common
bartvdrmeulen@2018
    12
    fi
bartvdrmeulen@2018
    13
    if [ -n "${CT_MINGW_PDCURSES}" ]; then
bartvdrmeulen@2018
    14
        CT_GetFile "PDCurses-${CT_MINGW_PDCURSES_VERSION}" \
bartvdrmeulen@2018
    15
            http://downloads.sourceforge.net/sourceforge/pdcurses
bartvdrmeulen@2018
    16
    fi
bartvdrmeulen@2018
    17
    if [ -n "${CT_MINGW_GNURX}" ]; then
bartvdrmeulen@2018
    18
        CT_GetFile "mingw-libgnurx-${CT_MINGW_GNURX_VERSION}-src" \
bartvdrmeulen@2018
    19
            http://downloads.sourceforge.net/sourceforge/mingw
bartvdrmeulen@2018
    20
    fi
bartvdrmeulen@2017
    21
}
bartvdrmeulen@2017
    22
bartvdrmeulen@2017
    23
do_libc_extract() {
bartvdrmeulen@2017
    24
    CT_Extract "mingwrt-${CT_MINGWRT_VERSION}-mingw32-src"
bartvdrmeulen@2018
    25
bartvdrmeulen@2018
    26
    if [ -n "${CT_MINGW_PDCURSES}" ]; then
bartvdrmeulen@2018
    27
        CT_Extract "PDCurses-${CT_MINGW_PDCURSES_VERSION}"
bartvdrmeulen@2018
    28
        CT_Patch "PDCurses" "${CT_MINGW_PDCURSES_VERSION}"
bartvdrmeulen@2018
    29
    fi
bartvdrmeulen@2018
    30
    if [ -n "${CT_MINGW_GNURX}" ]; then
bartvdrmeulen@2018
    31
        CT_Extract "mingw-libgnurx-${CT_MINGW_GNURX_VERSION}-src"
yann@2580
    32
        CT_Patch "mingw-libgnurx" "${CT_MINGW_GNURX_VERSION}-src"
bartvdrmeulen@2018
    33
    fi
bartvdrmeulen@2017
    34
}
bartvdrmeulen@2017
    35
bartvdrmeulen@2017
    36
do_libc_check_config() {
bartvdrmeulen@2017
    37
    :
bartvdrmeulen@2017
    38
}
bartvdrmeulen@2017
    39
yann@2269
    40
do_libc_start_files() {
bartvdrmeulen@2017
    41
    CT_DoStep INFO "Installing C library headers"
bartvdrmeulen@2017
    42
bartvdrmeulen@2017
    43
    CT_DoLog EXTRA "Installing MinGW Runtime headers"
eha@2085
    44
    mkdir -p "${CT_HEADERS_DIR}"
yann@2580
    45
    cp -r ${CT_SRC_DIR}/mingwrt-${CT_MINGWRT_VERSION}-mingw32-src/include/* \
eha@2085
    46
          ${CT_HEADERS_DIR}
yann@2282
    47
yann@2282
    48
    # It seems mingw is strangely set up to look into /mingw instead of
yann@2282
    49
    # /usr (notably when looking for the headers). This symlink is
yann@2282
    50
    # here to workaround this, and seems to be here to last... :-/
eha@2086
    51
    CT_DoExecLog ALL ln -sv "usr" "${CT_SYSROOT_DIR}/mingw"
bartvdrmeulen@2017
    52
bartvdrmeulen@2017
    53
    CT_EndStep
bartvdrmeulen@2017
    54
}
bartvdrmeulen@2017
    55
bartvdrmeulen@2017
    56
do_libc() {
bartvdrmeulen@2017
    57
    CT_DoStep INFO "Building MinGW files"
bartvdrmeulen@2017
    58
bartvdrmeulen@2017
    59
    CT_DoLog EXTRA "Configuring W32-API"
bartvdrmeulen@2017
    60
bartvdrmeulen@2017
    61
    mkdir -p "${CT_BUILD_DIR}/build-w32api"
bartvdrmeulen@2017
    62
    cd "${CT_BUILD_DIR}/build-w32api"
bartvdrmeulen@2017
    63
yann@2580
    64
    CT_DoExecLog CFG                                                  \
yann@2580
    65
    CFLAGS="-I${CT_HEADERS_DIR}"                                      \
yann@2580
    66
    LDFLAGS="-L${CT_SYSROOT_DIR}/lib"                                 \
yann@2580
    67
    "${CT_SRC_DIR}/w32api-${CT_W32API_VERSION}-mingw32-src/configure" \
yann@2580
    68
        --prefix=${CT_SYSROOT_DIR}                                    \
yann@2580
    69
        --includedir=${CT_HEADERS_DIR}                                \
bartvdrmeulen@2017
    70
        --host=${CT_TARGET}
bartvdrmeulen@2017
    71
bartvdrmeulen@2017
    72
    CT_DoLog EXTRA "Building W32-API"
yann@2275
    73
    CT_DoExecLog ALL make ${JOBSFLAGS}
bartvdrmeulen@2017
    74
bartvdrmeulen@2017
    75
    CT_DoLog EXTRA "Installing W32-API"
bartvdrmeulen@2017
    76
    CT_DoExecLog ALL make install
bartvdrmeulen@2017
    77
bartvdrmeulen@2017
    78
    CT_DoLog EXTRA "Configuring MinGW Runtime"
bartvdrmeulen@2017
    79
bartvdrmeulen@2017
    80
    mkdir -p "${CT_BUILD_DIR}/build-mingwrt"
bartvdrmeulen@2017
    81
    cd "${CT_BUILD_DIR}/build-mingwrt"
bartvdrmeulen@2017
    82
yann@2580
    83
    CT_DoExecLog CFG                                                    \
yann@2580
    84
    CFLAGS="-I${CT_HEADERS_DIR}"                                        \
yann@2580
    85
    LDFLAGS="-L${CT_SYSROOT_DIR}/lib"                                   \
yann@2580
    86
    "${CT_SRC_DIR}/mingwrt-${CT_MINGWRT_VERSION}-mingw32-src/configure" \
yann@2580
    87
        --prefix=${CT_SYSROOT_DIR}/                                     \
yann@2580
    88
        --includedir=${CT_HEADERS_DIR}                                  \
bartvdrmeulen@2017
    89
        --host=${CT_TARGET}
bartvdrmeulen@2017
    90
bartvdrmeulen@2017
    91
    CT_DoLog EXTRA "Building MinGW Runtime"
yann@2275
    92
    CT_DoExecLog ALL make ${JOBSFLAGS}
bartvdrmeulen@2017
    93
bartvdrmeulen@2017
    94
    CT_DoLog EXTRA "Installing MinGW Runtime"
bartvdrmeulen@2017
    95
    CT_DoExecLog ALL make install
bartvdrmeulen@2017
    96
bartvdrmeulen@2017
    97
    CT_EndStep
bartvdrmeulen@2017
    98
}
bartvdrmeulen@2017
    99
bartvdrmeulen@2017
   100
do_libc_finish() {
bartvdrmeulen@2018
   101
    CT_DoStep INFO "Installing MinGW Development libraries"
bartvdrmeulen@2018
   102
bartvdrmeulen@2018
   103
    CT_Pushd "${CT_SYSROOT_DIR}"
bartvdrmeulen@2018
   104
    if [ -n "${CT_MINGW_DIRECTX}" ]; then
bartvdrmeulen@2018
   105
        CT_DoLog EXTRA "Installing DirectX development package"
bartvdrmeulen@2018
   106
        CT_Extract nochdir "directx-devel"
bartvdrmeulen@2018
   107
    fi
bartvdrmeulen@2018
   108
    if [ -n "${CT_MINGW_OPENGL}" ]; then
bartvdrmeulen@2018
   109
        CT_DoLog EXTRA "Installing OpenGL development package"
bartvdrmeulen@2018
   110
        CT_Extract nochdir "opengl-devel"
bartvdrmeulen@2018
   111
    fi
bartvdrmeulen@2018
   112
    CT_Popd
bartvdrmeulen@2018
   113
bartvdrmeulen@2018
   114
    if [ -n "${CT_MINGW_PDCURSES}" ]; then
bartvdrmeulen@2018
   115
        CT_DoLog EXTRA "Building PDCurses development files"
bartvdrmeulen@2018
   116
        mkdir -p "${CT_BUILD_DIR}/build-pdcurses"
bartvdrmeulen@2018
   117
        cd "${CT_BUILD_DIR}/build-pdcurses"
bartvdrmeulen@2018
   118
bartvdrmeulen@2018
   119
        make -f ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/win32/mingwin32.mak libs \
bartvdrmeulen@2018
   120
            PDCURSES_SRCDIR=${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION} \
bartvdrmeulen@2018
   121
            CROSS_COMPILE=${CT_TARGET}-
bartvdrmeulen@2018
   122
bartvdrmeulen@2018
   123
        CT_DoLog EXTRA "Installing PDCurses development files"
bartvdrmeulen@2018
   124
        chmod a+r ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/*.h
bartvdrmeulen@2018
   125
        cp ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/*.h \
eha@2086
   126
           ${CT_HEADERS_DIR}/
bartvdrmeulen@2018
   127
        cp pdcurses.a ${CT_SYSROOT_DIR}/lib/libpdcurses.a
bartvdrmeulen@2018
   128
        cp pdcurses.a ${CT_SYSROOT_DIR}/lib/libncurses.a
bartvdrmeulen@2018
   129
    fi
bartvdrmeulen@2018
   130
bartvdrmeulen@2018
   131
    if [ -n "${CT_MINGW_GNURX}" ]; then
bartvdrmeulen@2018
   132
        CT_DoLog EXTRA "Configuring GnuRX development files"
bartvdrmeulen@2018
   133
bartvdrmeulen@2018
   134
        mkdir -p "${CT_BUILD_DIR}/build-gnurx"
bartvdrmeulen@2018
   135
        cd "${CT_BUILD_DIR}/build-gnurx"
bartvdrmeulen@2018
   136
yann@2580
   137
        CT_DoExecLog CFG                                                        \
yann@2580
   138
        CFLAGS="${CT_CFLAGS_FOR_TARGET}"                                        \
yann@2580
   139
        "${CT_SRC_DIR}/mingw-libgnurx-${CT_MINGW_GNURX_VERSION}-src/configure"  \
yann@2580
   140
            --build=${CT_BUILD}                                                 \
yann@2580
   141
            --host=${CT_TARGET}                                                 \
yann@2580
   142
            --prefix=${CT_SYSROOT_DIR}                                          \
yann@2580
   143
            --includedir=${CT_HEADERS_DIR}                                      \
yann@2580
   144
            --enable-shared                                                     \
bartvdrmeulen@2018
   145
            --enable-static
bartvdrmeulen@2018
   146
bartvdrmeulen@2018
   147
        CT_DoLog EXTRA "Building GnuRX development files"
yann@2275
   148
        CT_DoExecLog ALL make ${JOBSFLAGS}
bartvdrmeulen@2018
   149
bartvdrmeulen@2018
   150
        CT_DoLog EXTRA "Installing GnuRX development files"
bartvdrmeulen@2018
   151
        CT_DoExecLog ALL make install-dev
bartvdrmeulen@2018
   152
    fi
bartvdrmeulen@2018
   153
bartvdrmeulen@2018
   154
    CT_EndStep
bartvdrmeulen@2017
   155
}
bartvdrmeulen@2017
   156