ELLCC(1)

πŸ’… ELLCC(1) β€” the gen z bestie edition

okay so welcome to the General Commands Manual entry for ellcc, bestie. she's the girl who compiles your Emacs dynamic modules and she does NOT play. pull up a chair, grab a boba, we're doing this. πŸ§‹βœ¨


🌸 NAME 🌸

ellcc β€” the program that compiles an emacs dynamic module. periodt. πŸ’–


✨ SYNOPSIS ✨

ellcc [--mode={compile,link,init,verbose}] [--mod-name=NAME] [--mod-
title=TITLE] [--mod-version=VERSION] [Any compiler command line args]

like. she takes options AND she takes your whole compiler command line. versatile queen. πŸ‘‘


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so this manual page documents ellcc, the command, briefly. and it exists specifically because the Debian GNU/Linux distribution needed one β€” the original program simply does not ship a manual page, so this one was written for Debian. no cap. 😭

and like, the following is taken directly from the comments in the source, so blame the source, not me. πŸ’€

here's the scoop. they would really like this to be a shell script. like genuinely. but the various Windows platforms don't have reliable scripting that suits their needs, and they didn't want to depend on perl or some other such language, so they had to roll their own executable to act as a front-end for the compiler. iconic workaround behavior honestly. πŸŽ€

so this program is used to invoke the compiler, the linker, and to generate the module specific documentation and initialization code. we assume we are in compile mode unless we encounter an argument which tells us that we're not. she's lowkey assuming your vibe until you say otherwise. πŸ™ˆ

we take all arguments and pass them on directly to the compiler, except for a few which are specific to this program (those are the options down below, bestie, don't worry, we get to them).

the idea is that Makefiles will use ellcc as the compiler for making dynamic Emacs modules, and life should be as simple as:

make CC=ellcc LD='ellcc --mode=link'

the only additional requirement is an entry in the Makefile to produce the module initialization file, which will usually be something along the lines of... (see the EXAMPLE section, it's giving main character energy ⭐).


πŸ’– OPTIONS πŸ’–

  • --mode=VALUE β€” sets the program mode. VALUE can be one of compile, link, init or verbose. pick your fighter. 🌈
  • --mod-name=NAME β€” sets the module name to the string NAME. 🏷️
  • --mod-title=TITLE β€” sets the module title to the string TITLE. πŸ’Œ
  • --mod-version=VERSION β€” sets the module version to the string VER. (yes the description says VER, we're keeping it, the source said what the source said. πŸ’€)

πŸ“ EXAMPLE πŸ“

modinit.c: $(SRCS)
             ellcc --mode=init --mod-name=
               --mod-title=
               -o $@ $(SRCS)
see the samples for more details. 🫢

πŸ‘‘ AUTHOR πŸ‘‘

this manual page was written by James LewisMoss <dres@debian.org>, for the Debian GNU/Linux system (but may be used by others). shoutout to the author, we love a documentation girlie. πŸŽ€


and that's the whole page bestie!! 🌟 this was ELLCC(1), manual name right there in the header, and down at the bottom of the original there's just ELLCC(1) again in the footer β€” no version number, no date, just the name sitting there serving absolutely nothing but vibes. iykyk. πŸ’œ stay compiling, stay slaying, fr fr. πŸ’…βœ¨πŸ¦‹πŸŒΈπŸŽ€