X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: Rugxulo 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: References: <70ca0c3b-f777-47b2-80c8-ee6dccf249eb AT t21g2000yqi DOT googlegroups DOT com> NNTP-Posting-Host: 65.13.115.246 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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 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? :-)