delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2009/07/10/02:31:27

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
From: Rugxulo <rugxulo AT gmail DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: ZILE 2.3.7 (very hard to build, needs weird hacks just to
compile)
Date: Thu, 9 Jul 2009 23:22:11 -0700 (PDT)
Organization: http://groups.google.com
Lines: 100
Message-ID: <a1463c1b-7d11-4296-8a5f-a8628c1ec152@k19g2000yqn.googlegroups.com>
References: <70ca0c3b-f777-47b2-80c8-ee6dccf249eb AT t21g2000yqi DOT googlegroups DOT com>
NNTP-Posting-Host: 65.13.115.246
Mime-Version: 1.0
X-Trace: posting.google.com 1247206931 23572 127.0.0.1 (10 Jul 2009 06:22:11 GMT)
X-Complaints-To: groups-abuse AT google DOT com
NNTP-Posting-Date: Fri, 10 Jul 2009 06:22:11 +0000 (UTC)
Complaints-To: groups-abuse AT google DOT com
Injection-Info: k19g2000yqn.googlegroups.com; posting-host=65.13.115.246;
posting-account=p5rsXQoAAAB8KPnVlgg9E_vlm2dvVhfO
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US)
AppleWebKit/530.5 (KHTML, like Gecko) Chrome/2.0.172.33 Safari/530.5,gzip(gfe),gzip(gfe)
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Hi,

On Jul 7, 10:36=A0pm, Rugxulo <rugx DOT  DOT  DOT  AT gmail DOT com> wrote:
>
> I recently stumbled across the ZILE 2.3.7 text editor sources ("ZILE
> Is Lossy Emacs").  [GPLv3, uses parts of Gnulib]
>
> http://www.gnu.org/software/zile/

Well, 2.3.9 was just released. ZILE seems updated often these days.
The latest claims some fixes, but be warned:  it seems find-alternate-
file (C-x C-v) is still buggy. Otherwise, it compiles with only a few
changes for me (DJGPP 2.04), see below. I actually also got 2.03p2 to
build with a few hacks (no fchown() and lacking EINVAL or similar I
think), but I'd have to dig in again to make a true list of changes.

Bash 2.04 seemed to not work well on Vista (various errors, even a
crash on some shell script, install-sh perhaps??), so I used 2.05
beta, which works much better. Also needs FileUtils, ShellUtils,
TextUtils, Gawk, Sed, Grep, Make, and PDcurses. (Not sure what else
would help here.) Oh, and the weird thing is that there's some error
that only appears in a minimal install (not my typical full install)
re: __rdtsc being defined multiple times. The changes below removing
mentions of time.h apparently fix that, but I have no idea why or what
exactly is causing it (will have to investigate later), feel free to
offer suggestions.

P.S. help2man (which needs Perl) isn't truly required, and the man
page is only like 2 kb anyways, so it's not worth it. You don't
technically need Lua either. But be sure to not do "make clean" else
it will delete tbl_funcs.h, which I don't think you intended to do
(not regenerated without Lua available, I think). Also see
dotzile.sample for some tips (I personally find ring-bell annoying).

-------------- ZILE.BAT -----------------
@echo off
echo.
echo DJGPP 2.04 only!! (for now)
echo (needs -std=3Dc99 so use a recent GCC, e.g. 3.2.3, preferably
newer)
echo.
echo http://www.gnu.org/software/zile/
echo.

REM set F1=3Dz:\edit\zile-2.3.9.tar.gz
for %%a in (z:\edit\zile*.gz) do set F1=3D%%a
if not exist %F1% goto end

djtar -x %F1%
cd zile*
sed -i -e "/-lcurses/s//-lpdcurses/" -e "/mp_cv_curses=3Dno/s/=3Dno/=3Dyes/=
"
-e "\,\\\\r,s,\\\\,\\," configure
sh -c "./configure --disable-dependency-tracking CFLAGS=3D'-s -Os'"
sed -i "\,libgen\.h,s,^,//," src\completion.c
sed -i "\,SIGTSTP,s,^,//," src\funcs.c
sed -i "\,SIGBUS,s,^,//," src\main.c
sed -i "\,# *include.*time\.h,s,^,//," lib\wctype.in.h
sed -i "\,# *include.*time\.h,s,^,//," lib\wchar.in.h
sh -c "make"
upx --best --lzma --all-filters -qq src\zile.exe

:end
set F1=3D
-----------------------------------------------

1). Basically ./configure only checks for -lcurses or -lncurses , but
since I was using pdcurses, I had to change it. Even copying
libpdcurses.a to libcurses.a didn't help, hence the forcing it to say
yes no matter what (since I know I have it installed). This is
probably the wrong solution, but I don't know a proper way.

2). I believe the '\\\\r' is wrong and is turning out as literally
"\r" instead of '\r' (CR byte). This affects the Gawk script used by
config.status that creates the various Makefiles. If this isn't
changed, it won't create them.

3). --disable-dependency-tracking is because I don't need it, and it
complicates and slows down everything anyways.

4). libgen.h is still erroneously included despite ./configure
checking and determining that it doesn't exist !!

5). SIGTSTP (used for suspend via Ctrl-Z) and SIGBUS aren't supported
in DJGPP.

6). Removing the references to time.h seem to avoid the duplicate use
of __rdtsc (no idea why it's used at all or where it's generated
from).

This looks a lot simpler than it actually is. It's actually quite a
pain, so I hope posting this will be helpful to someone. GNU Emacs is
obviously preferred over this, but Zile is better if you want a true
multi-windowed Emacs clone w/ big RAM support (2 GB or more) for a
floppy uncompressed. (If you want syntax highlighting, use JED, but
I'm not sure that would fit on a floppy except via 7-Zip.) With DJGPP
2.04 using GCC 4.4.0 -Os and UPX 3.03, it comes down to 149k (with
default 2k stub).

Enjoy?   :-)

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019