h2paspp(1)
π h2paspp π
okay so bestie, welcome to h2paspp(1) β the Free Pascal h2pas preprocessor program. yes it's a whole vibe, and yes you're gonna understand it. no cap. π¦
β¨ SYNOPSIS β¨
h2paspp [-doih] file1 ... filen
πΈ DESCRIPTION πΈ
so here's the tea: h2paspp reads one or more C header files and preprocesses them, writing the result to files with the same name as the originals as it goes along. it's giving "glow up your headers". π
now, it does not accept all preprocesser tokens of C β she's selective, she has standards β but she does take care of the following preprocessor directives:
#define symbolβ defines the new symbol symbol. note that macros are not supported. periodt, no macro energy here. π#if symbolβ the text following this directive is included if symbol is defined.#ifdef symbolβ the text following this directive is included if symbol is defined.#ifndef symbolβ the text following this directive is included if symbol is not defined.#include filenameβ include directives are removed, unless the-Ioption was given, in which case the include file is included and written to the output file. lowkey iconic behaviour.#undef symbolβ the symbol symbol is undefined.
π USAGE π
h2paspp accepts one or more filenames and preprocesses them. it will read the input, and write output to a file with the same name unless the -o option is given, in which case the file is written to the specified file. π
β οΈ note that only one output filename can be given. one. single. file. don't be greedy bestie.
π OPTIONS π
h2paspp has a small number of options to control its behaviour β tiny but mighty, honestly:
-dsymbolβ define the symbol symbol before processing is started. get her ready beforehand β¨-hβ emit a small helptext. it's literally just a lil help, and we love that for us π«Ά-ooutfileβ if this option is given, the output will be written to a file named outfile. note that only one output file can be given. (yes, we're saying it twice. it's important. iykyk.) π₯
π SEE ALSO π
and that's the whole page, bestie π this was Free Pascal, dated 12 November 2004 β yeah she's vintage, she's a classic, main character energy since 2004, and she still slays. go preprocess something. mwah ππΈ
π¦ where this page comes from
- arch rolling: fpc 3.2.2-11 Β· GPL AND LGPL AND custom
- epel 10: fpc 3.2.2-20.el10_1 Β· GPL-2.0-or-later AND LGPL-2.1-or-later WITH Independent-modules-exception
- epel 9: fpc 3.2.2-10.el9 Β· GPLv2+ and LGPLv2+ with exceptions
- fedora 43: fpc 3.2.2-20.fc43 Β· GPL-2.0-or-later AND LGPL-2.1-or-later WITH Independent-modules-exception
- fedora 43: fpc 3.2.2-20.fc43 Β· GPL-2.0-or-later AND LGPL-2.1-or-later WITH Independent-modules-exception
- fedora 44: fpc 3.2.4~rc1-3.fc44 Β· GPL-2.0-or-later AND LGPL-2.1-or-later WITH Independent-modules-exception
- fedora 44: fpc 3.2.4~rc1-3.fc44 Β· GPL-2.0-or-later AND LGPL-2.1-or-later WITH Independent-modules-exception
- nixos 26.05: fpc 3.2.2
- nixos 26.05: lazarus-gtk2 4.4-0
- nixos 26.05: lazarus-qt5 4.4-0
- nixos 26.05: lazarus-qt6 4.4-0
- nixpkgs unstable: fpc 3.2.2
- nixpkgs unstable: lazarus-cocoa 4.8-0
- nixpkgs unstable: lazarus-gtk3 4.8-0
- nixpkgs unstable: lazarus-qt5 4.8-0
- nixpkgs unstable: lazarus-qt6 4.8-0
- opensuse-leap 16.0: fpc 3.2.2-bp160.1.35 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: fpc 3.2.2-bp160.1.35 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: fpc 3.2.2-bp160.1.35 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms