scripts/build/libc/mingw.sh
author "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
Thu Aug 18 16:05:48 2011 +0200 (2011-08-18)
changeset 2612 a52574521bea
parent 2354 c7fa1f177830
child 3112 6cb56b3f2d34
permissions -rw-r--r--
debug/gdb: update GDB revisions

Update GDB with the latest available revisions.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
     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}-src"
    33     fi
    34 }
    35 
    36 do_libc_check_config() {
    37     :
    38 }
    39 
    40 do_libc_start_files() {
    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-src/include/* \
    46           ${CT_HEADERS_DIR}
    47 
    48     # It seems mingw is strangely set up to look into /mingw instead of
    49     # /usr (notably when looking for the headers). This symlink is
    50     # here to workaround this, and seems to be here to last... :-/
    51     CT_DoExecLog ALL ln -sv "usr" "${CT_SYSROOT_DIR}/mingw"
    52 
    53     CT_EndStep
    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     CT_DoExecLog CFG                                                  \
    65     CFLAGS="-I${CT_HEADERS_DIR}"                                      \
    66     LDFLAGS="-L${CT_SYSROOT_DIR}/lib"                                 \
    67     "${CT_SRC_DIR}/w32api-${CT_W32API_VERSION}-mingw32-src/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 ${JOBSFLAGS}
    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     CT_DoExecLog CFG                                                    \
    84     CFLAGS="-I${CT_HEADERS_DIR}"                                        \
    85     LDFLAGS="-L${CT_SYSROOT_DIR}/lib"                                   \
    86     "${CT_SRC_DIR}/mingwrt-${CT_MINGWRT_VERSION}-mingw32-src/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 ${JOBSFLAGS}
    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     CT_DoStep INFO "Installing MinGW Development libraries"
   102 
   103     CT_Pushd "${CT_SYSROOT_DIR}"
   104     if [ -n "${CT_MINGW_DIRECTX}" ]; then
   105         CT_DoLog EXTRA "Installing DirectX development package"
   106         CT_Extract nochdir "directx-devel"
   107     fi
   108     if [ -n "${CT_MINGW_OPENGL}" ]; then
   109         CT_DoLog EXTRA "Installing OpenGL development package"
   110         CT_Extract nochdir "opengl-devel"
   111     fi
   112     CT_Popd
   113 
   114     if [ -n "${CT_MINGW_PDCURSES}" ]; then
   115         CT_DoLog EXTRA "Building PDCurses development files"
   116         mkdir -p "${CT_BUILD_DIR}/build-pdcurses"
   117         cd "${CT_BUILD_DIR}/build-pdcurses"
   118 
   119         make -f ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/win32/mingwin32.mak libs \
   120             PDCURSES_SRCDIR=${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION} \
   121             CROSS_COMPILE=${CT_TARGET}-
   122 
   123         CT_DoLog EXTRA "Installing PDCurses development files"
   124         chmod a+r ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/*.h
   125         cp ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/*.h \
   126            ${CT_HEADERS_DIR}/
   127         cp pdcurses.a ${CT_SYSROOT_DIR}/lib/libpdcurses.a
   128         cp pdcurses.a ${CT_SYSROOT_DIR}/lib/libncurses.a
   129     fi
   130 
   131     if [ -n "${CT_MINGW_GNURX}" ]; then
   132         CT_DoLog EXTRA "Configuring GnuRX development files"
   133 
   134         mkdir -p "${CT_BUILD_DIR}/build-gnurx"
   135         cd "${CT_BUILD_DIR}/build-gnurx"
   136 
   137         CT_DoExecLog CFG                                                        \
   138         CFLAGS="${CT_CFLAGS_FOR_TARGET}"                                        \
   139         "${CT_SRC_DIR}/mingw-libgnurx-${CT_MINGW_GNURX_VERSION}-src/configure"  \
   140             --build=${CT_BUILD}                                                 \
   141             --host=${CT_TARGET}                                                 \
   142             --prefix=${CT_SYSROOT_DIR}                                          \
   143             --includedir=${CT_HEADERS_DIR}                                      \
   144             --enable-shared                                                     \
   145             --enable-static
   146 
   147         CT_DoLog EXTRA "Building GnuRX development files"
   148         CT_DoExecLog ALL make ${JOBSFLAGS}
   149 
   150         CT_DoLog EXTRA "Installing GnuRX development files"
   151         CT_DoExecLog ALL make install-dev
   152     fi
   153 
   154     CT_EndStep
   155 }
   156