2004-03-28 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* how-programming.texinfo: Add note about gcc .lib linking. * pathnames.sgml: Mention create_devices.sh for /dev/ creation.
This commit is contained in:
parent
83216c72ec
commit
4341a703f6
|
@ -1,3 +1,8 @@
|
|||
2004-03-28 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
|
||||
|
||||
* how-programming.texinfo: Add note about gcc .lib linking.
|
||||
* pathnames.sgml: Mention create_devices.sh for /dev/ creation.
|
||||
|
||||
2004-03-27 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* cygserver.sgml: New file.
|
||||
|
|
|
@ -199,13 +199,14 @@ 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 Cygnus (err... Red Hat) can't agree to. Fortunately, we
|
||||
something that Red Hat can't agree to. Fortunately, we
|
||||
have our own Win32 headers which are pretty complete.
|
||||
|
||||
@subsection How do I link against .lib files?
|
||||
@subsection How do I link against a @samp{.lib} file?
|
||||
|
||||
@strong{(Please note: This section has not yet been updated for the latest
|
||||
net release.)}
|
||||
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:
|
||||
|
||||
1. 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
|
||||
|
@ -263,22 +264,23 @@ make > make.log 2>&1
|
|||
make install > install.log 2>&1
|
||||
@end example
|
||||
|
||||
Normally, this procedure will also attempt to build the documentation,
|
||||
which additionally requires db2html, and possibly other tools, which are
|
||||
not included in the Cygwin distribution. You can get db2html as part of
|
||||
docbook, from @file{http://sources.redhat.com/docbook-tools/}.
|
||||
Normally, this procedure ignore errors in building the documentation,
|
||||
which requires tools which are not included in the Cygwin distribution.
|
||||
If you want to build the documentation on Linux, on most distributions a
|
||||
package named docbook-utils should get you most of what you need. 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/cygwin 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 @emph{all} the
|
||||
places where the old dll was (if there is more than one on your
|
||||
machine). Then start up a bash window and see what happens. (Or better,
|
||||
run a cygwin program from the Windows command prompt.)
|
||||
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.
|
||||
same time. Remove all but one.
|
||||
|
||||
@subsection How can I compile a powerpc NT toolchain?
|
||||
|
||||
|
|
|
@ -159,6 +159,11 @@ default printer with the command <command>cat filename > PRN</command>
|
|||
directory as Cygwin automatically simulates it internally.
|
||||
These devices cannot be seen with the command <command>ls /dev/</command>
|
||||
although commands such as <command>ls /dev/tty</command> work fine.
|
||||
If you want to be able to see all devices in
|
||||
<filename>/dev/</filename>, you can use Igor Pechtchanski's
|
||||
<ulink
|
||||
url="http://cygwin.com/ml/cygwin/2004-03/txt00028.txt">create_devices.sh</ulink>
|
||||
script.
|
||||
</para>
|
||||
<para>
|
||||
Cygwin supports the following devices commonly found on POSIX systems:
|
||||
|
@ -167,7 +172,8 @@ Cygwin supports the following devices commonly found on POSIX systems:
|
|||
<filename>/dev/tty</filename>, <filename>/dev/ttym</filename>,
|
||||
<filename>/dev/ttyX</filename>, <filename>/dev/ttySX</filename>,
|
||||
<filename>/dev/pipe</filename>, <filename>/dev/port</filename>,
|
||||
<filename>/dev/ptmx</filename>, <filename>/dev/mem</filename>,
|
||||
<filename>/dev/ptmx</filename>, <filename>/dev/kmem</filename>,
|
||||
<filename>/dev/mem</filename>,
|
||||
<filename>/dev/random</filename>, and <filename>/dev/urandom</filename>.
|
||||
Cygwin also has several Windows-specific devices:
|
||||
<filename>/dev/comX</filename> (the serial ports, starting with
|
||||
|
@ -175,8 +181,8 @@ Cygwin also has several Windows-specific devices:
|
|||
<filename>/dev/conin</filename> (Windows <filename>CONIN$</filename>),
|
||||
<filename>/dev/conout</filename> (Windows <filename>CONOUT$</filename>),
|
||||
<filename>/dev/clipboard</filename> (the Windows clipboard, currently
|
||||
text only), and
|
||||
<filename>/dev/windows</filename> (the Windows message queue).
|
||||
text only), and <filename>/dev/windows</filename> (the Windows message
|
||||
queue).
|
||||
</para>
|
||||
|
||||
<para>Windows NT/W2K/XP additionally support raw devices like floppies,
|
||||
|
@ -254,9 +260,9 @@ The following three examples will not work as expected:
|
|||
</para>
|
||||
|
||||
<screen>
|
||||
mount -f -b /dev/nst0 /dev/tape
|
||||
mount -f -b /device/tape0 /dev/tape
|
||||
ln -s /device/tape0 /dev/tape
|
||||
mount -f -b /dev/nst0 /dev/tape # DOES NOT WORK
|
||||
mount -f -b /device/tape0 /dev/tape # DOES NOT WORK
|
||||
ln -s /device/tape0 /dev/tape # DOES NOT WORK
|
||||
</screen>
|
||||
</warning>
|
||||
|
||||
|
@ -264,11 +270,11 @@ ln -s /device/tape0 /dev/tape
|
|||
|
||||
<sect2><title>The .exe extension</title>
|
||||
|
||||
<para> Executable program filenames end with .exe but the .exe need
|
||||
not be included in the command, so that traditional UNIX names can be
|
||||
used. However, for programs that end in ".bat" and ".com", you cannot
|
||||
omit the extension.
|
||||
</para>
|
||||
<para> Executable program filenames end with <filename>.exe</filename>
|
||||
but the <filename>.exe</filename> need not be included in the command,
|
||||
so that traditional UNIX names can be used. However, for programs that
|
||||
end in <filename>.bat</filename> and <filename>.com</filename>, you
|
||||
cannot omit the extension. </para>
|
||||
|
||||
<para>As a side effect, the <command> ls filename</command> gives
|
||||
information about <filename>filename.exe</filename> if
|
||||
|
|
Loading…
Reference in New Issue