man(1)

πŸ“¦ version 1.6.3.p1, in fedora 43, fedora 44

πŸŽ€ 4glpc ✨ Aubit 4GL compiler πŸ’–

okay bestie, so this is the manual page for 4glpc, the Aubit 4GL compiler πŸ¦‹ and ngl it's giving wrapper energy. 4glpc doesn't do all the heavy lifting itself. It's basically the hype girl that calls in the other compilers: 4glc, gcc, and esql/c πŸ’…


🌸 NAME 🌸

4glpc β€” Aubit 4GL compiler 🧚


✨ SYNOPSIS ✨

4glpc sourcefile.type [...] [options] executablename.4ge
4glpc sourcefile.4gl -c -o objectname.o
4glpc sourcefile.4gl -o executablename.4ge

πŸ’œ DESCRIPTION πŸ’œ

okay so the vibe is this: 4glpc is really just a wrapper around the 4glc, gcc, and esql/c compilers πŸ‘‘. Every file you pass on the command line gets its type checked, and so does the output object type. Then the relevant compilers get called in stages to make your output happen. It's lowkey so clean 🫢

For example, bestie:

4glpc myprog.4gl -o myprog.4ge

πŸ“ OPTIONS πŸ“

  • -L β€” literally passed straight to the C compiler πŸ’… (tells it where libraries live πŸ“š)
  • -o β€” specify the output file 🎯
  • -c β€” compile only, no linking πŸ™…β€β™€οΈ
  • -e β€” just generate the .c file πŸ“
  • -I β€” passed directly to the C compiler too πŸ’– (tells it where include files can be found πŸ—‚οΈ)
  • -G, --globals β€” generate the globals map file πŸ—ΊοΈ
  • -S, --silent β€” no output other than errors 🀫
  • -V, --verbose β€” verbose output, with -V1 through -V5 for increasing levels of verbosity πŸ“’
  • -N name, --namespace name β€” prefix all functions with name (default aclfgl_) 🏷️
  • -n, --noprefix β€” remove any prefix from function names (same as -N '') 🧹
  • -v, --version β€” show compiler version and exit πŸ”’
  • -f, --version_full β€” show full compiler version and details πŸ”
  • -h, -?, --help β€” show the help and exit πŸ†˜
  • -t TYPE, --lextype TYPE β€” output language: TYPE=C (default), EC, or PERL 🌈
  • -td TYPE, --lexdialect TYPE β€” specify the output language dialect for ESQL/C generation, either INFORMIX or POSTGRES 🐘
  • -k, --keep β€” keep intermediate files (this is the default) πŸ“¦
  • -K, --clean β€” clean intermediate files when done 🧽
  • -s[01], --stack_trace [01] β€” include the stack trace in file: 0 means don't generate, 1 means generate (default) πŸ₯ž
  • --use-shared β€” compile with shared libraries 🀝
  • --use-static β€” compile with static libraries 🧊
  • -echo β€” don't really compile (ignored for now) πŸ™ˆ
  • -d dbname, --database dbname β€” specify an alternative database name to use for compilation. note it ignores whatever is specified in the .4gl πŸ—„οΈ
  • -4, --system4gl β€” used internally. ignores any clashes with builtin library names ⚠️
  • --map β€” generate an unload file with some 4GL code metrics πŸ“Š
  • --as-dll β€” generate a shared library as the output type πŸ’Ž
  • --make-compile β€” compare file times and only recompile where required (very simplistic ⏱️)

πŸ¦‹ SEE ALSO πŸ¦‹


bestie that's the whole tea β˜• this page was version 1.0, dated 17 Aug 2022 πŸ’œ you're literally going to slay this compiler πŸ’…βœ¨

πŸ“¦ where this page comes from