[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Lynx-dev] lynx2.8.7dev.12; compiling for mingw and DJGPP [PATCH]
From: |
Doug Kaufman |
Subject: |
[Lynx-dev] lynx2.8.7dev.12; compiling for mingw and DJGPP [PATCH] |
Date: |
Sun, 4 Jan 2009 02:54:29 -0800 (PST) |
It has been a while since I have had the time to compile lynx, and I
see that problems for both mingw and DJGPP platforms have crept in.
The attached patch shows the changes I made to allow compilation. I
have also attached the shell scripts I used for configuring, in case
configuration options affected the results. Note that I did not build
for mingw with a native MSYS system, but rather compiled under Cygwin
with -mnocygwin. Some of the patch is to counter inappropriate
configure results due to picking up Cygwin capabilities not in Mingw.
I built both with the latest Openssl 0.9.9 snapshots, but didn't
upgrade everything on my system. Cygwin compile was with gcc 3.4.4 and
DJGPP with gcc 3.3.2. Gettext/libintl version 0.15 with Mingw and 0.17
with DJGPP. Both used PDCurses in the 3.0 series, compiled from cvs
September 2006. DJGPP uses pkg-config, while mingw does not. I used
autoconf 2.61 for DJGPP and 2.59 for mingw, both compiled with Tom's
patch modified for those versions.
The main changes were in aclocal.m4, to account for the DOS path
separator and for maintaining the order of includes. Several pieces of
code, after finding new includes, PREPEND them to the list of includes
rather than APPENDING them. This breaks compilation where the order
of includes is critical, and overrides the include order specified
in CPPFLAGS in the command line or environment. Some code also only
checked for files in specific directories, ignoring the -I and -L
directives specified on the configuration command line. I added some
dummy arguments to allow the command line arguments to be used.
Some of the changes may not be compatible with autoconf 2.13, but I am
not sure how to keep compatibility as the versions diverge. The 2.61
version of autoconf does not allow comments on the same line as the
defines, so I removed the comments. They could be moved to separate
lines and still be compatible with the different autoconf versions.
I see that one change I made was to remove a "-DHAVE_CONFIG_H"
from within aclocal.m4. I made the change a while ago and don't
remember what problem it fixed, but I am not sure I understand what
HAVE_CONFIG_H does, before lynx_cfg.h has been generated.
I totally failed in my efforts to modify CF_SSL version 16, so it
would pick up the openssl libraries in mingw (without pkg-config).
This worked fine in DJGPP with pkg-config. I had to substitute CF_SSL
version 12 in aclocal.m4 to get it to work with mingw. Specifying
--with-pkg-config=no didn't seem to make a difference. The files
specified by --with-ssl=path were still ignored.
I also included code to compile the lynx icon into the lynx binary for
mingw. This requires whoever is compiling to put their lynx.ico file
in the src directory. No icon is distributed with the standard lynx
source code. I think I finally got the right screen clearing code for
mingw also.
Tom, I hope you can include at least parts of these changes in the
main code. Let me know if or when there is modified code I can test on
these platforms.
Doug
--
Doug Kaufman
Internet: address@hidden
lynx12dos.pch
Description: Text document
lynx_mingw_conf.sh
Description: Bourne shell script
lynx_djgpp_config.sh
Description: Bourne shell script
- [Lynx-dev] lynx2.8.7dev.12; compiling for mingw and DJGPP [PATCH],
Doug Kaufman <=