X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: Rugxulo 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 Content-Type: text/plain; charset=ISO-8859-1 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? :-)