me@mine:~$ make_gdl -d LateefReg.ttf x.gdl
Option d, key "LateefReg.ttf", requires a value
The problem has been around since 2012 when -D was added and we changed to use long options. We have the following option specifications:
'autodefines|d',
'define|D=s%',
but, in the default configuration GetOptions() is case-insensitive. Note that --autodefines works, but -d is treated by GetOptions as --define which requires a key=value parameter.
Some possible approaches:
Enable GetOptions case sensitivity by setting no_ignore_case -- affects all options (single letter and long) so will require lowercase options everywhere except for -D
Turn on first level of GetOption "bundling" (by setting bundling) which allows single-letter options to be bundled together. According to the manpage, "When configured for bundling, single-character options are matched case sensitive while long options are matched case insensitive."
Remove the -d option, requiring the longer --autodefines.
Either of the first two approaches will break a build that uses uppercase option letters (other than -D) and thus is depending on the case-insensitive nature of the current option parsing.
Neither make_volt nor make_fea currently implement either of these options.
We've concluded that, since -d is currently broken and many of our projects use --autodefines instead, the safest fix is to take the 3rd option above (remove -d and require the longer --autodefines).
The
-d
short-name option gives an error:The problem has been around since 2012 when
-D
was added and we changed to use long options. We have the following option specifications:but, in the default configuration GetOptions() is case-insensitive. Note that
--autodefines
works, but-d
is treated by GetOptions as--define
which requires a key=value parameter.Some possible approaches:
no_ignore_case
-- affects all options (single letter and long) so will require lowercase options everywhere except for-D
bundling
) which allows single-letter options to be bundled together. According to the manpage, "When configured for bundling, single-character options are matched case sensitive while long options are matched case insensitive."-d
option, requiring the longer--autodefines
.Either of the first two approaches will break a build that uses uppercase option letters (other than
-D
) and thus is depending on the case-insensitive nature of the current option parsing.Neither
make_volt
normake_fea
currently implement either of these options.Suggestions welcome.