scripts/build/libc/mingw.sh
author Remy Bohmer <linux@bohmer.net>
Thu May 27 23:18:19 2010 +0200 (2010-05-27)
changeset 2060 51e4597b07fc
parent 2017 f637b6c2162b
child 2085 198c99380191
permissions -rw-r--r--
scripts: add option to strip all toolchain executables

To reduce filesizes of the toolchain and even improve build times
of projects to be build with this toolchain it is usefull to strip
the delivered toolchain executables. Since it is not likely that we
will debug the toolchain executables itself we do not need the
debug information inside the executables itself.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
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"
bartvdrmeulen@2018
    32
        CT_Patch "mingw-libgnurx" "${CT_MINGW_GNURX_VERSION}"
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
bartvdrmeulen@2017
    40
do_libc_headers() {
bartvdrmeulen@2017
    41
    CT_DoStep INFO "Installing C library headers"
bartvdrmeulen@2017
    42
bartvdrmeulen@2017
    43
    CT_DoLog EXTRA "Installing MinGW Runtime headers"
bartvdrmeulen@2017
    44
    mkdir -p "${CT_SYSROOT_DIR}/include"
bartvdrmeulen@2017
    45
    cp -r ${CT_SRC_DIR}/mingwrt-${CT_MINGWRT_VERSION}-mingw32/include \
bartvdrmeulen@2017
    46
          ${CT_SYSROOT_DIR}
bartvdrmeulen@2017
    47
bartvdrmeulen@2017
    48
    CT_EndStep
bartvdrmeulen@2017
    49
}
bartvdrmeulen@2017
    50
bartvdrmeulen@2017
    51
do_libc_start_files() {
bartvdrmeulen@2017
    52
    :
bartvdrmeulen@2017
    53
}
bartvdrmeulen@2017
    54
bartvdrmeulen@2017
    55
do_libc() {
bartvdrmeulen@2017
    56
    CT_DoStep INFO "Building MinGW files"
bartvdrmeulen@2017
    57
bartvdrmeulen@2017
    58
    CT_DoLog EXTRA "Configuring W32-API"
bartvdrmeulen@2017
    59
bartvdrmeulen@2017
    60
    mkdir -p "${CT_BUILD_DIR}/build-w32api"
bartvdrmeulen@2017
    61
    cd "${CT_BUILD_DIR}/build-w32api"
bartvdrmeulen@2017
    62
bartvdrmeulen@2017
    63
    CFLAGS="-I${CT_SYSROOT_DIR}/include"                          \
bartvdrmeulen@2017
    64
    LDFLAGS="-L${CT_SYSROOT_DIR}/lib"                             \
bartvdrmeulen@2017
    65
    CT_DoExecLog ALL                                              \
bartvdrmeulen@2017
    66
    "${CT_SRC_DIR}/w32api-${CT_W32API_VERSION}-mingw32/configure" \
bartvdrmeulen@2017
    67
        --prefix=${CT_SYSROOT_DIR}                                \
bartvdrmeulen@2017
    68
        --host=${CT_TARGET}
bartvdrmeulen@2017
    69
bartvdrmeulen@2017
    70
    CT_DoLog EXTRA "Building W32-API"
bartvdrmeulen@2017
    71
    CT_DoExecLog ALL make ${PARALLELMFLAGS}
bartvdrmeulen@2017
    72
bartvdrmeulen@2017
    73
    CT_DoLog EXTRA "Installing W32-API"
bartvdrmeulen@2017
    74
    CT_DoExecLog ALL make install
bartvdrmeulen@2017
    75
bartvdrmeulen@2017
    76
    CT_DoLog EXTRA "Configuring MinGW Runtime"
bartvdrmeulen@2017
    77
bartvdrmeulen@2017
    78
    mkdir -p "${CT_BUILD_DIR}/build-mingwrt"
bartvdrmeulen@2017
    79
    cd "${CT_BUILD_DIR}/build-mingwrt"
bartvdrmeulen@2017
    80
bartvdrmeulen@2017
    81
    CFLAGS="-I${CT_SYSROOT_DIR}/include"                            \
bartvdrmeulen@2017
    82
    LDFLAGS="-L${CT_SYSROOT_DIR}/lib"                               \
bartvdrmeulen@2017
    83
    CT_DoExecLog ALL                                                \
bartvdrmeulen@2017
    84
    "${CT_SRC_DIR}/mingwrt-${CT_MINGWRT_VERSION}-mingw32/configure" \
bartvdrmeulen@2017
    85
        --prefix=${CT_SYSROOT_DIR}/                                 \
bartvdrmeulen@2017
    86
        --host=${CT_TARGET}
bartvdrmeulen@2017
    87
bartvdrmeulen@2017
    88
    CT_DoLog EXTRA "Building MinGW Runtime"
bartvdrmeulen@2017
    89
    CT_DoExecLog ALL make ${PARALLELMFLAGS}
bartvdrmeulen@2017
    90
bartvdrmeulen@2017
    91
    CT_DoLog EXTRA "Installing MinGW Runtime"
bartvdrmeulen@2017
    92
    CT_DoExecLog ALL make install
bartvdrmeulen@2017
    93
bartvdrmeulen@2017
    94
    CT_EndStep
bartvdrmeulen@2017
    95
}
bartvdrmeulen@2017
    96
bartvdrmeulen@2017
    97
do_libc_finish() {
bartvdrmeulen@2018
    98
    CT_DoStep INFO "Installing MinGW Development libraries"
bartvdrmeulen@2018
    99
bartvdrmeulen@2018
   100
    CT_Pushd "${CT_SYSROOT_DIR}"
bartvdrmeulen@2018
   101
    if [ -n "${CT_MINGW_DIRECTX}" ]; then
bartvdrmeulen@2018
   102
        CT_DoLog EXTRA "Installing DirectX development package"
bartvdrmeulen@2018
   103
        CT_Extract nochdir "directx-devel"
bartvdrmeulen@2018
   104
    fi
bartvdrmeulen@2018
   105
    if [ -n "${CT_MINGW_OPENGL}" ]; then
bartvdrmeulen@2018
   106
        CT_DoLog EXTRA "Installing OpenGL development package"
bartvdrmeulen@2018
   107
        CT_Extract nochdir "opengl-devel"
bartvdrmeulen@2018
   108
    fi
bartvdrmeulen@2018
   109
    CT_Popd
bartvdrmeulen@2018
   110
bartvdrmeulen@2018
   111
    if [ -n "${CT_MINGW_PDCURSES}" ]; then
bartvdrmeulen@2018
   112
        CT_DoLog EXTRA "Building PDCurses development files"
bartvdrmeulen@2018
   113
        mkdir -p "${CT_BUILD_DIR}/build-pdcurses"
bartvdrmeulen@2018
   114
        cd "${CT_BUILD_DIR}/build-pdcurses"
bartvdrmeulen@2018
   115
bartvdrmeulen@2018
   116
        make -f ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/win32/mingwin32.mak libs \
bartvdrmeulen@2018
   117
            PDCURSES_SRCDIR=${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION} \
bartvdrmeulen@2018
   118
            CROSS_COMPILE=${CT_TARGET}-
bartvdrmeulen@2018
   119
bartvdrmeulen@2018
   120
        CT_DoLog EXTRA "Installing PDCurses development files"
bartvdrmeulen@2018
   121
        chmod a+r ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/*.h
bartvdrmeulen@2018
   122
        cp ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/*.h \
bartvdrmeulen@2018
   123
           ${CT_SYSROOT_DIR}/include
bartvdrmeulen@2018
   124
        cp pdcurses.a ${CT_SYSROOT_DIR}/lib/libpdcurses.a
bartvdrmeulen@2018
   125
        cp pdcurses.a ${CT_SYSROOT_DIR}/lib/libncurses.a
bartvdrmeulen@2018
   126
    fi
bartvdrmeulen@2018
   127
bartvdrmeulen@2018
   128
    if [ -n "${CT_MINGW_GNURX}" ]; then
bartvdrmeulen@2018
   129
        CT_DoLog EXTRA "Configuring GnuRX development files"
bartvdrmeulen@2018
   130
bartvdrmeulen@2018
   131
        mkdir -p "${CT_BUILD_DIR}/build-gnurx"
bartvdrmeulen@2018
   132
        cd "${CT_BUILD_DIR}/build-gnurx"
bartvdrmeulen@2018
   133
bartvdrmeulen@2018
   134
        CFLAGS="${CT_CFLAGS_FOR_TARGET}"                \
bartvdrmeulen@2018
   135
        CT_DoExecLog ALL                                \
bartvdrmeulen@2018
   136
        "${CT_SRC_DIR}/mingw-libgnurx-${CT_MINGW_GNURX_VERSION}/configure" \
bartvdrmeulen@2018
   137
            --build=${CT_BUILD}           \
bartvdrmeulen@2018
   138
            --host=${CT_TARGET}           \
bartvdrmeulen@2018
   139
            --prefix=${CT_SYSROOT_DIR}    \
bartvdrmeulen@2018
   140
            --enable-shared               \
bartvdrmeulen@2018
   141
            --enable-static
bartvdrmeulen@2018
   142
bartvdrmeulen@2018
   143
        CT_DoLog EXTRA "Building GnuRX development files"
bartvdrmeulen@2018
   144
        CT_DoExecLog ALL make ${PARALLELMFLAGS}
bartvdrmeulen@2018
   145
bartvdrmeulen@2018
   146
        CT_DoLog EXTRA "Installing GnuRX development files"
bartvdrmeulen@2018
   147
        CT_DoExecLog ALL make install-dev
bartvdrmeulen@2018
   148
    fi
bartvdrmeulen@2018
   149
bartvdrmeulen@2018
   150
    CT_EndStep
bartvdrmeulen@2017
   151
}
bartvdrmeulen@2017
   152