]> sjero.net Git - wget/commitdiff
Applying Gisle's latest MS-DOS patches.
authorMicah Cowan <micah@cowan.name>
Sat, 6 Oct 2007 19:44:17 +0000 (12:44 -0700)
committerMicah Cowan <micah@cowan.name>
Sat, 6 Oct 2007 19:44:17 +0000 (12:44 -0700)
msdos/ChangeLog
msdos/Makefile.DJ
msdos/Makefile.WC [new file with mode: 0644]
msdos/config.h
src/ChangeLog
src/ftp.c
src/url.c
src/utils.c

index dcf81278e9a4a425ef2cb400c7c9582c8d5fa794..63539b74971a475837da080db2e7f6d067267416 100644 (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
index bed35cd141a963dbf714f118afb1460bd9f2dcae..72e1cedf315619d1d548ab0e3b7be60386ec97a4 100644 (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
diff --git a/msdos/Makefile.WC b/msdos/Makefile.WC
new file mode 100644 (file)
index 0000000..de01b8f
--- /dev/null
@@ -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)
+
index f43ab4ece1ba67a22b6535a4c4764c558f1f15d2..276f66c1716ea14be5a4c4445edf004c0f35c82c 100644 (file)
 #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>
 #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
 #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 */
index e6e4d480851b88dd2d9a3c41a5a56bfa600f4e2a..6864760e1496df4447ca995b7b7c44b913cf6cd0 100644 (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
index d8a184457c39204fbcc35de8cc1cbce4e1217498..e0d0777336453b53977843049daddb3739b5d0f7 100644 (file)
--- a/src/ftp.c
+++ b/src/ftp.c
@@ -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
 {
index 6235c5216d224063ad8eca0532de36d348ad22ef..72bb7b90d735c6eca5a73a450dda6b0d4e60a1cf 100644 (file)
--- a/src/url.c
+++ b/src/url.c
@@ -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 */
 };
 
index 94b4e3a349bfaa01fdd0fcb5c70972a41e3e205a..63545a3274aec45b1067925c3453aa9b0411cf04 100644 (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