2.1 Invoking the preprocessor

Synopsis:

mbflpp.bash [OPTIONS] <INFILE >OUTFILE
mbflpp.bash [OPTIONS] --output=OUTFILE [--] INFILE1 INFILE2 ...

all the INFILE arguments are interpreted as file system pathnames selecting input files to concatenate in the specified order.

All the MBFL built–in command line options are available, Predefined options. Additionally the following options are supported.

--preserve-comments

Do not filter out comments. By default every line starting with optional blanks followed by ‘#’ is removed, unless the character right after ‘#’ is ‘!’; this option turns off this removal. If we want a persistent comment we just start it with ‘#!’.

--add-bash

Add #!BASH_PROGRAM at the beginning of the output, where BASH_PROGRAM is selected with the command line option --bash-program.

--bash-program=BASH_PROGRAM

Select the absolute file pathname of the Bash executable to use when the option --add-bash is used. It defaults to the preselected bash program, Preselected programs.

-DNAME[=VALUE]
--define=NAME[=VALUE]

Define a new symbol (m4 syntax). This is equivalent to the --define option of m4.

-IINCLUDE_DIRECTORY_PATHNAME
--include=INCLUDE_DIRECTORY_PATHNAME

Add a directory to the search path for include files. INCLUDE_DIRECTORY_PATHNAME must be a directory pathname and it is handed to m4 to search for macro files. We can use this option multiple times. m4 can include files using the built–in m4_include(), See Including named files.

--library=LIBRARY_FILE_PATHNAME

Include an m4 library. LIBRARY_FILE_PATHNAME must be the name of an m4 macro file which is evaluated before the input files.

-oOUTPUT_FILE_PATHNAME
--output=OUTPUT_FILE_PATHNAME

Select an output file, - for stdout.

-e
--eval

Send the result of preprocessing to bash, rather than print it. The evaluation is performed by the preselected bash program, Preselected programs.

--no-prepro

Do not load the installed preprocessor’s macros library libmbfl-preprocessor.m4. If we use this option: we are meant to use the option --library to load a replacement macros library from a known location.

--libmbfl=LIBMBFL

Select the pathname to a libmbfl-core.bash file to use in the macros mbfl_load_library() and mbfl_embed_library(), Libraries loading and embedding. The selected pathname overrides the library installed on the system.

--print-libdir

Print to stdout the file system absolute pathname of the libraries installation directory, then exit successfully. The installation directory is selected with the option --datadir of configure at package–configuration time.

--print-libmbfl

Print to stdout the file system absolute pathname of the installed library libmbfl-core.bash, then exit successfully.

--print-libmbfl-linker

Print to stdout the file system absolute pathname of the installed library libmbfl-linker.bash, then exit successfully.

--print-libmbfl-tests

Print to stdout the file system absolute pathname of the installed library libmbfl-tests.bash, then exit successfully.

--print-libmbfl-utils

Print to stdout the file system absolute pathname of the installed library libmbfl-utils.bash, then exit successfully.

--print-libmbfl-arch

Print to stdout the file system absolute pathname of the installed library libmbfl-arch.bash, then exit successfully.

--print-libmbfl-at

Print to stdout the file system absolute pathname of the installed library libmbfl-at.bash, then exit successfully.

--print-libmbfl-passwords

Print to stdout the file system absolute pathname of the installed library libmbfl-passwords.bash, then exit successfully.

--print-libmbfl-git

Print to stdout the file system absolute pathname of the installed library libmbfl-git.bash, then exit successfully.

--print-libmbfl-containers

Print to stdout the file system absolute pathname of the installed library libmbfl-containers.bash, then exit successfully.

--check-version=MINIMUM_REQUIRED_SEMANTIC_VERSION

Compare the given MINIMUM_REQUIRED_SEMANTIC_VERSION with the version of the installed MBFL package:

  • If the option’s value is less than, or equal to, the package value: exit successfully with exit code ‘0’.
  • If the option’s value is greater than the package value: exit with failure with exit code ‘1’.
  • If the value MINIMUM_REQUIRED_SEMANTIC_VERSION is a string invalid as semantic version: exit with failure with exit code 3.

If the option --verbose is used before this option: a message describing the result of the comparison is printed on stderr.


This document describes version 3.0.0-devel.9 of Marcos Bash Functions Library.