+Fri Apr 7 17:04:02 Ron Parker <rdparker@sourceware.cygnus.com>
+
+ * README: Added info about non-working mingw implementation
+ * gzip.exe.gz: Replaced with a version from the same build as the other
+ tools.
+ * tar.exe.gz: Replaced with a version from the same build as the other
+ tools.
+ * mount.exe.gz: Added to repository until, mingw can build setup.
+ * cygpath.exe.gz: ditto
+ * cygwin1.dll.gz: ditto
+ * setup.c: Overwrite /bin and /lib mounts. Generate working shortcut for
+ Win9x. Display only a screenfull of options at a time. Call all tools with
+ an absolute path.
+ * setup.dsp: Restored the carriage returns, MS Developer Studio needs them.
+ * setup.dsw: ditto
+ * zlib.dsw: ditto
+
Thu Apr 6 19:15:27 2000 Christopher Faylor <cgf@cygnus.com>
* Makefile.in: Add "-nostdinc" to regular CFLAGS.
@$(MAKE) -C $(@D) $(@F)
$(ZLIB): zlib/Makefile
- @$(MAKE) -C zlib CFLAGS='$(MINGW_CFLAGS)'
+ @$(MAKE) -C zlib CFLAGS='$(MINGW_CFLAGS) -DNO_ERRNO_H -Derrno=_errno'
%.exe.gz: %.exe
gzip -9nf $?
net releases.
For the time being Microsoft Visual Studio must be installed in order
-for this to compile. The procedure is fairly normal, just type 'make'
-in bash not 'nmake' from a "DOS" command prompt. However, what the make
-does is somewhat different. It first creates some compressed files that
-are placed into the resource segment of the setup program. It then
-calls 'msdev' to actually compile the setup.exe.
+for this to compile. While there are some GNUish files in the source
+directory these are experimental. The cinstall setup.exe does not yet
+work when built with mingw.
-If you have any problem's the initial version of this program was
+If you have any problems the initial version of this program was
written by Ron Parker. Currently, March 2000, he may be reached at
-rdparker@butlermfg.com or rparker1@kc.rr.com.
+rdparker@butlermfg.com.
#include <windows.h>
#include <wininet.h>
#include <assert.h>
+#include <ctype.h>
#include <direct.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
-/*
- * TODO:
- * Setup type: User, Full, Custom
- *
- */
-
#include "setup.h"
#include "strarry.h"
#include "zlib/zlib.h"
#define CYGNUS_KEY "Software\\Cygnus Solutions"
#define DEF_ROOT "C:\\cygwin"
+#define DOWNLOAD_SUBDIR "latest"
+#define SCREEN_LINES 25
+#define COMMAND9X "command.com /E:4096 /c "
+
+char *wd;
int downloaddir (HINTERNET session, const char *url);
+char *pathcat (const char *arg1, const char *arg2);
+
+int
+xsystem (const char *cmd)
+{
+ int retval;
+ char *command;
+
+ if (cmd[1] != ':' && strncmp (cmd, "\\\\", 2) != 0)
+ command = pathcat (wd, cmd);
+ else
+ command = xstrdup (cmd);
+
+ retval = system (command);
+
+ xfree (command);
+
+ return retval;
+}
int
create_shortcut (const char *target, const char *shortcut)
{
HRESULT hres;
IShellLink *sl;
+ char *path, *args;
if (!SUCCEEDED (CoInitialize (NULL)))
return 0;
hres =
CoCreateInstance (&CLSID_ShellLink, NULL,
- CLSCTX_INPROC_SERVER,
- &IID_IShellLink,
- (LPVOID *) & sl);
+ CLSCTX_INPROC_SERVER, &IID_IShellLink, (LPVOID *) & sl);
if (SUCCEEDED (hres))
{
IPersistFile *pf;
+ int quoted = 0;
+ char *c;
+
+ /* Get the command only. */
+ path = xstrdup (target);
+ for (c = path; quoted || (*c != ' ' && *c); ++c)
+ {
+ if (*c == '\"')
+ quoted = !quoted;
+ }
+ if (*c)
+ {
+ *c = '\0';
+ args = c + 1;
+ }
+ else
+ args = "";
- sl->lpVtbl->SetPath (sl, target);
+ sl->lpVtbl->SetPath (sl, path);
+ sl->lpVtbl->SetArguments (sl, args);
+ xfree (path);
hres = sl->lpVtbl->QueryInterface (sl, &IID_IPersistFile, &pf);
|| fwrite (buffer, 1, bytes_needed, out) != bytes_needed)
{
printf ("Unable to write decompressed file to %s: %s",
- name,
- _strerror (""));
+ name, _strerror (""));
}
else
retval = TRUE;
const char *msg = gzerror (gzf, &errnum);
printf ("bytes_needed = %d, ", bytes_needed);
printf ("Unable to decompress %s: Error #%d, %s\n", name,
- errnum,
- msg);
+ errnum, msg);
}
xfree (buffer);
fclose (out);
/* Get the Windows version of the root path from cygpath. */
sprintf (buffer, "cygpath -%c \"%s\"", target, path);
if (in && dup2 (hpipe[1], fileno (stdout)) == 0
- && close (hpipe[1]) == 0
- && system (buffer) == 0)
+ && close (hpipe[1]) == 0 && xsystem (buffer) == 0)
{
fgets (buffer, sizeof (buffer), in);
buffer[strcspn (buffer, "\r\n")] = '\0';
char path[_MAX_PATH];
size_t len;
- assert (!strchr (arg1, '/') && !strchr (arg2, '/'));
+ assert (!strchr (arg1, '/'));
strcpy (path, arg1);
/* Remove any trailing slash */
continue;
if (find_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY
- /* && strlen(find_data.cFileName) */ )
+ /* && strlen(find_data.cFileName) */ )
{
char *subdir = pathcat (dir, find_data.cFileName);
if (subdir)
xfree (dpath);
printf ("Installing %s\n", find_data.cFileName);
- if (system (command))
+ if (xsystem (command))
{
printf ("Unable to extract \"%s\": %s",
find_data.cFileName, _strerror (""));
}
-/* Add an element to the beginning of the PATH. */
void
-addpath (const char *element)
+setpath (const char *element)
{
- char *path = getenv ("PATH");
- char *buffer = xmalloc (strlen (path) + strlen (element) + 7);
+ char *buffer = xmalloc (strlen (element) + 7);
- sprintf (buffer, "PATH=%s;%s", element, path);
+ sprintf (buffer, "PATH=%s", element);
putenv (buffer);
xfree (buffer);
int
optionprompt (const char *text, SA * options)
{
- size_t n, response;
+ size_t n, lbound, response;
char buf[5];
- puts (text);
-
- for (n = 0; n < options->count; ++n)
- printf ("\t%d. %s\n", n + 1, options->array[n]);
+ n = 0;
do
{
- printf ("Select an option from 1-%d: ", n);
+ char *or;
+ size_t base = n;
+ enum
+ { CONTINUE, REPEAT, ALL }
+ mode;
+
+ if (!base)
+ puts (text);
+
+ for (n = 0; n < base + SCREEN_LINES - 2 && n < options->count; ++n)
+ printf ("\t%d. %s\n", n + 1, options->array[n]);
+
+ lbound = n - (SCREEN_LINES - (base ? 2 : 3));
+ if (n < options->count)
+ {
+ mode = CONTINUE;
+ or = " or [continue]";
+ }
+ else if (options->count > SCREEN_LINES - 2)
+ {
+ mode = REPEAT;
+ or = " or [repeat]";
+ }
+ else
+ {
+ mode = ALL;
+ or = "";
+ }
+ printf ("Select an option from %d-%d%s: ", lbound, n, or);
if (!fgets (buf, sizeof (buf), stdin))
continue;
+ if (mode == CONTINUE && (!isalnum (*buf) || strchr ("cC", *buf)))
+ continue;
+ else if (mode == REPEAT && (!isalnum (*buf) || strchr ("rR", *buf)))
+ {
+ n = 0;
+ continue;
+ }
+
response = atoi (buf);
}
- while (response < 1 || response > n);
+ while (response < lbound || response > n);
return response - 1;
}
{
char *user, *password;
- /* Have to read any pending data, WININET
- peculiarity. */
+ /* Have to read any pending data, WININET peculiarity. */
char *buffer = xmalloc (len);
do
{
(connect, INTERNET_OPTION_PROXY_PASSWORD,
password,
strlen (password))
- || !HttpSendRequest (connect, NULL, 0, NULL, 0))
+ || !HttpSendRequest (connect, NULL, 0, NULL, 0))
{
xfree (password);
winerror ();
{
DWORD readbytes;
- if (!InternetReadFile
- (connect, buffer, size, &readbytes))
+ if (!InternetReadFile (connect, buffer, size, &readbytes))
winerror ();
else if (!readbytes)
{
}
-HINTERNET
-opensession ()
+HINTERNET opensession ()
{
return InternetOpen ("Cygwin Setup", INTERNET_OPEN_TYPE_PRECONFIG, NULL,
NULL, 0);
FILE *logfile = fopen (log, "r");
clock_t start;
- /* I am not completely sure how safe it is to "preload" cygwin1.dll, but
- it greatly speeds up the execution of cygpath which is eventually
- called by utodpath in a loop that can be executed thousands of times. */
- HINSTANCE lib = NULL; // LoadLibrary("\\usr\\bin\\cygwin1.dll");
+ /* I am not completely sure how safe it is to "preload" cygwin1.dll, but it
+ greatly speeds up the execution of cygpath which is eventually called by
+ utodpath in a loop that can be executed thousands of times. */
+ HINSTANCE lib = LoadLibrary ("\\usr\\bin\\cygwin1.dll");
printf ("Creating the uninstall file... 0%%");
fflush (stdout);
start = clock ();
getcwd (cwd, sizeof (cwd));
fprintf (uninst,
- "@echo off\n" "%c:\n" "cd \"%s\"\n", *cwd,
- cwd);
+ "@echo off\n" "%c:\n" "cd \"%s\"\n", *cwd, cwd);
for (n = 0; n < lines.count; ++n)
{
char *dpath;
#ifndef NDEBUG
printf ("\nUninstall script creation took %.0f seconds.\n",
(double) (clock () - start) / CLK_TCK);
-#endif /*
+#endif /*
*/
if (lib)
FreeLibrary (lib);
shortcut = pathcat (folder, "Cygwin 1.1.0.lnk");
if (shortcut)
{
- if (create_shortcut (batch_name, shortcut))
+ char *cmdline;
+ OSVERSIONINFO verinfo;
+ verinfo.dwOSVersionInfoSize = sizeof (verinfo);
+
+ /* If we are running Win9x, build a command line. */
+ GetVersionEx (&verinfo);
+ if (verinfo.dwPlatformId == VER_PLATFORM_WIN32_NT)
+ cmdline = xstrdup (batch_name);
+ else
+ {
+ char *pccmd;
+ char windir[MAX_PATH];
+ GetWindowsDirectory (windir, sizeof (windir));
+
+ pccmd = pathcat (windir, COMMAND9X);
+ cmdline =
+ xmalloc (strlen (pccmd) + strlen (batch_name) + 1);
+ strcat (strcpy (cmdline, pccmd), batch_name);
+ xfree (pccmd);
+ }
+
+ if (create_shortcut (cmdline, shortcut))
{
char *uninstscut =
- pathcat (folder, "Uninstall Cygwin 1.1.0.lnk");
+ pathcat (folder, "Uninstall Cygwin 1.1.0.lnk");
if (uninstscut)
{
if (create_uninstall
xfree (uninstscut);
}
}
+ xfree (cmdline);
xfree (shortcut);
}
xfree (folder);
size_t option;
int ready4urls = 0;
char buf[256];
- SA urls;
+ SA urls, names; /* These must stay sync'd. */
sa_init (&urls);
+ sa_init (&names);
while (fgets (buf, sizeof (buf), in))
{
if (ref[len - 1] == '/')
{
+ char *name;
char *url = xmalloc (len + 13);
- strcat (strcpy (url, ref), "cygwin-1.1.0");
+ strcat (strcpy (url, ref), DOWNLOAD_SUBDIR);
sa_add (&urls, url);
+
+ /* Get just the sites name. */
+ name = strstr (url, "//");
+ if (name)
+ name += 2;
+ else
+ name = url;
+ *strchr (name, '/') = '\0';
+ sa_add (&names, url);
+
xfree (url);
}
}
}
sa_add (&urls, "Other");
+ sa_add (&names, "Other");
option =
- optionprompt ("Select a download location close to you:", &urls);
+ optionprompt ("Select a download location close to you:", &names);
if (option == urls.count - 1)
retval = prompt ("Download url", NULL);
else
retval = xstrdup (urls.array[option]);
sa_cleanup (&urls);
+ sa_cleanup (&names);
}
}
unlink (filename);
/* Mount the directory. */
mount = pathcat (mountexedir, "mount");
sprintf (buffer, "%s %s -b \"%s\" %s", mount, force ? "-f" : "",
- fulldospath,
- unixpath);
+ fulldospath, unixpath);
xfree (mount);
xfree (fulldospath);
- return system (buffer) == 0;
+ return xsystem (buffer) == 0;
}
int
}
else
{
- char *wd = _getcwd (NULL, 0);
char *defroot, *update;
char *root;
int done;
HKEY cu = NULL, lm = NULL;
- addpath (wd);
+ wd = _getcwd (NULL, 0);
+ setpath (wd);
/* Begin prompting user for setup requirements. */
printf ("Press <enter> to accept the default value.\n");
- /* If some Cygnus software has been installed, assume there is a
- root
- mount in the registry. Otherwise use C:\cygwin for the
- default root
+ /* If some Cygnus software has been installed, assume there is a root
+ mount in the registry. Otherwise use C:\cygwin for the default root
directory. */
if (RegOpenKey (HKEY_CURRENT_USER, CYGNUS_KEY, &cu) == ERROR_SUCCESS
|| RegOpenKey (HKEY_LOCAL_MACHINE, CYGNUS_KEY,
else
defroot = xstrdup (DEF_ROOT);
- /* Get the root directory and warn the user if there are any spaces
- in
+ /* Get the root directory and warn the user if there are any spaces in
the path. */
for (done = 0; !done;)
{
}
xfree (update);
- /* Make the root directory the current directory so that
- recurse_dirs
+ /* Make the root directory the current directory so that recurse_dirs
will * extract the packages into the correct path. */
if (chdir (root) == -1)
{
printf ("Unable to make \"%s\" the current directory: %s\n",
- root,
- _strerror (""));
+ root, _strerror (""));
}
else
{
_chdrive (toupper (*root) - 'A' + 1);
/* Make /bin point to /usr/bin and /lib point to /usr/lib. */
- mkmount (wd, root, "usr\\bin", "/bin", 0);
- mkmount (wd, root, "usr\\lib", "/lib", 0);
+ mkmount (wd, root, "usr\\bin", "/bin", 1);
+ mkmount (wd, root, "usr\\lib", "/lib", 1);
- /* Extract all of the packages that are stored with setup or
- in
+ /* Extract all of the packages that are stored with setup or in
subdirectories of its location */
if (recurse_dirs (wd, logpath))
{
mount = pathcat (wd, "mount");
sprintf (buffer, "%s -f -b \"%s\" /", mount, root);
xfree (mount);
- if (system (buffer))
+ if (xsystem (buffer))
{
printf
("Unable to mount \"%s\" as the root directory: %s",
-# Microsoft Developer Studio Project File - Name="setup" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=setup - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "setup.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "setup.mak" CFG="setup - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "setup - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "setup - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "setup - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O1 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wininet.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "setup - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "g:\cygwin-net-485"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wininet.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "setup - Win32 Release"
-# Name "setup - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\cygpath.exe.gz
-# End Source File
-# Begin Source File
-
-SOURCE=.\cygwin1.dll.gz
-# End Source File
-# Begin Source File
-
-SOURCE=.\error.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\gzip.exe.gz
-# End Source File
-# Begin Source File
-
-SOURCE=.\memory.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\setup.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\setup.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\setupres.rc
-# End Source File
-# Begin Source File
-
-SOURCE=.\strarry.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\strarry.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\tar.exe.gz
-# End Source File
-# End Target
-# End Project
+# Microsoft Developer Studio Project File - Name="setup" - Package Owner=<4>\r
+# Microsoft Developer Studio Generated Build File, Format Version 6.00\r
+# ** DO NOT EDIT **\r
+\r
+# TARGTYPE "Win32 (x86) Console Application" 0x0103\r
+\r
+CFG=setup - Win32 Debug\r
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r
+!MESSAGE use the Export Makefile command and run\r
+!MESSAGE\r
+!MESSAGE NMAKE /f "setup.mak".\r
+!MESSAGE\r
+!MESSAGE You can specify a configuration when running NMAKE\r
+!MESSAGE by defining the macro CFG on the command line. For example:\r
+!MESSAGE\r
+!MESSAGE NMAKE /f "setup.mak" CFG="setup - Win32 Debug"\r
+!MESSAGE\r
+!MESSAGE Possible choices for configuration are:\r
+!MESSAGE\r
+!MESSAGE "setup - Win32 Release" (based on "Win32 (x86) Console Application")\r
+!MESSAGE "setup - Win32 Debug" (based on "Win32 (x86) Console Application")\r
+!MESSAGE\r
+\r
+# Begin Project\r
+# PROP AllowPerConfigDependencies 0\r
+# PROP Scc_ProjName ""\r
+# PROP Scc_LocalPath ""\r
+CPP=cl.exe\r
+RSC=rc.exe\r
+\r
+!IF "$(CFG)" == "setup - Win32 Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 0\r
+# PROP BASE Output_Dir "Release"\r
+# PROP BASE Intermediate_Dir "Release"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 0\r
+# PROP Output_Dir "."\r
+# PROP Intermediate_Dir "Release"\r
+# PROP Ignore_Export_Lib 0\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD CPP /nologo /W3 /GX /O1 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c\r
+# ADD BASE RSC /l 0x409 /d "NDEBUG"\r
+# ADD RSC /l 0x409 /d "NDEBUG"\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386\r
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wininet.lib /nologo /subsystem:console /machine:I386\r
+\r
+!ELSEIF "$(CFG)" == "setup - Win32 Debug"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "Debug"\r
+# PROP BASE Intermediate_Dir "Debug"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "g:\cygwin-net-485"\r
+# PROP Intermediate_Dir "Debug"\r
+# PROP Ignore_Export_Lib 0\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c\r
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c\r
+# ADD BASE RSC /l 0x409 /d "_DEBUG"\r
+# ADD RSC /l 0x409 /d "_DEBUG"\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LINK32=link.exe\r
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept\r
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wininet.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept\r
+\r
+!ENDIF\r
+\r
+# Begin Target\r
+\r
+# Name "setup - Win32 Release"\r
+# Name "setup - Win32 Debug"\r
+# Begin Source File\r
+\r
+SOURCE=.\cygpath.exe.gz\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\cygwin1.dll.gz\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\error.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\gzip.exe.gz\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\memory.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\setup.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\setup.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\setupres.rc\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\strarry.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\strarry.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\tar.exe.gz\r
+# End Source File\r
+# End Target\r
+# End Project\r
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "setup"=.\setup.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name zlib
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "zlib"=.\zlib.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
+Microsoft Developer Studio Workspace File, Format Version 6.00\r
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!\r
+\r
+###############################################################################\r
+\r
+Project: "setup"=.\setup.dsp - Package Owner=<4>\r
+\r
+Package=<5>\r
+{{{\r
+}}}\r
+\r
+Package=<4>\r
+{{{\r
+ Begin Project Dependency\r
+ Project_Dep_Name zlib\r
+ End Project Dependency\r
+}}}\r
+\r
+###############################################################################\r
+\r
+Project: "zlib"=.\zlib.dsp - Package Owner=<4>\r
+\r
+Package=<5>\r
+{{{\r
+}}}\r
+\r
+Package=<4>\r
+{{{\r
+}}}\r
+\r
+###############################################################################\r
+\r
+Global:\r
+\r
+Package=<5>\r
+{{{\r
+}}}\r
+\r
+Package=<3>\r
+{{{\r
+}}}\r
+\r
+###############################################################################\r
+\r
-# Microsoft Developer Studio Project File - Name="zlib" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=zlib - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "zlib.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "zlib.mak" CFG="zlib - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "zlib - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "zlib - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "zlib - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ELSEIF "$(CFG)" == "zlib - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /i ".." /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ENDIF
-
-# Begin Target
-
-# Name "zlib - Win32 Release"
-# Name "zlib - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\adler32.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\compress.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\crc32.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\deflate.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\gzio.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\infblock.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\infcodes.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\inffast.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\inflate.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\inftrees.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\infutil.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\trees.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\uncompr.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\zutil.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\deflate.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\infblock.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\infcodes.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\inffast.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\inffixed.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\inftrees.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\infutil.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\trees.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\zconf.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\zlib.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\zlib-1.1.3\zutil.h
-# End Source File
-# End Group
-# End Target
-# End Project
+# Microsoft Developer Studio Project File - Name="zlib" - Package Owner=<4>\r
+# Microsoft Developer Studio Generated Build File, Format Version 6.00\r
+# ** DO NOT EDIT **\r
+\r
+# TARGTYPE "Win32 (x86) Static Library" 0x0104\r
+\r
+CFG=zlib - Win32 Debug\r
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r
+!MESSAGE use the Export Makefile command and run\r
+!MESSAGE\r
+!MESSAGE NMAKE /f "zlib.mak".\r
+!MESSAGE\r
+!MESSAGE You can specify a configuration when running NMAKE\r
+!MESSAGE by defining the macro CFG on the command line. For example:\r
+!MESSAGE\r
+!MESSAGE NMAKE /f "zlib.mak" CFG="zlib - Win32 Debug"\r
+!MESSAGE\r
+!MESSAGE Possible choices for configuration are:\r
+!MESSAGE\r
+!MESSAGE "zlib - Win32 Release" (based on "Win32 (x86) Static Library")\r
+!MESSAGE "zlib - Win32 Debug" (based on "Win32 (x86) Static Library")\r
+!MESSAGE\r
+\r
+# Begin Project\r
+# PROP AllowPerConfigDependencies 0\r
+# PROP Scc_ProjName ""\r
+# PROP Scc_LocalPath ""\r
+CPP=cl.exe\r
+RSC=rc.exe\r
+\r
+!IF "$(CFG)" == "zlib - Win32 Release"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 0\r
+# PROP BASE Output_Dir "Release"\r
+# PROP BASE Intermediate_Dir "Release"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 0\r
+# PROP Output_Dir "Release"\r
+# PROP Intermediate_Dir "Release"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c\r
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c\r
+# ADD BASE RSC /l 0x409 /d "NDEBUG"\r
+# ADD RSC /l 0x409 /d "NDEBUG"\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LIB32=link.exe -lib\r
+# ADD BASE LIB32 /nologo\r
+# ADD LIB32 /nologo\r
+\r
+!ELSEIF "$(CFG)" == "zlib - Win32 Debug"\r
+\r
+# PROP BASE Use_MFC 0\r
+# PROP BASE Use_Debug_Libraries 1\r
+# PROP BASE Output_Dir "Debug"\r
+# PROP BASE Intermediate_Dir "Debug"\r
+# PROP BASE Target_Dir ""\r
+# PROP Use_MFC 0\r
+# PROP Use_Debug_Libraries 1\r
+# PROP Output_Dir "Debug"\r
+# PROP Intermediate_Dir "Debug"\r
+# PROP Target_Dir ""\r
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c\r
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c\r
+# ADD BASE RSC /l 0x409 /d "_DEBUG"\r
+# ADD RSC /l 0x409 /i ".." /d "_DEBUG"\r
+BSC32=bscmake.exe\r
+# ADD BASE BSC32 /nologo\r
+# ADD BSC32 /nologo\r
+LIB32=link.exe -lib\r
+# ADD BASE LIB32 /nologo\r
+# ADD LIB32 /nologo\r
+\r
+!ENDIF\r
+\r
+# Begin Target\r
+\r
+# Name "zlib - Win32 Release"\r
+# Name "zlib - Win32 Debug"\r
+# Begin Group "Source Files"\r
+\r
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\adler32.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\compress.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\crc32.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\deflate.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\gzio.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\infblock.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\infcodes.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\inffast.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\inflate.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\inftrees.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\infutil.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\trees.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\uncompr.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\zutil.c\r
+# End Source File\r
+# End Group\r
+# Begin Group "Header Files"\r
+\r
+# PROP Default_Filter "h;hpp;hxx;hm;inl"\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\deflate.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\infblock.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\infcodes.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\inffast.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\inffixed.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\inftrees.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\infutil.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\trees.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\zconf.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\zlib.h\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=.\zlib\zutil.h\r
+# End Source File\r
+# End Group\r
+# End Target\r
+# End Project\r