I read the suggested patch and have several comments on it. 19-Jan-2004 22:03 Doug Kaufman wrote: > I looked at some of the documentation as it applied to DOS and made > several updates, primarily to the INSTALLATION file. I also updated > src/makefile.dos to use pdcurses 2.6.
> I haven't had a chance to check the DOS makefiles to see if they > actually work. I've been using configure to create makefiles for > the DOS port for about two years. Has anyone actually compiled > successfully using any of the DOS makefiles? If not, I'll see if I can > find the time to test compiling with them. > Doug > --- INSTALLATION.ori 2004-01-07 18:03:08.000000000 -0800 > +++ INSTALLATION 2004-01-19 21:20:24.000000000 -0800 > @@ -841,66 +841,154 @@ > In addition to the files in the Lynx distribution, you will need a curses > package and a TCP package. You can use PDCurses (available at > - "http://www.lightlink.com/hessling/") and the DJGPP port of WATTCP. The > + "http://pdcurses.sourceforge.net/") and the DJGPP port of WATTCP. The > updated version of WATTCP is known as WATT-32, and is available at > "http://www.bgnett.no/~giva/". You can also use slang (available at > - "ftp://space.mit.edu/pub/davis/slang") as your screen library. You must > - compile these before you go any further. If you wish to use PDCurses > 2.4, > + "http://www.s-lang.org/") as your screen library. You must > + compile these before you go any further. If you wish to use PDCurses > 2.6, > you need to first apply the following patch: Several chunks of PDCurses patches seems unneccessary for DJGPP environment: > - --- dos/pdckbd.c.ori Sun Dec 26 23:15:04 1999 > - +++ dos/pdckbd.c Fri Mar 3 00:20:14 2000 > - @@ -336,7 +336,7 @@ > - || (scan == 0x4e && ascii == 0x2b) /* Plus */ > - || (scan == 0xe0 && ascii == 0x2f)) /* Slash */ > - return ((int) ((ascii & 0x0f) | 0xf0) << 8); > - - if (ascii == 0x00 || ascii == 0xe0) > - + if (ascii == 0x00 || (ascii == 0xe0 && scan != 0x00)) > - return ((int) (scan << 8)); > - return ((int) (ascii)); > - } > - @@ -496,7 +496,7 @@ > - _watch_breaks(); > - #else > - # ifdef GO32 > - - (void*)signal(SIGINT,(setting ? SIG_DFL : SIG_IGN)); > - +/* (void*)signal(SIGINT,(setting ? SIG_DFL : SIG_IGN)); */ > - /* __djgpp_set_ctrl_c(setting);*/ > - setcbrk(setting); > - # else > +--- dos/gccdos.mak.ori 2002-01-11 20:11:18.000000000 -0800 > ++++ dos/gccdos.mak 2003-12-13 21:29:28.000000000 -0800 > +@@ -40,11 +40,11 @@ > + CFLAGS = -c -g -Wall -DPDCDEBUG > + LDFLAGS = -g > + else > +- CFLAGS = -c -O -Wall > ++ CFLAGS = -c -O2 -Wall > + LDFLAGS = > + endif > + > +-CPPFLAGS = -I$(PDCURSES_HOME) -I$(CCINCDIR) -D_NAIVE_DOS_REGS > ++CPPFLAGS = -I$(PDCURSES_HOME) -I$(CCINCDIR) -D_NAIVE_DOS_REGS > -DHAVE_STRING_H ^^^^ IMHO, any djgpp/gcc installation always have string.h > + > + CCFLAGS = $(CFLAGS) $(CPPFLAGS) > + > +@@ -64,10 +64,10 @@ > + all: $(PDCLIBS) $(DEMOS) > + > + clean: > +- -del *.o > +- -del curses.lib > +- -del panel.lib > +- -del *.exe > ++ -rm -f *.o > ++ -rm -f pdcurses.a > ++ -rm -f panel.a > ++ -rm -f *.exe ^^^^^^ can we live with vanilla 'del'? Some djgpp installation may be without fileutils (rm). > + > + demos: $(DEMOS) > + > +@@ -287,33 +287,27 @@ > + #------------------------------------------------------------------------ > + > + firework.exe: firework.o $(LIBCURSES) > +- $(LINK) $(LDFLAGS) -o firework fis/pdckbd.c.ori Sun Dec 26 23:15:04 1999 > - +++ dos/pdckbd.c Fri Mar 3 00:20:14 2000 > - @@ -336,7 +336,7 @@ > - || (scan == 0x4e && ascii == 0x2b) /* Plus */ > - || (scan == 0xe0 && ascii == 0x2f)) /* Slash */ > - return ((int) ((ascii & 0x0f) | 0xf0) << 8); > - - if (ascii == 0x00 || ascii == 0xe0) > - + if (ascii == 0x00 || (ascii == 0xe0 && scan != 0x00)) > - return ((int) (scan << 8)); > - return ((int) (ascii)); > - } > - @@ -496,7 +496,7 @@ > - _watch_breaks(); > - #else > - # ifdef GO32 > - - (void*)signal(SIGINT,(setting ? SIG_DFL : SIG_IGN)); > - +/* (void*)signal(SIGINT,(setting ? SIG_DFL : SIG_IGN)); */ > - /* __djgpp_set_ctrl_c(setting);*/ > - setcbrk(setting); > - # else > +--- dos/gccdos.mak.ori 2002-01-11 20:11:18.000000000 -0800 > ++++ dos/gccdos.mak 2003-12-13 21:29:28.000000000 -0800 > +@@ -40,11 +40,11 @@ > + CFLAGS = -c -g -Wall -DPDCDEBUG > + LDFLAGS = -g > + else > +- CFLAGS = -c -O -Wall > ++ CFLAGS = -c -O2 -Wall > + LDFLAGS = > + endif > + > +-CPPFLAGS = -I$(PDCURSES_HOME) -I$(CCINCDIR) -D_NAIVE_DOS_REGS > ++CPPFLAGS = -I$(PDCURSES_HOME) -I$(CCINCDIR) -D_NAIVE_DOS_REGS > -DHAVE_STRING_H ^^^^ IMHO, any djgpp/gcc installation always have string.h > + > + CCFLAGS = $(CFLAGS) $(CPPFLAGS) > + > +@@ -64,10 +64,10 @@ > + all: $(PDCLIBS) $(DEMOS) > + > + clean: > +- -del *.o > +- -del curses.lib > +- -del panel.lib > +- -del *.exe > ++ -rm -f *.o > ++ -rm -f pdcurses.a > ++ -rm -f panel.a > ++ -rm -f *.exe ^^^^^^ can we live with vanilla 'del'? Some djgpp installation may be without fileutils (rm). > + > + demos: $(DEMOS) > + > +@@ -287,33 +287,27 @@ > + #------------------------------------------------------------------------ > + > + firework.exe: firework.o $(LIBCURSES) > +- $(LINK) $(LDFLAGS) -o firework fisetcbrk(setting); > + # else > +--- pdcurses/kernel.c.ori 2002-11-27 03:24:32.000000000 -0800 > ++++ pdcurses/kernel.c 2003-12-13 21:22:38.000000000 -0800 > +@@ -27,6 +27,10 @@ > + #include <memory.h> > + #endif > + > ++#ifdef HAVE_STRING_H > ++#include <string.h> > ++#endif ^^^^^^^^^^^^^^^^^^^ above > ++ > + #ifdef UNIX > + #include <defs.h> > + #include <term.h> > +--- pdcurses/pdcutil.c.ori 2001-01-10 00:27:22.000000000 -0800 > ++++ pdcurses/pdcutil.c 2003-12-13 21:24:58.000000000 -0800 > +@@ -49,7 +49,7 @@ > + # include <limits.h> > + #endif > + > +-#ifdef STDC_HEADERS > ++#if defined(STDC_HEADERS) || defined(HAVE_STRING_H) > + # include <string.h> > + #endif ^^^^^^^^^^^^^^^^^^ above > + > +--- pdcurses/pdcwin.c.ori 2002-05-25 17:13:32.000000000 -0800 > ++++ pdcurses/pdcwin.c 2003-12-13 21:26:02.000000000 -0800 > +@@ -27,6 +27,10 @@ > + # include <memory.h> > + #endif > + > ++#ifdef HAVE_STRING_H > ++#include <string.h> > ++#endif ^^^^^^^^^^^^^^^^^^^^^ above > ++ > + #ifndef HAVE_MEMMOVE > + # define memmove PDC_memmove > + #endif > If you wish to compile with SSL enabled, you need to get and > - compile openssl. The DJGPP port has been successfully compiled with > - openssl-0.9.6b. After obtaining the source file, unpack it with > - DJTARX, then apply the patch for DOS before compiling. This will > - create a file "install.djgpp" which gives further details. The patch > - can be obtained from the openssl-dev archives at: > - > "http://www.mail-archive.com/[EMAIL PROTECTED]/msg09104/096b.pch.gz" > - > - In order for lynx to be able to break out of a stuck nameserver > - lookup or connection attempt, you should compile with -DIGNORE_CTRL_C > - and apply the following patch to WATT-32. > - > - --- watt32-2.1dev.rel.5/src/pc_cbrk.c.ori Mon Jun 19 16:08:06 2000 > - +++ watt32-2.1dev.rel.5/src/pc_cbrk.c Sun Nov 18 11:18:50 2001 > - @@ -74,6 +74,11 @@ > - longjmp (sig_jmp, 1); > - } > - > - +void sig_handler_watt (int sig) > - +{ > - + sig_handler (sig); > - +} > - + > - /* > - * want_brk = 0: no ^Break checking > - * want_brk = 1: normal ^Break checks > + compile OpenSSL. The DJGPP port has been successfully compiled with > + the 0.9.7 stable series of OpenSSL. DJGPP can compile OpenSSL from > + the standard source distribution (http://www.openssl.org/). See the file > "INSTALL.DJGPP" in > + the OpenSSL distribution. > + > If you have trouble applying the patches, try using the "patch" program, > - ("ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/pat253b.zip"). > + ("http://www.delorie.com/pub/djgpp/current/v2gnu/pat253b.zip"). > To read the Unix man style documentation, use, for example, "less" > - ("ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/lss358b.zip"). > - Compile or place your compiled PDCurses library in /djgpp/pdcur24, and > + ("http://www.delorie.com/pub/djgpp/current/v2gnu/lss374b.zip"). > + Compile or place your compiled PDCurses library in /djgpp/pdcur26, and Why not to put PDCurses lib & include files in DJGPP/lib & DJGPP/include like we do with SLANG? Also, I do not understand what do you mean by the absolute path /djgpp/pdcur26 on a DOS platform, shouldn't it be prefixed by a drive letter? Or you mean a relative path - relative to what? > compile or place your compiled WATT-32 library in /djgpp/watt32. If > using the SLANG library, put libslang.a in your DJGPP/lib directory and > put > slang.h and slcurses.h in your DJGPP/include directory, or in the > @@ -946,14 +1034,15 @@ > "slip8250 0x60 6 3 0x2F8" so that it uses COM2 and IRQ 3, in order to > avoid an IRQ conflict with a mouse or some other device. Another packet > driver is slipper.exe, which is available from many sites, including > - "ftp://jazz.trumpet.com.au/slipper". To remove it from memory use > + "ftp://ftp.trumpet.com.au/slipper". To remove it from memory use > termin.com (usage "termin 0x60"), available in the CRYNWR package. To > connect over a dialup PPP connection you need dosppp or klos' pppshare. > (Find at: > - "http://mvmpc9.ciw.uni-karlsruhe.de/c:/user/toni/dosppp/dosppp06.zip", > - "http://personal.redestb.es/tonilop/dosppp/dosppp06.zip", or > + > "http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/net/dosppp/dosppp06.zip" > + "http://www.ncf.carleton.ca/ncf/pda/computer/dos/net/dosppp06.zip" > + > "http://mvmpc200.ciw.uni-karlsruhe.de/~mvmpc9/user/TONI/dosppp/dosppp06.zip" > "ftp://ftp.oldskool.org/pub/tvdog/internet/dosppp06.zip"; > - "http://www.klos.com/get.pppshare.html") > + "ftp://ftp.klos.com/pub/demo/pppshare.exe") > File access looks like this: > @@ -999,8 +1088,8 @@ > instead of the SLANG keyhandler unless you define "NO_DJ_KEYHANDLER". > #!/bin/sh > - CFLAGS="-O2 -DIGNORE_CTRL_C -I/djgpp/pdcur24 -I/djgpp/watt32/inc" \ > - LIBS="-L/djgpp/pdcur24/lib -L/djgpp/watt32/lib -liconv" \ > + CFLAGS="-O2 -I/djgpp/pdcur26 -I/djgpp/watt32/inc" \ > + LIBS="-L/djgpp/pdcur26/lib -L/djgpp/watt32/lib -liconv" \ ^^^^^^^^^^ ^^^^^^^^^^ absolute path on DOS? > ./configure --prefix=d:/djgpp/lynx-rel/lynx-cnf \ > --with-screen=curses \ > --disable-full-paths \ > @@ -1008,22 +1097,23 @@ > --enable-change-exec \ > --enable-cgi-links \ > --enable-charset-choice \ > - --enable-default-colors \ > + --enable-color-style \ ^^^^^^^^^^^^^^^^^^^^ A silly change! Require a comment at least. > --enable-exec-links \ > --enable-externs \ > --enable-file-upload \ > + --enable-nested-tables \ > --enable-nls \ > --enable-prettysrc \ > --enable-read-eta \ > --enable-source-cache \ enable-source-cache and enable-prettysrc now assumed by default > - --enable-nested-tables \ > --libdir=d:/djgpp/lynx-rel/lynx-cnf \ > + --with-bzlib \ > --with-zlib \ > --with-ssl > -- 1997/9/29 - D. Kaufman <[EMAIL PROTECTED]> > -- 1997/10/3 - B. Schiavo <[EMAIL PROTECTED]> > --- Last update - 2001/12/19 > +-- Last update - 2004/01/19 > VI. General installation instructions > @@ -1083,10 +1173,15 @@ > TEMP or TMP Bookmarks are kept here with no HOME. Temp files here. > USER Set to your login name (optional) > LYNX_CFG Set to the full path and filename for lynx.cfg > + LYNX_LSS Set to the full path and filename for lynx.lss > LYNX_SAVE_SPACE The (modifiable) location for downloaded file storage. > + SSL_CERT_FILE Set to the full path and filename for your file of trusted > + certificates > 386 version only: > WATTCP.CFG Set to the full path for the WATTCP.CFG directory > + RL_CLCOPY_CMD Command to copy a URL to a "clipboard" file > + RL_PASTE_CMD Command to go to a URL in your "clipboard" file > Define these in your batch file for running Lynx. For example, if your > application line is "D:\win32\lynx.bat", lynx.bat for Win32 may look > like: > --- src/makefile.dos.ori 2004-01-07 18:03:08.000000000 -0800 > +++ src/makefile.dos 2004-01-19 21:23:56.000000000 -0800 > @@ -53,13 +53,13 @@ > $(SSLINC) \ > -I./chrtrans \ > -I../WWW/Library/Implementation \ > - -I/djgpp/pdcur24 \ > + -I/djgpp/pdcur26 \ > -I/djgpp/watt32/inc \ > -I/djgpp/watt32/inc/sys ^^^^^^^^^^^^^^^^^^^^^^ this include directory is not required for the build, applies for all dos makefiles scattered around lynx sources. Absolute path without a drive letted, again. > WWWLIB = \ > ../WWW/Library/djgpp/libwww.a \ > - /djgpp/pdcur24/lib/pdcurses.a > + /djgpp/pdcur26/lib/pdcurses.a > LIBS= -L/djgpp/watt32/lib -lwatt -lz -lwmemu > -- > Doug Kaufman > Internet: [EMAIL PROTECTED] > ; To UNSUBSCRIBE: Send "unsubscribe lynx-dev" to [EMAIL PROTECTED] ; To UNSUBSCRIBE: Send "unsubscribe lynx-dev" to [EMAIL PROTECTED]
