From: hniksic Date: Thu, 12 Feb 2004 18:09:10 +0000 (-0800) Subject: [svn] Cleanup Windows Makefiles and README. X-Git-Tag: v1.13~1316 X-Git-Url: http://sjero.net/git/?p=wget;a=commitdiff_plain;h=2bebfdb844a9aa11b6db3e7d9ca93f8a4e6ca077 [svn] Cleanup Windows Makefiles and README. Submitted by David Fritz. --- diff --git a/ChangeLog b/ChangeLog index 40af815e..0da02063 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,27 @@ +2004-02-09 David Fritz + + * 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 * aclocal.m4: Don't check for AI_V4MAPPED and for AI_ALL, since diff --git a/configure.bat.in b/configure.bat.in index 0c5b4cf8..c8b45815 100644 --- a/configure.bat.in +++ b/configure.bat.in @@ -26,7 +26,6 @@ rem modify this file, you may extend this exception to your version of the 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 diff --git a/windows/Makefile.doc b/windows/Makefile.doc index 35186317..cff926fe 100644 --- a/windows/Makefile.doc +++ b/windows/Makefile.doc @@ -28,22 +28,22 @@ # 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) @@ -76,10 +76,10 @@ $(WGETHLP): $(WGETTEXI) $(SAMPLERCTEXI) 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) diff --git a/windows/Makefile.src b/windows/Makefile.src index a665f25b..6a6b5afc 100644 --- a/windows/Makefile.src +++ b/windows/Makefile.src @@ -1,4 +1,4 @@ -# 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 @@ -25,43 +25,48 @@ # 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 \ @@ -77,17 +82,15 @@ OBJ = cmpt$o safe-ctype$o convert$o connect$o host$o http$o netrc$o \ .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 # @@ -95,15 +98,16 @@ wget.exe: $(OBJ) # 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 @@ -111,3 +115,4 @@ realclean: distclean # Dependencies: !include "..\windows\wget.dep" + diff --git a/windows/Makefile.top b/windows/Makefile.top index 7dbeca3b..69b8df19 100644 --- a/windows/Makefile.top +++ b/windows/Makefile.top @@ -25,7 +25,7 @@ # 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 @@ -37,41 +37,41 @@ SUBDIRS = src doc #util 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 diff --git a/windows/README b/windows/README index e804a62c..13f45fc4 100644 --- a/windows/README +++ b/windows/README @@ -1,38 +1,46 @@ -*- 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 . 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 ; 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 -- the initial work on the Windows