scripts/build/libc/mingw.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Jan 22 22:35:43 2011 +0100 (2011-01-22)
changeset 2275 9ab4392430ad
parent 2269 8a8dd36b1087
child 2278 e86826b8621a
permissions -rw-r--r--
scripts: PARALLELMFLAGS is evil, rename

The reunification of the glibc/eglibc code paths exposed a nasty
bug in the glibc build: use of PARALLELMFLAGS breaks the build.

See the explanations in that bug report against FC6:
https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=212111

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() {
yann@2269
    41
    :
yann@2269
    42
}
yann@2269
    43
yann@2269
    44
do_libc_start_files() {
bartvdrmeulen@2017
    45
    CT_DoStep INFO "Installing C library headers"
bartvdrmeulen@2017
    46
bartvdrmeulen@2017
    47
    CT_DoLog EXTRA "Installing MinGW Runtime headers"
eha@2085
    48
    mkdir -p "${CT_HEADERS_DIR}"
eha@2085
    49
    cp -r ${CT_SRC_DIR}/mingwrt-${CT_MINGWRT_VERSION}-mingw32/include/* \
eha@2085
    50
          ${CT_HEADERS_DIR}
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
eha@2085
    64
    CFLAGS="-I${CT_HEADERS_DIR}"                                  \
bartvdrmeulen@2017
    65
    LDFLAGS="-L${CT_SYSROOT_DIR}/lib"                             \
anthony@2154
    66
    CT_DoExecLog CFG                                              \
bartvdrmeulen@2017
    67
    "${CT_SRC_DIR}/w32api-${CT_W32API_VERSION}-mingw32/configure" \
bartvdrmeulen@2017
    68
        --prefix=${CT_SYSROOT_DIR}                                \
eha@2086
    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
eha@2085
    83
    CFLAGS="-I${CT_HEADERS_DIR}"                                    \
bartvdrmeulen@2017
    84
    LDFLAGS="-L${CT_SYSROOT_DIR}/lib"                               \
anthony@2154
    85
    CT_DoExecLog CFG                                                \
bartvdrmeulen@2017
    86
    "${CT_SRC_DIR}/mingwrt-${CT_MINGWRT_VERSION}-mingw32/configure" \
bartvdrmeulen@2017
    87
        --prefix=${CT_SYSROOT_DIR}/                                 \
eha@2086
    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() {
eha@2086
   101
    # Remove the build-symlink now it is no longer needed.
eha@2086
   102
    CT_DoExecLog ALL rm -f "${CT_SYSROOT_DIR}/mingw"
eha@2086
   103
bartvdrmeulen@2018
   104
    CT_DoStep INFO "Installing MinGW Development libraries"
bartvdrmeulen@2018
   105
bartvdrmeulen@2018
   106
    CT_Pushd "${CT_SYSROOT_DIR}"
bartvdrmeulen@2018
   107
    if [ -n "${CT_MINGW_DIRECTX}" ]; then
bartvdrmeulen@2018
   108
        CT_DoLog EXTRA "Installing DirectX development package"
bartvdrmeulen@2018
   109
        CT_Extract nochdir "directx-devel"
bartvdrmeulen@2018
   110
    fi
bartvdrmeulen@2018
   111
    if [ -n "${CT_MINGW_OPENGL}" ]; then
bartvdrmeulen@2018
   112
        CT_DoLog EXTRA "Installing OpenGL development package"
bartvdrmeulen@2018
   113
        CT_Extract nochdir "opengl-devel"
bartvdrmeulen@2018
   114
    fi
bartvdrmeulen@2018
   115
    CT_Popd
bartvdrmeulen@2018
   116
bartvdrmeulen@2018
   117
    if [ -n "${CT_MINGW_PDCURSES}" ]; then
bartvdrmeulen@2018
   118
        CT_DoLog EXTRA "Building PDCurses development files"
bartvdrmeulen@2018
   119
        mkdir -p "${CT_BUILD_DIR}/build-pdcurses"
bartvdrmeulen@2018
   120
        cd "${CT_BUILD_DIR}/build-pdcurses"
bartvdrmeulen@2018
   121
bartvdrmeulen@2018
   122
        make -f ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/win32/mingwin32.mak libs \
bartvdrmeulen@2018
   123
            PDCURSES_SRCDIR=${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION} \
bartvdrmeulen@2018
   124
            CROSS_COMPILE=${CT_TARGET}-
bartvdrmeulen@2018
   125
bartvdrmeulen@2018
   126
        CT_DoLog EXTRA "Installing PDCurses development files"
bartvdrmeulen@2018
   127
        chmod a+r ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/*.h
bartvdrmeulen@2018
   128
        cp ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/*.h \
eha@2086
   129
           ${CT_HEADERS_DIR}/
bartvdrmeulen@2018
   130
        cp pdcurses.a ${CT_SYSROOT_DIR}/lib/libpdcurses.a
bartvdrmeulen@2018
   131
        cp pdcurses.a ${CT_SYSROOT_DIR}/lib/libncurses.a
bartvdrmeulen@2018
   132
    fi
bartvdrmeulen@2018
   133
bartvdrmeulen@2018
   134
    if [ -n "${CT_MINGW_GNURX}" ]; then
bartvdrmeulen@2018
   135
        CT_DoLog EXTRA "Configuring GnuRX development files"
bartvdrmeulen@2018
   136
bartvdrmeulen@2018
   137
        mkdir -p "${CT_BUILD_DIR}/build-gnurx"
bartvdrmeulen@2018
   138
        cd "${CT_BUILD_DIR}/build-gnurx"
bartvdrmeulen@2018
   139
yann@2087
   140
        CFLAGS="${CT_CFLAGS_FOR_TARGET}"                                    \
anthony@2154
   141
        CT_DoExecLog CFG                                                    \
yann@2087
   142
        "${CT_SRC_DIR}/mingw-libgnurx-${CT_MINGW_GNURX_VERSION}/configure"  \
yann@2087
   143
            --build=${CT_BUILD}                                             \
yann@2087
   144
            --host=${CT_TARGET}                                             \
yann@2087
   145
            --prefix=${CT_SYSROOT_DIR}                                      \
yann@2087
   146
            --includedir=${CT_HEADERS_DIR}                                  \
yann@2087
   147
            --enable-shared                                                 \
bartvdrmeulen@2018
   148
            --enable-static
bartvdrmeulen@2018
   149
bartvdrmeulen@2018
   150
        CT_DoLog EXTRA "Building GnuRX development files"
yann@2275
   151
        CT_DoExecLog ALL make ${JOBSFLAGS}
bartvdrmeulen@2018
   152
bartvdrmeulen@2018
   153
        CT_DoLog EXTRA "Installing GnuRX development files"
bartvdrmeulen@2018
   154
        CT_DoExecLog ALL make install-dev
bartvdrmeulen@2018
   155
    fi
bartvdrmeulen@2018
   156
bartvdrmeulen@2018
   157
    CT_EndStep
bartvdrmeulen@2017
   158
}
bartvdrmeulen@2017
   159