1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/config/libc/mingw.in.2 Sun Jul 11 21:36:55 2010 +0200
1.3 @@ -0,0 +1,76 @@
1.4 +# Part-2 of mingw C library options: development libraries
1.5 +
1.6 +config MINGW_DIRECTX
1.7 + bool
1.8 + prompt "Include DirectX development files"
1.9 + default n
1.10 +
1.11 +config MINGW_OPENGL
1.12 + bool
1.13 + prompt "Include OpenGL development files"
1.14 + default n
1.15 +
1.16 +config MINGW_PDCURSES
1.17 + bool
1.18 + prompt "Include PDCurses (NCurses library) development files"
1.19 + default n
1.20 +
1.21 +choice
1.22 + bool
1.23 + prompt "PDCurses library version"
1.24 + depends on MINGW_PDCURSES
1.25 +
1.26 +config MINGW_PDCURSES_V_3_4
1.27 + bool
1.28 + prompt "3.4"
1.29 +
1.30 +# CT_INSERT_VERSION_ABOVE
1.31 +# Don't remove above line!
1.32 +
1.33 +config MINGW_PDCURSES_V_select
1.34 + bool
1.35 + prompt "Other version"
1.36 +
1.37 +endchoice
1.38 +
1.39 +config MINGW_PDCURSES_VERSION
1.40 + string
1.41 + prompt "PDCurses library version" if MINGW_PDCURSES_V_select
1.42 + default "3.4" if MINGW_PDCURSES_V_3_4
1.43 +# CT_INSERT_VERSION_STRING_ABOVE
1.44 +# Don't remove above line!
1.45 + help
1.46 + Enter the version number of the PDCurses library to use
1.47 +
1.48 +config MINGW_GNURX
1.49 + bool
1.50 + prompt "Include GnuRX (regex library) development files"
1.51 + default n
1.52 +
1.53 +choice
1.54 + bool
1.55 + prompt "GnuRX library version"
1.56 + depends on MINGW_GNURX
1.57 +
1.58 +config MINGW_GNURX_V_2_5_1
1.59 + bool
1.60 + prompt "2.5.1"
1.61 +
1.62 +# CT_INSERT_VERSION_ABOVE
1.63 +# Don't remove above line!
1.64 +
1.65 +config MINGW_GNURX_V_select
1.66 + bool
1.67 + prompt "Other version"
1.68 +
1.69 +endchoice
1.70 +
1.71 +config MINGW_GNURX_VERSION
1.72 + string
1.73 + prompt "GnuRX library version" if MINGW_GNURX_V_select
1.74 + default "2.5.1" if MINGW_GNURX_V_2_5_1
1.75 +# CT_INSERT_VERSION_STRING_ABOVE
1.76 +# Don't remove above line!
1.77 + help
1.78 + Enter the version number of the Regex library to use
1.79 +
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/patches/PDCurses/3.4/mingw32_cross_compile.patch Sun Jul 11 21:36:55 2010 +0200
2.3 @@ -0,0 +1,87 @@
2.4 +--- PDCurses-3.4.orig/win32/mingwin32.mak 2009-11-02 13:50:11.000000000 +0100
2.5 ++++ PDCurses-3.4/win32/mingwin32.mak 2009-11-02 13:53:43.000000000 +0100
2.6 +@@ -18,7 +18,7 @@
2.7 +
2.8 + PDCURSES_WIN_H = $(osdir)/pdcwin.h
2.9 +
2.10 +-CC = gcc
2.11 ++CC = $(CROSS_COMPILE)gcc
2.12 +
2.13 + ifeq ($(DEBUG),Y)
2.14 + CFLAGS = -g -Wall -DPDCDEBUG
2.15 +@@ -30,8 +30,8 @@
2.16 +
2.17 + CFLAGS += -I$(PDCURSES_SRCDIR)
2.18 +
2.19 +-BASEDEF = $(PDCURSES_SRCDIR)\exp-base.def
2.20 +-WIDEDEF = $(PDCURSES_SRCDIR)\exp-wide.def
2.21 ++BASEDEF = $(PDCURSES_SRCDIR)/exp-base.def
2.22 ++WIDEDEF = $(PDCURSES_SRCDIR)/exp-wide.def
2.23 +
2.24 + DEFDEPS = $(BASEDEF)
2.25 +
2.26 +@@ -46,17 +46,17 @@
2.27 +
2.28 + DEFFILE = pdcurses.def
2.29 +
2.30 +-LINK = gcc
2.31 ++LINK = $(CROSS_COMPILE)gcc
2.32 +
2.33 + ifeq ($(DLL),Y)
2.34 + CFLAGS += -DPDC_DLL_BUILD
2.35 +- LIBEXE = gcc $(DEFFILE)
2.36 ++ LIBEXE = $(CROSS_COMPILE)gcc $(DEFFILE)
2.37 + LIBFLAGS = -Wl,--out-implib,pdcurses.a -shared -o
2.38 + LIBCURSES = pdcurses.dll
2.39 + LIBDEPS = $(LIBOBJS) $(PDCOBJS) $(DEFFILE)
2.40 + CLEAN = $(LIBCURSES) *.a $(DEFFILE)
2.41 + else
2.42 +- LIBEXE = ar
2.43 ++ LIBEXE = $(CROSS_COMPILE)ar
2.44 + LIBFLAGS = rcv
2.45 + LIBCURSES = pdcurses.a
2.46 + LIBDEPS = $(LIBOBJS) $(PDCOBJS)
2.47 +@@ -70,24 +70,24 @@
2.48 + libs: $(LIBCURSES)
2.49 +
2.50 + clean:
2.51 +- -del *.o
2.52 +- -del *.exe
2.53 +- -del $(CLEAN)
2.54 ++ -rm *.o
2.55 ++ -rm *.exe
2.56 ++ -rm $(CLEAN)
2.57 +
2.58 + demos: $(DEMOS)
2.59 +- strip *.exe
2.60 ++ $(CROSS_COMPILE)strip *.exe
2.61 +
2.62 + $(DEFFILE): $(DEFDEPS)
2.63 + echo LIBRARY pdcurses > $@
2.64 + echo EXPORTS >> $@
2.65 +- type $(BASEDEF) >> $@
2.66 ++ cat $(BASEDEF) >> $@
2.67 + ifeq ($(WIDE),Y)
2.68 +- type $(WIDEDEF) >> $@
2.69 ++ cat $(WIDEDEF) >> $@
2.70 + endif
2.71 +
2.72 + $(LIBCURSES) : $(LIBDEPS)
2.73 + $(LIBEXE) $(LIBFLAGS) $@ $?
2.74 +- -copy pdcurses.a panel.a
2.75 ++ -cp pdcurses.a panel.a
2.76 +
2.77 + $(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS)
2.78 + $(PDCOBJS) : $(PDCURSES_WIN_H)
2.79 +--- PDCurses-3.4.orig/curses.h 2009-11-03 14:12:18.000000000 +0100
2.80 ++++ PDCurses-3.4./curses.h 2009-11-03 14:14:09.000000000 +0100
2.81 +@@ -82,7 +82,9 @@
2.82 + *
2.83 + */
2.84 +
2.85 ++#ifndef __bool_true_false_are_defined
2.86 + typedef unsigned char bool; /* PDCurses Boolean type */
2.87 ++#endif
2.88 +
2.89 + #ifdef CHTYPE_LONG
2.90 + # if _LP64
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/patches/mingw-libgnurx/2.5.1/build-static-library.patch Sun Jul 11 21:36:55 2010 +0200
3.3 @@ -0,0 +1,103 @@
3.4 +--- mingw-libgnurx-2.5.1.orig/configure 2009-11-03 08:19:15.000000000 +0100
3.5 ++++ mingw-libgnurx-2.5.1/configure 2009-11-03 08:31:37.000000000 +0100
3.6 +@@ -273,7 +273,7 @@
3.7 + PACKAGE_STRING='MinGW libgnurx 2.5.1'
3.8 + PACKAGE_BUGREPORT='https://sourceforge.net/tracker/?group_id=2435&atid=102435'
3.9 +
3.10 +-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CC_QUALIFIED DLLVERSION ZIPCMD ZIPEXT MSVCLIB ac_ct_MSVCLIB GNURX_LIB install_dev LIBOBJS LTLIBOBJS'
3.11 ++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CC_QUALIFIED AR DLLVERSION ZIPCMD ZIPEXT MSVCLIB ac_ct_MSVCLIB GNURX_LIB install_dev LIBOBJS LTLIBOBJS'
3.12 + ac_subst_files=''
3.13 +
3.14 + # Initialize some variables set by options.
3.15 +@@ -2190,21 +2190,54 @@
3.16 +
3.17 + fi
3.18 + rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
3.19 +-ac_ext=c
3.20 +-ac_cpp='$CPP $CPPFLAGS'
3.21 +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3.22 +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3.23 +-ac_compiler_gnu=$ac_cv_c_compiler_gnu
3.24 +
3.25 +- ac_ext=c
3.26 ++
3.27 ++for ac_prog in ar; do
3.28 ++set dummy ${ac_tool_prefix}$ac_prog; ac_word=$2
3.29 ++echo "$as_me:$LINENO: checking for $ac_word" >&5
3.30 ++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
3.31 ++if test "${ac_cv_prog_AR+set}" = set; then
3.32 ++ echo $ECHO_N "(cached) $ECHO_C" >&6
3.33 ++else
3.34 ++ if test -n "$AR"; then
3.35 ++ ac_cv_prog_AR="$AR" # Let the user override the test.
3.36 ++else
3.37 ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3.38 ++for as_dir in $PATH
3.39 ++do
3.40 ++ IFS=$as_save_IFS
3.41 ++ test -z "$as_dir" && as_dir=.
3.42 ++ for ac_exec_ext in '' $ac_executable_extensions; do
3.43 ++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
3.44 ++ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
3.45 ++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
3.46 ++ break 2
3.47 ++ fi
3.48 ++done
3.49 ++done
3.50 ++
3.51 ++ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
3.52 ++fi
3.53 ++fi
3.54 ++AR=$ac_cv_prog_AR
3.55 ++if test -n "$AR"; then
3.56 ++ echo "$as_me:$LINENO: result: $AR" >&5
3.57 ++echo "${ECHO_T}$AR" >&6
3.58 ++else
3.59 ++ echo "$as_me:$LINENO: result: no" >&5
3.60 ++echo "${ECHO_T}no" >&6
3.61 ++fi
3.62 ++done
3.63 ++
3.64 ++ac_ext=c
3.65 + ac_cpp='$CPP $CPPFLAGS'
3.66 + ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3.67 + ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3.68 + ac_compiler_gnu=$ac_cv_c_compiler_gnu
3.69 +
3.70 +- popCFLAGS=$CFLAGS
3.71 +- echo 'int main(void){return 0;}' > conftest.$ac_ext
3.72 +- echo "$as_me:$LINENO: checking whether $CC accepts the -mthreads option" >&5
3.73 ++popCFLAGS=$CFLAGS
3.74 ++echo 'int main(void){return 0;}' > conftest.$ac_ext
3.75 ++echo "$as_me:$LINENO: checking whether $CC accepts the -mthreads option" >&5
3.76 + echo $ECHO_N "checking whether $CC accepts the -mthreads option... $ECHO_C" >&6
3.77 + CFLAGS="$popCFLAGS $CC_QUALIFIED -mthreads"
3.78 + if (eval $ac_compile) 2>&5; then
3.79 +@@ -3038,6 +3069,7 @@
3.80 + s,@EXEEXT@,$EXEEXT,;t t
3.81 + s,@OBJEXT@,$OBJEXT,;t t
3.82 + s,@CC_QUALIFIED@,$CC_QUALIFIED,;t t
3.83 ++s,@AR@,$AR,;t t
3.84 + s,@DLLVERSION@,$DLLVERSION,;t t
3.85 + s,@ZIPCMD@,$ZIPCMD,;t t
3.86 + s,@ZIPEXT@,$ZIPEXT,;t t
3.87 +--- mingw-libgnurx-2.5.1.orig/Makefile.in 2009-11-03 08:17:49.000000000 +0100
3.88 ++++ mingw-libgnurx-2.5.1/Makefile.in 2009-11-03 08:57:37.000000000 +0100
3.89 +@@ -39,6 +39,7 @@
3.90 + mandir = @mandir@
3.91 +
3.92 + CC = @CC_QUALIFIED@
3.93 ++AR = @AR@
3.94 + CFLAGS = @CFLAGS@ -I ${srcdir}
3.95 + LDFLAGS = @LDFLAGS@
3.96 +
3.97 +@@ -67,8 +68,8 @@
3.98 + libgnurx-$(DLLVERSION).dll libgnurx.dll.a: $(OBJECTS)
3.99 + $(CC) $(CFLAGS) -shared -o libgnurx-$(DLLVERSION).dll $(LDFLAGS) $(OBJECTS)
3.100 +
3.101 +-libregex.a: libgnurx.dll.a
3.102 +- cp -p libgnurx.dll.a $@
3.103 ++libregex.a: $(OBJECTS)
3.104 ++ $(AR) cru $@ $(OBJECTS)
3.105 +
3.106 + gnurx.lib: libgnurx-$(DLLVERSION).dll
4.1 --- a/scripts/build/libc/mingw.sh Sun Jul 11 21:36:20 2010 +0200
4.2 +++ b/scripts/build/libc/mingw.sh Sun Jul 11 21:36:55 2010 +0200
4.3 @@ -1,10 +1,36 @@
4.4 do_libc_get() {
4.5 CT_GetFile "mingwrt-${CT_MINGWRT_VERSION}-mingw32-src" \
4.6 http://downloads.sourceforge.net/sourceforge/mingw
4.7 +
4.8 + if [ -n "${CT_MINGW_DIRECTX}" ]; then
4.9 + CT_GetFile "directx-devel" \
4.10 + http://www.libsdl.org/extras/win32/common
4.11 + fi
4.12 + if [ -n "${CT_MINGW_OPENGL}" ]; then
4.13 + CT_GetFile "opengl-devel" \
4.14 + http://www.libsdl.org/extras/win32/common
4.15 + fi
4.16 + if [ -n "${CT_MINGW_PDCURSES}" ]; then
4.17 + CT_GetFile "PDCurses-${CT_MINGW_PDCURSES_VERSION}" \
4.18 + http://downloads.sourceforge.net/sourceforge/pdcurses
4.19 + fi
4.20 + if [ -n "${CT_MINGW_GNURX}" ]; then
4.21 + CT_GetFile "mingw-libgnurx-${CT_MINGW_GNURX_VERSION}-src" \
4.22 + http://downloads.sourceforge.net/sourceforge/mingw
4.23 + fi
4.24 }
4.25
4.26 do_libc_extract() {
4.27 CT_Extract "mingwrt-${CT_MINGWRT_VERSION}-mingw32-src"
4.28 +
4.29 + if [ -n "${CT_MINGW_PDCURSES}" ]; then
4.30 + CT_Extract "PDCurses-${CT_MINGW_PDCURSES_VERSION}"
4.31 + CT_Patch "PDCurses" "${CT_MINGW_PDCURSES_VERSION}"
4.32 + fi
4.33 + if [ -n "${CT_MINGW_GNURX}" ]; then
4.34 + CT_Extract "mingw-libgnurx-${CT_MINGW_GNURX_VERSION}-src"
4.35 + CT_Patch "mingw-libgnurx" "${CT_MINGW_GNURX_VERSION}"
4.36 + fi
4.37 }
4.38
4.39 do_libc_check_config() {
4.40 @@ -69,6 +95,58 @@
4.41 }
4.42
4.43 do_libc_finish() {
4.44 - :
4.45 + CT_DoStep INFO "Installing MinGW Development libraries"
4.46 +
4.47 + CT_Pushd "${CT_SYSROOT_DIR}"
4.48 + if [ -n "${CT_MINGW_DIRECTX}" ]; then
4.49 + CT_DoLog EXTRA "Installing DirectX development package"
4.50 + CT_Extract nochdir "directx-devel"
4.51 + fi
4.52 + if [ -n "${CT_MINGW_OPENGL}" ]; then
4.53 + CT_DoLog EXTRA "Installing OpenGL development package"
4.54 + CT_Extract nochdir "opengl-devel"
4.55 + fi
4.56 + CT_Popd
4.57 +
4.58 + if [ -n "${CT_MINGW_PDCURSES}" ]; then
4.59 + CT_DoLog EXTRA "Building PDCurses development files"
4.60 + mkdir -p "${CT_BUILD_DIR}/build-pdcurses"
4.61 + cd "${CT_BUILD_DIR}/build-pdcurses"
4.62 +
4.63 + make -f ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/win32/mingwin32.mak libs \
4.64 + PDCURSES_SRCDIR=${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION} \
4.65 + CROSS_COMPILE=${CT_TARGET}-
4.66 +
4.67 + CT_DoLog EXTRA "Installing PDCurses development files"
4.68 + chmod a+r ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/*.h
4.69 + cp ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/*.h \
4.70 + ${CT_SYSROOT_DIR}/include
4.71 + cp pdcurses.a ${CT_SYSROOT_DIR}/lib/libpdcurses.a
4.72 + cp pdcurses.a ${CT_SYSROOT_DIR}/lib/libncurses.a
4.73 + fi
4.74 +
4.75 + if [ -n "${CT_MINGW_GNURX}" ]; then
4.76 + CT_DoLog EXTRA "Configuring GnuRX development files"
4.77 +
4.78 + mkdir -p "${CT_BUILD_DIR}/build-gnurx"
4.79 + cd "${CT_BUILD_DIR}/build-gnurx"
4.80 +
4.81 + CFLAGS="${CT_CFLAGS_FOR_TARGET}" \
4.82 + CT_DoExecLog ALL \
4.83 + "${CT_SRC_DIR}/mingw-libgnurx-${CT_MINGW_GNURX_VERSION}/configure" \
4.84 + --build=${CT_BUILD} \
4.85 + --host=${CT_TARGET} \
4.86 + --prefix=${CT_SYSROOT_DIR} \
4.87 + --enable-shared \
4.88 + --enable-static
4.89 +
4.90 + CT_DoLog EXTRA "Building GnuRX development files"
4.91 + CT_DoExecLog ALL make ${PARALLELMFLAGS}
4.92 +
4.93 + CT_DoLog EXTRA "Installing GnuRX development files"
4.94 + CT_DoExecLog ALL make install-dev
4.95 + fi
4.96 +
4.97 + CT_EndStep
4.98 }
4.99