Submitted by David Fritz.
+2004-02-09 David Fritz <zeroxdf@att.net>
+
+ * configure.bat.in: Don't clear the screen.
+
+ * windows/README: Add introductory paragraph. Re-word a few
+ sentences. Correct minor typographical errors. Use consistent
+ capitalization of Wget, SSL, and OpenSSL. Refer to Microsoft
+ Visual C++ as MSVC instead of VC++. Mention the --msvc option to
+ configure.bat. Reflow paragraphs.
+
+ * windows/Makefile.top: Use tabs instead of spaces. Ignore errors
+ in clean rules. Use lowercase filenames when building distribution
+ .zip archive.
+
+ * windows/Makefile.doc: Use tabs instead of spaces. Ignore errors
+ in clean rules.
+
+ * windows/Makefile.src: Clean-up clean rules. Use tabs instead of
+ spaces. Link against gdi32.lib. Don't define SYSTEM_WGETRC.
+ Remove unused macros. Remove anachronistic and superfluous linker
+ flags. Don't rename wget.exe to all upper-case. Add
+ `preprocessor' conditionals for SSL and newer MSVC options. Use
+ batch rules. Don't suppress all warnings.
+
2003-11-26 Hrvoje Niksic <hniksic@xemacs.org>
* aclocal.m4: Don't check for AI_V4MAPPED and for AI_ALL, since
rem file, but you are not obligated to do so. If you do not wish to do
rem so, delete this exception statement from your version.
-cls
if .%1 == .--borland goto :borland
if .%1 == .--mingw goto :mingw
if .%1 == .--msvc goto :msvc
# You probably need makeinfo and perl, see the README in the main
# windows directory.
-RM = del
-CP = copy
-ATTRIB = attrib
-
-MAKEINFO = makeinfo.exe
-TEXI2POD = texi2pod.pl
-POD2MAN = pod2man
-
-SAMPLERCTEXI = sample.wgetrc.munged_for_texi_inclusion
-WGETHLP = wget.hlp
-WGETINFO = wget.info
-WGETTEXI = wget.texi
-WGETHTML = wget.html
-WGETPOD = wget.pod
-manext = 1
-MAN = wget.$(manext)
+RM = -del
+CP = copy
+ATTRIB = attrib
+
+MAKEINFO = makeinfo.exe
+TEXI2POD = texi2pod.pl
+POD2MAN = pod2man
+
+SAMPLERCTEXI = sample.wgetrc.munged_for_texi_inclusion
+WGETHLP = wget.hlp
+WGETINFO = wget.info
+WGETTEXI = wget.texi
+WGETHTML = wget.html
+WGETPOD = wget.pod
+manext = 1
+MAN = wget.$(manext)
all: $(WGETHLP) $(WGETINFO) $(WGETHTML)
hcrtf -xn wget.hpj
clean:
- $(RM) *.bak
- $(RM) *.hpj
- $(RM) *.rtf
- $(RM) *.ph
+ $(RM) *.bak
+ $(RM) *.hpj
+ $(RM) *.rtf
+ $(RM) *.ph
$(RM) $(SAMPLERCTEXI)
$(RM) $(MAN)
$(RM) $(TEXI2POD)
-# Makefile for `wget' utility for MSVC 4.0
+# Makefile for `wget' utility for MSVC
# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# file, but you are not obligated to do so. If you do not wish to do
# so, delete this exception statement from your version.
-#
-# Version: 1.4.4
-#
-#Comment these if you don't have openssl available - however https
-#won't work.
-SSLDEFS = /DHAVE_SSL
-SSLLIBS = libeay32.lib ssleay32.lib
-SSLSRC = gen_sslfunc.c
-SSLOBJ = gen_sslfunc$o
+# SSL (https) support requires the OpenSSL library (see http://www.openssl.org/).
+# If you do not have OpenSSL installed or wish to build Wget without SSL
+# support, either comment-out the following lines or define NO_SSL.
+!ifndef NO_SSL
+SSLDEFS = /DHAVE_SSL
+SSLLIBS = libeay32.lib ssleay32.lib
+SSLSRC = gen_sslfunc.c
+SSLOBJ = gen_sslfunc$o
+!endif
-SHELL = command
+o = .obj
-VPATH = .
-o = .obj
-OUTDIR = .
+CC = cl
+LD = link
+RM = -del
-CC = cl
-LD = link
+DEFS = /DWINDOWS /D_CONSOLE /DHAVE_CONFIG_H $(SSLDEFS)
+LIBS = kernel32.lib advapi32.lib wsock32.lib user32.lib gdi32.lib $(SSLLIBS)
-CFLAGS = /nologo /MT /W0 /O2
-#DEBUGCF = /DENABLE_DEBUG /Zi /Od #/Fd /FR
-CPPFLAGS =
-DEFS = /DWINDOWS /D_CONSOLE /DHAVE_CONFIG_H /DSYSTEM_WGETRC=\"wgetrc\"
-LDFLAGS = /subsystem:console /incremental:no /warn:3
-#DEBUGLF = /pdb:wget.pdb /debug /debugtype:cv /map:wget.map /opt:noref
-LIBS = kernel32.lib advapi32.lib wsock32.lib user32.lib
+!ifdef DEBUG
+CFLAGS = /nologo /MTd /Od /Zi /I. $(DEFS)
+LDFLAGS = /debug
+!else
+CFLAGS = /nologo /MT /O2 /I. $(DEFS)
+LDFLAGS = /opt:ref #/opt:nowin98
+!endif
-INCLUDES = /I.
-COMPILE = $(CC) $(INCLUDES) $(CPPFLAGS) $(DEBUGCF) $(DEFS) $(SSLDEFS) $(CFLAGS)
-LINK = $(LD) $(LDFLAGS) $(DEBUGLF) /out:$@
+# The following enables security checks and is recommended if you are using
+# MSVC 7.0 (or later) for 80x86.
+!ifdef SECURITY_CHECKS
+CFLAGS = $(CFLAGS) /GS
+!endif
-#INSTALL = @INSTALL@
-#INSTALL_PROGRAM = @INSTALL_PROGRAM@
+# The following enables link-time code generation (Cross-file
+# interprocedural optimizations).
+!ifdef LTCG
+CFLAGS = $(CFLAGS) /GL
+LDFLAGS = $(LDFLAGS) /ltcg:status
+!endif
-RM = del
SRC = cmpt.c safe-ctype.c convert.c connect.c host.c http.c netrc.c \
ftp-basic.c ftp.c ftp-ls.c ftp-opie.c getopt.c hash.c \
.SUFFIXES: .c .obj
-.c.obj:
- $(COMPILE) /c $<
+# If this doesn't work for you, remove the second colon.
+.c.obj::
+ $(CC) $(CFLAGS) /c $<
# Dependencies for building
-wget: wget.exe
-
wget.exe: $(OBJ)
- $(LD) @<< $(LDFLAGS) $(DEBUGLF) /out:$@ $(LIBS) $(SSLLIBS) $(OBJ)
+ $(LD) @<< $(LDFLAGS) /out:$@ $(OBJ) $(LIBS)
<<
- ren wget.exe WGET.EXE
#
#
clean:
- $(RM) *.obj
- $(RM) *.exe
- $(RM) *.bak
- $(RM) *.pdb
- $(RM) *.map
- $(RM) config.h
+ $(RM) *.bak
+ $(RM) *.obj
+ $(RM) *.exe
+ $(RM) *.pdb
+ $(RM) *.map
+ $(RM) *.ilk
distclean: clean
$(RM) Makefile
+ $(RM) config.h
realclean: distclean
$(RM) TAGS
# Dependencies:
!include "..\windows\wget.dep"
+
# file, but you are not obligated to do so. If you do not wish to do
# so, delete this exception statement from your version.
-RM = del
+RM = -del
CP = copy
# flags passed to recursive makes in subdirectories
all: Makefile $(SUBDIRS)
$(SUBDIRS): FORCE
- cd $@
- $(MAKE)
- cd ..
+ cd $@
+ $(MAKE)
+ cd ..
FORCE:
# install everything
install:
- echo Just do it.
+ echo Just do it.
clean: clean-recursive clean-top
distclean: distclean-recursive distclean-top
realclean: realclean-recursive realclean-top
clean-top:
- $(RM) *.bak
- $(RM) *.zip
+ $(RM) *.bak
+ $(RM) *.zip
distclean-top: clean-top
- $(RM) Makefile
- $(RM) config.h
+ $(RM) Makefile
+ $(RM) config.h
realclean-top: distclean-top
clean-recursive distclean-recursive realclean-recursive:
- cd src
- $(MAKE) $(@:-recursive=)
- cd ..\\doc
- $(MAKE) $(@:-recursive=)
- cd ..
+ cd src
+ $(MAKE) $(@:-recursive=)
+ cd ..\\doc
+ $(MAKE) $(@:-recursive=)
+ cd ..
bindist: wget.zip
wget.zip: $(SUBDIRS)
- $(RM) wget.zip
- zip -Djl9 wget.zip AUTHORS COPYING INSTALL MACHINES MAILING-LIST NEWS README DOC\\sample.wgetrc
- zip -Dj9 wget.zip SRC\\WGET.EXE DOC\\WGET.HLP
+ $(RM) wget.zip
+ zip -Djl9 wget.zip AUTHORS COPYING INSTALL MACHINES MAILING-LIST NEWS README doc/sample.wgetrc
+ zip -Dj9 wget.zip src/wget.exe doc/wget.hlp
-*- text -*-
-To build Wget with VC++ run configure.bat (in the main wget directory),
-and then run nmake. At a certain point in time wget exposed some
-compiler bugs in VC++ 5.0; VC++ 6.0 sp 5 is known to be safe. However
-read the rest of this document before continuing.
-
-For VC++ the current default is to configure wget with ssl support;
-first get openssl (http://www.openssl.org), compile it and install
-relevant headers and libraries where your compiler can find them;
-currently this could mean (presuming default installation directories)
-copy (from the compiled openssl dirctory) the whole inc32/openssl
-directory and its contents to
-"C:\Program Files\Microsoft Visual Studio\VC98\Include\openssl",
-and from out32dll (in the openssl directory) the two needed libraries
-(libeay32.lib and ssleay32.lib) to
-"C:\Program Files\Microsoft Visual Studio\VC98\lib".
-These locations aren't exactly the best but will get you started if you
-don't know where to place these headers and libraries.
-Usually at runtime some openssl libraries (currently ssleay32.dll and
-libeay32.dll) will need to be available in your environment PATH.
+You can configure the Windows port of Wget by running configure.bat (in
+the main Wget directory). You can run it with no arguments to see the
+list of possible options. Run it with the option corresponding to the
+compiler you intend to use to build Wget and follow the (brief)
+instructions printed on the screen. The instructions bellow are for
+building Wget with Microsoft Visual C++ (MSVC); you may need to make
+appropriate substitutions for your compiler and build environment.
+
+To build Wget with MSVC run configure.bat (in the main Wget directory)
+with the argument --msvc, and then run nmake. At a certain point in time
+Wget exposed some compiler bugs in MSVC 5.0; MSVC 6.0 SP5 is known to be
+safe. However, read the rest of this document before continuing.
+
+For MSVC the current default is to build Wget with SSL support. For this
+to work, you will need to have OpenSSL installed. First, get OpenSSL
+(http://www.openssl.org), compile it and install the relevant headers and
+libraries where your compiler can find them; currently this could mean
+(presuming default installation directories for MSVC 6.0) copy (from the
+compiled OpenSSL directory) the whole inc32\openssl directory and its
+contents to "C:\Program Files\Microsoft Visual Studio\VC98\Include\openssl",
+and from out32dll (in the OpenSSL directory) the two needed libraries
+(libeay32.lib and ssleay32.lib) to
+"C:\Program Files\Microsoft Visual Studio\VC98\lib". These locations
+aren't exactly the best but will get you started if you don't know where
+to place these headers and libraries. Usually at run-time some OpenSSL
+libraries (currently ssleay32.dll and libeay32.dll) will need to be
+available in your environment PATH.
+
+If you don't want to/can't compile Wget with OpenSSL comment SSL related
+lines in windows\Makefile.src; then follow the normal instructions
+(configure.bat and so on).
If you want to build the help file you will need a copy of makeinfo to
-convert wget.texi to rtf and html. I've made a copy available at
+convert wget.texi to rtf and html. I've made a copy available at
<URL:ftp://sunsite.dk/projects/wget/makeinfo.zip>. This copy of
-makeinfo is from the miktxt 1.10 archive available from ctan. You also
-will need perl 5, one possibility is Activeperl (currently free) from
+makeinfo is from the miktxt 1.10 archive available from ctan. You also
+will need perl 5, one possibility is ActivePerl (currently free) from
<URL:http://www.activestate.com>; you need to locate the download and
install instructions for the current version available (since the
packages and installation instructions change from time to time).
-If you don't want/can't to compile wget with openssl comment the SSL
-related lines in windows\Makefile.src; then follow the normal
-instructions (configure.bat and so on).
-
Windows contributors:
* Darko Budor <dbudor@zesoi.fer.hr> -- the initial work on the Windows