ecppc(1)

πŸ“¦
version 3.0 Β· 2 versions
  • 3.0 Β· debian trixie, fedora 43, fedora 44, nixos 26.05, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 2.2.1 Β· ubuntu jammy
, in debian trixie, fedora 43, fedora 44, nixos 26.05, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– ecppc(1) β€” the compiler for ecpp(7) πŸ’–

okay bestie, welcome to the ecppc manual page, straight out of the Tntnet users guide ✨


✨ NAME ✨

ecppc β€” compiler for ecpp(7) πŸ¦‹


✨ SYNOPSIS ✨

ecppc [-bhszvtM] [-s-] [-o filename]  [-n name] [-m mimetype]
[--mimetypes filename] [-I dir] [-l log-category] filename

ecppc -bb filename ...

ecppc [OPTION]

✨ DESCRIPTION ✨

So, ecppc is literally the compiler for the ecpp-language, no cap. And what is ecpp? It's a template language that lets you embed C++-code right into HTML so you can use it in tntnet(8) πŸ’…. ecppc generates a C++-class from an ecpp template, periodt.

It can also compile binary data into a C++-class, which makes it possible to integrate them in a tntnet application. iconic behavior honestly πŸ‘‘


✨ OPTIONS ✨

  • -b β€” turns on binary-mode πŸ“. ecppc does not go looking for ecpp-tags here; instead it creates a class, which just copies the data. simple, clean, slay.
  • -bb β€” turns on multi-binary-mode 🌈. So here's the tea: every binary-file has some overhead, when packed into a tntnet-application. And this overhead can be quite significant, when binary-files are small, like small icons in a web application 😭. To reduce this overhead, multiple binaries can be packed into a single class, which removes the per-binary overhead completely. obsessed.

When the component is called, it uses the path-info-parameter (request.getPathInfo()) from the request, to decide, which binary to send. If no filename matches the path-info, processing is declined. The binaries need not be of same mime-type, since the mime-type is looked automatically from the mime-database by file-extension of the source-file πŸ’«

  • -i filename β€” in multi binary mode (option -bb) filenames can be read from the file specified with this option. This can be useful when the command line gets too long or just for convenience πŸŽ€
  • -I dir β€” search include-files in directory. This option can be passed multiple times. All specified directories are searched in turn for include-files πŸ”
  • -l log-category β€” set log category. Default is component.componentname.
  • -L β€” disable generation of #line-directives πŸ™ˆ
  • -m mimetype β€” set mimetype of output. This is the mimetype, sent by the component to the browser in the Content-Type- header. Without this parameter the mimetype is looked up from the mime-database of your system using the file-extension of the source-file πŸ¦‹
  • --mimetypes file β€” read mimetypes from file (default: /etc/mime.types).
  • -M β€” this disables normal processing and prints just the ecpp-dependencies from this component. The output can be included into a Makefile. Ecpp-dependencies are introduces by the <%include>-tag 🧚
  • -C, --cmake β€” prints ecpp dependencies in a syntax, which cmake understands πŸ’œ
  • -n name β€” set the name of the component. Normally this is derived from the source-file-name by removing the path and .ecpp-extension.
  • -o filename β€” write the generated file to the specified file instead of deriving the filename from the source-file-name. The outputfilename is normally the source-file where the extension is replaced by .cpp.
  • -p β€” keep path name when deriving name of component from input file name 🌸
  • -s β€” generate singleton. Normally ecppc decides automatically, if the template is suitable for a singleton. This option force ecppc to generate a singleton ⭐
  • -s- β€” do not generate a singleton πŸ’€
  • -v β€” enable verbose mode. This prints additional information about the processing on the standard-output πŸ“’
  • -z β€” compress the data in the component. Compressed data is automatically decopressed on first use. This reduces the code-size, but slightly slows down the first call of the component 🫢
  • -h, --help β€” display this information πŸ’–
  • -V, --version β€” display program version ✨

✨ AUTHOR ✨

This manual page was written by Tommi MΓ€kitalo ⟨tommi@tntnet.org⟩ πŸ’Œ


✨ SEE ALSO ✨

tntnet(8), ecpp(7) πŸ‘‘


and that's the whole page bestie, go compile something iconic πŸ’…βœ¨

okay so the very last lil sign-off: this came from Tntnet, dated 2006-07-23, and yeah the manual is ecppc(1) πŸŽ€ bye ily 🫢

πŸ“¦ where this page comes from