man(1)

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

✨ NAME ✨

okay bestie, this is the 4glc manual πŸ’– it's the Aubit 4GL compiler, and it is giving main character energy πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

4glc [options] -oOutFile.ext file.ext [file.ext ...]

πŸ’– DESCRIPTION πŸ’–

okay so the Aubit 4GL source compiler, 4glc, is usually invoked through the 4glpc wrapper 🫢 but you can call it directly, like this:

4glc <filename>.4gl

ngl, for historic reasons 4glc can also compile most modules into an executable ✨ the way that works is it uses the normal C compiler and passes any options it doesn't recognise straight on to it. some examples bestie:

4glc file.4gl -c -o file.o
4glc -shared file.4gl -o file.4ge
4glc -static -echo file.4gl -o file.4ge
4glc -debug file.4gl -o file.debug
4glc -map -echo file.4gl

the first one compiles to an object file instead of a linked executable πŸ¦‹

it is now best practice, unless there is a seriously good reason, to NOT call 4glc directly at all πŸ’€ invoke it through 4glpc instead!

🌸 OPTIONS 🌸

When A4GL_LEXTYPE=C:

  • -o[outfile] β€” names the output file
  • (no flags) β€” compiles to C only

When A4GL_LEXTYPE=PERL:

  • (no flags) β€” compiles to Perl only

Other options:

  • -G, --globals β€” generates the globals map file πŸ—ΊοΈ
  • -S, --silent β€” no output other than errors 🀫
  • -V, --verbose β€” verbose output, tell me everything πŸ“£
  • -N name, --namespace name β€” prefixes all functions with name (default aclfgl_) 🧚
  • -v, --version β€” shows the compiler version and exits πŸ”₯
  • -f, --version_full β€” shows the full compiler version and details πŸ’œ
  • -?, --help β€” shows this help and exits πŸ™ˆ
  • -t TYPE, --lextype=TYPE β€” output language, TYPE=C (default) or PERL 🌈
  • -k, --keep β€” keeps intermediate files (this is the default) πŸ“
  • -w, --keep-warn β€” keeps the warnings output file .warn (default is do not) ⭐
  • -K, --clean β€” cleans intermediate files when done 🧹
  • -s0|1, --stack_trace 0|1 β€” includes the stack trace in the file πŸ¦‹
  • -h, --as-dll β€” makes -o by linking all resulting objects into a shared library πŸ‘‘
  • -H, --shared β€” compiles each input object into a shared object (.so/.aso/.dll) ✨

okay so if outfile wasn't specified, it gets generated from the first 4gl file name you gave it πŸ’… and any options that aren't recognised get passed to the C compiler, but only if -c, -o, -d or -l was specified 🫢


πŸ¦‹ SEE ALSO πŸ¦‹


bestie that's the whole page πŸ’– version 1.0, 17 Aug 2022, you're welcome ✨🌈

πŸ“¦ where this page comes from