delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2009/10/20/14:00:16

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: getopt_long missing (or "More esoteric language fun: EsCo")
Date: Tue, 20 Oct 2009 10:46:03 -0700 (PDT)
Organization: http://groups.google.com
Lines: 42
Message-ID: <70015ce7-3ab3-4e2e-8784-3e83f2ef3650@d4g2000vbm.googlegroups.com>
NNTP-Posting-Host: 65.13.115.246
Mime-Version: 1.0
X-Trace: posting.google.com 1256060763 20985 127.0.0.1 (20 Oct 2009 17:46:03 GMT)
X-Complaints-To: groups-abuse AT google DOT com
NNTP-Posting-Date: Tue, 20 Oct 2009 17:46:03 +0000 (UTC)
Complaints-To: groups-abuse AT google DOT com
Injection-Info: d4g2000vbm.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 5.1; en-US; rv:1.9.1.3)
Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729),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

As part of my endless quest for more esoteric language files to play
with, I found EsCo ("Esoteric Combine") on Sourceforge. It supports
quite a few languages besides my favorite Befunge93 (Whitespace,
Brainf***, Spoon, Ook!, Byter, HQ9+). And it's written in C++ (using
GMP), so DJGPP support is possible!

http://esco.sf.net

Anyways, a few weeks ago I barely got it to mostly compile for 0.51
(dated Dec. 2008), but it had issues (cstdio needed, getopt* for
getopt_long not compiling at all), so I contacted the author. He
replied, said he fixed a few things for latest GCCs, added -q upon
request, and pointed me to the GIT repo. Today I finally took a look
at rebuilding it (finally worked around Internet issues I encountered
this past week). And I noticed that 0.511 is available on Sourceforge
(dated Oct. 2), so I switched to that.

Various minor issues crop up:    same ol' silly Autoconf 2.63 typo, G+
+ lacking some backwards-compatible headers (so I switched back to
4.2.3), srcs no longer include getopt_long (although 0.51's didn't
work anyways) so I had to grab it from GNU BinUtils (and make two tiny
tweaks), and it basically works (although had to manually compile
getopt* and add them to makefile).

I even wrote up a silly .CMD (using "wget" for the external files,
lines are longer than 126 bytes). It seems to work, but I only really
vaguely tested Befunge (although numwarp.b also seems to work for
Brainf***, so that's good). I'm not posting the .CMD here since I'm
fairly certain nobody cares (but feel free to ask).

Basically, I'm wondering why getopt_long (apparently a GNU extension)
isn't available in libsupp or even DJGPP's lib. I understand you
probably don't want to contaminate the *BSD-ish license of the lib,
but it seems like something that should be put somewhere. Maybe it's
the EsCo dude's responsibility, who knows, but I felt it was important
enough to mention. (Plus, like I said, it won't build by default
unless you remove two instances ATTRIBUTE_UNUSED and comment out the
include of ansidecl.h, whatever that is). One old post said popt is
superior, but I'm not familiar with that (although Richard Dawe ported
it a while back).

Any thoughts?   :-)

- Raw text -


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