(So far, just a new title, some minor updates, and a disclaimer in each section that has to be updated for the net release, or at least looked at.)
		
			
				
	
	
		
			671 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			671 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
@chapter History
 | 
						|
 | 
						|
@strong{(Please note: This section has not yet been updated for the latest
 | 
						|
net release.)}
 | 
						|
 | 
						|
@include changes.texinfo
 | 
						|
 | 
						|
@section Release Beta 19 (Feb 26 1998)
 | 
						|
 | 
						|
This is a major release.  It includes a much-updated version of the
 | 
						|
Cygwin32 library.  Because the Cygwin API has changed in incompatible
 | 
						|
ways, the dll has been renamed cygwinb19.dll to avoid invalidating
 | 
						|
previously built executables.
 | 
						|
 | 
						|
Note that a B19-compiled application exec()ing a B18-compiled
 | 
						|
application will treat the B18-compiled executable as an ordinary
 | 
						|
Win32 executable.  This means that open file descriptors and some other
 | 
						|
internals will not be inheritted on exec() calls.  The reason for this
 | 
						|
is that different shared memory areas are used by the different versions
 | 
						|
of the cygwin library.  This may or may not be of importance to you
 | 
						|
depending on what you're doing.
 | 
						|
 | 
						|
The Beta 19 release of the Cygwin32 library continues to be licensed
 | 
						|
under the GNU General Public License (GPL).
 | 
						|
 | 
						|
The PE format definition used by the compiler tools now matches
 | 
						|
Microsoft's more closely.  This should allow better interoperability
 | 
						|
with other vendors' development tools although more work probably
 | 
						|
remains to be done in this area.  This change invalidates all previously
 | 
						|
built object (.o) and static library (.a) files so be sure to
 | 
						|
delete/rebuild old .o and .a files you are using!
 | 
						|
 | 
						|
Finally, old symlinks are invalidated by this release.  The "system"
 | 
						|
attribute is now used to mark symlinks which significantly speeds
 | 
						|
up fstat and other file related calls.  Either recreate old ones or
 | 
						|
set their "system" attribute flag so they will be recognized properly.
 | 
						|
 | 
						|
The new installer takes care of all environment variable settings
 | 
						|
automatically by installing a shortcut in program files that pulls
 | 
						|
up a bash prompt with all the correct environment variables set.
 | 
						|
As a result, the setup process should be much cleaner than in the last
 | 
						|
release.
 | 
						|
 | 
						|
For those of you who end up moving the tools around, the batch file
 | 
						|
that sets up the default environment is called cygnus.bat and is
 | 
						|
installed in the root of the install directory.  Because the tools have
 | 
						|
been compiled to install in /cygnus/b19, when installed in this
 | 
						|
location, the tools should "just work" if the bin directory is in your
 | 
						|
path (no special environment variables are needed).  The only exception
 | 
						|
is MAKE_MODE which needs to be set if you want to get ordinary Unix-like
 | 
						|
make behavior -- see the make notes below for more information.
 | 
						|
 | 
						|
@subsection Changes in specific tools:
 | 
						|
 | 
						|
Ian Lance Taylor has written a resource compiler called "windres".
 | 
						|
It can be used to compile windows resources from a textual rc file
 | 
						|
into a COFF file.  The sources are in the binutils subdirectory of
 | 
						|
the sources.
 | 
						|
 | 
						|
We have upgraded many of the utilities.  Beta 19 includes bash 2.01.1,
 | 
						|
fileutils 3.16, gawk 3.0.3, patch 2.5, shellutils 1.16, tar 1.12,
 | 
						|
textutils 1.22, and texinfo 3.11.  Bash under Cygwin32 now includes
 | 
						|
working job control among other improvements.
 | 
						|
 | 
						|
The sh executable is now ash 0.2 from the Debian Linux distribution.
 | 
						|
Using this more minimal shell as /bin/sh.exe speeds up configures
 | 
						|
significantly.
 | 
						|
 | 
						|
Bison 1.25 has been added.
 | 
						|
 | 
						|
Tcl/tk are upgraded to version 8.0.  Compatible versions of tix and
 | 
						|
itcl have been added.  These all include Cygwin32-compatible configury
 | 
						|
files so you can do a Unix-style build of the Win32 ports of tcl/tk.
 | 
						|
 | 
						|
Expect 5.21.3 is included and basically works.
 | 
						|
 | 
						|
The binaries have been compiled with i686 optimizations turned on
 | 
						|
which may result in a speed increase on Pentium-based systems
 | 
						|
although the tools should work on i386 and later chips.
 | 
						|
 | 
						|
The linker (ld) has been enhanced -- it will now add the idata3
 | 
						|
terminator automatically when linking dlls.
 | 
						|
 | 
						|
kill now supports signal names in arguments.  ps now shows process
 | 
						|
start time information.
 | 
						|
 | 
						|
Although the default install of the tools should hide this detail, the
 | 
						|
make utility now defaults to a Win32 mode which uses cmd.exe/command.com
 | 
						|
as the subshell.  This mode allows the use of backslashes in filenames.
 | 
						|
To build Unix programs, you need to set the MAKE_MODE environment
 | 
						|
variable to "UNIX".  This way you will get the old behavior of using
 | 
						|
sh.exe as the subshell.
 | 
						|
 | 
						|
@subsection Changes in the Cygwin32 API (cygwin.dll):
 | 
						|
 | 
						|
The interface is now better defined.  It contains libc, libm, and
 | 
						|
Unix compatability calls.  It no longer contains exports for libgcc.a.
 | 
						|
This should result in a more stable interface.  See the calls.texinfo
 | 
						|
document for interface documentation.
 | 
						|
 | 
						|
There is now only one environment variable called CYGWIN32 that controls
 | 
						|
the overall behavior of the dll:
 | 
						|
 | 
						|
        set CYGWIN32=[no]title [no]strip_title [no]binmode [no]glob
 | 
						|
                strace=mask:cache,file [no]tty
 | 
						|
 | 
						|
So if you "set CYGWIN32=title tty", then you would get tty support
 | 
						|
(see below) and have the current running process listed in the title
 | 
						|
bar.
 | 
						|
 | 
						|
B19 adds support for:
 | 
						|
 | 
						|
* tty and pseudo-tty devices.  For now, ttys default to off because
 | 
						|
taking over the console causes problems with using non-Cygwin console
 | 
						|
programs in a Cygwin console.  To turn it on, set the environment
 | 
						|
variable CYGWIN32 to include "tty".
 | 
						|
* Hard links (requires NT on an NTFS filesystem).  When not possible (on
 | 
						|
non-NTFS filesystems), link() will make a copy of the file in question
 | 
						|
as it has done in previous releases.
 | 
						|
* The SIGWINCH signal.  If tty handling is enabled then the process will
 | 
						|
receive a SIGWINCH signal when the screen size changes.
 | 
						|
* Additional terminal escape sequences recognized: scroll region setting via
 | 
						|
<ESC>[n1;n2r and setting the console title using xterm escape sequence:
 | 
						|
<ESC>]2;new title^G .
 | 
						|
 | 
						|
The following calls have been added:
 | 
						|
 | 
						|
* ptsname, grantpt, unlockpt
 | 
						|
* login, logout, ttyslot, ctermid
 | 
						|
* cfgetispeed, cfgetospeed, cfsetispeed, cfsetospeed
 | 
						|
* setitimer, getitimer, ftime, tzset
 | 
						|
* wait3, wait4, pause, sigpause
 | 
						|
* getpgid, killpg, setegid (stub)
 | 
						|
* strlwr, strupr
 | 
						|
* sexecve, sexecl, sexecle, sexeclp, sexeclpe, sexecv, sexecp, sexecvpe
 | 
						|
* rcmd, rresvport, rexec
 | 
						|
* strsignal, strtosigno
 | 
						|
* dlopen, dlsym, dlclose, dlerror
 | 
						|
* inet_netof, inet_makeaddr
 | 
						|
* socketpair
 | 
						|
* fpathconf, realpath, chroot (stub)
 | 
						|
* initgroups (stub), getgroups
 | 
						|
* random, srandom
 | 
						|
 | 
						|
The following calls have been removed:
 | 
						|
 | 
						|
* ScreenCols, ScreenGetCursor, ScreenRows, ScreenSetCursor
 | 
						|
* getkey, kbhit
 | 
						|
* crypt (stub)
 | 
						|
* all libgcc.a exports
 | 
						|
 | 
						|
The Winsock dll (wsock32.dll) is no longer implicitly linked into
 | 
						|
the Cygwin32 dll.  Instead, it is explicitly loaded with LoadLibrary
 | 
						|
the first time a process calls a Cygwin32 networking function.  This
 | 
						|
speeds up most processes significantly (configures by about 20%).
 | 
						|
 | 
						|
The signal-related code has been rewritten from scratch.  Ditto for
 | 
						|
most of the path handling code.
 | 
						|
 | 
						|
The globbing and getopt code has been replaced with BSD-derived
 | 
						|
code.  The regexp code has been replaced with Henry Spencer's PD
 | 
						|
implementation.
 | 
						|
 | 
						|
Doug Lea's malloc is now being used as the default malloc exported by
 | 
						|
cygwin.  This malloc balances speed and compactness very nicely but is
 | 
						|
more unforgiving when attempts are made to free already freed memory,
 | 
						|
i.e., a segmentation violation will occur.
 | 
						|
 | 
						|
The bsearch call has been rewritten.
 | 
						|
 | 
						|
Alt Gr-key behavior has been changed in this release.  The left alt-key
 | 
						|
still produces ESC-key sequence.  The right alt (Alt Gr)-key now
 | 
						|
produces characters according to national keyboard layouts.
 | 
						|
 | 
						|
Processes no longer write their name in the title bar unless you include
 | 
						|
"title" in the CYGWIN32 environment variable (see above).
 | 
						|
 | 
						|
Multiple cygwin.dlls no longer use the same memory space unless they are
 | 
						|
identical (built at the same time).  This allows multiple dlls with
 | 
						|
incompatible shared memory usage to be run simultaneously.  It also
 | 
						|
facilitates debugging a buggy cygwin.dll.  By keeping only a single copy
 | 
						|
of the latest cygwin.dll on your system, you can be assured of having
 | 
						|
all cygwin processes exist in the same shared memory space.
 | 
						|
 | 
						|
The slash mount no longer defaults to C:.  It now defaults to the
 | 
						|
system drive letter (where the OS is installed).
 | 
						|
 | 
						|
The standard dl* dynamic library loader functions are now available.
 | 
						|
Cygwin32 B19 now correctly copies data after a fork and automatically
 | 
						|
reloads any DLLs loaded in the parent process.  In addition, dlls will
 | 
						|
now be correctly initialized when loaded and global constructors will
 | 
						|
be called.  Global destructors will be called when the DLL is detached.
 | 
						|
Handles gotten from dlopen or dlsym in the parent will be accessible in a
 | 
						|
forked child.  The LD_LIBRARY_PATH environment variable is used in the dlopen
 | 
						|
search.
 | 
						|
 | 
						|
Include the file <cygwin32/cygwin_dll.h> in a cygwin32 created .dll and
 | 
						|
use the line DECLARE_CYGWIN_DLL(dll-entry-point) to produce .dlls that
 | 
						|
can be used with these functions.
 | 
						|
 | 
						|
@section Release Beta 18 (May 6 1997)
 | 
						|
 | 
						|
This is a major release.  The new cygwin.dll is still
 | 
						|
backwards-compatible with previously linked applications but
 | 
						|
contains significant changes.
 | 
						|
 | 
						|
We have completely changed the installation process to make
 | 
						|
use of an InstallShield5-based installer.  This should reduce the
 | 
						|
number of installation problems people have experienced in the
 | 
						|
past.  However, it is still necessary to set environment variables
 | 
						|
by hand, as explained in the README.txt accompanying the distribution.
 | 
						|
(Future gnu-win32 installers may include the capability to do this
 | 
						|
automatically).
 | 
						|
 | 
						|
@subsection Changes in specific tools:
 | 
						|
 | 
						|
GCC compilation times have been improved by 20-30% by using spawn()
 | 
						|
instead of fork().
 | 
						|
 | 
						|
GCC accepts both Win32 and POSIX paths/path lists in its
 | 
						|
environment variables (COMPILER_PATH, LIBRARY_PATH, C_INCLUDE_PATH,
 | 
						|
CPLUS_INCLUDE_PATH, OBJC_INCLUDE_PATH)
 | 
						|
 | 
						|
GDB comes with a tcl/tk-based GUI (gdbtk).  You can still invoke the
 | 
						|
command line gdb by invoking it with "gdb -nw".
 | 
						|
 | 
						|
Bash verifies that /tmp exists and is a directory upon startup.
 | 
						|
It complains if this isn't the case.
 | 
						|
 | 
						|
Running gcc or ld with "-s" used to create invalid executables.
 | 
						|
The bug in bfd that was responsible for this has been fixed.
 | 
						|
 | 
						|
The conflict between String.h and string.h (and other such pairs
 | 
						|
of header files) where you include one and get the other has been
 | 
						|
fixed.
 | 
						|
 | 
						|
The top level install-sh script tries to install foo.exe if asked
 | 
						|
to install foo when foo's not present.  This fixes many installs
 | 
						|
of Unix software.
 | 
						|
 | 
						|
Dlltool has preliminary support for the IMPORT declaration in .def files
 | 
						|
when invoked with -I.  Feel free to experiment with it but once this
 | 
						|
functionality is tested more extensively this flag may go away.
 | 
						|
 | 
						|
Time is upgraded to version 1.7.
 | 
						|
 | 
						|
Make is upgraded to version 3.75.
 | 
						|
 | 
						|
Make accepts both Win32 and POSIX path lists in the VPATH variable.
 | 
						|
 | 
						|
@subsection Changes in the Cygwin32 API (cygwin.dll):
 | 
						|
 | 
						|
The following is now supported:
 | 
						|
 | 
						|
* UNC paths
 | 
						|
* Reverse index escapes in console code
 | 
						|
* Blocking select()s on a combination of sockets/handles
 | 
						|
* Directory symlinks.
 | 
						|
* Reparenting of child processes.
 | 
						|
 | 
						|
The following calls have been added:
 | 
						|
 | 
						|
* mmap(), mprotect(), msync(), munmap().  fork() changed to support these.
 | 
						|
* fsync(), statfs(), fstatfs().
 | 
						|
* getprotobynumber() and getservbyport().
 | 
						|
* get_osfhandle(), cwait().
 | 
						|
* spawnl(), spawnle(), spawnlp(), spawnlpe(), spawnv(), spawnve(),
 | 
						|
spawnvp(), spawnvpe().
 | 
						|
* nice().
 | 
						|
* sigpending(), sigsuspend()
 | 
						|
* Under NT only, chown(), getgrgid(), getgrnam(), endgrent(), getgrent(),
 | 
						|
setpwend(), getpwent(), endpwent().  Win95 still has these as stubs.
 | 
						|
 | 
						|
Significantly better signals / exception handling support added.
 | 
						|
The kill signal works much better now (control-C works in bash).
 | 
						|
 | 
						|
Shell scripts now run the shell specified after the #! instead of
 | 
						|
always defaulting to /bin/sh.
 | 
						|
 | 
						|
Floating point registers are now properly initialized in the crt0.o.
 | 
						|
 | 
						|
Opening non-disk files such as com ports no longer check to see
 | 
						|
if they are symlinks or executables.
 | 
						|
 | 
						|
The console title now is set to the name of the running process.
 | 
						|
 | 
						|
Winsock is now initialized upon app startup.
 | 
						|
 | 
						|
Moved reent_data from private address space to cygwin.dll.
 | 
						|
 | 
						|
The system() call now invokes spawnvp() instead of fork()/exec().
 | 
						|
 | 
						|
Support for NT extended attributes has been added but is disabled
 | 
						|
for now because it slowed things down too much.  We want to use them to
 | 
						|
remember info about symlink and executable status of files.
 | 
						|
 | 
						|
Under NT only, utilities mkpasswd and mkgroup can generate a valid
 | 
						|
/etc/passwd and /etc/group.
 | 
						|
 | 
						|
Earlier releases stored mount points in the registry under
 | 
						|
"Cygnus Support".  This changed to "Cygnus Solutions" starting
 | 
						|
with beta 18.  Either use a registry editor (regedit under NT)
 | 
						|
to rename the old entry or just redo your mount points and the
 | 
						|
cygwin.dll will automatically create the new one for you.
 | 
						|
 | 
						|
Mount points can now be up to MAX_PATH in length instead of 30
 | 
						|
characters.
 | 
						|
 | 
						|
@section Release Beta 17.1 (Dec 10 1996)
 | 
						|
 | 
						|
A patch has been applied to make Win 95 configure work again.
 | 
						|
 | 
						|
ld has been changed to make "a.exe" be the default executable name.
 | 
						|
 | 
						|
@section Release Beta 17 (Dec 7 1996)
 | 
						|
 | 
						|
It is now possible to rebuild the tools natively under x86 NT when
 | 
						|
the full Cygnus Developers' Kit (CDK) and the User Tools are both
 | 
						|
installed correctly.
 | 
						|
 | 
						|
While the cygwin.dll underwent substantial changes, none of them
 | 
						|
prevent you from using previously built applications  The new dll
 | 
						|
is compatible with beta 16 to the best of our knowledge.  Beta 14-built
 | 
						|
programs will continue to fail with the beta 17 dll -- you will have to
 | 
						|
relink them before they will work.
 | 
						|
 | 
						|
The winsup files that make up the Cygwin32 API are now under the
 | 
						|
GNU General Public License.  See the accompanying press release
 | 
						|
for more information.
 | 
						|
 | 
						|
@subsection Changes in specific tools:
 | 
						|
 | 
						|
Gcc now links by default against -lkernel32 and also against
 | 
						|
-luser32 -lgdi32 -lcomdlg32 when mwindows is set.  Another major
 | 
						|
change is that when creating an executable, gcc will now create
 | 
						|
foo.exe when given a -o argument of foo.
 | 
						|
 | 
						|
Dlltool has patches to make it better handle the --subsystem argument
 | 
						|
that allows choosing console vs. GUI among other options.
 | 
						|
ld has been changed to have a much larger stack reserve size.  This
 | 
						|
is necessary when rebuilding the toolchain natively under NT.
 | 
						|
 | 
						|
The C++ headers can now be found given a correctly set GCC_EXEC_PREFIX
 | 
						|
environment variable.
 | 
						|
 | 
						|
New versions of fileutils and make are included.  Findutils has been
 | 
						|
added.
 | 
						|
 | 
						|
@subsection Changes in the Cygwin32 API (cygwin.dll):
 | 
						|
 | 
						|
Scott Christley's headers and def files for the standard Win32 dlls
 | 
						|
have been integrated.  Anything present only in the previous Cygnus headers
 | 
						|
has been added in the appropriate places.  There are placeholder files
 | 
						|
with the standard Win32 header names that pull in our headers so
 | 
						|
programs that try to include specific headers should continue to work.
 | 
						|
Having more complete headers should make Win32 native programming
 | 
						|
easier.
 | 
						|
 | 
						|
Select has been rewritten from scratch.  The new one can deal with
 | 
						|
all sockets, handles and sockets always ready, all handles.  Handles
 | 
						|
and sockets with timeout not implemented yet.  Select now does
 | 
						|
blocking and doesn't spin cpu.
 | 
						|
 | 
						|
File handling has been largely rewritten:
 | 
						|
The fhandler array has been moved into local memory instead of shared
 | 
						|
memory.  This makes a number of things behave better.  Lots of changes
 | 
						|
to support this.  There is now fairly complete ansi/vt100 console support.
 | 
						|
Some new file locking support has been added.  Arrow keys are now
 | 
						|
supported.
 | 
						|
 | 
						|
Process handling much improved.
 | 
						|
 | 
						|
Significant serious bugs in fork() fixed.
 | 
						|
 | 
						|
The system() call now works.
 | 
						|
 | 
						|
unlink() now chmods read-only files to writable before attempting to
 | 
						|
delete a file.  This fixes the outstanding problem where rm can't
 | 
						|
delete read-only files saying "out of queue slots" repeatedly.
 | 
						|
 | 
						|
Text mode read has been rewritten.
 | 
						|
 | 
						|
New syslog code allows logging to event log under NT, file under Win 95.
 | 
						|
 | 
						|
Symlinks are enabled.
 | 
						|
 | 
						|
readv() and writev() have been written and exported.
 | 
						|
 | 
						|
For MS compatibility, we now export functions in the dll as _funcname
 | 
						|
in addition to funcname.  I would suggest not making use of this fact
 | 
						|
unless you are building code that already accesses C library calls
 | 
						|
in this way.
 | 
						|
 | 
						|
Almost all of the source code is now in C++ files.
 | 
						|
 | 
						|
@section Release Beta 16 (Aug 30 1996)
 | 
						|
 | 
						|
Path handling has been completely rewritten.  To refer to drive Q: in
 | 
						|
bash, you can now refer to //q/.  Alternatively, type "mount Q: /q" to
 | 
						|
have drive Q: show up as /q.
 | 
						|
 | 
						|
We now pass the Plum Hall positive C conformance tests on the
 | 
						|
i386 under Windows 95 and NT 4.0b2.
 | 
						|
 | 
						|
Fork was previously not accessible inside the dll.  This is no
 | 
						|
longer the case which should allow us to add working system and popen
 | 
						|
calls.
 | 
						|
 | 
						|
getdomainname works (it used to just return "cygnus.com") by getting
 | 
						|
information from registry.
 | 
						|
 | 
						|
Fixed readdir bug that set errno improperly.  This fixed the problem
 | 
						|
with diff not working across directories.
 | 
						|
 | 
						|
Better error checking in signal functions.  Initialize winsock in
 | 
						|
cygwin32_socket with checkinit call (fixes bug that required calling any
 | 
						|
function that did this first).
 | 
						|
 | 
						|
New functions: sigaddset, sigismember, sigfillset, sigemptyset.
 | 
						|
 | 
						|
Removed extra underscores present in sysdef files.
 | 
						|
 | 
						|
There is a now a major and a minor version number associated with
 | 
						|
the cygwin.dll.  The major number changes only when incompatible changes
 | 
						|
are made, the minor number changes when significant changes are made
 | 
						|
to the dll that don't require relinking of old apps.
 | 
						|
 | 
						|
Changed value of HZ in include/sys/param.h to correct value of 1000.
 | 
						|
(Fixes bug people reported about "time sleep 5" returning 50).
 | 
						|
 | 
						|
Assorted exception handling fixes for both i386 and ppc processors.
 | 
						|
 | 
						|
Assorted time-related fixes required for Cygnus Kerberos work.
 | 
						|
New time functions: gmtime, corelocaltime
 | 
						|
 | 
						|
Assorted spawn and fork fixes.
 | 
						|
 | 
						|
Pseudo-Unix process handling added -- new ps and kill commands added
 | 
						|
 | 
						|
Control-Z's are now handled as a valid EOF token in files opened as
 | 
						|
text.
 | 
						|
lseek now always operates in binary mode.
 | 
						|
 | 
						|
Select revamped.
 | 
						|
 | 
						|
Various other changes.  For more detailed information, consult the file
 | 
						|
in the source code winsup/ChangeLog.
 | 
						|
 | 
						|
Preprocessor define scheme changed.  Apps should now use _WIN32
 | 
						|
instead of __WIN32__ to check for access to Win32 API and __CYGWIN32__
 | 
						|
to check for presence of the Cygwin32 environment.
 | 
						|
 | 
						|
We are no longer including GNU findutils, GNU dbm, GNU bison,
 | 
						|
GNU less, ncurses, ftp, finger, rcl, cvtres, or V.  This may or may not
 | 
						|
change in the future.
 | 
						|
 | 
						|
You must relink old apps you built with prior releases with the new
 | 
						|
cygwin.dll.
 | 
						|
 | 
						|
@section Release Beta 14 (April 10 1996)
 | 
						|
 | 
						|
Some bugs have been fixed.  GDBM and m4 are in the release.  GCC now
 | 
						|
uses the standard install directories for cc1 etc.
 | 
						|
 | 
						|
A port of V to gnu-win32 is included.  You can now write graphics
 | 
						|
applications which will run on Unix or Windows unchanged.  Some parts of
 | 
						|
V work on the PPC too.
 | 
						|
 | 
						|
If you call any programs from the standard DOS shell, then the DLL will
 | 
						|
expand all the wildcards (glob) found in the arguments on the command
 | 
						|
line.  So ls *.exe will do what you think it should, even if you're not
 | 
						|
in bash.
 | 
						|
 | 
						|
ncurses and less are included. The DLL's emulation of a vt100 isn't complete,
 | 
						|
so ncurses doesn't do all that it should. Hence less is more or less
 | 
						|
useless.  This can be fixed with a new DLL.  (If you want to use
 | 
						|
something which uses curses, be sure to set your TERM and HOME
 | 
						|
envirionment variables)
 | 
						|
 | 
						|
If you leave out main, then the libraries will try and call WinMain in the
 | 
						|
usual way.
 | 
						|
 | 
						|
^C works much better on Windows 95.  It's still not quite right, but at
 | 
						|
least most times it quits what you're doing, and most times doesn't
 | 
						|
crash your machine.
 | 
						|
 | 
						|
You can start more than one concurrent bash session. 
 | 
						|
 | 
						|
Some networking support has been added.  Even though telnet.exe is provided,
 | 
						|
I know that it doesn't work, so please don't send me bug reports.
 | 
						|
 | 
						|
You will have to relink your applications to go with the new DLL.
 | 
						|
 | 
						|
The DLL is released in its own .zip file too, so you don't have to
 | 
						|
download a load of other stuff if you dont want to.
 | 
						|
 | 
						|
@section Release Beta 13 (Feb 9 1996)
 | 
						|
 | 
						|
Files are opened in binary mode, unless the registry is fiddled with.
 | 
						|
 | 
						|
The `cat >foo <<EOF bug is fixed.
 | 
						|
 | 
						|
The symlink cookie has changed, so old links wont work any more.
 | 
						|
 | 
						|
Two resource tools are provided (untested).
 | 
						|
 | 
						|
More windows header files are provided. WxWindows almost compiles.
 | 
						|
 | 
						|
You can get to a raw floppy with `/dev/fd0 or `/dev/fd1.
 | 
						|
 | 
						|
You can have two filenames with the same name and different case in
 | 
						|
the same directory.
 | 
						|
 | 
						|
Stat now fills in the st_nlink field for directories, so find works
 | 
						|
better.
 | 
						|
 | 
						|
This version is much more stable than any previous version, and will
 | 
						|
stay running long enough to configure and build itself on my NT box.
 | 
						|
 | 
						|
This version is also available in PowerPC versions.  The PowerPC
 | 
						|
compiler doesn't do stack probing, so some applications won't work, or
 | 
						|
they'll only work on some input data - e.g. the demo "hello world" will
 | 
						|
compile, but gcc will crash compiling the dhrystone benchmark.
 | 
						|
 | 
						|
There's a new registry variable "fmode=binary" which controls
 | 
						|
whether the tools always open files in binary mode (unless overridden
 | 
						|
with O_TEXT), or always open files in text mode (unless overridden with
 | 
						|
O_BINARY).
 | 
						|
 | 
						|
Filesystems can be mounted with the mixed_case flag.  This allows
 | 
						|
you to use filenames with the same spelling, but different case in the
 | 
						|
same directory.
 | 
						|
 | 
						|
I haven't tested or even used some of the packages that I've
 | 
						|
provided.  I compiled them, and then fixed the obvious "the file should
 | 
						|
have been opened in binary mode" problems.
 | 
						|
 | 
						|
I've already had reports of some of it not working correctly on
 | 
						|
Windows 95.  I don't have a simple to use Windows 95 configuration, but
 | 
						|
when I did try "it worked for me".  This may be another manifestation
 | 
						|
of the bug which makes bash hang sometimes under NT.
 | 
						|
 | 
						|
@section Release Beta 12 (Jan 3 1996)
 | 
						|
 | 
						|
You can call non- gnu-win32 applications from bash.
 | 
						|
 | 
						|
You can mount other directories using the @code{mount} command.
 | 
						|
 | 
						|
Minimal ANSI terminal emulation included.
 | 
						|
 | 
						|
Packages split into smaller and more logical lumps.
 | 
						|
 | 
						|
/d<name> mechanism gone.
 | 
						|
 | 
						|
Initial support for the PowerPC added.
 | 
						|
 | 
						|
@section Release Beta 11 (Jan 3 1996)
 | 
						|
 | 
						|
Something broke on the way to the ftp site.
 | 
						|
 | 
						|
@section Release Beta 10 (Dec 5 1995)
 | 
						|
 | 
						|
You can pass environment variables around in bash.
 | 
						|
 | 
						|
Lots more stuff provided precompiled.
 | 
						|
 | 
						|
Diffs to standard FSF release provided.
 | 
						|
 | 
						|
It self-hosts.
 | 
						|
 | 
						|
It supports symbolic links.
 | 
						|
 | 
						|
The directory layout has changed to be more unix like.
 | 
						|
 | 
						|
The way that you get to non-c drives is new - i:\foo.cc
 | 
						|
is now /di/foo.cc
 | 
						|
 | 
						|
Nasty bug found and fixed in fork.
 | 
						|
 | 
						|
CPP will now search the directories you supply in env names.
 | 
						|
 | 
						|
@section Release Beta 9
 | 
						|
 | 
						|
I've put all of libc and libm into a shared library,
 | 
						|
This drastically reduces the size of some binaries.
 | 
						|
e.g., ls goes from 82,949 bytes to 26,624.
 | 
						|
"Hello World" is 2564 bytes long.
 | 
						|
This is the first stage in greatly speeding up 
 | 
						|
some of the stuff that's going on behind the curtain.
 | 
						|
 | 
						|
Different processes communicate using shared memory.
 | 
						|
 | 
						|
Some trivial use of the registry is made.
 | 
						|
 | 
						|
DLLTOOL is now *much* faster.
 | 
						|
 | 
						|
Some small problems have been fixed in the way that DLLs were
 | 
						|
layed out.	
 | 
						|
 | 
						|
@section Release Beta 8
 | 
						|
 | 
						|
GDB works.
 | 
						|
 | 
						|
GCC now emits debug info which can make **huge** executables
 | 
						|
Fortunately, strip works too.
 | 
						|
 | 
						|
More work has been done to make quoting work.
 | 
						|
 | 
						|
Simple termios support added to newlib.
 | 
						|
 | 
						|
Much nicer way of describing paths, eg //c/foo is c:\foo.
 | 
						|
 | 
						|
@section Release Beta 7
 | 
						|
 | 
						|
Works again on Win 95 (which is why -6 wasn't advertised).
 | 
						|
 | 
						|
Permissions are faked better.
 | 
						|
 | 
						|
Source of demos available without having to ftp the entire win32
 | 
						|
binary tree. 
 | 
						|
 | 
						|
@section Release Beta 6
 | 
						|
 | 
						|
Can now generate DLLs, tiny demo included.
 | 
						|
tcl, byacc, fileutils, diff, make included.
 | 
						|
 | 
						|
@section Release Beta 5
 | 
						|
 | 
						|
Bug preventing anything from running on recent versions
 | 
						|
of Win95 fixed.
 | 
						|
 | 
						|
vfork and exec oddities fixed.
 | 
						|
 | 
						|
Import libraries are now really libraries and not
 | 
						|
just .o files.
 | 
						|
 | 
						|
Debugging info stripped from images and libraries;
 | 
						|
it's just bloat until gdb works.
 | 
						|
 | 
						|
I've filled in the four major import libraries.
 | 
						|
 | 
						|
The win*.h files are now installed into <foo>/include
 | 
						|
rather that <foo>/include/sys, so more things will
 | 
						|
compile out of the box.
 | 
						|
 | 
						|
@section Release Beta 4
 | 
						|
 | 
						|
PE support is fixed. Programs run on
 | 
						|
NT 3.1, NT 3.5, NT 3.51 and Windows 95.
 | 
						|
 | 
						|
You can build GUI programs.
 | 
						|
 | 
						|
.DEF files for three other DLL's started.
 | 
						|
 | 
						|
New GUI demo program. 
 | 
						|
 | 
						|
C library distinguishes between text and binary files
 | 
						|
consequently the text files generated by the
 | 
						|
tools have the familiar ^M at the end of the line
 | 
						|
which DOS likes so much.
 | 
						|
 | 
						|
Doug Evans of Cygnus has added a load
 | 
						|
of fancy support for execve, opendir and 
 | 
						|
various other cool things.
 | 
						|
 | 
						|
Exception handling is better.
 | 
						|
 | 
						|
@section Release Beta 3
 | 
						|
 | 
						|
Was so long ago we don't remember.
 |