[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
lynx-dev Building the latest devel release of lynx on OS/2
From: |
Ilya Zakharevich |
Subject: |
lynx-dev Building the latest devel release of lynx on OS/2 |
Date: |
Wed, 18 Nov 1998 03:26:12 -0500 (EST) |
Short summary: To build on OS/2 is possible, not deadly hard, but
hard, and there are many bugs (some patches included). I'm not on
lynx-dev mailing list, so try to include me if you reply.
(I did not try to build with configure-as-shipped, but applied my
fixer to obvious problems in autoconf-generate scripts. Get one from
ftp://ftp.math.ohio-state.edu/pub/users/ilya/os2/convert_configure.pl
)
Successfully compiled (without gettext) with
configure.cmd --with-screen=ncurses --enable-persistent-cookies=yes \
--enable-color-style=yes --enable-default-colors=yes \
--enable-gzip-help=yes --enable-externs=yes --enable-gzip-help=yes \
--prefix=f:/emx.add |& tee 00c5
(Edit ./Makefile to comment 'cd po' command, and set INSTALL_* to cp)
make CC=gcc HOSTCC=gcc
make install
make install-help
(Fails due to 'mkdir f:', but next time succeeds):
make install-help
Extended comments:
a) Makefile in ./po assumes that ':' is a directory separator;
=========================================================
b) Makefile in ./po assumes that msgfmt is present
(Possible solution: in the main Makefile disable descending
into ./po if msgfmt not present);
=========================================================
c) A lot of options in configure --help list unreadable defaults, like
DirEd, partial-display etc.
It is a double negative problem? I cannot understand why
--disable-dired enable optional directory-editor, DirEd (default: on)
results in
checking if directory-editor code should be used... yes
Does it mean (default: enable)? Maybe
disable optional directory-editor, DirEd (default: enabled)
would be better.
=========================================================
d) --disable-extended-dtd (in --help) is not valid at all
=========================================================
e) I did not find it stated what are "the most user-friendly" options
to Configure.
I found the options stated above, do not know where this is good enough.
=========================================================
f) A lot of messages like
../cfg_defs.h:212: warning: unknown escape sequence `\U'
=========================================================
g) How to set SYSTEM_MAIL=sendmail (it is present on PATH)?
=========================================================
h) The patch below enables gunzip on system without hardlinks:
--- configure~ Tue Nov 17 06:20:42 1998
+++ configure Tue Nov 17 17:58:44 1998
@@ -4061,6 +4061,9 @@ else
test -z "$ac_cv_path_UNCOMPRESS" && ac_cv_path_UNCOMPRESS="$UNCOMPRESS"
;;
esac
+fi
+if test "$ac_cv_path_UNCOMPRESS" = gunzip -a "$GZIP" != "gzip"; then
+ ac_cv_path_UNCOMPRESS="$GZIP -d"
fi
UNCOMPRESS="$ac_cv_path_UNCOMPRESS"
if test -n "$UNCOMPRESS"; then
=========================================================
i) A non-portable construct is used (does not work with pdksh),
here is -x trace:
+ eval 'ac_maketemp="make"'
+ ac_maketemp="make"
configure.cmd: ac_maketemp="make": not found
=========================================================
j) HELP_FILE may be written to lynx.cfg without a slash, like
HELPFILE:file://localhostf:/emx.add/lib/lynx_help/lynx_help_main.html.gz
(note no / between localhost and f:).
=========================================================
h) Big compressed help files did not work. There must be better ways
to do this, but the following patches fixes things:
--- ./WWW/Library/Implementation/HTFile.c~ Tue Nov 10 14:47:38 1998
+++ ./WWW/Library/Implementation/HTFile.c Wed Nov 18 02:25:58 1998
@@ -2204,7 +2204,13 @@ PUBLIC int HTLoadFile ARGS4(
*/
#endif /* HAVE_READDIR */
{
+# ifdef __EMX__
+ int len = strlen(localname);
+ int bin = ((len > 3) && !strcasecomp(localname + len - 3, ".gz"));
+ FILE * fp = fopen(localname, (bin ? "rb" : "r"));
+# else /* !( defined __EMX__ ) */
FILE * fp = fopen(localname, "r");
+# endif
CTRACE (tfp, "HTLoadFile: Opening `%s' gives %p\n",
localname, (void*)fp);
=========================================================
k) In fact compressed files-support requires that the decompression
program contains backslashes in its name. Again, the solution
below may be not that universal, but it works, and allows lynx
coexist with non-Unixish shells:
--- ./src/LYUtils.c~ Mon Nov 16 17:59:26 1998
+++ ./src/LYUtils.c Wed Nov 18 02:56:38 1998
@@ -6039,6 +6039,7 @@ PUBLIC int LYSystem ARGS1(
char *, command)
{
int code;
+ int do_free = 0;
fflush(stdout);
fflush(stderr);
@@ -6051,6 +6052,29 @@ PUBLIC int LYSystem ARGS1(
#ifdef VMS
code = DCLsystem(command);
#else
+# ifdef __EMX__ /* XXXX Should be LY_CONVERT_SLASH? */
+ /* Configure writes commands which contain direct slashes.
+ Native command-(non)-shell will not tolerate this. */
+ {
+ char *space = command, *slash = command;
+ while (*space && *space != ' ' && *space != '\t')
+ space++;
+ while (slash < space && *slash != '/')
+ slash++;
+ if (slash != space) {
+ char *old = command;
+
+ command = NULL;
+ StrAllocCopy(command, old);
+ do_free = 1;
+ slash = (slash - old) + command - 1;
+ space = (space - old) + command;
+ while (++slash < space)
+ if (*slash == '/')
+ *slash = '\\';
+ }
+ }
+# endif
code = system(command);
#endif
@@ -6062,6 +6086,8 @@ PUBLIC int LYSystem ARGS1(
fflush(stdout);
fflush(stderr);
+ if (do_free)
+ FREE(command);
return code;
}
=========================================================
l) -use_mouse option works, but USE_MOUSE: TRUE directive in lynx config
file does not.
=========================================================
m) Mouse supports kinda works, but is very primitive. Mouse does not
work in popup-menus (for selection), I get a wrong behaviour if
there are two input fields on the same row, and cannot
mouse-navigate *inside* an input field.
Is it "works as it can", or a problem with EMX port?
Ilya
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- lynx-dev Building the latest devel release of lynx on OS/2,
Ilya Zakharevich <=