X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=README.MinGW;h=d111b38778406e5cceeb287cea0a467f0911e8f7;hp=2d405da6a5319b67448d8542c670738ec5826a61;hb=362db2575aed6b2c7a8d3928b39af51544502876;hpb=cef50b3afcd58166f3541b701c97bce538844c76 diff --git a/README.MinGW b/README.MinGW index 2d405da6..d111b387 100644 --- a/README.MinGW +++ b/README.MinGW @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Copyright (c) 2008 Free Software Foundation, Inc. -- +-- Copyright (c) 2008-2010,2011 Free Software Foundation, Inc. -- -- -- -- Permission is hereby granted, free of charge, to any person obtaining a -- -- copy of this software and associated documentation files (the -- @@ -25,28 +25,28 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: README.MinGW,v 1.3 2010/10/02 16:32:41 juergen Exp $ +-- $Id: README.MinGW,v 1.5 2011/02/26 16:57:17 tom Exp $ -- Author: Juergen Pfeifer ------------------------------------------------------------------------------- This is work in progress, but it's in an state where one can see it works at least on the Windows Console. -You should install the MSYS package, so that you've a shell environment -that allows you to run the scripts, especially configure etc. You can get -that from http://www.mingw.org - -To build ncurses for native Windows, you need the MinGW toolchain. The -original MinGW toolchain from above site is only for 32-Bit Windows. As -Windows Server - and even more and more regular workstations - are moving -to 64-Bit, it seems to be reasonable to have a toolchain that supports -both architectures. I recommend to use the TDM gcc toolchain which you -can find at http://tdm-gcc.tdragon.net/download. Go to the download section -and select the bundle installer for tdm64 (MinGW-w64). This installs a -multilib version of the gcc toolchain that can compile for native 32- and -64-Bit Windows versions. It also comes with a working pthread implementation. - -The latest config and build scripts we use for MinGW have only be tested +You should install the MSYS package, so that you've a shell environment that +allows you to run the scripts, especially configure etc. You can get that +from http://www.mingw.org + +To build ncurses for native Windows, you need the MinGW toolchain. The +original MinGW toolchain from the above site is only for 32-Bit Windows. As +Windows Server - and also regular workstations - are moving to 64-Bit, it +seems to be reasonable to have a toolchain that supports both architectures. +I recommend to use the TDM gcc toolchain which you can find at +http://tdm-gcc.tdragon.net/download. Go to the download section and select +the bundle installer for tdm64 (MinGW-w64). This installs a multilib version +of the gcc toolchain that can compile for native 32- and 64-Bit Windows +versions. It also comes with a working pthread implementation. + +The latest config and build scripts we use for MinGW have only been tested for the gcc-4.4 compiler toolchain (or better). Using MinGW is a pragmatic decision, it's the easiest way to port this @@ -65,8 +65,8 @@ It contains the LIB.EXE tool. You may also use this compiler to test writing native Windows programs using the ncurses DLLs without using MinGW then for writing apps. -Please unset the TERM environment variable, so that the Console driver -gets activated. +It is necessary to unset the TERM environment variable, to activate the +Windows console-driver. Please also make sure that MSYS links to the correct directory containing your MinGW toolchain. For TDM this is usually C:\MinGW64. In your Windows @@ -91,13 +91,39 @@ recommend to use these options with configure This is the configuration commandline as I'm using it at the moment: -./configure --prefix=/mingw --without-cxx-binding --without-ada --enable-warnings --enable-assertions --enable-reentrant --with-debug --with-normal --disable-home-terminfo --enable-sp-funcs --enable-term-driver --enable-interop --with-pthread +./configure \ + --prefix=/mingw \ + --without-cxx-binding \ + --without-ada \ + --enable-warnings \ + --enable-assertions \ + --enable-reentrant \ + --with-debug \ + --with-normal \ + --disable-home-terminfo \ + --enable-sp-funcs \ + --enable-term-driver \ + --enable-interop \ + --with-pthread If you are on a 64-Bit Windows system and want to build a 32-Bit version of ncurses, you may use this commandline for configuration (when using the TDM toolchain): -CC="gcc -m32" LD="ld -m32" ./configure --prefix=/mingw --without-cxx-binding --without-ada --enable-warnings --enable-assertions --enable-reentrant --with-debug --with-normal --disable-home-terminfo --enable-sp-funcs --enable-term-driver --enable-interop --with-pthread +CC="gcc -m32" LD="ld -m32" ./configure \ + --prefix=/mingw \ + --without-cxx-binding \ + --without-ada \ + --enable-warnings \ + --enable-assertions \ + --enable-reentrant \ + --with-debug \ + --with-normal \ + --disable-home-terminfo \ + --enable-sp-funcs \ + --enable-term-driver \ + --enable-interop \ + --with-pthread All the options above are - like the whole Windows support - experimental. @@ -106,10 +132,8 @@ In order to build the DLLs, after your regular make you must call make dlls - A lot is still TODO, e.g.: - - Mouse support for the Console - Wide Character support The Win32Con driver should actually only use Unicode in the future. @@ -118,6 +142,8 @@ A lot is still TODO, e.g.: - A GUI console driver - Support for Terminals attached via a serial port (via terminfo) - Support for networked Terminal connections (via terminfo) + - Workarounds for MinGW's filesystem access are necessary to make infocmp + work (though tic works). To support terminfo, we need to have an ioctl() simulation for the serial and networked Terminals.