[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Lynx-dev] lynx2.8.7dev.13 - Patch and unsolved problems

From: Doug Kaufman
Subject: [Lynx-dev] lynx2.8.7dev.13 - Patch and unsolved problems
Date: Wed, 4 Feb 2009 23:18:22 -0800 (PST)

Attached is a patch for some of the problems I encountered compiling
lynx2.8.7dev.13 on DOS (DJGPP) and MINGW (via cygwin). Let me first
explain the changes, then go into the unsolved problems.

config.hin: I had previously made the (erroneous) claim that mingw did
not have gettimeofday. What was happening was that gettimeofday was not
getting prototyped because, although had AC_HEADER_TIME and
AC_CHECK_HEADERS(sys/time.h), neither of the results were saved because
of missing lines in config.hin. This puts in the lines for
HAVE_SYS_TIME_H and TIME_WITH_SYS_TIME. I haven't run autoheader yet to
see if other lines are missing. Added check to be sure that LN_S is "cp -p" for mingw,
since configure picks up symbolic links from cygwin which don't work for
mingw. The code for automating the lynx icon can be ignored if not

src/LYCurses.c: The screen clearing code for DJGPP and mingw was not
working. The DJGPP code had been ifdef'd for "not PDCURSES", so wasn't
being picked up. The MINGW code was not being picked up since it was in
a section ifdef'd for "not _WIN_CC". Althoug gcc doesn't output
-D_WIN_CC, the file defines _WIN_CC for MINGW. I moved the
MINGW code out of that section and put in screen clearing code which
seems to work. I am not sure I understand which platforms would use
"clrscr()", so I can't be sure I left that in the right place.

src/LYIcon.rc: a new file for compiling the lynx icon into the
executable for MINGW. This can be ignored if not desired.

src/LYMain.c: I was getting warnings that gettext was not prototyped.
This occurred because gnu libintl.h defines gettext as a macro.
libintl.h also includes locale.h. The code in LYMain.c was undefining
gettext, then not redefining it (since HAVE_GETTEXT is defined). This
appears to be some type of workaround, possibly for Solaris. I added the
"&& !defined(HAVE_LIBINTL_H)", but I am not sure that is the correct
fix, since I wasn't sure what that part of the code was really trying to

src/ Code for automating inclusion of the lynx icon into the
executable. Can be ignored if desired.

WWW/Library/Implementation/www_tcp.h: There is a definition of
"set_timeout" in WATT-32's tcp.h which causes a conflict, preventing the
DJGPP compilation. This just undefines it right after tcp.h is included.

Now for the problems I couldn't solve. The previous patch I had sent for
CF_FIND_LINKAGE actually only covered up the real problem. In MINGW, the
code to find libintl is giving erroneous results. In the current code,
it still compiles OK with the script I am using, but it finds libintl.a
in "/mingw/include". That directory contains only include files. The
library is really in "/mingw/lib". So the configure script makes
INTLLIB "-L/mingw/include -lintl", which is wrong, but it works because
"-L/mingw/lib" is already there from my configure script. In dev.12,
the problem was worse and broke the build with INTLLIB equal to
"-L/mingw/include 623311INTLLIBS". I couldn't figure out how the
configure code was getting these erroneous results.

The other problem has to do with installation and user intent. When I
specified the NLS_DATADIR by using "--nls-datadir=..." when invoking
configure, I assumed that this would override the directory where the
.mo files would be installed, but that only works for non-gnu NLS. The
"gnulocaledir" is fixed and ignores the nls-datadir directive. I had to
edit po/makefile.inn by hand to get the directory I wanted. I didn't see
a simple fix which would still lead to the correct default directories
if nls-datadir isn't specified.

I will also atach the scripts I used to compile for mingw and DJGPP, in
case they are needed to reproduce the problems. Both platforms were
compiled with NLS and OpenSSL.


Doug Kaufman
Internet: address@hidden

Attachment: lynx13.pch
Description: Text document

Description: Bourne shell script

Description: Bourne shell script

reply via email to

[Prev in Thread] Current Thread [Next in Thread]