Path: csiph.com!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.lang.c Subject: Re: New and improved version of cdecl Date: Fri, 24 Oct 2025 13:07:45 -0700 Organization: None to speak of Lines: 57 Message-ID: <87ldl012su.fsf@example.invalid> References: <87bjlyobts.fsf@example.invalid> <10dbvqs$12d0f$1@dont-email.me> <10dd0fj$1jbcv$1@dont-email.me> <87jz0l2pal.fsf@example.invalid> <10dei5s$28h93$1@dont-email.me> <8734792h4y.fsf@example.invalid> <10dfusd$2k0q4$1@dont-email.me> <10dgdc7$2of3m$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Fri, 24 Oct 2025 20:07:46 +0000 (UTC) Injection-Info: dont-email.me; posting-host="69089273d8ad8cb61d3f6cd6f642af28"; logging-data="2996088"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+odY3o7F5vKTzGxqQRB+RC" User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:A0dLpIbhA5QmedntPnLGyrRZ1as= sha1:vAH4yCmhf1275kWXpTkYuXOEaRs= Xref: csiph.com comp.lang.c:394717 David Brown writes: > On 24/10/2025 15:27, bart wrote: [...] >> Well I built cdecl too, under WSL. Jesus, that looked a lot of work! > > I have no experience with WSL, so I can't comment on the effort > there. For my own use on a Linux system, I had to install a package > (apt-get install libreadline-dev), but that's neither difficult to do, > or time-consuming, and it was not hard to see what was needed. Of > course, a non-programmer might not have realised that was needed, but > if you are stumped on a configure script error "readline.h header not > found, use --without-readline" and can't figure out how to get > "readline.h" or configure the program to avoid using it, and can't at > least google for help, then you are probably not the target audience > for cdecl. WSL, "Windows Subsystem for Linux" (which should probably have been called "Linux Subsystem for Windows") provides something that looks just like a direct Linux desktop system. It supports several different Linux-based distributions. I use Ubuntu, and the build procedure under WSL is exactly the same as under Ubuntu. >> However, it took me a while to find where it put the executable, as >> the make process doesn't directly tell you that. It seems it puts it >> inside the src directory, which is unusual. It further appears that >> you have to do 'make install' to be able to run it without a path. > > I agree that putting the executable in "src" is a little odd. But > running "make install" is hardly unusual - it is as standard as it > gets. (And of course there are a dozen other different ways you can > arrange to run the programs without a path if you don't like "make > install".) Putting the executable in src is very common for this kind of package. I generally don't notice, since I always run "make install", which knows where to find the executable and where to copy it. [...] >> That program is 2.8 MB (10 times the size of my C compiler). > > First, as usual, nobody cares about a couple of megabytes. Secondly, > if you /do/ care, then you might do at least a /tiny/ bit of > investigation. First, run "strip" on it to remove debugging symbols > - now it is a bit over 600 KB. By running "strings" on it, I can see > that about 100 KB is strings - messages, rules, types, keywords, etc. It's easier than that. The Makefile provides an "install-strip" option that does the installation and strips the executable. A lot of packages like this support "make install-strip". For those that don't, just run "strip" manually after installation. [...] -- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com void Void(void) { Void(); } /* The recursive call of the void */