Applying Gisle's latest MS-DOS patches.

This commit is contained in:
Micah Cowan 2007-10-06 12:44:17 -07:00
parent 84eba7c587
commit c0a444d5e6
8 changed files with 114 additions and 57 deletions

View File

@ -1,3 +1,14 @@
2007-10-02 Gisle Vanem <gvanem@broadpark.no>
* config.h: Removed unused defines, added needed 'HAVE_*' defines.
* Makefile.DJ: rewritten to be used from './src' directory.
Added '-DOPENSSL_NO_KRB5' for OpenSSL build. Target is
now wget.exe.
* Makefile.WC: Added for building with OpenWatcom targeting
32-bit DOS (DOS32A extender).
2007-09-24 Gisle Vanem <giva@bgnett.no>
* Makefile.DJ, config.h: Added to support building on MS-DOS via

View File

@ -1,28 +1,33 @@
#
# GNU Makefile for wget / djgpp / MSDOS.
# By Gisle Vanem <giva@bgnett.no>.
# By Gisle Vanem <giva@bgnett.no> 2007.
#
.SUFFIXES: .exe .map
# `cd' to `./src' and issue the command:
# make -f ../msdos/Makefile.dj
#
.SUFFIXES: .exe
USE_OPENSSL = 0
USE_IPV6 = 1
#
# Change to suite.
#
OPENSSL_ROOT = e:/net/OpenSSL.099
ZLIB_ROOT = e:/djgpp/contrib/zlib
VPATH = ../src
OBJ_DIR = djgpp.obj
CC = gcc
CFLAGS = -O2 -g -Wall -Wcast-align -I. -I../src -I/dev/env/WATT_ROOT/inc \
CFLAGS = -O2 -g -Wall -Wcast-align -I. -I../msdos -I/dev/env/WATT_ROOT/inc \
-DHAVE_CONFIG_H -DENABLE_DEBUG
# LDFLAGS = -s
ifeq ($(USE_OPENSSL),1)
CFLAGS += -DHAVE_OPENSSL -DHAVE_SSL -I$(OPENSSL_ROOT)
CFLAGS += -DHAVE_OPENSSL -DHAVE_SSL -DOPENSSL_NO_KRB5 -I$(OPENSSL_ROOT)
EX_LIBS += $(OPENSSL_ROOT)/lib/libssl.a $(OPENSSL_ROOT)/lib/libcrypt.a \
$(ZLIB_ROOT)/libz.a
SOURCES = ../src/openssl.c ../src/http-ntlm.c
SOURCES += openssl.c http-ntlm.c
endif
ifeq ($(USE_IPV6),1)
@ -31,28 +36,28 @@ endif
EX_LIBS += /dev/env/WATT_ROOT/lib/libwatt.a
SOURCES += $(addprefix ../src/, cmpt.c connect.c cookies.c ftp.c ftp-basic.c \
ftp-ls.c ftp-opie.c getopt.c hash.c host.c html-parse.c html-url.c \
http.c init.c log.c main.c gen-md5.c gnu-md5.c netrc.c progress.c \
recur.c res.c retr.c safe-ctype.c url.c utils.c version.c convert.c \
xmalloc.c ptimer.c spider.c)
SOURCES += cmpt.c connect.c cookies.c ftp.c ftp-basic.c ftp-ls.c \
ftp-opie.c getopt.c hash.c host.c html-parse.c html-url.c \
http.c init.c log.c main.c gen-md5.c gnu-md5.c netrc.c \
progress.c recur.c res.c retr.c safe-ctype.c url.c utils.c \
version.c convert.c xmalloc.c ptimer.c spider.c
OBJECTS = $(addprefix $(OBJ_DIR)/, $(notdir $(SOURCES:.c=.o)))
OBJECTS = $(addprefix $(OBJ_DIR)/, $(SOURCES:.c=.o))
all: $(OBJ_DIR) ../wget-dos.exe
all: $(OBJ_DIR) wget.exe
@echo 'Welcome to Wget'
$(OBJ_DIR):
mkdir $(OBJ_DIR)
../wget-dos.exe: $(OBJECTS)
wget.exe: $(OBJECTS)
$(CC) $(LDFLAGS) -o $@ $^ $(EX_LIBS)
clean:
rm -f $(OBJECTS) $(MAPFILE)
vclean realclean: clean
rm -f ../wget-dos.exe depend.dj
rm -f wget.exe depend.dj
- rmdir $(OBJ_DIR)
$(OBJ_DIR)/%.o: %.c

49
msdos/Makefile.WC Normal file
View File

@ -0,0 +1,49 @@
#
# Makefile for Wget / DOS32A / OpenWatcom
# by G. Vanem <gvanem@broadpark.no> 2007
#
COMPILE = *wcc386 -mf -3r -w6 -d2 -zq -zm -of -I. -I$(%watt_root)\inc &
-I..\msdos -fr=nul -bt=dos -s -dHAVE_CONFIG_H -dENABLE_DEBUG &
-dSIZEOF_INT=4
LINK = *wlink option quiet, map, verbose, eliminate, caseexact, stack=100k &
debug all system dos32a
OBJ_DIR = Watcom.obj
OBJECTS = $(OBJ_DIR)\cmpt.obj $(OBJ_DIR)\connect.obj &
$(OBJ_DIR)\convert.obj $(OBJ_DIR)\cookies.obj &
$(OBJ_DIR)\ftp-basic.obj $(OBJ_DIR)\ftp-ls.obj &
$(OBJ_DIR)\ftp-opie.obj $(OBJ_DIR)\ftp.obj &
$(OBJ_DIR)\gen-md5.obj $(OBJ_DIR)\getopt.obj &
$(OBJ_DIR)\gnu-md5.obj $(OBJ_DIR)\hash.obj &
$(OBJ_DIR)\host.obj $(OBJ_DIR)\html-parse.obj &
$(OBJ_DIR)\html-url.obj $(OBJ_DIR)\http.obj &
$(OBJ_DIR)\init.obj $(OBJ_DIR)\log.obj &
$(OBJ_DIR)\main.obj $(OBJ_DIR)\netrc.obj &
$(OBJ_DIR)\progress.obj $(OBJ_DIR)\ptimer.obj &
$(OBJ_DIR)\recur.obj $(OBJ_DIR)\res.obj &
$(OBJ_DIR)\retr.obj $(OBJ_DIR)\safe-ctype.obj &
$(OBJ_DIR)\spider.obj $(OBJ_DIR)\url.obj &
$(OBJ_DIR)\utils.obj $(OBJ_DIR)\version.obj &
$(OBJ_DIR)\xmalloc.obj
all: $(OBJ_DIR) wget.exe .SYMBOLIC
@echo 'Welcome to Wget / Watcom'
$(OBJ_DIR):
- mkdir $^@
.ERASE
.c{$(OBJ_DIR)}.obj:
*$(COMPILE) $[@ -fo=$@
wget.exe: $(OBJECTS)
$(LINK) name $@ file { $(OBJECTS) } library $(%watt_root)\lib\wattcpwf.lib
clean: .SYMBOLIC
- rm $(OBJ_DIR)\*.obj wget.exe wget.map
- rmdir $(OBJ_DIR)

View File

@ -46,39 +46,29 @@
#endif
#if defined(__HIGHC__)
#define inline
#define HAVE_UNISTD_H 1
#define HAVE_UTIME_H 1
#endif
#if defined(__WATCOMC__) || defined(__BORLANDC__)
#if defined(__WATCOMC__) || defined(__BORLANDC__) || defined(__HIGHC__)
#define inline
#endif
#ifdef HAVE_SSL
#define OPENSSL_NO_KRB5
#endif
#define STDC_HEADERS 1
#define RETSIGTYPE void
#define USE_OPIE 1
#define USE_DIGEST 1
#define DEBUG
#ifdef __DJGPP__
#define HAVE_STRUCT_UTIMBUF 1
#define HAVE_UNAME 1
#define HAVE_UTIME_H 1
#define HAVE__BOOL 1
#define HAVE_STRCASECMP 1
#define HAVE_STRNCASECMP 1
#define HAVE_SYS_SELECT_H 1
#define HAVE_USLEEP 1
#define HAVE_SIGNAL 1
#define HAVE_BASENAME 1
#define HAVE_SIGSETJMP 1
#define HAVE_SIGBLOCK 1
#define HAVE__BOOL 1
#define HAVE_STRUCT_UTIMBUF 1
#define HAVE_SYS_SELECT_H 1
#define HAVE_USLEEP 1
#define HAVE_UTIME_H 1
#define HAVE_INT64_T 1
#if (DJGPP_MINOR >= 4)
#include <stdbool.h>
@ -94,32 +84,18 @@
#endif
#ifdef OPENWATCOM_15
#define HAVE_STRCASECMP
#define HAVE_STRNCASECMP
#define HAVE_INT64_T 1
#define HAVE_STRCASECMP 1
#define HAVE_STRNCASECMP 1
#define HAVE_UTIME_H 1
#endif
#define HAVE_GETHOSTBYNAME 1
#define HAVE_GETHOSTNAME 1
#define HAVE_SELECT 1
#define HAVE_PROCESS_H 1
#define HAVE_STRDUP 1
#define HAVE_STRERROR 1
#define HAVE_STRSTR 1
#define HAVE_MKTIME 1
#define HAVE_STDARG_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_SIGNAL_H 1
#define HAVE_GETTIMEOFDAY 1
#define HAVE_MD5 1
#define HAVE_BUILTIN_MD5 1
#define HAVE_ISATTY 1
#define HAVE_MEMMOVE 1
#define OS_TYPE "DOS"
#define CTRLBREAK_BACKGND 1
#define PROTOTYPES 1
#define WGET_USE_STDARG
#define lookup_host wget_lookuphost
#define select select_s
@ -129,15 +105,16 @@
#define sock_write wget_sock_write
#define sock_close wget_sock_close
#if defined(__DJGPP__)
#define MKDIR(p,a) mkdir(p,a)
#else
#if !defined(__DJGPP__)
#include <direct.h>
#define mkdir(p,a) (mkdir)(p)
#define strcasecmp stricmp
#define MKDIR(p,a) mkdir(p)
#endif
#if !defined(MSDOS)
#define MSDOS
#define MSDOS
#endif
#define OS_TYPE "DOS"
#endif /* CONFIG_DOS_H */

View File

@ -1,3 +1,11 @@
2007-10-02 Gisle Vanem <gvanem@broadpark.no>
* ftp.c: Use "_listing" for MSDOS (".listing" is illegal).
* url.c: Update comment for 'filechr_not_windows'.
* utils.c: Include <process.h> for 'getpid()' on Watcom.
2007-10-04 Micah Cowan <micah@cowan.name>
* http.c (http_loop): We've got_name if content_disposition

View File

@ -51,7 +51,11 @@ so, delete this exception statement from your version. */
#include "recur.h" /* for INFINITE_RECURSION */
/* File where the "ls -al" listing will be saved. */
#ifdef MSDOS
#define LIST_FILENAME "_listing"
#else
#define LIST_FILENAME ".listing"
#endif
typedef struct
{

View File

@ -1221,7 +1221,7 @@ append_char (char ch, struct growable *dest)
enum {
filechr_not_unix = 1, /* unusable on Unix, / and \0 */
filechr_not_windows = 2, /* unusable on MSDOS/Windows, one of \|/<>?:*" */
filechr_not_windows = 2, /* unusable on Windows, one of \|/<>?:*" */
filechr_control = 4 /* a control character, e.g. 0-31 */
};

View File

@ -42,6 +42,9 @@ so, delete this exception statement from your version. */
#ifdef HAVE_MMAP
# include <sys/mman.h>
#endif
#ifdef HAVE_PROCESS_H
# include <process.h> /* getpid() */
#endif
#ifdef HAVE_UTIME_H
# include <utime.h>
#endif