scripts/build/libc/mingw.sh
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Jan 03 23:40:22 2011 +0100 (2011-01-03)
changeset 2267 7af68e6083aa
parent 2087 fefd9a3f8180
child 2269 8a8dd36b1087
child 2291 075510bba768
permissions -rw-r--r--
libc-glibc: remove 2.3.6

This is an obsolete version which is no longer used by any sample (the only
user, the ia64 sample, has been removed).

It also makes the code path a bit complex, with twists just to accomodate
that version. Removing the version will make those twists go away, and
will ease commonalisation of glibc and eglibc in the future (hopefully!).

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