diff options
author | Joshua Daniel Franklin <joshuadfranklin@yahoo.com> | 2006-01-19 02:44:17 +0000 |
---|---|---|
committer | Joshua Daniel Franklin <joshuadfranklin@yahoo.com> | 2006-01-19 02:44:17 +0000 |
commit | 96f5988e31b3f46899366e6ee95b2249ef24148f (patch) | |
tree | 95827879ada1b46ca243dc78f55a61dff573481c /winsup/doc | |
parent | 79e60dfa6695cdc7b39e0c2fd644431e082e9cc5 (diff) | |
download | newlib-96f5988e31b3f46899366e6ee95b2249ef24148f.zip newlib-96f5988e31b3f46899366e6ee95b2249ef24148f.tar.gz newlib-96f5988e31b3f46899366e6ee95b2249ef24148f.tar.bz2 |
Remove references to and files from old texinfo FAQ.
Diffstat (limited to 'winsup/doc')
-rw-r--r-- | winsup/doc/ChangeLog | 19 | ||||
-rw-r--r-- | winsup/doc/Makefile.in | 54 | ||||
-rw-r--r-- | winsup/doc/calls.texinfo | 709 | ||||
-rw-r--r-- | winsup/doc/changes.texinfo | 202 | ||||
-rw-r--r-- | winsup/doc/copy.texinfo | 384 | ||||
-rw-r--r-- | winsup/doc/faq.texinfo | 15 | ||||
-rw-r--r-- | winsup/doc/history.texinfo | 5 | ||||
-rw-r--r-- | winsup/doc/how-api.texinfo | 292 | ||||
-rw-r--r-- | winsup/doc/how-programming.texinfo | 703 | ||||
-rw-r--r-- | winsup/doc/how-resources.texinfo | 123 | ||||
-rw-r--r-- | winsup/doc/how-using.texinfo | 813 | ||||
-rw-r--r-- | winsup/doc/how.texinfo | 6 | ||||
-rw-r--r-- | winsup/doc/install.texinfo | 374 | ||||
-rw-r--r-- | winsup/doc/readme.texinfo | 19 | ||||
-rw-r--r-- | winsup/doc/relnotes.texinfo | 19 | ||||
-rw-r--r-- | winsup/doc/what.texinfo | 87 | ||||
-rw-r--r-- | winsup/doc/who.texinfo | 88 |
17 files changed, 19 insertions, 3893 deletions
diff --git a/winsup/doc/ChangeLog b/winsup/doc/ChangeLog index 1cd9be0..11c5ea3 100644 --- a/winsup/doc/ChangeLog +++ b/winsup/doc/ChangeLog @@ -1,3 +1,22 @@ +2006-01-18 Joshua Daniel Franklin <joshuadfranklin@yahoo.com> + + * Makefile.in : Remove references to old texinfo FAQ. + * calls.texinfo : Remove. + * changes.texinfo : Remove. + * copy.texinfo : Remove. + * faq.texinfo : Remove. + * history.texinfo : Remove. + * how-api.texinfo : Remove. + * how-programming.texinfo : Remove. + * how-resources.texinfo : Remove. + * how-using.texinfo : Remove. + * how.texinfo : Remove. + * install.texinfo : Remove. + * readme.texinfo : Remove. + * relnotes.texinfo : Remove. + * what.texinfo : Remove. + * who.texinfo : Remove. + 2006-01-12 Igor Peshansky <pechtcha@cs.nyu.edu> * doctool.c (scan_directory): Ignore "CVS" directories. diff --git a/winsup/doc/Makefile.in b/winsup/doc/Makefile.in index 4ecc82a..7e8e29e 100644 --- a/winsup/doc/Makefile.in +++ b/winsup/doc/Makefile.in @@ -13,20 +13,10 @@ VPATH = @srcdir@ SGMLDIRS = -d $(srcdir) -d $(utils_source) -d $(cygwin_source) -# These *.info targets don't actually work, so remove them for now. -# Put them back when we figure out what to do with them. (davisb) -#DOC=faq.txt faq.info readme.txt readme.info -DOC=faq.txt readme.txt -HTMLDOC=faq0.html faq.html readme.html - CC:=@CC@ CC_FOR_TARGET:=@CC@ exeext:=@build_exeext@ -MAKEINFO:=makeinfo -TEXI2DVI:=texi2dvi -TEXI2HTML:=texi2html - include $(srcdir)/../Makefile.common TOCLEAN:=faq.txt ./*.html readme.txt doctool.o doctool.exe *.junk \ @@ -77,50 +67,6 @@ faq/faq-nochunks.html : ./doctool : doctool.c gcc -g $< -o $@ -%.dvi: %.sgml - -db2dvi $< - -%.rtf: %.sgml - -db2rtf $< - -%.ps: %.sgml - -db2ps $< - -%.pdf: %.ps - -ps2pdf $< $@ - -%.info: %.texinfo - -$(MAKEINFO) -I $(srcdir) $< - -%.txt: %.texinfo - -$(MAKEINFO) -I $(srcdir) $< - -%.html: %.texinfo - -$(TEXI2HTML) -I $(srcdir) $< - -readme.txt: $(srcdir)/readme.texinfo $(srcdir)/*.texinfo - -$(MAKEINFO) -I$(srcdir) --no-split --no-headers $< -o - |\ - sed '/^Concept Index/,$$d' > $@ - -#faq0.html: $(srcdir)/faq.texinfo $(srcdir)/*.texinfo -# -rm -f faq_toc.html; \ -# for i in $(srcdir)/*.texinfo ; do \ -# sed < $$i -e 's?@file{\([fth]*p://[^}]*\)}?@strong{<A HREF="\1">\1</A>}?' \ -# -e 's?\([.+a-zA-Z0-9-]*@@[.a-zA-Z0-9-]*[a-zA-Z0-9]\)?<A HREF="mailto:\1">\1</A>?' >./`basename $$i` ; done; \ -# $(TEXI2HTML) -monolithic ./faq.texinfo; \ -# rm -f *.texinfo; \ -# sed -e 's;"faq.html;"faq0.html;g' faq.html > faq0.html; \ -# rm -f faq.html; exit 0 -# -#faq.html: $(srcdir)/faq.texinfo $(srcdir)/*.texinfo -# -rm -f faq_toc.html; \ -# for i in $(srcdir)/*.texinfo ; do \ -# sed < $$i -e 's?@file{\([fth]*p://[^}]*\)}?@strong{<A HREF="\1">\1</A>}?' \ -# -e 's?\([.+a-zA-Z0-9-]*@@[.a-zA-Z0-9-]*[a-zA-Z0-9]\)?<A HREF="mailto:\1">\1</A>?' >./`basename $$i` ; done; \ -# $(TEXI2HTML) -split_chapter ./faq.texinfo; \ -# rm -f *.texinfo; \ -# [ -r faq_toc.html ] && mv faq_toc.html faq.html; exit 0 - TBFILES = cygwin-ug-net.dvi cygwin-ug-net.rtf cygwin-ug-net.ps \ cygwin-ug-net.pdf cygwin-ug-net.sgml \ cygwin-api.dvi cygwin-api.rtf cygwin-api.ps \ diff --git a/winsup/doc/calls.texinfo b/winsup/doc/calls.texinfo deleted file mode 100644 index e180d81..0000000 --- a/winsup/doc/calls.texinfo +++ /dev/null @@ -1,709 +0,0 @@ -@chapter What Unix API calls are supported by Cygwin? - -This is the beginning of documentation listing the calls supported -by the Cygwin library. - -All POSIX.1/1996 and ANSI C calls are listed in this file. Note that -while almost all POSIX.1/1990 calls are included in Cygwin, most -POSIX.1/1996 calls are not (yet at least!). Additional Unix -compatibility calls and extended libc/libm calls are provided by -Cygwin but may or may not be listed yet. - -To see if a function is implemented but not listed here, check for the -presence of the call in the file winsup/cygwin.din in the sources. In -addition, you may want to read the source code corresponding to the call -to verify that it is not a stub. Finally, libc/libm functions -(including extended calls not listed here) may be documented in the -newlib texinfo documentation. - -Calls are implemented on both Windows 95 and NT unless otherwise -noted. Included are references to relevant standards, if any. -Calls starting with "cygwin_" are Cygwin-specific calls. - -@section ANSI C Library Functions - -@strong{(Please note: This section has not yet been updated for the latest -net release.)} - -@itemize @code - -@item libc stdio (newlib/libc/stdio) -@itemize @code -@item clearerr: C 4.9.10.1 -@item fclose: C 4.9.5.1, P 8.2.3.2 -@item feof: C 4.9.10.2 -@item ferror: C 4.9.10.3 -@item fflush: C 4.9.5.2, P 8.2.3.4 -@item fgetc: C 4.9.7.1, P 8.2.3.5 -@item fgetpos: C 4.9.9.1 -@item fgets: C 4.9.7.2, P 8.2.3.5 -@item fopen: C 4.9.5.3, P 8.2.3.1 -@item fprintf: C 4.9.7.3, P 8.2.3.6 -@item fputc: C 4.9.7.3, P 8.2.3.6 -@item fputs: C 4.9.7.4, P 8.2.3.6 -@item fread: C 4.9.8.1, P 8.2.3.5 -@item freopen: C 4.9.5.4, P 8.2.3.3 -@item fscanf: C 4.9.6.2, P 8.2.3.7 -@item fseek: C 4.9.9.2, P 8.2.3.7 -@item fsetpos: C 4.9.9.3 -@item ftell: C 4.9.9.4, P 8.2.3.10 -@item fwrite: C 4.9.8.2, P 8.2.3.6 -@item getc: C 4.9.7.5, P 8.2.3.5 -@item getchar: C 4.9.7.6, P 8.2.3.5 -@item gets: C 4.9.7.7, P 8.2.3.5 -@item perror: C 4.9.10.4, P 8.2.3.8 -@item printf: C 4.9.6.3, P 8.2.3.6 -@item putc: C 4.9.7.8, P 8.2.3.6 -@item putchar: C 4.9.7.9, P 8.2.3.6 -@item puts: C 4.9.7.10, P 8.2.3.6 -@item remove: C 4.9.4.1, P 8.2.4 -@item rename: C 4.9.4.2, P 5.5.3.1 -@item rewind: C 4.9.9.5, P 8.2.3.7 -@item scanf: C 4.9.6.4, P 8.2.3.5 -@item setbuf: C 4.9.5.5 -@item setvbuf: C 4.9.5.6 -@item sprintf: C 4.9.6.5 -@item sscanf: C 4.9.6.6 -@item tmpfile: C 4.9.4.3, P 8.2.3.9 -@item tmpnam: C 4.9.4.4, P 8.2.5 -@item vfprintf: C 4.9.6.7 -@item ungetc: C 4.9.7.11 -@item vprintf: C 4.9.6.8 -@item vsprintf: C 4.9.6.9 -@end itemize - -@item libc string (newlib/libc/string) -@itemize @code -@item memchr: C 4.11.5.1 -@item memcmp: C 4.11.4.1 -@item memcpy: C 4.11.2.1 -@item memmove: C 4.11.2.2 -@item memset: C 4.11.6.1 -@item strcat: C 4.11.3.1 -@item strchr: C 4.11.5.2 -@item strcmp: C 4.11.4.2 -@item strcoll: C 4.11.4.3 -@item strcpy: C 4.11.2.3 -@item strcspn: C 4.11.5.3 -@item strerror: C 4.11.6.2 -@item strlen: C 4.11.6.3 -@item strncat: C 4.11.3.2 -@item strncmp: C 4.11.3.2 -@item strncpy: C 4.11.2.4 -@item strpbrk: C 4.11.5.4 -@item strrchr: C 4.11.5.5 -@item strspn: C 4.11.5.6 -@item strstr: C 4.11.5.7 -@item strtok: C 4.11.5.8 -@item strxfrm: C 4.11.4.5 -@end itemize - -@item libc stdlib (newlib/libc/stdlib, environ.cc, newlib/libc/include/machine/setjmp.h newlib/libc/include/assert.h) -@itemize @code -@item abort: C 4.10.4.1, P 8.2.3.12 -@item abs: C 4.10.6.1 -@item assert: C 4.2.1.1 -@item atexit: C 4.10.4.2 -@item atof: C 4.10.1.1 -@item atoi: C 4.10.1.2 -@item atol: C 4.10.1.3 -@item bsearch: C 4.10.5.1 -@item calloc: C 4.10.3.1 -@item div: C 4.10.6.2 -@item exit: C 4.10.4.3, P 8.2.3.12 -@item free: C 4.10.3.2 -@item getenv: C 4.10.4.4, P 4.6.1.1 -@item labs: C 4.10.6.3 -@item ldiv: C 4.10.6.2 -@item longjmp: C 4.6.2.1 -@item malloc: C 4.10.3.3 -@item mblen: C 4.10.7.1 -@item mbstowcs: C 4.10.8.1 -@item mbtowc: C 4.10.7.2 -@item qsort: 4.10.5.2 -@item rand: C 4.10.2.1 -@item realloc: C 4.10.3.4 -@item setjmp: C 4.6.1.1 -@item srand: C 4.10.2.2 -@item strtod: C 4.10.1.4 -@item strtol: C 4.10.1.5 -@item strtoul: C 4.10.1.6 -@item system: C 4.10.4.5 -@item wcstombs: C 4.10.8.2 -@item wctomb: C 4.10.7.3 -@end itemize - -@item libc time (times.cc, newlib/libc/time) -@itemize @code -@item asctime: C 4.12.3.1 -@item gmtime: C 4.12.3.3 -@item localtime: C 4.12.3.4, P 8.1.1 -@item time: C 4.12.2.4, P 4.5.1.1 -@item clock: C 4.12.2.1 -@item ctime: C 4.12.3.2 -@item difftime: C 4.12.2.2 -@item mktime: C 4.12.2.3, P 8.1.1 -@item strftime: C 4.11.6.2 -@end itemize - -@item libc signals (signal.cc, newlib/libc/signal) -@itemize @code -@item raise: C 4.7.2.1 -@item signal: C 4.7.1.1 -@end itemize - -@item libc ctype (newlib/libc/ctype) -@itemize @code -@item isalnum: C 4.3.1.1 -@item isalpha: C 4.3.1.2 -@item iscntrl: C 4.3.1.3 -@item isdigit: C 4.3.1.4 -@item isgraph: C 4.3.1.5 -@item islower: C 4.3.1.6 -@item isprint: C 4.3.1.7 -@item ispunct: C 4.3.1.8 -@item isspace: C 4.3.1.9 -@item isupper: C 4.3.1.10 -@item isxdigit: C 4.3.1.11 -@item tolower: C 4.3.2.1 -@item toupper: C 4.3.2.2 -@end itemize - -@item libm math (newlib/libm/math) -@itemize @code -@item acos: C 4.5.2.1 -@item asin: C 4.5.2.2 -@item atan: C 4.5.2.3 -@item atan2: C 4.5.2.4 -@item ceil: C 4.5.6.1 -@item cos: C 4.5.2.5 -@item cosh: C 4.5.3.2 -@item exp: C 4.5.4.1 -@item fabs: C 4.5.6.2 -@item floor: C 4.5.6.3 -@item fmod: C 4.5.6.4 -@item frexp: C 4.5.4.2 -@item ldexp: C 4.5.4.3 -@item log: C 4.5.4.4 -@item log10: C 4.5.4.5 -@item modf: C 4.5.4.6 -@item pow: C 4.5.5.1 -@item sin: C 4.5.2.6 -@item sinh: C 4.5.3.2 -@item sqrt: C 4.5.5.2 -@item tan: C 4.5.2.7 -@item tanh: C 4.5.3.3 -@end itemize - -@item libc misc (newlib/libc/locale, gcc/ginclude/stdarg.h) -@itemize @code -@item localeconv: C 4.4.2.1 -@item setlocale: C 4.4.1.1, P 8.1.2.1 -@item va_arg: C 4.8.1.2 -@item va_end: C 4.8.1.3 -@item va_start: C 4.8.1.1 -@end itemize - -@section POSIX.1/96 Functions - -@strong{(Please note: This section has not yet been updated for the latest -net release.)} - -@item Process Primitives (Section 3) -@itemize @code -@item fork: P 3.1.1.1 -@item execl: P 3.1.2.1 -@item execle: P 3.1.2.1 -@item execlp: P 3.1.2.1 -@item execv: P 3.1.2.1 -@item execve: P 3.1.2.1 -@item execvp: P 3.1.2.1 -@item pthread_atfork: P96 3.1.3.1 -- unimplemented -@item wait: P 3.2.1.1 -@item waitpid: P 3.2.1.1 -@item _exit: P 3.2.2.1 -@item kill: P 3.3.2.1 -@item sigemptyset: P 3.3.3.1 -@item sigfillset: P 3.3.3.1 -@item sigaddset: P 3.3.3.1 -@item sigdelset: P 3.3.3.1 -@item sigismember: P 3.3.3.1 -@item sigaction: P 3.3.4.1 -@item pthread_sigmask: P96 3.3.5.1 -@item sigprocmask: P 3.3.5.1 -@item sigpending: P 3.3.6.1 -@item sigsuspend: P 3.3.7.1 -@item sigwait: P96 3.3.8.1 -- unimplemented -@item sigwaitinfo: P96 3.3.8.1 -- unimplemented -@item sigtimedwait: P96 3.3.8.1 -- unimplemented -@item sigqueue: P96 3.3.9.1 -- unimplemented -@item pthread_kill: P96 3.3.10.1 -@item alarm: P 3.4.1.1 -@item pause: P 3.4.2.1 -@item sleep: P 3.4.3.1 -@end itemize - -@item Process Environment (Section 4) -@itemize @code -@item getpid: P 4.1.1.1 -@item getppid: P 4.1.1.1 -@item getuid: P 4.2.1.1 -@item geteuid: P 4.2.1.1 -@item getgid: P 4.2.1.1 -@item getegid: P 4.2.1.1 -@item setuid: P 4.2.2.1 (stub on 9X, sets ENOSYS, returns zero) -@item setgid: P 4.2.2.1 (stub on 9X, sets ENOSYS, returns zero) -@item getgroups: P 4.2.3.1 -@item getlogin: P 4.2.4.1 -@item getlogin_r: P 4.2.4.1 -- unimplemented -@item getpgrp: P 4.3.1.1 -@item setsid: P 4.3.2.1 -@item setpgid: P 4.3.3.1 -@item uname: P 4.4.1.1 -@item time: C 4.12.2.4, P 4.5.1.1 -@item times: P 4.5.2.1 -@item getenv: C 4.10.4.4, P 4.6.1.1 -@item ctermid: P 4.7.1.1 -@item ttyname: P 4.7.2.1 -@item ttyname_r: P 4.7.2.1 -- unimplemented -@item isatty: P 4.7.2.1 -@item sysconf: P 4.8.1.1 -@end itemize - -@item Files and Directories (Section 5) -@itemize @code -@item opendir: P 5.1.2.1 -@item readdir: P 5.1.2.1 -@item readdir_r: P96 5.1.2.1 -- unimplemented -@item rewinddir: P 5.1.2.1 -@item closedir: P 5.1.2.1 -@item chdir: P 5.2.1.1 -@item getcwd: P 5.2.2.1 -@item open: P 5.3.1.1 -@item creat: P 5.3.2.1 -@item umask: P 5.3.3.1 -@item link: P 5.3.4.1 (copy file in Win 95, and when link fails in NT) -@item mkdir: P 5.4.1.1 -@item mkfifo: P 5.4.2.1 -- unimplemented!!! -@item unlink: P 5.5.1.1 -@item rmdir: P 5.5.2.1 -@item rename: C 4.9.4.2, P 5.5.3.1 -@item stat: P 5.6.2.1 -@item fstat: P 5.6.2.1 -@item access: P 5.6.3.1 -@item chmod: P 5.6.4.1 -@item fchmod: P96 5.6.4.1 -@item chown: P 5.6.5.1 (stub in Win 95; always returns zero) -@item utime: P 5.6.6.1 -@item ftruncate: P96 5.6.7.1 -@item pathconf: P 5.7.1.1 -@item fpathconf: P 5.7.1.1 -@end itemize - -@item Input and Output Primitives (Section 6) -@itemize @code -@item pipe: P 6.1.1.1 -@item dup: P 6.2.1.1 -@item dup2: P 6.2.1.1 -@item close: P 6.3.1.1 -@item read: P 6.4.1.1 -@item write: P 6.4.2.1 -@item fcntl: P 6.5.2.1 (note: fcntl(fd, F_GETLK,...) is not implemented (returns -1 with errno set to ENOSYS)). -@item lseek: P 6.5.3.1 (note: only works correctly on binary files) -@item fsync: P96 6.6.1.1 -@item fdatasync: P96 6.6.2.1 -- unimplemented -@item aio_read: P96 6.7.2.1 -- unimplemented -@item aio_write: P96 6.7.3.1 -- unimplemented -@item lio_listio: P96 6.7.4.1 -- unimplemented -@item aio_error: P96 6.7.5.1 -- unimplemented -@item aio_return: P96 6.7.6.1 -- unimplemented -@item aio_cancel: P96 6.7.7.1 -- unimplemented -@item aio_suspend: P96 6.7.8.1 -- unimplemented -@item aio_fsync: P96 6.7.9.1 -- unimplemented -@end itemize - -@item Device- and Class-Specific Functions (Section 7) -@itemize @code -@item cfgetispeed: P96 7.1.3.1 -@item cfgetospeed: P96 7.1.3.1 -@item cfsetispeed: P96 7.1.3.1 -@item cfsetospeed: P96 7.1.3.1 -@item tcdrain: P 7.2.2.1 -@item tcflow: P 7.2.2.1 -@item tcflush: P 7.2.2.1 -@item tcgetattr: P96 7.2.1.1 -@item tcgetpgrp: P 7.2.3.1 -@item tcsendbreak: P 7.2.2.1 -@item tcsetattr: P96 7.2.1.1 -@item tcsetpgrp: P 7.2.4.1 -@end itemize - -@item Language-Specific Services for the C Programming Language -(Section 8) -@itemize @code -@item abort: C 4.10.4.1, P 8.2.3.12 -@item asctime_r: P96 8.3.4.1 -- unimplemented -@item ctime_r: P96 8.3.5.1 -- unimplemented -@item exit: C 4.10.4.3, P 8.2.3.12 -@item fclose: C 4.9.5.1, P 8.2.3.2 -@item fdopen: P 8.2.2.1 -@item fflush: C 4.9.5.2, P 8.2.3.4 -@item fgetc: C 4.9.7.1, P 8.2.3.5 -@item fgets: C 4.9.7.2, P 8.2.3.5 -@item fileno: P 8.2.1.1 -@item flockfile: P96 8.2.6.1 -- unimplemented -@item fopen: C 4.9.5.3, P 8.2.3.1 -@item fprintf: C 4.9.7.3, P 8.2.3.6 -@item fputc: C 4.9.7.3, P 8.2.3.6 -@item fputs: C 4.9.7.4, P 8.2.3.6 -@item fread: C 4.9.8.1, P 8.2.3.5 -@item freopen: C 4.9.5.4, P 8.2.3.3 -@item fscanf: C 4.9.6.2, P 8.2.3.7 -@item fseek: C 4.9.9.2, P 8.2.3.7 -@item ftell: C 4.9.9.4, P 8.2.3.10 -@item ftrylockfile: P96 8.2.6.1 -- unimplemented -@item funlockfile: P96 8.2.6.1 -- unimplemented -@item fwrite: C 4.9.8.2, P 8.2.3.6 -@item getc: C 4.9.7.5, P 8.2.3.5 -@item getc_unlocked: P96 8.2.7.1 -@item getchar: C 4.9.7.6, P 8.2.3.5 -@item getchar_unlocked: P96 8.2.7.1 -@item gets: C 4.9.7.7, P 8.2.3.5 -@item gmtime_r: P96 8.3.6.1 -- unimplemented -@item localtime_r: P96 8.3.7.1 -- unimplemented -@item perror: C 4.9.10.4, P 8.2.3.8 -@item printf: C 4.9.6.3, P 8.2.3.6 -@item putc: C 4.9.7.8, P 8.2.3.6 -@item putc_unlocked: P96 8.2.7.1 -@item putchar: C 4.9.7.9, P 8.2.3.6 -@item putchar_unlocked: P96 8.2.7.1 -@item puts: C 4.9.7.10, P 8.2.3.6 -@item rand_r: P96 8.3.8.1 -- unimplemented -@item remove: C 4.9.4.1, P 8.2.4 -@item rewind: C 4.9.9.5, P 8.2.3.7 -@item scanf: C 4.9.6.4, P 8.2.3.5 -@item setlocale: C 4.4.1.1, P 8.1.2.1 -@item siglongjmp: P 8.3.1.1 -@item sigsetjmp: P 8.3.1.1 -@item strtok_r: P96 8.3.3.1 -- unimplemented -@item tmpfile: C 4.9.4.3, P 8.2.3.9 -@item tmpnam: C 4.9.4.4, P 8.2.5 -@item tzset: P 8.3.2.1 -@end itemize - -@item System Databases (Section 9) -@itemize @code -@item getgrgid: P 9.2.1.1 -@item getgrgid_r: P96 9.2.1.1 -- unimplemented -@item getgrnam: P 9.2.1.1 -@item getgrnam_r: P96 9.2.1.1 -- unimplemented -@item getpwnam: P 9.2.2.1 -@item getpwnam_r: P96 9.2.2.1 -- unimplemented -@item getpwuid: P 9.2.2.1 -@item getpwuid_r: P96 9.2.2.1 -- unimplemented -@end itemize - -@item Synchronization (Section 11) -@itemize @code -@item pthread_cond_broadcast: P96 11.4.3.1 -@item pthread_cond_destroy: P96 11.4.2.1 -@item pthread_cond_init: P96 11.4.2.1 -@item pthread_cond_signal: P96 11.4.3.1 -@item pthread_cond_timedwait: P96 11.4.4.1 -@item pthread_cond_wait: P96 11.4.4.1 -@item pthread_condattr_destroy: P96 11.4.1.1 -- unimplemented -@item pthread_condattr_getpshared: P96 11.4.1.1 -- unimplemented -@item pthread_condattr_init: P96 11.4.1.1 -- unimplemented -@item pthread_condattr_setpshared: P96 11.4.1.1 -- unimplemented -@item pthread_mutex_destroy: P96 11.3.2.1 -@item pthread_mutex_init: P96 11.3.2.1 -@item pthread_mutex_lock: P96 11.3.3.1 -@item pthread_mutex_trylock: P96 11.3.3.1 -@item pthread_mutex_unlock: P96 11.3.3.1 -@item sem_close: P96 11.2.4.1 -- unimplemented -@item sem_destroy: P96 11.2.2.1 -@item sem_getvalue: P96 11.2.8.1 -- unimplemented -@item sem_init: P96 11.2.1.1 -@item sem_open: P96 11.2.3.1 -- unimplemented -@item sem_post: P96 11.2.7.1 -@item sem_trywait: P96 11.2.6.1 -@item sem_unlink: P96 11.2.5.1 -- unimplemented -@item sem_wait: P96 11.2.6.1 -@end itemize - -@item Memory Management (Section 12) -@itemize @code -@item mlock: P96 12.1.2.1 -- unimplemented -@item mlockall: P96 12.1.1.1 -- unimplemented -@item mmap: P96 12.2.1.1 -@item mprotect: P96 12.2.3.1 -@item msync: P96 12.2.4.1 -@item munlock: P96 12.1.2.1 -- unimplemented -@item munlockall: P96 12.1.1.1 -- unimplemented -@item munmap: P96 12.2.2.1 -@item shm_open: P96 12.3.1.1 -- unimplemented -@item shm_unlink: P96 12.3.2.1 -- unimplemented -@end itemize - -@item Execution Scheduling (Section 13) -@itemize @code -@item pthread_attr_getinheritsched: P96 13.5.1.1 -- unimplemented -@item pthread_attr_getschedparam: P96 13.5.1.1 -- unimplemented -@item pthread_attr_getschedpolicy: P96 13.5.1.1 -- unimplemented -@item pthread_attr_getscope: P96 13.5.1.1 -- unimplemented -@item pthread_attr_setinheritsched: P96 13.5.1.1 -@item pthread_attr_setschedparam: P96 13.5.1.1 -- unimplemented -@item pthread_attr_setschedpolicy: P96 13.5.1.1 -- unimplemented -@item pthread_attr_setscope: P96 13.5.1.1 -- unimplemented -@item pthread_getschedparam: P96 13.5.2.1 -@item pthread_mutex_getprioceiling: P96 13.6.2.1 -- unimplemented -@item pthread_mutex_setprioceiling: P96 13.6.2.1 -- unimplemented -@item pthread_mutexattr_getprioceiling: P96 13.6.1.1 -- unimplemented -@item pthread_mutexattr_getprotocol: P96 13.6.1.1 -- unimplemented -@item pthread_mutexattr_setprioceiling: P96 13.6.1.1 -- unimplemented -@item pthread_mutexattr_setprotocol: P96 13.6.1.1 -- unimplemented -@item pthread_setschedparam: P96 13.5.2.1 -@item sched_get_priority_max: P96 13.3.6.1 -- unimplemented -@item sched_get_priority_min: P96 13.3.6.1 -- unimplemented -@item sched_getparam: P96 13.3.2.1 -- unimplemented -@item sched_getscheduler: P96 13.3.4.1 -- unimplemented -@item sched_rr_get_interval: P96 13.3.6.1 -- unimplemented -@item sched_setparam: P96 13.3.1.1 -- unimplemented -@item sched_setscheduler: P96 13.3.3.1 -- unimplemented -@item sched_yield: P96 13.3.5.1 -- unimplemented -@end itemize - -@item Clocks and Timers (Section 14) -@itemize @code -@item clock_getres: P96 14.2.1.1 -- unimplemented -@item clock_gettime: P96 14.2.1.1 -- unimplemented -@item clock_settime: P96 14.2.1.1 -- unimplemented -@item nanosleep: P96 14.2.5.1 -- unimplemented -@item timer_create: P96 14.2.2.1 -- unimplemented -@item timer_delete: P96 14.2.3.1 -- unimplemented -@item timer_getoverrun: P96 14.2.4.1 -- unimplemented -@item timer_gettime: P96 14.2.4.1 -- unimplemented -@item timer_settime: P96 14.2.4.1 -- unimplemented -@end itemize - -@item Message Passing (Section 15) -@itemize @code -@item mq_close: P96 15.2.2.1 -- unimplemented -@item mq_getattr: P96 15.2.8.1 -- unimplemented -@item mq_notify: P96 15.2.6.1 -- unimplemented -@item mq_open: P96 15.2.1.1 -- unimplemented -@item mq_receive: P96 15.2.5.1 -- unimplemented -@item mq_send: P96 15.2.4.1 -- unimplemented -@item mq_setattr: P96 15.2.7.1 -- unimplemented -@item mq_unlink: P96 15.2.3.1 -- unimplemented -@end itemize - -@item Thread Management (Section 16) -@itemize @code -@item pthread_attr_destroy: P96 16.2.1.1 -@item pthread_attr_getdetachstate: P96 16.2.1.1 -- unimplemented -@item pthread_attr_getstackaddr: P96 16.2.1.1 -- unimplemented -@item pthread_attr_getstacksize: P96 16.2.1.1 -@item pthread_attr_init: P96 16.2.1.1 -@item pthread_attr_setdetachstate: P96 16.2.1.1 -- unimplemented -@item pthread_attr_setstackaddr: P96 16.2.1.1 -- unimplemented -@item pthread_attr_setstacksize: P96 16.2.1.1 -@item pthread_create: P96 16.2.2.1 -@item pthread_detach: P96 16.2.4.1 -- unimplemented -@item pthread_equal: P96 16.2.7.1 -@item pthread_exit: P96 16.2.5.1 -@item pthread_join: P96 16.2.3.1 -- unimplemented -@item pthread_once: P96 16.2.8.1 -- unimplemented -@item pthread_self: P96 16.2.6.1 -@end itemize - -@item Thread-Specific Data (Section 17) -@itemize @code -@item pthread_getspecific: P96 17.1.2.1 -@item pthread_key_create: P96 17.1.1.1 -@item pthread_key_delete: P96 17.1.3.1 -@item pthread_setspecific: P96 17.1.2.1 -@end itemize - -@item Thread Cancellation (Section 18) -@itemize @code -@item pthread_cancel: P96 18.2.1.1 -- unimplemented -@item pthread_cleanup_pop: P96 18.2.3.1 -- unimplemented -@item pthread_cleanup_push: P96 18.2.3.1 -- unimplemented -@item pthread_setcancelstate: P96 18.2.2.1 -- unimplemented -@item pthread_setcanceltype: P96 18.2.2.1 -- unimplemented -@item pthread_testcancel: P96 18.2.2.1 -- unimplemented -@end itemize - -@section Misc Functions - -@strong{(Please note: This section has not yet been updated for the latest -net release.)} - -@item Networking (net.cc) (Standardized by POSIX 1.g, which is probably still in draft?) -@itemize @code -@item accept -@item bind -@item connect -@item getdomainname -@item gethostbyaddr -@item gethostbyname -@item getpeername -@item getprotobyname -@item getprotobynumber -@item getservbyname -@item getservbyport -@item getsockname -@item getsockopt -@item herror -@item htonl -@item htons -@item inet_addr -@item inet_makeaddr -@item inet_netof -@item inet_ntoa -@item listen -@item ntohl -@item ntohs -@item rcmd -@item recv -@item recvfrom -@item rexec -@item rresvport -@item send -@item sendto -@item setsockopt -@item shutdown -@item socket -@item socketpair -@end itemize - -Of these networking calls, rexec, rcmd and rresvport are implemented -in MS IP stack but may not be implemented in other vendors' stacks. - -@item Other -@itemize @code -@item acl -@item aclcheck -@item aclfrommode -@item aclfrompbits -@item aclfromtext -@item aclsort -@item acltomode -@item acltopbits -@item acltotext -@item chroot (with restrictions) -@item closelog -@item cwait -@item cygwin_conv_to_full_posix_path -@item cygwin_conv_to_full_win32_path -@item cygwin_conv_to_posix_path -@item cygwin_conv_to_win32_path -@item cygwin_logon_user -@item cygwin_posix_path_list_p -@item cygwin_posix_to_win32_path_list -@item cygwin_posix_to_win32_path_list_buf_size -@item cygwin_set_impersonation_token -@item cygwin_split_path -@item cygwin_win32_to_posix_path_list -@item cygwin_win32_to_posix_path_list_buf_size -@item cygwin_winpid_to_pid -@item dlclose -@item dlerror -@item dlfork -@item dlopen -@item dlsym -@item endgrent -@item endhostent -@item facl -@item fcloseall -@item fcloseall_r -@item ffs -@item fstatfs -@item ftime -@item get_osfhandle -@item getdtablesize -@item getgrent -@item gethostname -@item getitimer -@item getmntent -@item getpagesize -@item getpgid -@item getpwent -@item gettimeofday: BSD -@item grantpt -@item initgroups (stub) -@item ioctl -@item killpg -@item login -@item logout -@item lstat -@item mknod (stub, sets ENOSYS, returns -1) -@item memccpy -@item nice -@item openlog -@item pclose -@item popen -@item ptsname -@item putenv -@item random -@item readv -@item realpath -@item regfree -@item rexec -@item select -@item setegid: SVR4 (stub on 9X, sets ENOSYS, returns zero)@item endpwent -@item setenv -@item seterrno -@item seteuid (stub on 9X, sets ENOSYS, returns zero) -@item sethostent -@item setitimer -@item setmntent -@item setmode -@item setpassent -@item setpgrp -@item setpwent -@item settimeofday: BSD (stub, set ENOSYS, return -1) -@item sexecl -@item sexecle -@item sexeclp -@item sexeclpe -@item sexeclpe -@item sexecp -@item sexecv -@item sexecve -@item sexecvpe -@item sigpause -@item spawnl (spawn calls are from Windows C library) -@item spawnle -@item spawnlp -@item spawnlpe -@item spawnv -@item spawnve -@item spawnvp -@item spawnvpe -@item srandom -@item statfs -@item strsignal -@item strtosigno -@item swab -@item syslog -@item timezone -@item truncate (SVR4/4.3+BSD) -@item ttyslot -@item unlockpt -@item unsetenv -@item usleep -@item utimes -@item vfork: stub that calls fork -@item vhangup (stub, sets ENOSYS, returns -1) -@item wait3 -@item wait4 -@item wcscmp -@item wcslen -@item wprintf -@item writev -@end itemize - -@end itemize - diff --git a/winsup/doc/changes.texinfo b/winsup/doc/changes.texinfo deleted file mode 100644 index 6e46478..0000000 --- a/winsup/doc/changes.texinfo +++ /dev/null @@ -1,202 +0,0 @@ -@section Release Beta 20.1 (Dec 4 1998) - -This is a bug fix update to the Beta 20 release. - -The main change is an improved version of the Cygwin library although -there are also a couple of other minor changes to the tools. - -@subsection Changes in specific tools: - -The "-mno-cygwin" flag to gcc now include the correct headers. In 20.0, -it included the Cygwin headers which was incorrect. - -The "-pipe" flag to gcc works correctly now. - -The cygcheck program now reassures users that not finding cpp is the -correct behavior. - -The "-b" flag to md5sum can now be used to generate correct checksums -of binary files. - -The libtermcap library has been added to the compiler tools sources. -It is the new source of the termcap library and /etc/termcap file. - -The less pager (using libtermcap) has been added to the binary -distribution. - -@subsection Changes in the Cygwin API (cygwin.dll): - -This version of Cygwin is backwards-compatible with the beta 20 and 19 -releases. The library is now much more stable under Windows 9x and the -bugs affecting configures under 9x (and NT to a lesser extent) have -also been fixed. - -The bug that made it necessary to start the value of the CYGWIN -environment variable with two leading spaces has been fixed. - -The serial support in the select call has been fixed. - -Handling of DLLs loaded by non-cygwin apps has been improved. Bugs in -dlopen have been fixed. - -Passing _SC_CHILD_MAX to the sysconf function now yields CHILD_MAX (63) -instead of _POSIX_CHILD_MAX (3). - -Several minor path bugs have been fixed. Including the one that -caused "mkdir a/" to fail. - -The include file sys/sysmacros.h has been added. Added missing protos -for wcslen and wcscmp to wchar.h. - -__P is now defined in include/sys/cdefs.h. To support that last change, -the top-level Makefile.in now sets CC_FOR_TARGET and CXX_FOR_TARGET -differently. - -Cygwin now exports the following newlib bessel functions: j1, jn, y1, -yn. - -Several tty ioctl options have been added: TCGETA, TCSETA, TCSETAW, and -TCSETAF. - -Several functions cope with NULL pointer references more gracefully. - -Problems with execution of relative paths via #! should be fixed. - -@section Release Beta 20 (Oct 30 1998) - -This is a significant update to the Beta 19 release. In addition to an -EGCS-based compiler and updated tools, this release includes a new -version of the Cygwin library that contains many improvements and -bugfixes over the last one. - -@subsection The project has a new name! - -Starting with this release, we are retiring the "GNU-Win32" name for the -releases. We have also dropped the "32" from Cygwin32. This means that -you should now refer to the tools as "the Cygwin toolset", the library -as "the Cygwin library" or "the Cygwin DLL", and the library's interface -as "the Cygwin API". - -Because of this name change, we have changed any aspects of the library -that involved the name "Cygwin32". For example, the CYGWIN32 -environment variable is now the CYGWIN environment variable. API -functions starting with cygwin32_ are still available under that form -for backwards-compatibility as well as under the new cygwin_-prefixed -names. The same goes for the change of preprocessor define from -__CYGWIN32__ to __CYGWIN__. We will remove the old names in a future -release so please take the minute or two that it will take to remove -those "32"s. Thanks and I apologize for the hassle this may cause -people. We would have changed the name to "Bob" but that name's already -taken by Microsoft... :-) - -Why change it? For one thing, not all of the software included in the -distributions is GNU software, including the Cygwin library itself. So -calling the project "GNU-Win32" has always been a bit of a misnomer. In -addition, we think that calling the tools the "Cygwin tools" that use -the "Cygwin library" will be less confusing to people. - -Also notice that we are now on the spiffy new sourceware.cygnus.com -web/ftp site. The old address will work for some unknown period of -time (hopefully at least until we get all of the mirrors adjusted). - -@subsection Changes in specific tools: - -The latest public EGCS release is now the basis for the compiler used -in Cygwin distributions. As a result, EGCS 1.1 is the compiler in this -release, with a few additional x86/Cygwin-related patches. - -Those of you who are more interested in native Windows development than -in porting Unix programs will be glad to know that a new gcc flag -"-mno-cygwin" will link in the latest Mingw32 libs and produce an -executable that does not use Cygwin. - -All of the other development tools have been updated to their latest -versions. The linker (ld) includes many important bug fixes. It is now -possible to safely strip a DLL with a .reloc section. The windres -resource compiler is significantly improved. - -Beta 20 also includes upgrades to a number of packages: ash-0.3.2-4, -bash 2.02.1, grep-2.2, ncurses 4.2, and less 332. We have added bzip2 -0.9.0 to the distribution. And you'll now find that the df utility -has joined its other friends from the fileutils package. - -The sh executable is still ash from the Debian Linux distribution but no -longer has the problematic quoting bug that was present in the Beta 19 -release. Control-Cs in the bash shell no longer kill background tasks. - -Tcl/tk are upgraded to version 8.1a2 (with additional patches). -Compatible versions of tix and itcl are included. These all include -Cygwin-compatible configury files so you can do a Unix-style build of -the Win32 ports of tcl/tk. expect has been upgraded to 5.26 with some -additional Cygwin patches. - -In response to customer requests and feedback, Cygnus has developed a -better graphical front end to GDB than GDBtk or WinGDB. This tcl-based -GUI is shipping today to customers of the GNUPro Toolkit. The -instrumentation changes to GDB and the tcl interpreter that was built -into GDB are part of the GPL'd source base. But the tcl scripts are not -being made available to the net at this time. For this reason, you will -only find a command-line version of gdb in this Cygwin release. - -DJ Delorie has written a new "cygcheck" program that will print out -useful information about how your Cygwin environment is set up, what -DLLs a named executable is loading from where, etc. We hope this will -make it easier to help diagnose common setup problems. - -The ps utility has been upgraded. It now has several options including -shorter and longer output formats. - -@subsection Changes in the Cygwin API (cygwin.dll): - -This version of Cygwin is backwards-compatible with the beta 19 release. -You can use the new "cygwin1.dll" with your old B19-compiled executables -if you move the old "cygwinb19.dll" out of the way and install a copy -of "cygwin1.dll" as "cygwinb19.dll". - -Quite a lot of the Cygwin internals have been rewritten or modified to -address various issues. If you have a question about specific changes, -the winsup/ChangeLog file in the development tools sources lists all -changes made to the DLL over the last three years. Following are a few -highlights: - -We are now using a new versioning scheme for Cygwin. There is now a -separate version number for the DLL, the API, the shared memory region -interfaces, and the registry interface. This will hopefully make it -easier for multiple Cygwin toolsets to coexist in one user environment. - -Windows 98 is now supported (it is like Windows 95 from Cygwin's -perspective). We still recommend upgrading to Windows NT. - -While there is still a lot left to do in improving Cygwin's runtime -performance, we have put some effort into this prior to the B20 release. -Hopefully you will find that the latest version of Cygwin is faster than -ever. In addition, we have plugged several nasty handle leaks -associated with opening/closing files and with using ttys. - -The lseek call now uses WriteFile to fill gaps with zeros whenever a -write is done past an EOF, rather than leaving "undefined" data as Win32 -specifies. - -Significant work has been done to improve the Cygwin header files. - -The Cygwin Support for Unix-style serial I/O is much improved. - -Path handling has had another round of fixes/rewrites. We no longer use -NT Extended Attributes by default for storing Unix permissions/execute -status because the file NT creates on FAT partitions is not scalable to -thousands of files (everything slows to a crawl). - -Signal handling has also gotten a fair amount of attention. -Unfortunately, there are still some problems combining itimers and -Windows 9x. - -The number of ttys has been upped from 16 to 128. - -New API calls included in the DLL: sethostent, endhostent. - -As mentioned earlier, all cygwin32_-prefixed functions are now exported -with a cygwin_ prefix instead. Please adjust your code to call the -newly named functions. - -reads of `slow' devices are now correctly interrupted by signals, i.e. -a read will receive an EINTR. diff --git a/winsup/doc/copy.texinfo b/winsup/doc/copy.texinfo deleted file mode 100644 index 5dcdac9..0000000 --- a/winsup/doc/copy.texinfo +++ /dev/null @@ -1,384 +0,0 @@ -@chapter What are the copyrights ? - -@section The general idea - -Most of the tools are covered by the GNU General Public License (GPL), -although some are public domain, and others have a X11-style -copyright. To cover the GNU GPL requirements, the basic rule is if -you give out any binaries, you must also make the source available. -For the full details, be sure to read the text of the GNU GPL which -follows. - -The Cygwin API library found in the winsup subdirectory of the source -code is also covered by the GNU GPL. By default, all executables link -against this library (and in the process include GPL'd Cygwin glue -code). This means that unless you modify the tools so that compiled -executables do not make use of the Cygwin library, your compiled -programs will also have to be free software distributed under the GPL -with source code available to all. - -Cygwin is currently available for proprietary use only through a -proprietary-use license. Please see -@file{http://www.redhat.com/software/cygwin/} for more information -about the Red Hat Cygwin Product. - -In accordance with section 10 of the GPL, Red Hat, Inc. permits -programs whose sources are distributed under a license that complies -with the Open Source definition to be linked with libcygwin.a without -libcygwin.a itself causing the resulting program to be covered by the -GNU GPL. - -This means that you can port an Open Source(tm) application to cygwin, -and distribute that executable as if it didn't include a copy of -libcygwin.a linked into it. Note that this does not apply to the -cygwin DLL itself. If you distribute a (possibly modified) version of -the DLL you must adhere to the terms of the GPL, i.e., you must -provide sources for the cygwin DLL. - -See @file{http://www.opensource.org/docs/definition_plain.html} for -the precise Open Source Definition referenced above. - -@section GNU GENERAL PUBLIC LICENSE -@example - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 675 Mass Ave, Cambridge, MA 02139, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - Appendix: How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) 19yy <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. - -@end example - diff --git a/winsup/doc/faq.texinfo b/winsup/doc/faq.texinfo deleted file mode 100644 index 4a415f0..0000000 --- a/winsup/doc/faq.texinfo +++ /dev/null @@ -1,15 +0,0 @@ -\input texinfo - -@title The Cygwin FAQ - -@author You can always find the latest version of this FAQ at @file{http://cygwin.com/faq.html}. - -@setfilename faq.txt - -@include what.texinfo -@include install.texinfo -@include how.texinfo -@include relnotes.texinfo -@include history.texinfo -@include who.texinfo -@include copy.texinfo diff --git a/winsup/doc/history.texinfo b/winsup/doc/history.texinfo deleted file mode 100644 index f5ae987..0000000 --- a/winsup/doc/history.texinfo +++ /dev/null @@ -1,5 +0,0 @@ -@chapter History - -This section of the FAQ is no longer maintained. - -Instead, see @file{http://cygwin.com/history.html}. diff --git a/winsup/doc/how-api.texinfo b/winsup/doc/how-api.texinfo deleted file mode 100644 index 5490946..0000000 --- a/winsup/doc/how-api.texinfo +++ /dev/null @@ -1,292 +0,0 @@ -@section Cygwin API Questions - -@subsection How does everything work? - -There's a C library which provides a Unix-style API. The -applications are linked with it and voila - they run on Windows. - -The aim is to add all the goop necessary to make your apps run on -Windows into the C library. Then your apps should run on Unix and -Windows with no changes at the source level. - -The C library is in a DLL, which makes basic applications quite small. -And it allows relatively easy upgrades to the Win32/Unix translation -layer, providing that DLL changes stay backward-compatible. - -For a good overview of Cygwin, you may want to read the paper on Cygwin -published by the Usenix Association in conjunction with the 2d Usenix NT -Symposium in August 1998. It is available in HTML format on the project -WWW site. - -@subsection Are development snapshots for the Cygwin library available? - -Yes. They're made whenever anything interesting happens inside the -Cygwin library (usually roughly on a nightly basis, depending on how much -is going on). They are only intended for those people who wish to -contribute code to the project. If you aren't going to be happy -debugging problems in a buggy snapshot, avoid these and wait for a real -release. The snapshots are available from -@file{http://cygwin.com/snapshots/}. - -@subsection How is the DOS/Unix CR/LF thing handled? - -Let's start with some background. - -In UNIX, a file is a file and what the file contains is whatever the -program/programmer/user told it to put into it. In Windows, a file is -also a file and what the file contains depends not only on the -program/programmer/user but also the file processing mode. - -When processing in text mode, certain values of data are treated -specially. A \n (new line) written to the file will prepend a \r -(carriage return) so that if you `printf("Hello\n") you in fact get -"Hello\r\n". Upon reading this combination, the \r is removed and the -number of bytes returned by the read is 1 less than was actually read. -This tends to confuse programs dependent on ftell() and fseek(). A -Ctrl-Z encountered while reading a file sets the End Of File flags even -though it truly isn't the end of file. - -One of Cygwin's goals is to make it possible to easily mix Cygwin-ported -Unix programs with generic Windows programs. As a result, Cygwin opens -files in text mode as is normal under Windows. In the accompanying -tools, tools that deal with binaries (e.g. objdump) operate in Unix -binary mode and tools that deal with text files (e.g. bash) operate in -text mode. - -Some people push the notion of globally setting the default processing -mode to binary via mount point options or by setting the CYGWIN -environment variable. But that creates a different problem. In -binary mode, the program receives all of the data in the file, including -a \r. Since the programs will no longer deal with these properly for -you, you would have to remove the \r from the relevant text files, -especially scripts and startup resource files. This is a porter "cop -out", forcing the user to deal with the \r for the porter. - -It is rather easy for the porter to fix the source code by supplying the -appropriate file processing mode switches to the open/fopen functions. -Treat all text files as text and treat all binary files as binary. -To be specific, you can select binary mode by adding @code{O_BINARY} to -the second argument of an @code{open} call, or @code{"b"} to second -argument of an @code{fopen} call. You can also call @code{setmode (fd, -O_BINARY)}. - -Note that because the open/fopen switches are defined by ANSI, they -exist under most flavors of Unix; open/fopen will just ignore the switch -since they have no meaning to UNIX. - -Explanation adapted from mailing list email by Earnie Boyd -<earnie_boyd@@yahoo.com>. - -@subsection Is the Cygwin library multi-thread-safe? - -Yes. - -There is also extensive support for 'POSIX threads', see the file -@code{cygwin.din} for the list of POSIX thread functions provided. - -@subsection Why is some functionality only supported in Windows NT? - -Windows 9x: n. -32 bit extensions and a graphical shell for a 16 bit patch to an -8 bit operating system originally coded for a 4 bit microprocessor, -written by a 2 bit company that can't stand 1 bit of competition. - -But seriously, Windows 9x lacks most of the security-related calls and -has several other deficiencies with respect to its version of the Win32 -API. See the calls.texinfo document for more information as to what -is not supported in Win 9x. - -@subsection How is fork() implemented? - -Cygwin fork() essentially works like a non-copy on write version -of fork() (like old Unix versions used to do). Because of this it -can be a little slow. In most cases, you are better off using the -spawn family of calls if possible. - -Here's how it works: - -Parent initializes a space in the Cygwin process table for child. -Parent creates child suspended using Win32 CreateProcess call, giving -the same path it was invoked with itself. Parent calls setjmp to save -its own context and then sets a pointer to this in the Cygwin shared -memory area (shared among all Cygwin tasks). Parent fills in the child's -.data and .bss subsections by copying from its own address space into -the suspended child's address space. Parent then starts the child. -Parent waits on mutex for child to get to safe point. Child starts and -discovers if has been forked and then longjumps using the saved jump -buffer. Child sets mutex parent is waiting on and then blocks on -another mutex waiting for parent to fill in its stack and heap. Parent -notices child is in safe area, copies stack and heap from itself into -child, releases the mutex the child is waiting on and returns from the -fork call. Child wakes from blocking on mutex, recreates any mmapped -areas passed to it via shared area and then returns from fork itself. - -@subsection How does wildcarding (globbing) work? - -If the DLL thinks it was invoked from a DOS style prompt, it runs a -`globber' over the arguments provided on the command line. This means -that if you type @code{LS *.EXE} from DOS, it will do what you might -expect. - -Beware: globbing uses @code{malloc}. If your application defines -@code{malloc}, that will get used. This may do horrible things to you. - -@subsection How do symbolic links work? - -Cygwin knows of two ways to create symlinks. - -The old method is the only valid one up to but not including version 1.3.0. -If it's enabled (from 1.3.0 on by setting `nowinsymlinks' in the environment -variable CYGWIN) Cygwin generates link files with a magic header. When you -open a file or directory that is a link to somewhere else, it opens the file -or directory listed in the magic header. Because we don't want to have to -open every referenced file to check symlink status, Cygwin marks symlinks -with the system attribute. Files without the system attribute are not -checked. Because remote samba filesystems do not enable the system -attribute by default, symlinks do not work on network drives unless you -explicitly enable this attribute. - -The new method which is introduced with Cygwin version 1.3.0 is enabled -by default or if `winsymlinks' is set in the environment variable CYGWIN. -Using this method, Cygwin generates symlinks by creating Windows shortcuts. -Cygwin created shortcuts have a special header (which is in that way never -created by Explorer) and the R/O attribute set. A DOS path is stored in -the shortcut as usual and the description entry is used to store the POSIX -path. While the POSIX path is stored as is, the DOS path has perhaps to be -rearranged to result in a valid path. This may result in a divergence -between the DOS and the POSIX path when symlinks are moved crossing mount -points. When a user changes the shortcut, this will be detected by Cygwin -and it will only use the DOS path then. While Cygwin shortcuts are shown -without the ".lnk" suffix in `ls' output, non-Cygwin shortcuts are shown -with the suffix. However, both are treated as symlinks. - -Both, the old and the new symlinks can live peacefully together since Cygwin -treats both as symlinks regardless of the setting of `(no)winsymlinks' in -the environment variable CYGWIN. - -@subsection Why do some files, which are not executables have the 'x' type. - -When working out the Unix-style attribute bits on a file, the library -has to fill out some information not provided by the WIN32 API. - -It guesses that files ending in .exe and .bat are executable, as are -ones which have a "#!" as their first characters. - -@subsection How secure is Cygwin in a multi-user environment? - -As of version 1.5.13, the Cygwin developers are not aware of any feature -in the cygwin dll that would allow users to gain privileges or to access -objects to which they have no rights under Windows. However there is no -guarantee that Cygwin is as secure as the Windows it runs on. Cygwin -processes share some variables and are thus easier targets of denial of -service type of attacks. - -@subsection How do the net-related functions work? - -@strong{(Please note: This section has not yet been updated for the latest -net release.)} - -The network support in Cygwin is supposed to provide the Unix API, not -the Winsock API. - -There are differences between the semantics of functions with the same -name under the API. - -E.g., the select system call on Unix can wait on a standard file handles -and handles to sockets. The select call in Winsock can only wait on -sockets. Because of this, cygwin.dll does a lot of nasty stuff behind -the scenes, trying to persuade various Winsock/win32 functions to do what -a Unix select would do. - -If you are porting an application which already uses Winsock, then -using the net support in Cygwin is wrong. - -But you can still use native Winsock, and use Cygwin. The functions -which cygwin.dll exports are called 'cygwin_<name>'. There -are a load of defines which map the standard Unix names to the names -exported by the DLL-- check out include/netdb.h: - -@example -..etc.. -void cygwin_setprotoent (int); -void cygwin_setservent (int); -void cygwin_setrpcent (int); -..etc.. -#ifndef __INSIDE_CYGWIN_NET__ -#define endprotoent cygwin_endprotoent -#define endservent cygwin_endservent -#define endrpcent cygwin_endrpcent -..etc.. -@end example - -The idea is that you'll get the Unix->Cygwin mapping if you include -the standard Unix header files. If you use this, you won't need to -link with libwinsock.a - all the net stuff is inside the DLL. - -The mywinsock.h file is a standard winsock.h which has been hacked to -remove the bits which conflict with the standard Unix API, or are -defined in other headers. E.g., in mywinsock.h, the definition of -struct hostent is removed. This is because on a Unix box, it lives in -netdb. It isn't a good idea to use it in your applications. - -As of the b19 release, this information may be slightly out of date. - -@subsection I don't want Unix sockets, how do I use normal Win32 winsock? - -@strong{(Please note: This section has not yet been updated for the latest -net release.)} - -To use the vanilla Win32 winsock, you just need to #define Win32_Winsock -and #include "windows.h" at the top of your source file(s). You'll also -want to add -lwsock32 to the compiler's command line so you link against -libwsock32.a. - -@subsection What version numbers are associated with Cygwin? - -Cygwin versioning is relatively complicated because of its status as a -shared library. First of all, since October 1998 every Cygwin DLL has -been named @code{cygwin1.dll} and has a 1 in the release name. -Additionally, there are DLL major and minor numbers that correspond to -the name of the release, and a release number. In other words, -cygwin-1.5.10-2 is @code{cygwin1.dll}, major version 5, minor version -10, release 2. - -The @code{cygwin1.dll} major version number gets incremented only when a -change is made that makes existing software incompatible. For example, -the first major version 5 release, cygwin-1.5.0-1, added 64-bit file I/O -operations, which required many libraries to be recompiled and relinked. -The minor version changes every time we make a new backward compatible -Cygwin release available. There is also a @code{cygwin1.dll} release -version number. The release number is only incremented if we update an -existing release in a way that does not effect the DLL (like a missing -header file). - -There are also Cygwin API major and minor numbers. The major number -tracks important non-backward-compatible interface changes to the API. -An executable linked with an earlier major number will not be compatible -with the latest DLL. The minor number tracks significant API additions -or changes that will not break older executables but may be required by -newly compiled ones. - -Then there is a shared memory region compatibility version number. It is -incremented when incompatible changes are made to the shared memory -region or to any named shared mutexes, semaphores, etc. Finally there -is a mount point registry version number which keeps track -of non-backwards-compatible changes to the registry mount table layout. -This has been @code{mounts v2} for a long time. For more exciting Cygwin -version number details, check out the @code{/usr/include/cygwin/version.h} -file. - -@subsection Why isn't _timezone set correctly? - -@strong{(Please note: This section has not yet been updated for the latest -net release.)} - -Did you explicitly call tzset() before checking the value of _timezone? -If not, you must do so. - -@subsection Is there a mouse interface? - -There is no way to capture mouse events from Cygwin. There are -currently no plans to add support for this. - diff --git a/winsup/doc/how-programming.texinfo b/winsup/doc/how-programming.texinfo deleted file mode 100644 index bd9b82d..0000000 --- a/winsup/doc/how-programming.texinfo +++ /dev/null @@ -1,703 +0,0 @@ -@section Programming Questions - -@subsection How do I contribute a package? - -If you are willing to be a package maintainer, great! We urgently need -volunteers to prepare and maintain packages, because the priority of the -Cygwin Team is Cygwin itself. - -The Cygwin Package Contributor's Guide at -@file{http://cygwin.com/setup.html} details everything you need to know -about being a package maintainer. The quickest way to get started is to -read the @emph{Initial packaging procedure, script-based} section on -that page. The @samp{generic-build-script} found there works well for -most packages. - -For questions about package maintenance, use the cygwin-apps mailing -list (start at @file{http://cygwin.com/lists.html}) @emph{after} -searching and browsing the cygwin-apps list archives, of course. Be -sure to look at the @emph{Submitting a package} checklist at -@file{http://cygwin.com/setup.html} before sending an ITP (Intent To -Package) email to cygwin-apps. - -You should also announce your intentions to the general cygwin list, in -case others were thinking the same thing. - -@subsection How do I contribute to Cygwin? - -If you want to contribute to Cygwin itself, see -@file{http://cygwin.com/contrib.html}. - -@subsection Why are compiled executables so huge?!? - -By default, gcc compiles in all symbols. You'll also find that gcc -creates large executables on UNIX. - -If that bothers you, just use the 'strip' program, part of the binutils -package. Or compile with the @samp{-s} option to gcc. - -@subsection Where is glibc? - -Cygwin does not provide glibc. It uses newlib instead, which provides -much (but not all) of the same functionality. Porting glibc to Cygwin -would be difficult. - -@subsection Where is Objective C? - -Objective C is not distributed with the Cygwin version of gcc, and there -are no plans to do so. The gcc package maintainer had difficulty -building it, and once built there were problems using it. It appears -that there is only minimal support for the Objective C front-end in the -main GCC distribution, anyway. - -@subsection Why does my make fail on Cygwin with an execvp error? - -First of all, if you are using @samp{make -j[N]}, then stop. It doesn't -work well. Also beware of using non-portable shell features in your -Makefiles (see tips at @file{http://cygwin.com/faq/faq_3.html#SEC46}). - -Errors of @samp{make: execvp: /bin/sh: Illegal Argument} or -@samp{make: execvp: /bin/sh: Argument list too long} are often -caused by the command-line being to long for the Windows execution model. -To circumvent this, mount the path of the executable using the -X switch -to enable cygexec for all executables in that folder; you will also need -to exclude non-cygwin executables with the -x switch. Enabling cygexec -causes cygwin executables to talk directly to one another, which increases -the command-line limit. To enable cygexec for @samp{/bin} and -@samp{/usr/bin}, you can use these commands in a batch file: - -@example -mount -X -b -f c:\cygwin\bin /bin -mount -X -b -f c:\cygwin\bin /usr/bin -mount -x -b -f c:\cygwin\bin\strace.exe /usr/bin/strace.exe -mount -x -b -f c:\cygwin\bin\strace.exe /bin/strace.exe -mount -x -b -f c:\cygwin\bin\cygcheck.exe /usr/bin/cygcheck.exe -mount -x -b -f c:\cygwin\bin\cygcheck.exe /bin/cygcheck.exe -@end example - -Note that you must specifically exclude @code{strace} and @code{cygcheck}, -which are not linked to the Cygwin DLL. - -(See @file{http://www.cygwin.com/cygwin-ug-net/using-utils.html#mount} -for more information.) - - -@subsection Why the undefined reference to @samp{WinMain@@16}? - -If you're using @samp{gcc}, try adding an empty main() function to one -of your sources. Or, perhaps you have @samp{-lm} too early in the -link command line. It should be at the end: - -@example - bash$ gcc hello.c -lm - bash$ ./a.exe - Hello World! -@end example - -works, but - -@example - bash$ gcc -lm hello.c - /c/TEMP/ccjLEGlU.o(.text+0x10):hello.c: multiple definition of `main' - /usr/lib/libm.a(libcmain.o)(.text+0x0):libcmain.c: first defined here - /usr/lib/libm.a(libcmain.o)(.text+0x6a):libcmain.c: undefined reference to `WinMain@@16' - collect2: ld returned 1 exit status -@end example - -If you're using GCJ, you need to pass a "--main" flag: - -@example -gcj --main=Hello Hello.java -@end example - -@subsection How do I use Win32 API calls? - -@strong{(Please note: This section has not yet been updated for the latest -net release.)} - -It's pretty simple actually. Cygwin tools require that you explicitly -link the import libraries for whatever Win32 API functions that you -are going to use, with the exception of kernel32, which is linked -automatically (because the startup and/or built-in code uses it). - -For example, to use graphics functions (GDI) you must link -with gdi32 like this: - -gcc -o foo.exe foo.o bar.o -lgdi32 - -or (compiling and linking in one step): - -gcc -o foo.exe foo.c bar.c -lgdi32 - -The following libraries are available for use in this way: - -advapi32 largeint ole32 scrnsave vfw32 -cap lz32 oleaut32 shell32 win32spl -comctl32 mapi32 oledlg snmp winmm -comdlg32 mfcuia32 olepro32 svrapi winserve -ctl3d32 mgmtapi opengl32 tapi32 winspool -dlcapi mpr penwin32 th32 winstrm -gdi32 msacm32 pkpd32 thunk32 wow32 -glaux nddeapi rasapi32 url wsock32 -glu32 netapi32 rpcdce4 user32 wst -icmp odbc32 rpcndr uuid -imm32 odbccp32 rpcns4 vdmdbg -kernel32 oldnames rpcrt4 version - -The regular setup allows you to use the option -mwindows on the -command line to include a set of the basic libraries (and also -make your program a GUI program instead of a console program), -including user32, gdi32 and, IIRC, comdlg32. - -Note that you should never include -lkernel32 on your link line -unless you are invoking ld directly. Do not include the same import -library twice on your link line. Finally, it is a good idea to -put import libraries last on your link line, or at least after -all the object files and static libraries that reference them. - -The first two are related to problems the linker has (as of b18 at least) -when import libraries are referenced twice. Tables get messed up and -programs crash randomly. The last point has to do with the fact that -gcc processes the files listed on the command line in sequence and -will only resolve references to libraries if they are given after -the file that makes the reference. - -@subsection How do I compile a Win32 executable that doesn't use Cygwin? - -The -mno-cygwin flag to gcc makes gcc link against standard Microsoft -DLLs instead of Cygwin. This is desirable for native Windows programs -that don't need a UNIX emulation layer. - -This is not to be confused with 'MinGW' (Minimalist GNU for Windows), -which is a completely separate effort. That project's home page is -@file{http://www.mingw.org/index.shtml}. - -@subsection Can I build a Cygwin program that does not require cygwin1.dll at runtime? - -No. If your program uses the Cygwin API, then your executable cannot -run without cygwin1.dll. In particular, it is not possible to -statically link with a Cygwin library to obtain an independent, -self-contained executable. - -If this is an issue because you intend to distribute your Cygwin -application, then you had better read and understand -@file{http://cygwin.com/licensing.html}, which explains the licensing -options. Unless you purchase a special commercial license from Red -Hat, then your Cygwin application must be Open Source. - -@subsection Can I link with both MSVCRT*.DLL and cygwin1.dll? - -No, you must use one or the other, they are mutually exclusive. - -@subsection How do I make the console window go away? - -The default during compilation is to produce a console application. -It you are writing a GUI program, you should either compile with --mwindows as explained above, or add the string -"-Wl,--subsystem,windows" to the GCC command line. - -@subsection Why does make complain about a "missing separator"? - -This problem usually occurs as a result of someone editing a Makefile -with a text editor that replaces tab characters with spaces. Command -lines must start with tabs. This is not specific to Cygwin. - -@subsection Why can't we redistribute Microsoft's Win32 headers? - -Subsection 2.d.f of the `Microsoft Open Tools License agreement' looks -like it says that one may not "permit further redistribution of the -Redistributables to their end users". We take this to mean that we can -give them to you, but you can't give them to anyone else, which is -something that Red Hat can't agree to. Fortunately, we -have our own Win32 headers which are pretty complete. - -@subsection How do I use @samp{cygwin1.dll} with Visual Studio or MinGW? - -Before you begin, note that Cygwin is licensed under the GNU GPL (as -indeed are all other Cygwin-based libraries). That means that if your -code links against the cygwin dll (and if your program is calling -functions from Cygwin, it must, as a matter of fact, be linked against -it), you must apply the GPL to your source as well. Of course, this -only matters if you plan to distribute your program in binary form. For -more information, see @file{http://gnu.org/licenses/gpl-faq.html}. If -that is not a problem, read on. - -If you want to load the DLL dynamically, read -@code{winsup/cygwin/how-cygtls-works.txt} and the sample code in -@code{winsup/testsuite/cygload} to understand how this works. -The short version is: - -@enumerate -@item Make sure you have 4K of scratch space at the bottom of your stack. -@item Invoke @code{cygwin_dll_init()}: -@example -HMODULE h = LoadLibrary("cygwin1.dll"); -void (*init)() = GetProcAddress(h, "cygwin_dll_init"); -init(); -@end example -@end enumerate - -If you want to link statically from Visual Studio, to my knowledge -none of the Cygwin developers have done this, but we have this report -from the mailing list that it can be done this way: - -@enumerate -@item Use the impdef program to generate a .def file for the cygwin1.dll -(if you build the cygwin dll from source, you will already have a def -file) - -@example -impdef cygwin1.dll > cygwin1.def -@end example - -@item Use the MS VS linker (lib) to generate an import library - -@example -lib /def=cygwin1.def /out=cygwin1.lib -@end example - -@item Create a file "my_crt0.c" with the following contents - -@example -#include <sys/cygwin.h> -#include <stdlib.h> - -typedef int (*MainFunc) (int argc, char *argv[], char **env); - -void - my_crt0 (MainFunc f) - @{ - cygwin_crt0(f); - @} -@end example - -@item Use gcc in a Cygwin prompt to build my_crt0.c into a DLL - (e.g. my_crt0.dll). Follow steps 1 and 2 to generate .def and - .lib files for the DLL. - -@item Download crt0.c from the cygwin website and include it in - your sources. Modify it to call my_crt0() instead of - cygwin_crt0(). - -@item Build your object files using the MS VC compiler cl. - -@item Link your object files, cygwin1.lib, and my_crt0.lib (or - whatever you called it) into the executable. -@end enumerate - -Note that if you are using any other Cygwin based libraries -that you will probably need to build them as DLLs using gcc and -then generate import libraries for the MS VC linker. - -Thanks to Alastair Growcott (alastair dot growcott at bakbone dot co -dot uk) for this tip. - -@subsection How do I link against a @samp{.lib} file? - -If your @samp{.lib} file is a normal static or import library with -C-callable entry points, you can list @samp{foo.lib} as an object file for -gcc/g++, just like any @samp{*.o} file. Otherwise, here are some steps: - -@enumerate -@item Build a C file with a function table. Put all functions you intend -to use in that table. This forces the linker to include all the object -files from the .lib. Maybe there is an option to force LINK.EXE to -include an object file. -@item Build a dummy 'LibMain'. -@item Build a .def with all the exports you need. -@item Link with your .lib using link.exe. -@end enumerate - -or - -@enumerate -@item Extract all the object files from the .lib using LIB.EXE. -@item Build a dummy C file referencing all the functions you need, either - with a direct call or through an initialized function pointer. -@item Build a dummy LibMain. -@item Link all the objects with this file+LibMain. -@item Write a .def. -@item Link. -@end enumerate - -You can use these methods to use MSVC (and many other runtime libs) -with Cygwin development tools. - -Note that this is a lot of work (half a day or so), but much less than -rewriting the runtime library in question from specs... - -Thanks to Jacob Navia (root at jacob dot remcomp dot fr) for this explanation. - -@subsection How do I build Cygwin on my own? - -First, you need to get the Cygwin source. Ideally, you should check out -what you need from CVS (@file{http://cygwin.com/cvs.html}). This is the -@emph{preferred method} for acquiring the sources. Otherwise, you can -install the cygwin source package from the distribution. - -If you are trying to duplicate a cygwin release then you should just -download the corresponding source package and use "tar xjf" to unpack -it. This will unpack the sources into a directory named cygwin-x.y.z-n, -where x.y.z-n correspond to the version numbering of the tar.bz2 -package. - -@example -tar xjf cygwin-1.5.12-1-src.tar.bz2 -cd cygwin-1.5.12-1 -@end example - -You @emph{must} build cygwin in a separate directory from the source, -so create something like a @samp{build/} directory. You will also want -to install to a temporary location: - -@example -mkdir build -mkdir /install -cd build -(../configure --prefix=/install -v; make) >& make.out -make install > install.log 2>&1 -@end example - -Normally, this procedure ignore errors in building the documentation. -which requires the @samp{docbook-xml}, @samp{docbook-xsl}, and -@samp{xmlto} packages. For more information on building the -documentation, see the README included in the cygwin-doc package. - -To check a cygwin1.dll, run "make check" in the winsup/testsuite -directory. If that works, install everything @emph{except} the dll (if -you can). Then, close down all cygwin programs (including bash windows, -inetd, etc.), save your old dll, and copy the new dll to the correct -place. Then start up a bash window, or run a cygwin program from the -Windows command prompt, and see what happens. - -If you get the error "shared region is corrupted" it means that two -different versions of cygwin1.dll are running on your machine at the -same time. Remove all but one. - -@subsection I may have found a bug in Cygwin, how can I debug it (the symbols in gdb look funny)? - -Debugging symbols are stripped from distibuted Cygwin binaries, so any -symbols that you see in gdb are basically meaningless. It is also a good -idea to use the latest code in case the bug has been fixed, so we -recommend trying the latest snapshot from -@file{http://cygwin.com/snapshots/} or build the DLL from CVS. - -To build a debugging version of the Cygwin DLL, you will need to follow -the instructions at @file{http://cygwin.com/faq/faq_3.html#SEC102}. You -can also contact the mailing list for pointers (a simple test case that -demonstrates the bug is always welcome). - -@subsection How can I compile Cygwin for an unsupported platform (PowerPC, Alpha, ARM, Itanium)? - -Unfortunately, this will be difficult. Exception handling and signals -support semantics and args have been designed for x86 so you would need -to write specific support for your platform. We don't know of any other -incompatibilities. Please send us patches if you do this work! - -@subsection How can I adjust the heap/stack size of an application? - -If you need to change the maximum amount of memory available to Cygwin, see -@file{http://cygwin.com/cygwin-ug-net/setup-maxmem.html}. Otherwise, -just pass heap/stack linker arguments to gcc. To create foo.exe with -a heap size of 1024 and a stack size of 4096, you would invoke -gcc as: - -@code{gcc -Wl,--heap,1024,--stack,4096 -o foo foo.c} - -@subsection How can I find out which DLLs are needed by an executable? - -@samp{objdump -p} provides this information, but is rather verbose. - -@samp{cygcheck} will do this much more concisely, and operates -recursively, provided the command is in your path. - -Note there is currently a bug in cygcheck in that it will not report -on a program in a Windows system dir (e.g., C:\Windows or C:\WINNT) even -if it's in your path. To work around this, supply the full Win32 path -to the executable, including the .exe extension: - -@example -cygcheck c:\\winnt\\system32\\cmd.exe -@end example - -(Note the windows path separator must be escaped if this is typed in -bash.) - -@subsection How do I build a DLL? - -There's documentation that explains the process in the Cygwin User's -Guide here: @file{http://cygwin.com/cygwin-ug-net/dll.html} - -@subsection How can I set a breakpoint at MainCRTStartup? - -@strong{(Please note: This section has not yet been updated for the latest -net release.)} - -Set a breakpoint at *0x401000 in gdb and then run the program in -question. - -@subsection How can I build a relocatable dll? - -@strong{(Please note: This section has not yet been updated for the -latest net release. However, there was a discussion on the cygwin -mailing list recently that addresses this issue. Read -@file{http://cygwin.com/ml/cygwin/2000-06/msg00688.html} and -related messages.)} - -You must execute the following sequence of five commands, in this -order: - -@example -$(LD) -s --base-file BASEFILE --dll -o DLLNAME OBJS LIBS -e ENTRY - -$(DLLTOOL) --as=$(AS) --dllname DLLNAME --def DEFFILE \ - --base-file BASEFILE --output-exp EXPFILE - -$(LD) -s --base-file BASEFILE EXPFILE -dll -o DLLNAME OBJS LIBS -e ENTRY - -$(DLLTOOL) --as=$(AS) --dllname DLLNAME --def DEFFILE \ - --base-file BASEFILE --output-exp EXPFILE - -$(LD) EXPFILE --dll -o DLLNAME OBJS LIBS -e ENTRY -@end example - -In this example, $(LD) is the linker, ld. - -$(DLLTOOL) is dlltool. - -$(AS) is the assembler, as. - -DLLNAME is the name of the DLL you want to create, e.g., tcl80.dll. - -OBJS is the list of object files you want to put into the DLL. - -LIBS is the list of libraries you want to link the DLL against. For -example, you may or may not want -lcygwin. You may want -lkernel32. -Tcl links against -lcygwin -ladvapi32 -luser32 -lgdi32 -lcomdlg32 --lkernel32. - -DEFFILE is the name of your definitions file. A simple DEFFILE would -consist of ``EXPORTS'' followed by a list of all symbols which should -be exported from the DLL. Each symbol should be on a line by itself. -Other programs will only be able to access the listed symbols. - -BASEFILE is a temporary file that is used during this five stage -process, e.g., tcl.base. - -EXPFILE is another temporary file, e.g., tcl.exp. - -ENTRY is the name of the function which you want to use as the entry -point. This function should be defined using the WINAPI attribute, -and should take three arguments: - int WINAPI startup (HINSTANCE, DWORD, LPVOID) - -This means that the actual symbol name will have an appended @@12, so if -your entry point really is named @samp{startup}, the string you should -use for ENTRY in the above examples would be @samp{startup@@12}. - -If your DLL calls any Cygwin API functions, the entry function will need -to initialize the Cygwin impure pointer. You can do that by declaring -a global variable @samp{_impure_ptr}, and then initializing it in the -entry function. Be careful not to export the global variable -@samp{_impure_ptr} from your DLL; that is, do not put it in DEFFILE. - -@example -/* This is a global variable. */ -struct _reent *_impure_ptr; -extern struct _reent *__imp_reent_data; - -int entry (HINSTANT hinst, DWORD reason, LPVOID reserved) -@{ - _impure_ptr = __imp_reent_data; - /* Whatever else you want to do. */ -@} -@end example - -You may put an optional `--subsystem windows' on the $(LD) lines. The -Tcl build does this, but I admit that I no longer remember whether -this is important. Note that if you specify a --subsytem <x> flag to ld, -the -e entry must come after the subsystem flag, since the subsystem flag -sets a different default entry point. - -You may put an optional `--image-base BASEADDR' on the $(LD) lines. -This will set the default image base. Programs using this DLL will -start up a bit faster if each DLL occupies a different portion of the -address space. Each DLL starts at the image base, and continues for -whatever size it occupies. - -Now that you've built your DLL, you may want to build a library so -that other programs can link against it. This is not required: you -could always use the DLL via LoadLibrary. However, if you want to be -able to link directly against the DLL, you need to create a library. -Do that like this: - -$(DLLTOOL) --as=$(AS) --dllname DLLNAME --def DEFFILE --output-lib LIBFILE - -$(DLLTOOL), $(AS), DLLNAME, and DEFFILE are the same as above. Make -sure you use the same DLLNAME and DEFFILE, or things won't work right. - -LIBFILE is the name of the library you want to create, e.g., -libtcl80.a. You can then link against that library using something -like -ltcl80 in your linker command. - -@subsection How can I debug what's going on? - -You can debug your application using @code{gdb}. Make sure you -compile it with the -g flag! If your application calls functions in -MS DLLs, gdb will complain about not being able to load debug information -for them when you run your program. This is normal since these DLLs -don't contain debugging information (and even if they did, that debug -info would not be compatible with gdb). - -@subsection Can I use a system trace mechanism instead? - -Yes. You can use the @code{strace.exe} utility to run other cygwin -programs with various debug and trace messages enabled. For information -on using @code{strace}, see the Cygwin User's Guide or the file -@code{winsup/utils/utils.sgml}. - -@subsection Why doesn't gdb handle signals? - -Unfortunately, there is only minimal signal handling support in gdb -currently. Signal handling only works with Windows-type signals. -SIGINT may work, SIGFPE may work, SIGSEGV definitely does. You cannot -'stop', 'print' or 'nopass' signals like SIGUSR1 or SIGHUP to the -process being debugged. - -@subsection The linker complains that it can't find something. - -A common error is to put the library on the command line before -the thing that needs things from it. - -This is wrong @code{gcc -lstdc++ hello.cc}. -This is right @code{gcc hello.cc -lstdc++}. - -@subsection I use a function I know is in the API, but I still get a link error. - -@strong{(Please note: This section has not yet been updated for the latest -net release.)} - -The function probably isn't declared in the header files, or -the UNICODE stuff for it isn't filled in. - -@subsection Can you make DLLs that are linked against libc ? - -@strong{(Please note: This section has not yet been updated for the latest -net release.)} - -Yes. - -@subsection Where is malloc.h? - -@strong{(Please note: This section has not yet been updated for the latest -net release.)} - -Include stdlib.h instead of malloc.h. - -@subsection Can I use my own malloc? - -If you define a function called @code{malloc} in your own code, and link -with the DLL, the DLL @emph{will} call your @code{malloc}. Needless to -say, you will run into serious problems if your malloc is buggy. - -If you run any programs from the DOS command prompt, rather than from in -bash, the DLL will try and expand the wildcards on the command line. -This process uses @code{malloc} @emph{before} your main line is started. -If you have written your own @code{malloc} to need some initialization -to occur after @code{main} is called, then this will surely break. - -Moreover, there is an outstanding issue with @code{_malloc_r} in -@code{newlib}. This re-entrant version of @code{malloc} will be called -directly from within @code{newlib}, by-passing your custom version, and -is probably incompatible with it. But it may not be possible to replace -@code{_malloc_r} too, because @code{cygwin1.dll} does not export it and -Cygwin does not expect your program to replace it. This is really a -newlib issue, but we are open to suggestions on how to deal with it. - -@subsection Can I mix objects compiled with msvc++ and gcc? - -Yes, but only if you are combining C object files. MSVC C++ uses a -different mangling scheme than GNU C++, so you will have difficulties -combining C++ objects. - -@subsection Can I use the gdb debugger to debug programs built by VC++? - -No, not for full (high level source language) debugging. -The Microsoft compilers generate a different type of debugging -symbol information, which gdb does not understand. - -However, the low-level (assembly-type) symbols generated by -Microsoft compilers are coff, which gdb DOES understand. -Therefore you should at least be able to see all of your -global symbols; you just won't have any information about -data types, line numbers, local variables etc. - -@subsection Where can I find info on x86 assembly? - -CPU reference manuals for Intel's current chips are available in -downloadable PDF form on Intel's web site: - -@file{http://developer.intel.com/design/pro/manuals/} - -@subsection Shell scripts aren't running properly from my makefiles? - -If your scripts are in the current directory, you must have @samp{.} -(dot) in your $PATH. (It is not normally there by default.) Otherwise, -you would need to add /bin/sh in front of each and every shell script -invoked in your Makefiles. - -@subsection What preprocessor do I need to know about? - -We use _WIN32 to signify access to the Win32 API and __CYGWIN__ for -access to the Cygwin environment provided by the dll. - -We chose _WIN32 because this is what Microsoft defines in VC++ and -we thought it would be a good idea for compatibility with VC++ code -to follow their example. We use _MFC_VER to indicate code that should -be compiled with VC++. - -_WIN32 is only defined when you use either the -mno-cygwin or -mwin32 -gcc command line options. This is because Cygwin is supposed to be a -Unix emulation environment and defining _WIN32 confuses some programs -which think that they have to make special concessions for a Windows -environment which Cygwin handles automatically. - -Note that using -mno-cygwin replaces __CYGWIN__ with __MINGW32__ as to -tell which compiler (or settings) you're running. -Check this out in detail by running, for example - -@example - $ gcc -dM -E -xc /dev/null >gcc.txt - $ gcc -mno-cygwin -dM -E -xc /dev/null >gcc-mno-cygwin.txt - $ gcc -mwin32 -dM -E -xc /dev/null >gcc-mwin32.txt -@end example -Then use the diff and grep utilities to check -what the difference is. - -@subsection How should I port my Unix GUI to Windows? - -There are two basic strategies for porting Unix GUIs to Windows. - -The first is to use a portable graphics library such as tcl/tk, X11, or -V (and others?). Typically, you will end up with a GUI on Windows that -requires some runtime support. With tcl/tk, you'll want to include the -necessary library files and the tcl/tk DLLs. In the case of X11, you'll -need everyone using your program to have an X11 server installed. - -The second method is to rewrite your GUI using Win32 API calls (or MFC -with VC++). If your program is written in a fairly modular fashion, you -may still want to use Cygwin if your program contains a lot of shared -(non-GUI-related) code. That way you still gain some of the portability -advantages inherent in using Cygwin. - -@subsection Why not use DJGPP ? - -DJGPP is a similar idea, but for DOS instead of Win32. DJGPP uses a -"DOS extender" to provide a more reasonable operating interface for its -applications. The Cygwin toolset doesn't have to do this since all of -the applications are native WIN32. Applications compiled with the -Cygwin tools can access the Win32 API functions, so you can write -programs which use the Windows GUI. - -You can get more info on DJGPP by following -@file{http://www.delorie.com/}. diff --git a/winsup/doc/how-resources.texinfo b/winsup/doc/how-resources.texinfo deleted file mode 100644 index fe5111c..0000000 --- a/winsup/doc/how-resources.texinfo +++ /dev/null @@ -1,123 +0,0 @@ -@section Where can I get more information? - -@subsection Where's the documentation? - -If you have installed Cygwin, you can find lots of documentation in -@samp{/usr/share/doc/}. Many packages ship with standard documentation, -which you can find in @samp{/usr/share/doc/@emph{package_name}} or by -using the @code{man} or @code{info} tools. (Hint: use @code{cygcheck --l @emph{package_name}} to list what man pages the package includes.) -In addition, some packages have Cygwin specific instructions in a file -@samp{/usr/share/doc/Cygwin/@emph{package_name}.README}. Some older -packages still keep their documentation in @samp{/usr/doc/} instead of -@samp{/usr/share/doc/}. - -There are links to quite a lot of documentation on the main Cygwin -project web page, @file{http://cygwin.com/}, including this FAQ. Be -sure to at least read any 'Release Notes' or 'Readme' or 'read this' -links on the main web page, if there are any. - -There is a comprehensive Cygwin User's Guide at -@file{http://cygwin.com/cygwin-ug-net/cygwin-ug-net.html} -and an API Reference at -@file{http://cygwin.com/cygwin-api/cygwin-api.html}. - -You can find documentation for the individual GNU tools at -@file{http://www.fsf.org/manual/}. (You should read GNU manuals from a -local mirror, check @file{http://www.fsf.org/server/list-mirrors.html} -for a list of them.) - -@subsection What Cygwin mailing lists can I join? - -Comprehensive information about the Cygwin mailing lists can be found at -@file{http://cygwin.com/lists.html}. - -To subscribe to the main list, send a message to -cygwin-subscribe@@cygwin.com. To unsubscribe from the -main list, send a message to cygwin-unsubscribe@@cygwin.com. -In both cases, the subject and body of the message are ignored. - -Similarly, to subscribe to the Cygwin announcements list, send a message -to cygwin-announce-subscribe@@cygwin.com. To unsubscribe, -send a message to cygwin-announce-unsubscribe@@cygwin.com. - -If you want to contribe to Cygwin tools & applications, rather than -the library itself, then you should subscribe to cygwin-apps. There -is also a low-volume list called cygwin-developers which is reserved -for knowledgeable people who regularly contribute to the Cygwin DLL. -Please do not ask for read-only access to this mailing list. Both -cygwin-developers and cygwin-apps are by-approval lists. The same -mechanism as described for the first two lists works for these as -well. - -There is a searchable archive of the main mailing list at -@file{http://cygwin.com/ml/cygwin/}. There is an alternate -archive, also searchable, at @file{http://www.delorie.com/archives/}. -You can also search at @file{http://www.google.com/} and include -"cygwin" in the list of search terms. - -Cygwin mailing lists are not gatewayed to USENET, so anti-spam measures -in your email address are neither required nor appreciated. Also, avoid -sending HTML content to Cygwin mailing lists. - -@subsection Posting Guidelines (Or: Why won't you/the mailing list answer my questions?) - -If you follow these guidelines, you are much more likely to get a -helpful response from the Cygwin developers and/or the Cygwin community at -large: - -@itemize @bullet -@item Read the User's Guide and the FAQ first. -@item Check the mailing list archives. Your topic may have come up -before. (It may even have been answered!) Use the search facilities -at the links above. Try the alternate site if the main archive is not -producing search results. -@item Explain your problem carefully and completely. "I installed Blah -and it doesn't work!" wastes everybody's time. It provides no -information for anyone to help you with your problem. You should -provide: - -@itemize @bullet -@item A problem statement: How does it behave, how do you think it -should behave, and what makes you think it's broken? (Oh yeah, and what -is @emph{"it"}?) -@item Information about your Windows OS ("Win95 OSR2" or "NT4/SP3" or -"Win2K" or "Win98 SE" or ...). -@item Details about your installation process, or attempts at same. (Internet or -Directory install? If the former, exactly when and from what mirror? -If the latter, which packages did you download? Which version of -setup.exe? Any subsequent updates?) -@item Details about your Cygwin setup, accomplished by @emph{attaching} -the output of 'cygcheck -s -v -r' to your message. (Do not paste the -output into your message.) -@item A valid return address, so that a reply doesn't require manual editing of -the 'To:' header. -@end itemize - -@item Your message must be relevant to the list. Messages that are -@emph{not} directly related to Cygwin are considered off-topic and are -unwelcome. For example, the following are off-topic: - -@itemize @bullet -@item General programming language questions -@item General Windows programming questions -@item General UNIX shell programming questions -@item General application usage questions -@item How to make millions by working at home -@item Announcements from LaserJet toner cartridge suppliers -@end itemize - -@item Read and obey ``How To Ask Questions The Smart Way'' by Eric -S. Raymond, at @file{http://www.catb.org/~esr/faqs/smart-questions.html}. - -@end itemize - -If you do not follow the above guidelines, you may still elicit a -response, but you may not appreciate it! - -For inquiries about support contracts and commercial licensing, visit -@file{http://www.redhat.com/software/cygwin/}. - -Beyond that, perhaps nobody has time to answer your question. Perhaps -nobody knows the answer. - diff --git a/winsup/doc/how-using.texinfo b/winsup/doc/how-using.texinfo deleted file mode 100644 index b04bbc1..0000000 --- a/winsup/doc/how-using.texinfo +++ /dev/null @@ -1,813 +0,0 @@ -@section Using Cygwin - -@subsection Why can't my application locate cygncurses5.dll? or cygintl.dll? or cygreadline5.dll? or ...? - -If you upgraded recently, and suddenly vim (or some other Cygwin -application) cannot find @code{cygncurses5.dll}, it means that you did -not follow these instructions properly: -@file{http://cygwin.com/ml/cygwin-announce/2001/msg00124.html}. To -repair the damage, you must run Cygwin Setup again, and re-install the -@samp{libncurses5} package. - -Note that Cygwin Setup won't show this option by default. In the -``Select packages to install'' dialog, click on the @samp{Full/Part} -button. This lists all packages, even those that are already -installed. Scroll down to locate the @samp{libncurses5} package. -Click on the ``cycle'' glyph until it says ``Reinstall''. Continue -with the installation. - -Similarly, if something cannot find @code{cygintl.dll}, then run -Cygwin Setup and re-install the @samp{libintl} and @samp{libintl1} -packages. - -For a detailed explanation of the general problem, and how to extend -it to other missing DLLs (like cygreadline5.dll) and identify their -containing packages, see -@file{http://cygwin.com/ml/cygwin/2002-01/msg01619.html}. - -@subsection Why is Cygwin suddenly @emph{so} slow? - -If you recently upgraded and suddenly @emph{every} command takes a -@emph{very} long time, then something is probably attempting to -access a network share. You may have the obsolete @code{//c} -notation in your PATH or startup files. This now means the -@emph{network share} @code{c}, which will slow things down -tremendously if it does not exist. - -Using //c (for C:) doesn't work anymore. (Similarly for any drive -letter, e.g. @code{//z} for @code{Z:}) This ``feature'' has long been -deprecated, and no longer works at all in the latest release. As of -release 1.3.3, @code{//c} now means the @emph{network share} @code{c}. -For a detailed discussion of why this change was made, and how deal -with it now, refer to -@file{http://sources.redhat.com/ml/cygwin/2001-09/msg00014.html}. - -@subsection Why don't my services work (or access network shares)? - -Most Windows services run as a special user called @samp{SYSTEM}. If you -installed Cygwin for "Just Me", the @samp{SYSTEM} user won't see your -Cygwin mount table. You need to re-mount all of your mounts as -"system" for services to work. You can re-run @samp{setup.exe} and -select "Install for All Users", or this script will do the trick: - -@example -eval "`mount -m | sed -e 's/ -u / -s /g' -e 's/$/;/'`" -@end example - -The @samp{SYSTEM} user cannot access network shares that require -authentication. For more information, see -@file{http://cygwin.com/cygwin-ug-net/ntsec.html}. - -Workarounds include using public network share that does not require -authentication (for non-critical files), or running the service as -your own user with @samp{cygrunsrv -u} (see -@samp{/usr/share/doc/Cygwin/cygrunsrv.README} for more information). - -@subsection How should I set my PATH? - -This is done for you in the file /etc/profile, which is sourced by bash -when you start it from the Desktop or Start Menu shortcut, created by -@code{setup.exe}. The line is - -@example - PATH="/usr/local/bin:/usr/bin:/bin:$PATH" -@end example - -Effectively, this @strong{prepends} /usr/local/bin and /usr/bin to your -Windows system path. If you choose to reset your PATH, say in -$HOME/.bashrc, or by editing etc/profile directly, then you should -follow this rule. You @strong{must} have @code{/usr/bin} in your PATH -@strong{before} any Windows system directories. (And you must not omit -the Windows system directories!) Otherwise you will likely encounter -all sorts of problems running Cygwin applications. - -@subsection Bash says "command not found", but it's right there! - -If you compile a program, you might find that you can't run it: - -@example - bash$ gcc -o hello hello.c - bash$ hello - bash: hello: command not found -@end example - -Unlike Windows, bash does not look for programs in @samp{.} (the current -directory) by default. You can add @samp{.} to your PATH (see above), -but this is not recommended (at least on UNIX) for security reasons. -Just tell bash where to find it, when you type it on the command line: - -@example - bash$ gcc -o hello hello.c - bash$ ./hello - Hello World! -@end example - -@subsection How do I convert between Windows and UNIX paths? - -Use the 'cygpath' utility. Type '@code{cygpath --help}' for -information. For example (on my installation): -@example - bash$ cygpath --windows ~/.bashrc - D:\starksb\.bashrc - bash$ cygpath --unix C:/cygwin/bin/cygwin.bat - /usr/bin/cygwin.bat - bash$ cygpath --unix C:\\cygwin\\bin\\cygwin.bat - /usr/bin/cygwin.bat -@end example -Note that bash interprets the backslash '\' as an escape character, so -you must type it twice in the bash shell if you want it to be recognized -as such. - -@subsection Why doesn't bash read my .bashrc file on startup? - -Your .bashrc is read from your home directory specified by the HOME -environment variable. It uses /.bashrc if HOME is not set. So you need -to set HOME correctly, or move your .bashrc to the top of the drive -mounted as / in Cygwin. - -@subsection How can I get bash filename completion to be case insensitive? - -Add the following to your @code{~/.bashrc} file: - -@example - shopt -s nocaseglob -@end example - -and add the following to your @code{~/.inputrc} file: - -@example - set completion-ignore-case on -@end example - -@subsection Can I use paths/filenames containing spaces in them? - -Cygwin does support spaces in filenames and paths. That said, some -utilities that use the library may not, since files don't typically -contain spaces in Unix. If you stumble into problems with this, you -will need to either fix the utilities or stop using spaces in filenames -used by Cygwin tools. - -In particular, bash interprets space as a word separator. You would have -to quote a filename containing spaces, or escape the space character. -For example: -@example - bash-2.03$ cd '/cygdrive/c/Program Files' -@end example -or -@example - bash-2.03$ cd /cygdrive/c/Program\ Files -@end example - -@subsection Why can't I cd into a shortcut to a directory? - -Cygwin versions < 1.3.0 do not follow MS Windows Explorer Shortcuts -(*.lnk files). It sees a shortcut as a regular file and this you -cannot "cd" into it. - -Since version 1.3.0, Cygwin uses shortcuts as symlinks by default. - -Cygwin shortcuts are different from shortcuts created by native Windows -applications. Windows applications can usually make use of Cygwin -shortcuts but not vice versa. This is by choice. The reason is that -Windows shortcuts may contain a bunch of extra information which would -get lost, if, for example, Cygwin tar archives and extracts them as -symlinks. - -Changing a Cygwin shortcut in Windows Explorer usually changes a Cygwin -shortcut into a Windows native shortcut. Afterwards, Cygwin will not -recognize it as symlink anymore. - -@subsection I'm having basic problems with find. Why? - -Make sure you are using the find that came with Cygwin and that you -aren't picking up the Win32 find command instead. You can verify that -you are getting the right one by doing a "type find" in bash. - -If the path argument to find, including current directory (default), is -itself a symbolic link, then find will not traverse it unless you -specify the @samp{-follow} option. This behavior is different than most -other UNIX implementations, but is not likely to change. - -If find does not seem to be producing enough results, or seems to be -missing out some directories, you may be experiencing a problem with one -of find's optimisations. The absence of @samp{.} and @samp{..} -directories on some filesystems, such as DVD-R UDF, can confuse find. -See the documentation for the option @samp{-noleaf} in the man page. - -@subsection Why doesn't @samp{su} work? - -The @samp{su} command has been in and out of Cygwin distributions, but -it has not been ported to Cygwin and has never worked. It is -currently installed as part of the sh-utils, but again, it does not work. - -You may be able to use @samp{login} instead, but you should read -@file{http://www.cygwin.com/ml/cygwin/2001-03/msg00337.html} first. - -For some technical background into why @samp{su} doesn't work, read -@file{http://www.cygwin.com/ml/cygwin/2003-06/msg00897.html} and -related messages. - -@subsection Why doesn't man (or apropos) work? - -Even after installing the @samp{man} package, you get an error like this: - -@example - bash-2.04$ man man - Error executing formatting or display command. - System command (cd /usr/man ; (echo -e ".pl 1100i"; cat /usr/man/man1/man.1; echo ".pl \n(nlu+10") | /usr/bin/tbl | /usr/bin/groff -Tascii -mandoc | less -is) exited with status 32512. - No manual entry for man -@end example - -You also need /bin/sh, which is found in the @samp{ash} package. -You must install this too. - -In addition, before you can use @samp{man -k} or @samp{apropos}, you -must create the whatis database. Just run the command - -@example - /usr/sbin/makewhatis -@end example - -(it may take a minute to complete). - -@subsection Why doesn't chmod work? - -@samp{ntsec} will allow UNIX permissions in Windows NT on NTFS file -systems. This is on by default (a recent change). - -@samp{ntea} works on NTFS @emph{and} FAT but it creates a huge, -@strong{undeletable} file on FAT filesystems. - -(The @samp{ntsec} and @samp{ntea} settings are values for the -@samp{CYGWIN} environment variable. See the Cygwin User's Guide at -@file{http://cygwin.com/cygwin-ug-net/cygwin-ug-net.html} for more -information on this variable and its settings.) - -There is no solution at all for Windows 9x. - -If you have an application that requires a certain permission mode on a -file, you may be able to work around this requirement by modifying the -application's source code. For a hint, based on work done by Corinna -Vinschen for OpenSSH, see this message from the cygwin mailing list: -@file{http://cygwin.com/ml/cygwin/2000-11/msg01176.html}. - -@subsection Why doesn't @samp{mkdir -p} work on a network share? - -Starting with @samp{coreutils-5.3.0-6} and @samp{cygwin-1.5.17}, you can -do something like this: - -@example -bash$ mkdir -p //MACHINE/Share/path/to/new/dir -@end example - -However, coreutils expects Unix path names, so something like -@samp{mkdir -p \\\\machine\\share\\path} will fail. - -@subsection Why doesn't my shell script work? - -There are two basic problems you might run into. One is the fact that -/bin/sh is really ash, and is missing some features you might expect -in /bin/sh, particularly if you are used to /bin/sh actually being -bash (Linux) or ksh (Tru64). For example: - -@itemize bullet -@item No `~' expansion (use $HOME instead) -@item No job control -@item No getopts -@item No let -@item No functions exported -@item Must use `.' instead of `source' (true of sh and ksh too, not just ash) -@end itemize - -Or, it could be a permission problem, and Cygwin doesn't understand that -your script is executable. Because @samp{chmod} may not work (see FAQ -entry above), Cygwin must read the contents of files to determine if -they are executable. If your script does not start with - -@example - #! /bin/sh -@end example - -(or any path to a script interpreter, it does not have to be /bin/sh) -then Cygwin will not know it is an executable script. The Bourne shell -idiom - -@example - : - # This is the 2nd line, assume processing by /bin/sh -@end example - -also works. - -Note that you can use @samp{mount -x} to force Cygwin to treat all files -under the mount point as executable. This can be used for individual -files as well as directories. Then Cygwin will not bother to read files -to determine whether they are executable. - -@subsection How do I print under Cygwin? - -There is no working lp or lpr system as you would find on UNIX. - -Jason Tishler has written a couple of messages that explain how to use -a2ps (for nicely formatted text in PostScript) and ghostscript (to print -PostScript files on non-PostScript Windows printers). Start at -@file{http://cygwin.com/ml/cygwin/2001-04/msg00657.html}. Note that the -@samp{file} command is now available as part of Cygwin setup. - -Alternatively, on NT, you can use the Windows @samp{print} command. (It -does not seem to be available on Win9x.) Type - -@example - bash$ print /\? -@end example - -for usage instructions (note the @samp{?} must be escaped from the -shell). - -Finally, you can simply @samp{cat} the file to the printer's share name: - -@example - bash$ cat myfile > //host/printer -@end example - -You may need to press the formfeed button on your printer or append the -formfeed character to your file. - -@subsection Why don't international (Unicode) characters work? - -Internationalization is a complex issue. The short answer is that -Cygwin is not Unicode-aware, so things that might work in Linux will -not necessarily work on Cygwin. However, some things do work. To type -international characters (£åäö) in @code{bash}, add the following -lines to your @code{~/.inputrc} file and restart @code{bash}: - -@example - set meta-flag on - set convert-meta off - set output-meta on - set input-meta on - set kanji-code sjis - set meta-flag on -@end example - -These are options to the @code{readline} library, which you can read -about in the @code{bash(1)} and @code{readline(3)} man pages. Other -tools that do not use @code{readline} for display, such as @code{less} -and @code{ls}, require additional settings, which could be put in your -@code{~/.bashrc}: -@example -alias less='/bin/less -r' -alias ls='/bin/ls -F --color=tty --show-control-chars' -export LANG="ja_JP.SJIS" -export OUTPUT_CHARSET="sjis" -@end example -These examples use the Japanese Shift-JIS character set, obviously -you will want to change them for your own locale. - - -@subsection Why don't cursor keys work under Win95/Win98? - -@strong{(Please note: This section has not yet been updated for the latest -net release.)} - -Careful examination shows that they not just non-functional, but -rather behave strangely, for example, with NumLock off, keys on numeric -keyboard work, until you press usual cursor keys, when even numeric -stop working, but they start working again after hitting alphanumeric -key, etc. This reported to happen on localized versions of Win98 and -Win95, and not specific to Cygwin; there are known cases of Alt+Enter -(fullscreen/windowed toggle) not working and shifts sticking with -other programs. The cause of this problem is Microsoft keyboard -localizer which by default installed in 'autoexec.bat'. Corresponding -line looks like: - -@example -keyb ru,,C:\WINDOWS\COMMAND\keybrd3.sys -@end example - -(That's for russian locale.) You should comment that line if you want -your keys working properly. Of course, this will deprive you of your -local alphabet keyboard support, so you should think about -another localizer. ex-USSR users are of course knowledgeable of Keyrus -localizer, and it might work for other locales too, since it has keyboard -layout editor. But it has russian messages and documentation ;-( -Reference URL is http://www.hnet.ru/software/contrib/Utils/KeyRus/ -(note the you may need to turn off Windows logo for Keyrus to operate -properly). - -@subsection Is it OK to have multiple copies of the DLL? - -You should only have one copy of the Cygwin DLL on your system. If you -have multiple versions, they will conflict and cause problems. - -If you get the error "shared region is corrupted" or "shared region -version mismatch" it means you have multiple versions of cygwin1.dll -running at the same time. This could happen, for example, if you update -cygwin1.dll without exiting @emph{all} Cygwin apps (including inetd) -beforehand. - -The only DLL that is sanctioned by the Cygwin project is the one that -you get by running @file{http://cygwin.com/setup.exe}, installed in the -directory controlled by this program. If you have other versions on -your system and desire help from the cygwin project, you should delete -or rename all DLLs that are not installed by @file{setup.exe}. - -If you're trying to find multiple versions of the DLL that are causing -this problem, reboot first, in case DLLs still loaded in memory are the -cause. Then use the Windows System find utility to search your whole -machine, not just components in your PATH (as 'type' would do) or -cygwin-mounted filesystems (as Cygwin 'find' would do). - -@subsection Why isn't package XYZ available in Cygwin? - -Probably because there is nobody willing or able to maintain it. It -takes time, and the priority for the Cygwin Team is the Cygwin package. -The rest is a volunteer effort. Want to contribute? See -@file{http://cygwin.com/setup.html}. - -@subsection Why is the Cygwin package of XYZ so out of date? - -(Also: Why is the version of package XYZ older than the version that I -can download from the XYZ web site? Why is the version of package XYZ -older than the version that I installed on my linux system? Is there -something special about Cygwin which requires that only an older version -of package XYZ will work on it?) - -Every package in the Cygwin distribution has a maintainer who is -responsible for sending out updates of the package. This person is a -volunteer who is rarely the same person as the official developer of the -package. If you notice that a version of a package seems to be out of -date, the reason is usually pretty simple -- the person who is -maintaining the package hasn't gotten around to updating it yet. Rarely, -the newer package actually requires complex changes that the maintainer -is working out. - -If you urgently need an update, sending a polite message to the cygwin -mailing list pinging the maintainer is perfectly acceptable. There are -no guarantees that the maintainer will have time to update the package -or that you'll receive a response to your request, however. - -Remeber that the operative term here is "volunteer". - -@subsection How can I access other drives? - -You have some flexibility here. - -Cygwin has a builtin "cygdrive prefix" for drives that are not mounted. -You can access any drive, say Z:, as '/cygdrive/z/'. - -In some applications (notably bash), you can use the familiar windows -<drive>:/path/, using posix forward-slashes ('/') instead of Windows -backward-slashes ('\'). (But see the warning below!) This maps in the -obvious way to the Windows path, but will be converted internally to use -the Cygwin path, following mounts (default or explicit). For example: -@example - bash$ cd C:/Windows - bash$ pwd - /cygdrive/c/Windows -@end example -and -@example - bash$ cd C:/cygwin - bash$ pwd - / -@end example -for a default setup. You could also use backward-slashes in the -Windows path, but these would have to be escaped from the shell. - -@strong{Warning:} There is some ambiguity in going from a Windows path -to the posix path, because different posix paths, through different -mount points, could map to the same Windows directory. This matters -because different mount points may be binmode or textmode, so the -behavior of Cygwin apps will vary depending on the posix path used to -get there. - -You can avoid the ambiguity of Windows paths, and avoid typing -"/cygdrive", by explicitly mounting drives to posix paths. For example: -@example - bash$ mkdir /c - bash$ mount c:/ /c - bash$ ls /c -@end example -Then @samp{/cygdrive/c/Windows} becomes @samp{/c/Windows} which is a -little less typing. - -Note that you only need to mount drives once. The mapping is kept -in the registry so mounts stay valid pretty much indefinitely. -You can only get rid of them with umount, or the registry editor. - -The '-b' option to mount mounts the mountpoint in binary mode -("binmode") where text and binary files are treated equivalently. This -should only be necessary for badly ported Unix programs where binary -flags are missing from open calls. It is also the setting for /, -/usr/bin and /usr/lib in a default Cygwin installation. The default for -new mounts is text mode ("textmode"), which is also the mode for all -"cygdrive" mounts. - -You can change the default @samp{cygdrive} prefix and whether it is -binmode or textmode using the @code{mount} command. For example, -@example - bash$ mount -b --change-cygdrive-prefix cygdrive -@end example -will change all @code{/cygdrive/...} mounts to binmode. - -@subsection How can I copy and paste into Cygwin console windows? - -First, consider using rxvt instead of the standard console window. In -rxvt, selecting with the left-mouse also copies, and middle-mouse -pastes. It couldn't be easier! - -Under Windows NT, open the properties dialog of the console window. -The options contain a toggle button, named "Quick edit mode". It must -be ON. Save the properties. - -Under Windows 9x, open the properties dialog of the console window. -Select the Misc tab. Uncheck Fast Pasting. Check QuickEdit. - -You can also bind the insert key to paste from the clipboard by adding -the following line to your .inputrc file: -@example - "\e[2~": paste-from-clipboard -@end example - -@subsection What firewall should I use with Cygwin? - -We have had good reports about Kerio Personal Firewall, ZoneLabs -Integrity Desktop, and the built-in firewall in Windows XP. Other -well-known products including ZoneAlarm and Norton Internet Security have -caused problems for some users but work fine for others. At last report, -Agnitum Outpost did not work with Cygwin. If you are having strange -connection-related problems, disabling the firewall is a good -troubleshooting step (as is closing or disabling all other running -applications, especially resource-intensive processes such as indexed -search). - -On the whole, Cygwin doesn't care which firewall is used. The few rare -exceptions have to do with socket code. -Cygwin uses sockets to implement many of its functions, such as IPC. -Some overzealous firewalls install themselves deeply into the winsock -stack (with the 'layered service provider' API) and install hooks -throughout. Sadly the mailing list archives are littered with examples -of poorly written firewall-type software that causes things to break. -Note that with many of these products, simply disabling the firewall -does not remove these changes; it must be completely uninstalled. - -@subsection How can I share files between Unix and Windows? - -During development, we have both Linux boxes running Samba and Windows -machines. We often build with cross-compilers under Linux and copy -binaries and source to the Windows system or just toy with them -directly off the Samba-mounted partition. On dual-boot NT/Windows 9x -machines, we usually use the FAT filesystem so we can also access the -files under Windows 9x. - -@subsection Is Cygwin case-sensitive? What are managed mounts? - -Several Unix programs expect to be able to use to filenames -spelled the same way, but with different case. A prime example -of this is perl's configuration script, which wants @code{Makefile} and -@code{makefile}. WIN32 can't tell the difference between files with -just different case, so the configuration fails. - -To help with this problem, starting in @samp{cygwin-1.5.0} it is -possible to have a case sensitive Cygwin managed mount. This is an -experimental feature and should be used with caution. You should only -use it for directories that are initially unpopulated and are due to -be completely managed by cygwin (hence the name). So, the best use -would be to create an empty directory, mount it, and then add files to -it: - -@example -mkdir /managed-dir -mount -o managed c:/cygwin/managed-dir /managed-dir -cd /managed-dir/ -touch makefile -touch Makefile -@end example - -@subsection What about DOS special filenames? - -Files cannot be named com1, lpt1, or aux (to name a few); either as -the root filename or as the extension part. If you do, you'll have -trouble. Unix programs don't avoid these names which can make things -interesting. E.g., the perl distribution has a file called -@code{aux.sh}. The perl configuration tries to make sure that -@code{aux.sh} is there, but an operation on a file with the magic -letters 'aux' in it will hang. - -@subsection When it hangs, how do I get it back? - -If something goes wrong and the tools hang on you for some reason (easy -to do if you try and read a file called aux.sh), first try hitting ^C to -return to bash or the cmd prompt. - -If you start up another shell, and applications don't run, it's a good -bet that the hung process is still running somewhere. Use the Task -Manager, pview, or a similar utility to kill the process. - -And, if all else fails, there's always the reset button/power switch. -This should never be necessary under Windows NT. - -@subsection Why the weird directory structure? - -Why do /lib and /usr/lib (and /bin, /usr/bin) point to the same thing? - -Why use mounts instead of symbolic links? - -Can I use a disk root (e.g., C:\) as Cygwin root? Why is this discouraged? - -After a new installation in the default location, your mount points will -look something like this: - -@example - bash$ mount - C:\cygwin\bin on /usr/bin type system (binmode) - C:\cygwin\lib on /usr/lib type system (binmode) - C:\cygwin on / type system (binmode) -@end example - -(Exactly what you see depends on what options you gave to @code{setup.exe}.) - -Note that /bin and /usr/bin point to the same location, as do /lib and -/usr/lib. This is intentional, and you should not undo these mounts -unless you @emph{really} know what you are doing. - -Various applications and packages may expect to be installed in /lib or -/usr/lib (similarly /bin or /usr/bin). Rather than distinguish between -them and try to keep track of them (possibly requiring the occasional -duplication or symbolic link), it was decided to maintain only one -actual directory, with equivalent ways to access it. - -Symbolic links had been considered for this purpose, but were dismissed -because they do not always work on Samba drives. Also, mounts are -faster to process because no disk access is required to resolve them. - -Note that non-cygwin applications will not observe Cygwin mounts (or -symlinks for that matter). For example, if you use WinZip to unpack the -tar distribution of a Cygwin package, it may not get installed to the -correct Cygwin path. @emph{So don't do this!} - -It is strongly recommended not to make the Cygwin root directory the -same as your drive's root directory, unless you know what you are doing -and are prepared to deal with the consequences. It is generally easier -to maintain the Cygwin hierarchy if it is isolated from, say, C:\. For -one thing, you avoid possible collisions with other (non-cygwin) -applications that may create (for example) \bin and \lib directories. -(Maybe you have nothing like that installed now, but who knows about -things you might add in the future?) - -@subsection How do anti-virus programs like Cygwin? - -Users have reported that NAI (formerly McAfee) VirusScan for NT (and -others?) is incompatible with Cygwin. This is because it tries to scan -the newly loaded shared memory in cygwin1.dll, which can cause fork() to -fail, wreaking havoc on many of the tools. (It is not confirmed that -this is still a problem, however.) - -There have been several reports of NAI VirusScan causing the system to -hang when unpacking tar.gz archives. This is surely a bug in VirusScan, -and should be reported to NAI. The only workaround is to disable -VirusScan when accessing these files. This can be an issue during -setup, and is discussed in that FAQ entry. - -Some users report a significant performance hit using Cygwin when their -anti-virus software is enabled. Rather than disable the anti-virus -software completely, it may be possible to specify directories whose -contents are exempt from scanning. In a default installation, this -would be @samp{@code{C:\cygwin\bin}}. Obviously, this could be -exploited by a hostile non-Cygwin program, so do this at your own risk. - -@subsection Is there a Cygwin port of GNU Emacs? - -Yes! It uses the X11 (@file{http://cygwin.com/xfree/}) Windows -interface. From a remote login shell, this ``emacs -nw'' works fine. -There is also a non-X11 version which just provides the text-only -terminal interface. Use Cygwin Setup to install either one (or both). - -@subsection What about NT Emacs? - -If you want GNU Emacs with a native Microsoft Windows interface, but -without X, then you must use the native Windows port, commonly known -as ``NT Emacs''. You get NT Emacs from any GNU mirror. It is not -available from Cygwin Setup. - -NT Emacs uses the Windows command shell by default. Since it is not a -Cygwin application, it has no knowledge of Cygwin mounts. With those -points in mind, you need to add the following code to your ~/.emacs -(or ~/_emacs) file in order to use Cygwin bash. This is particularly useful -for the JDEE package (@file{http://jdee.sunsite.dk/}). The following -settings are for Emacs 21.1: - -@example - ;; This assumes that Cygwin is installed in C:\cygwin (the - ;; default) and that C:\cygwin\bin is not already in your - ;; Windows Path (it generally should not be). - ;; - (setq exec-path (cons "C:/cygwin/bin" exec-path)) - (setenv "PATH" (concat "C:\\cygwin\\bin;" (getenv "PATH"))) - ;; - ;; NT-emacs assumes a Windows command shell, which you change - ;; here. - ;; - (setq process-coding-system-alist '(("bash" . undecided-unix))) - (setq shell-file-name "bash") - (setenv "SHELL" shell-file-name) - (setq explicit-shell-file-name shell-file-name) - ;; - ;; This removes unsightly ^M characters that would otherwise - ;; appear in the output of java applications. - ;; - (add-hook 'comint-output-filter-functions - 'comint-strip-ctrl-m) -@end example - -If you want NT Emacs to understand Cygwin paths, get -cygwin-mount.el from @file{http://www.emacswiki.org/elisp/index.html}. - -Note that all of this ``just works'' if you use the Cygwin port of -Emacs from Cygwin Setup. - -@subsection What about XEmacs? - -For a concise description of the current situation with XEmacs, see -this message from the Cygwin mailing list: -@file{http://cygwin.com/ml/cygwin/2002-11/msg00609.html}. - -@subsection Is there a better alternative to the standard console window? - -Yes! Use rxvt instead. It's an optional package in Cygwin Setup. -You can use it with or without X11. You can resize it easily by -dragging an edge or corner. Copy and paste is easy with the left and -middle mouse buttons, respectively. It will honor settings in your -~/.Xdefaults file, even without X. - -Don't invoke as simply ``rxvt'' because that will run /bin/sh (really -ash) which is not a good interactive shell. For details see -@code{/usr/doc/Cygwin/rxvt-<ver>.README}. - -@subsection info error "dir: No such file or directory" - -Cygwin packages install their info documentation in the -@code{/usr/share/info} directory. But you need to create a @code{dir} -file there before the standalone info program (probably -@code{/usr/bin/info}) can be used to read those info files. This is how -you do it: -@example - bash$ cd /usr/share/info - bash$ for f in *.info ; do install-info $f dir ; done -@end example -This may generate warnings: -@example - install-info: warning: no info dir entry in `gzip.info' - install-info: warning: no info dir entry in `time.info' -@end example -The @code{install-info} command cannot parse these files, so you will -have to add their entries to @code{/usr/share/info/dir} by hand. - -Even if the dir file already exists, you may have to update it when -you install new Cygwin packages. Some packages update the dir file -for you, but many don't. - -@subsection Why do I get a message saying Out of Queue slots? - -"Out of queue slots!" generally occurs when you're trying to remove -many files that you do not have permission to remove (either because -you don't have permission, they are opened exclusively, etc). What -happens is Cygwin queues up these files with the supposition that it -will be possible to delete these files in the future. Assuming that -the permission of an affected file does change later on, the file will -be deleted as requested. However, if too many requests come in to -delete inaccessible files, the queue overflows and you get the message -you're asking about. Usually you can remedy this with a quick chmod, -close of a file, or other such thing. (Thanks to Larry Hall for -this explanation). - -@subsection Why don't symlinks work on samba-mounted filesystems? - -Symlinks are marked with "system" file attribute. Samba does not -enable this attribute by default. To enable it, consult your Samba -documentation and then add these lines to your samba configuration -file: - -@smallexample - map system = yes - create mask = 0775 -@end smallexample - -Note that the 0775 can be anything as long as the 0010 bit is set. - -@subsection Why does df report sizes incorrectly. - -There is a bug in the Win32 API function GetFreeDiskSpace that -makes it return incorrect values for disks larger than 2 GB in size. -Perhaps that may be your problem? - -@subsection Why doesn't Cygwin tcl/tk understand Cygwin paths? - -The versions of Tcl/Tk distributed with Cygwin (e.g. cygtclsh80.exe, -cygwish80.exe) are not actually "Cygwin versions" of those tools. -They are built with the @samp{-mno-cygwin} option to @code{gcc}, which -means they do not understand Cygwin mounts or symbolic links. - -See the entry "How do I convert between Windows and UNIX paths?" -elsewhere in this FAQ. diff --git a/winsup/doc/how.texinfo b/winsup/doc/how.texinfo deleted file mode 100644 index 4c7385b..0000000 --- a/winsup/doc/how.texinfo +++ /dev/null @@ -1,6 +0,0 @@ -@chapter Question and Answers - -@include how-resources.texinfo -@include how-using.texinfo -@include how-api.texinfo -@include how-programming.texinfo diff --git a/winsup/doc/install.texinfo b/winsup/doc/install.texinfo deleted file mode 100644 index 372be44..0000000 --- a/winsup/doc/install.texinfo +++ /dev/null @@ -1,374 +0,0 @@ -@chapter Installation Instructions -@section Contents - -There is only one recommended way to install Cygwin, which is to use the GUI -installer ``Cygwin Setup''. It is flexible and easy to use. -You can pick and choose the packages you wish to install, and update -them individually. Full source code is available for all packages and -tools. More information on using Cygwin Setup may be found at -@file{http://cygwin.com/cygwin-ug-net/setup-net.html}. - -If you do it any other way, you're on your own! That said, keep in mind -that the GUI installer is a "work in progress", so there might be a few -difficulties, especially if you are behind a firewall or have other -specific requirements. If something doesn't work right for you, and -it's not covered here or in the latest development snapshot at -@file{http://cygwin.com/setup/}, then by all means report it to the -mailing list. - -For a searchable list of packages that can be installed with Cygwin, -see @file{http://cygwin.com/packages/}. - -@section Installation using ``Cygwin Setup'' - -The Cygwin Setup program is the @emph{only} recommended way to install -Cygwin. - -@subsection Why not install in C:\? - -The Cygwin Setup program will prompt you for a "root" directory. -The default is @samp{C:\cygwin}, but you can change it. You are urged not to -choose something like @samp{C:\} (the root directory on the system drive) for -your Cygwin root. If you do, then critical Cygwin system directories -like @samp{etc}, @samp{lib} and @samp{bin} could easily be corrupted by -other (non-Cygwin) applications or packages that use @samp{\etc}, -@samp{\lib} or @samp{\bin}. Perhaps there is no conflict now, but who -knows what you might install in the future? It's also just good common -sense to segregate your Cygwin "filesystems" from the rest of your -Windows system disk. - -(In the past, there had been genuine bugs that would cause problems -for people who installed in @samp{C:\}, but we believe those are gone -now.) - -@subsection Can I use Cygwin Setup to get old versions of packages (like gcc-2.95)? - -Cygwin Setup can be used to install any packages that are on a -Cygwin mirror, which usually includes one version previous to the -current one. The complete list may be searched at -@file{http://cygwin.com/packages/}. There is no complete archive of -older packages. If you have a problem with the current version of -a Cygwin package, please report it to the mailing list using the -guidelines at @file{http://cygwin.com/problems.html}. - -That said, if you really need an older package, you may be able to find -an outdated or archival mirror by searching the web for an old package -version (for example, @samp{gcc2-2.95.3-10-src.tar.bz2}), but keep in -mind that this older version will not be supported by the mailing list -and that installing the older version will not help improve Cygwin. - -@subsection Is Cygwin Setup, or one of the packages, infected with a virus? - -Unlikely. Unless you can confirm it, please don't report it to the -mailing list. Anti-virus products have been known to detect false -positives when extracting compressed tar archives. If this causes -problems for you, consider disabling your anti-virus software when -running @code{setup}. Read the next entry for a fairly safe way to do -this. - -@subsection My computer hangs when I run Cygwin Setup! - -Both Network Associates (formerly McAfee) and Norton anti-virus -products have been reported to "hang" when extracting Cygwin tar -archives. If this happens to you, consider disabling your anti-virus -software when running Cygwin Setup. The following procedure should be -a fairly safe way to do that: - -@enumerate -@item Download @code{setup.exe} and scan it explicitly. - -@item Turn off the anti-virus software. - -@item Run setup to download and extract all the tar files. - -@item Re-activate your anti-virus software and scan everything -in C:\cygwin (or wherever you chose to install), or your entire hard -disk if you are paranoid. - -@end enumerate - -This should be safe, but only if Cygwin Setup is not substituted by -something malicious, and no mirror has been compromised. - -@subsection What packages should I download? Where are 'make', 'gcc', 'vi', etc? -When using Cygwin Setup for the first time, the default is to install -a minimal subset of packages. If you want anything beyond that, you -will have to select it explicitly. See -@file{http://cygwin.com/packages/} for a searchable list of available -packages. - -If you want to build programs, of course you'll need @samp{gcc}, -@samp{binutils}, @samp{make} and probably other packages from the -``Devel'' category. Text editors can be found under ``Editors''. - -@subsection How do I just get everything? - -Long ago, the default was to install everything, much to the -irritation of most users. Now the default is to install only a basic -core of packages. Cygwin Setup is designed to make it easy to browse -categories and select what you want to install or omit from those -categories. It's also easy to install everything: - -@enumerate - -@item At the ``Select Packages'' screen, in ``Categories'' view, at the line -marked ``All'', click on the word ``default'' so that it changes to -``install''. (Be patient, there is some computing to do at this step. -It may take a second or two to register the change.) This tells Setup -to install @emph{everything}, not just what it thinks you should have -by default. - -@item Now click on the ``View'' button (twice) until you get the -``Partial'' view. This shows exactly which packages are about to be -downloaded and installed. - -@end enumerate - -This procedure only works for packages that are currently available. -There is no way to tell Cygwin Setup to install all packages by -default from now on. As new packages become available that would not -be installed by default, you have to repeat the above procedure to get -them. - -In general, a better method (in my opinion), is to: - -@enumerate - -@item First download & install all packages that would normally be -installed by default. This includes fundamental packages and any -updates to what you have already installed. Then... - -@item Run Cygwin Setup again, and apply the above technique to get all -new packages that would not be installed by default. You can check -the list in the Partial View before proceeding, in case there's -something you really @emph{don't} want. - -@item In the latest version of Cygwin Setup, if you click the ``View'' -button (twice) more, it shows packages not currently installed. You -ought to check whether you @emph{really} want to install everything! - -@end enumerate - -@subsection How much disk space does Cygwin require? - -That depends, obviously, on what you've chosen to download and -install. A full installation today is probably larger than 800MB -installed, not including the package archives themselves nor the source -code. - -After installation, the package archives remain in your ``Local -Package Directory'', by default the location of @code{setup.exe}. You -may conserve disk space by deleting the subdirectories there. These -directories will have very weird looking names, being encoded with -their URLs. - -@subsection What if setup fails? - -First, make sure that you are using the latest version of Cygwin -Setup. The latest version is always available from the 'Install -Cygwin now' link on the Cygwin Home Page at @file{http://cygwin.com/}. - -If you are downloading from the Internet, setup will fail if it cannot -download the list of mirrors at -@file{http://cygwin.com/mirrors.html}. It could be that -the network is too busy. Something similar could be the cause of a -download site not working. Try another mirror, or try again later. - -If setup refuses to download a package that you know needs to be -upgraded, try deleting that package's entry from /etc/setup. If you are -reacting quickly to an announcement on the mailing list, it could be -that the mirror you are using doesn't have the latest copy yet. Try -another mirror, or try again tomorrow. - -If setup has otherwise behaved strangely, check the files -@samp{setup.log} and @samp{setup.log.full} in @code{/var/log} -(@code{C:\cygwin\var\log} by default). It may provide some clues as -to what went wrong and why. - -If you're still baffled, search the Cygwin mailing list for clues. -Others may have the same problem, and a solution may be posted there. -If that search proves fruitless, send a query to the Cygwin mailing -list. You must provide complete details in your query: version of -setup, options you selected, contents of setup.log and setup.log.full, -what happened that wasn't supposed to happen, etc. - -@subsection My Windows logon name has a space in it, will this cause problems? - -Most definitely yes! UNIX shells (and thus Cygwin) use the space -character as a word delimiter. Under certain circumstances, it is -possible to get around this with various shell quoting mechanisms, but -you are much better off if you can avoid the problem entirely. - -On Windows NT/2000/XP you have two choices: -@enumerate - -@item You can rename the user in the Windows User Manager GUI and then -run mkpasswd. - -@item You can simply edit the /etc/passwd file and change the Cygwin user name -(first field). It's also a good idea to avoid spaces in the home directory. - -@end enumerate - -On Windows 95/98/ME you can create a new user and run mkpasswd, -or you can delete the offending entry from /etc/passwd. -Cygwin will then use the name in the default entry with uid 500. - -@subsection My @samp{HOME} environment variable is not what I want. - -When starting Cygwin from Windows, @samp{HOME} is determined as follows -in order of decreasing priority: - -@enumerate - -@item @samp{HOME} from the Windows environment, translated to POSIX form. - -@item The entry in /etc/passwd - -@item @samp{HOMEDRIVE} and @samp{HOMEPATH} from the Windows environment - -@item / - -@end enumerate - -When using Cygwin from the network (telnet, ssh,...), @samp{HOME} is set -from /etc/passwd. - -If your @samp{HOME} is set to a value such as /cygdrive/c, it is likely -that it was set in Windows. Start a DOS Command Window and type -"set HOME" to verify if this is the case. - -Access to shared drives is often restricted when starting from the network, -thus Domain users may wish to have a different @samp{HOME} in the -Windows environment (on shared drive) than in /etc/passwd (on local drive). -Note that ssh only considers /etc/passwd, disregarding @samp{HOME}. - -@subsection How do I uninstall individual packages? - -Run Cygwin Setup as you would to install packages. In the list of -packages to install, browse the relevant category or click on the -``View'' button to get a full listing. Click on the cycle glyph until -the action reads ``Uninstall''. Proceed by clicking ``Next''. - -@subsection How do I uninstall @strong{all} of Cygwin? - -Setup has no automatic uninstall facility. The recommended method to remove all -of Cygwin is as follows: - -@enumerate - -@item Remove all Cygwin services. If a service is currently running, it must -first be stopped with @samp{cygrunsrv -E name}, where @samp{name} -is the name of the service. Then use @samp{cygrunsrv -R name} to uninstall the -service from the registry. Repeat this for all services that you installed. -Common services that might have been installed are @code{sshd}, @code{cron}, -@code{cygserver}, @code{inetd}, @code{apache}, and so on. - -@item Stop the X11 server if it is running, and terminate any Cygwin programs -that might be running in the background. Remove all mount information by typing -@samp{umount -A} and then exit the command prompt and ensure that no Cygwin -processes remain. Note: If you want to save your mount points for a later -reinstall, first save the output of @samp{mount -m} as described at -@file{http://cygwin.com/cygwin-ug-net/using-utils.html#mount}. - -@item Delete the Cygwin root folder and all subfolders. If you get an error -that an object is in use, then ensure that you've stopped all services and -closed all Cygwin programs. If you get a 'Permission Denied' error then you -will need to modify the permissions and/or ownership of the files or folders -that are causing the error. For example, sometimes files used by system -services end up owned by the SYSTEM account and not writable by regular users. - -The quickest way to delete the entire tree if you run into this problem is to -change the ownership of all files and folders to your account. To do this in -Windows Explorer, right click on the root Cygwin folder, choose Properties, then -the Security tab. Select Advanced, then go to the Owner tab and make sure your -account is listed as the owner. Select the 'Replace owner on subcontainers and -objects' checkbox and press Ok. After Explorer applies the changes you should -be able to delete the entire tree in one operation. Note that you can also -achieve this in Cygwin by typing @samp{chown -R user /} or by using other tools -such as CACLS.EXE. - -@item Delete the Cygwin shortcuts on the Desktop and Start Menu, and anything -left by setup.exe in the download directory. However, if you plan to reinstall -Cygwin it's a good idea to keep your setup.exe download directory since you can -reinstall the packages left in its cache without redownloading them. - -@item If you added Cygwin to your system path, you should remove it unless you -plan to reinstall Cygwin to the same location. Similarly, if you set your -CYGWIN environment variable system-wide and don't plan to reinstall, you should -remove it. - -@item Finally, if you want to be thorough you can delete the registry tree -@samp{Software\Cygnus Solutions} under @code{HKEY_LOCAL_MACHINE} and/or -@code{HKEY_CURRENT_USER}. However, if you followed the directions above you -will have already removed all the mount information which is typically the only -thing stored in the registry. - -@end enumerate - -@subsection How do I install snapshots? - -First, are you sure you want to do this? Snapshots are risky. They -have not been tested. Use them @strong{only} if there is a feature or -bugfix that you need to try, and you are willing to deal with any -problems. - -Before installing a snapshot, you must first Close @strong{all} Cygwin -applications, including shells and services (e.g. inetd, sshd), before -updating @code{cygwin1.dll}. You may have to restart Windows to clear -the DLL from memory. - -You cannot use Setup to install a snapshot. - -You should generally install the full -@code{cygwin-inst-YYYYMMDD.tar.bz2} update, rather than just the DLL, -otherwise some components may be out of sync. Cygwin tar won't be -able to update @code{/usr/bin/cygwin1.dll}, but it should succeed with -everything else. - -@enumerate - -@item Download the snapshot, and run: -@example - cd / - tar jxvf /posix/path/to/cygwin-inst-YYYYMMDD.tar.bz2 --exclude=usr/bin/cygwin1.dll - cd /tmp - tar jxvf /posix/path/to/cygwin-inst-YYYYMMDD.tar.bz2 usr/bin/cygwin1.dll -@end example - -@item After closing all Cygwin apps (see above), use Explorer or the -Windows command shell to move @code{C:\cygwin\tmp\usr\bin\cygwin1.dll} -to @code{C:\cygwin\bin\cygwin1.dll}. - -@end enumerate - -@subsection Can Cygwin Setup maintain a ``mirror''? - -NO. Cygwin Setup cannot do this for you. Use a tool designed for -this purpose. See @file{http://rsync.samba.org/}, -@file{http://wget.sunsite.dk/} for utilities that can do this for you. -For more information on setting up a custom Cygwin package server, see -the Cygwin Setup homepage at -@file{http://sources.redhat.com/cygwin-apps/setup.html}. - -@subsection How can I make my own portable Cygwin on CD? - -While some users have successfully done this, for example Indiana -University's XLiveCD @file{http://xlivecd.indiana.edu/}, there is no -easy way to do it. Full instructions for constructing a porttable Cygwin -on CD by hand can be found on the mailing list at -@file{http://www.cygwin.com/ml/cygwin/2003-07/msg01117.html}. (Thanks -to fergus at bonhard dot uklinux dot net for these instructions.) - -@subsection How do I save, restore, delete, or modify the Cygwin information stored in the registry? - -Currently Cygwin stores its mount table information in the registry. It -is recommended that you use the @samp{mount} and @samp{umount} commands -to manipulate the mount information instead of directly modifying the -registry. - -To save the mount information to a file for later restoration, use -@samp{mount -m > mounts.bat} To remove all mount information use -@samp{umount -A}. To reincorporate saved mount information just run the -batch file. For more information on using @samp{mount}, see -@file{http://cygwin.com/cygwin-ug-net/using-utils.html#mount}. diff --git a/winsup/doc/readme.texinfo b/winsup/doc/readme.texinfo deleted file mode 100644 index 6b7be64..0000000 --- a/winsup/doc/readme.texinfo +++ /dev/null @@ -1,19 +0,0 @@ -\input texinfo -@title The Cygwin README - -@subtitle (Only partially updated for the latest net release.) - -@setfilename readme.txt - -@include install.texinfo - -@chapter Release Information - -@strong{(Please note: This section has not yet been updated for the latest -net release.)} - -@include changes.texinfo - -@include relnotes.texinfo - -@include calls.texinfo diff --git a/winsup/doc/relnotes.texinfo b/winsup/doc/relnotes.texinfo deleted file mode 100644 index 24e4b3b..0000000 --- a/winsup/doc/relnotes.texinfo +++ /dev/null @@ -1,19 +0,0 @@ -@chapter Known Problems in the Latest Net Release - -@section Aware of the problem, no solution known. - -@subsection Pipe key (@samp{|}) doesn't work on non-US keyboards in Win9x/ME - -This might get fixed someday, but meanwhile, just use rxvt, which does -not have this problem. This is no real loss, because rxvt has many -other advantages. (Do not attempt to use the "broken" pipe key -(@samp{¦}) as a substitute, it is a different character.) - -@subsection Cannot access tape devices with mt on Win9x - -Win9x does not support the API used by the Cygwin fhandler_dev_tape -class. Details at -@file{http://sources.redhat.com/ml/cygwin/2000-12/msg00331.html}. - -@subsection On Win9x, scp leaves ssh processes running. - diff --git a/winsup/doc/what.texinfo b/winsup/doc/what.texinfo deleted file mode 100644 index 23a766a..0000000 --- a/winsup/doc/what.texinfo +++ /dev/null @@ -1,87 +0,0 @@ -@chapter What is it? - -The Cygwin tools are ports of the popular GNU development tools for -Microsoft Windows. They run thanks to the Cygwin library which -provides the UNIX system calls and environment these programs expect. - -With these tools installed, it is possible to write Win32 console or -GUI applications that make use of the standard Microsoft Win32 API -and/or the Cygwin API. As a result, it is possible to easily -port many significant Unix programs without the need -for extensive changes to the source code. This includes configuring -and building most of the available GNU software (including the packages -included with the Cygwin development tools themselves). Even if -the development tools are of little to no use to you, you may have -interest in the many standard Unix utilities provided with the package. -They can be used both from the bash shell (provided) or from the -standard Windows command shell. - -@section What versions of Windows are supported? - -Wait a minute... Cygwin is only @emph{supported} if you are paying for -it, such as through a support contract with Red Hat. For information -about getting a Red Hat support contract, see -@file{http://www.redhat.com/software/tools/cygwin/}. - -That said, Cygwin can be expected to run on all modern 32 bit versions of -Windows, except Windows CE. This includes Windows 95/98/ME/NT/2000/XP. - -Keep in mind that Cygwin can only do as much as the underlying OS -supports. Because of this, Cygwin will behave differently, and -exhibit different limitations, on the various versions of Windows. - -@section Where can I get it? - -The home page for the Cygwin project is @file{http://cygwin.com/}. -There you should find everything you need for Cygwin, including links -for download and setup, a current list of mirror sites, a User's -Guide, an API Reference, mailing lists and archives, and additional -ported software. - -You can find documentation for the individual GNU tools at -@file{http://www.fsf.org/manual/}. (You should read GNU manuals from a -local mirror. Check @file{http://www.fsf.org/server/list-mirrors.html} -for a list of them.) - -@section Is it free software? - -Yes. Parts are GNU software (gcc, gas, ld, etc...), parts are covered -by the standard X11 license, some of it is public domain, some of -it was written by Cygnus and placed under the GPL. None of it is -shareware. You don't have to pay anyone to use it but you should be -sure to read the copyright section of the FAQ for more information on -how the GNU General Public License may affect your use of these tools. - -In particular, if you intend to port a proprietary (non-GPL'd) -application using Cygwin, you will need the proprietary-use license -for the Cygwin library. This is available for purchase; please visit -@file{http://www.redhat.com/software/tools/cygwin/} for more information. -All other questions should be sent to the project -mailing list cygwin@@cygwin.com. - -Note that when we say "free" we mean freedom, not price. The goal of -such freedom is that the people who use a given piece of software -should be able to change it to fit their needs, learn from it, share -it with their friends, etc. The Cygwin license allows you those -freedoms, so it is free software. - -@section What version of Cygwin @emph{is} this, anyway? - -To find the version of the Cygwin DLL installed, you can use -@file{uname} as on Linux or @file{cygcheck}. Refer to each command's -@samp{--help} output and the @uref{http://cygwin.com/cygwin-ug-net/, -Cygwin User's Guide} for more information. - -If you are looking for the version number for the whole Cygwin -release, there is none. Each package in the Cygwin release has its own -version. The packages in Cygwin are continually improving, thanks to -the efforts of net volunteers who maintain the Cygwin binary ports. -Each package has its own version numbers and its own release process. - -So, how do you get the most up-to-date version of Cygwin? Easy. Just -download the Cygwin Setup program from -@uref{http://cygwin.com/setup.exe}. This program will handle the task -of updating the packages on your system to the latest version. For -more information about using Cygwin's @file{setup.exe}, see -@uref{http://cygwin.com/cygwin-ug-net/setup-net.html, Setting Up Cygwin} -in the Cygwin User's Guide. diff --git a/winsup/doc/who.texinfo b/winsup/doc/who.texinfo deleted file mode 100644 index cc93cea..0000000 --- a/winsup/doc/who.texinfo +++ /dev/null @@ -1,88 +0,0 @@ -@chapter Who's behind the project? - -@strong{(Please note that if you have cygwin-specific questions, all of these -people will appreciate it if you use the cygwin mailing lists rather than -sending personal email.)} - -Chris Faylor is behind many of the recent changes in Cygwin. Prior to -joining Cygnus, he contributed significant fixes to the process control -and environ code, reworked the strace mechanism, and rewrote the -signal-related code from scratch as a Net contributor. In addition to -continuing to make technical contributions, Chris is also currently the -group's manager. - -Corinna Vinschen has contributed several useful fixes to the path -handling code, console support, improved security handling, and raw -device support. Corinna is currently employed by Red Hat as a -GDB/Cygwin engineer. - -DJ Delorie has done important work in profiling Cygwin, -worked on the Dejagnu automated testing framework, merged the dlltool -functionality into ld, wrote a good deal of the Cygwin Users' Guide, -authored the cygcheck utility, and made automated snapshots available -from our project WWW page. DJ is currently employed by Red Hat as -a GCC engineer. - -Egor Duda has contributed many useful fixes. He is responsible for -Cygwin's ability to start a debugger on detection of a fatal error -as well as produce core dumps. - -Robert Collins has contributed many improvements to thread handling -as well as generic fixes to cygwin itself. - -Kazuhiro Fujieda has contributed many bug fixes and bug reports. - -Earnie Boyd has contributed many bug fixes and is the mingw and w32api -maintainer. - -David Starks-Browning is our dedicated FAQ maintainer. - -Geoffrey Noer took over the Cygwin project from its initial author Steve -Chamberlain in mid-1996. As maintainer, he produced Net releases beta -16 through 20; made the development snapshots; worked with Net -contributors to fix bugs; made many various code improvements himself; -wrote a paper on Cygwin for the 1998 Usenix NT Symposium; authored the -project WWW pages, FAQ, README; etc. Geoffrey is not currently employed -by Red Hat. - -Steve Chamberlain designed and implemented -Cygwin in 1995-1996 while working for Cygnus. He worked with the Net -to improve the technology, ported/integrated many of the user tools -for the first time to Cygwin, and produced all of the releases up to -beta 14. Steve is not currently employed by Red Hat. - -Marco Fuykschot and Peter Boncz of Data Distilleries contributed nearly -all of the changes required to make Cygwin thread-safe. They also -provided the pthreads interface. - -Sergey Okhapkin has been an invaluable Net contributor. He implemented -the tty/pty support, has played a significant role in revamping signal -and exception handling, and has made countless contributions throughout -the library. He also provided binaries of the development snapshots to -the Net after the beta 19 release. - -Mumit Khan has been most helpful on the EGCS end of things, providing -quite a large number of stabilizing patches to the compiler tools for -the B20 release. - -Philippe Giacinti contributed the implementation of dlopen, dlclose, -dlsym, dlfork, and dlerror in Cygwin. - -Ian Lance Taylor did a much-needed rework of the path handling code for -beta 18, and has made many assorted fixes throughout the code. Jeremy -Allison made significant contributions in the area of file handling and -process control, and rewrote select from scratch. Doug Evans rewrote -the path-handling code in beta 16, among other things. Kim Knuttila and -Michael Meissner put in many long hours working on the now-defunct -PowerPC port. Jason Molenda and Mark Eichin have also made important -contributions. - -Please note that all of us working on Cygwin try to -be as responsive as possible and deal with patches and questions as we -get them, but realistically we don't have time to answer all of the -email that is sent to the main mailing list. Making Net releases of the -Win32 tools and helping people on the Net out is not our primary job -function, so some email will have to go unanswered. - -Many thanks to everyone using the tools for their many contributions in -the form of advice, bug reports, and code fixes. Keep them coming! |