scripts/build/libc/mingw.sh
author Esben Haabendal <eha@doredevelopment.dk>
Sat Aug 14 23:21:06 2010 +0200 (2010-08-14)
changeset 2085 198c99380191
parent 2018 860de6018501
child 2086 32f29d1e2db1
permissions -rw-r--r--
libc/mingw: use pre-set headers dir

There is a variable that contains the headers directory,
so there's no need to re-compute it again.

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