scripts/build/libc/mingw.sh
author Bart vdr Meulen <bartvdrmeulen@gmail.com>
Sun Jul 11 21:36:55 2010 +0200 (2010-07-11)
changeset 2018 860de6018501
parent 2017 f637b6c2162b
child 2085 198c99380191
permissions -rw-r--r--
kernel/mingw: add target libraries

Add several development libraries to the build of the mingw cross-compiler
to be used on target

Libraries:
PDCurses (port of the ncurses library)
GnuRX (the regex library)
DirectX
OpenGL

Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
[yann.morin.1998@anciens.enib.fr: don't show DX and RX versions if disabled]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
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