summaryrefslogtreecommitdiffstats
path: root/winsup/doc/history.texinfo
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/doc/history.texinfo')
-rw-r--r--winsup/doc/history.texinfo670
1 files changed, 0 insertions, 670 deletions
diff --git a/winsup/doc/history.texinfo b/winsup/doc/history.texinfo
deleted file mode 100644
index f13be55fc..000000000
--- a/winsup/doc/history.texinfo
+++ /dev/null
@@ -1,670 +0,0 @@
-@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.