halcompile: support HALCOMPILE_MAX_NAMES
as an environmental variable.
Users request increased quantity of names= items when
using many components with twopass processing.
Example usage:
$ HALCOMPILE_MAX_NAMES=20 halcompile ...
Note: current default names= limit is set in halcompile.g as
MAX_NAMES_DEFAULT = 16
This commit is contained in:
parent
645d249a11
commit
dab2a76f8c
3 changed files with 42 additions and 5 deletions
|
|
@ -41,6 +41,14 @@ halcompile \- Build, compile and install LinuxCNC HAL components
|
|||
\fIsudo\fR \fBhalcompile\fR \fB\-\-install\fR \fB\-\-userspace\fR cfile...
|
||||
.PP
|
||||
\fIsudo\fR \fBhalcompile\fR \fB\-\-install\fR \fB\-\-userspace\fR pyfile...
|
||||
|
||||
.PP
|
||||
By default, the maximum number of names= items is 16.
|
||||
To alter this limit, set the environmental variable \fBHALCOMPILE_MAX_NAMES\fR.
|
||||
Example:
|
||||
[sudo] \fBHALCOMPILE_MAX_NAMES\fR=20 \fBhalcompile\fR ...
|
||||
|
||||
|
||||
.PD
|
||||
.SH DESCRIPTION
|
||||
\fBhalcompile\fR performs many different functions:
|
||||
|
|
|
|||
|
|
@ -93,6 +93,14 @@ many numbered instances are created. If 'count' is not specified, the
|
|||
If neither 'count' nor 'names' is specified, a single numbered instance
|
||||
is created.
|
||||
|
||||
[NOTE}
|
||||
|
||||
By default, the maximum number of 'names' items is 16. To alter this
|
||||
limit, set the environmental variable HALCOMPILE_MAX_NAMES to a positive
|
||||
integer value.
|
||||
Example:
|
||||
[sudo] HALCOMPILE_MAX_NAMES=20 halcompile ...
|
||||
|
||||
== Implicit Parameters
|
||||
|
||||
Functions are implicitly passed the 'period' parameter which is the time in
|
||||
|
|
@ -492,9 +500,15 @@ in a single step, placing 'rtexample.ko' in the LinuxCNC realtime
|
|||
module directory:
|
||||
|
||||
----
|
||||
halcompile --install rtexample.comp
|
||||
[sudo] halcompile --install rtexample.comp
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
|
||||
sudo (for root permission) is needed when using LinuxCNC from
|
||||
a deb package install. When using a Run-In-Place (RIP) build,
|
||||
root privileges should not be needed.
|
||||
|
||||
Or, it can process and compile in one step, leaving 'example.ko' (or
|
||||
'example.so' for the simulator) in the current directory:
|
||||
|
||||
|
|
@ -512,7 +526,7 @@ halcompile rtexample.comp
|
|||
the '--install' and '--compile' options shown above:
|
||||
|
||||
----
|
||||
halcompile --install rtexample2.c
|
||||
[sudo] halcompile --install rtexample2.c
|
||||
----
|
||||
|
||||
man-format documentation can also be created from the information in
|
||||
|
|
@ -537,7 +551,7 @@ or copied to a standard location for manual pages.
|
|||
----
|
||||
halcompile usrexample.comp
|
||||
halcompile --compile usrexample.comp
|
||||
halcompile --install usrexample.comp
|
||||
[sudo] halcompile --install usrexample.comp
|
||||
halcompile --document usrexample.comp
|
||||
----
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,17 @@ import os, sys, tempfile, shutil, getopt, time
|
|||
BASE = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), ".."))
|
||||
sys.path.insert(0, os.path.join(BASE, "lib", "python"))
|
||||
|
||||
MAX_NAMES = 16
|
||||
MAX_NAMES_DEFAULT = 16
|
||||
try:
|
||||
MAX_NAMES = int(os.environ['HALCOMPILE_MAX_NAMES'])
|
||||
print("halcompile: HALCOMPILE_MAX_NAMES=",MAX_NAMES)
|
||||
except ValueError, detail:
|
||||
print("halcompile: HALCOMPILE_MAX_NAMES\n ",detail)
|
||||
MAX_NAMES = MAX_NAMES_DEFAULT
|
||||
print(" Using MAX_NAMES=",MAX_NAMES)
|
||||
except KeyError, detail:
|
||||
MAX_NAMES = MAX_NAMES_DEFAULT
|
||||
|
||||
MAX_PERSONALITIES = MAX_NAMES
|
||||
|
||||
%%
|
||||
|
|
@ -1028,7 +1038,12 @@ Usage:
|
|||
[sudo] %(name)s --install --userspace cfile...
|
||||
[sudo] %(name)s --install --userspace pyfile...
|
||||
%(name)s --print-modinc
|
||||
""" % {'name': os.path.basename(sys.argv[0])})
|
||||
|
||||
By default, the maximum number of names= items is %(dflt)d.
|
||||
To alter this limit, set the environmental variable HALCOMPILE_MAX_NAMES.
|
||||
Example:
|
||||
[sudo] HALCOMPILE_MAX_NAMES=20 %(name)s ...
|
||||
""" % {'name': os.path.basename(sys.argv[0]),'dflt': MAX_NAMES_DEFAULT})
|
||||
raise SystemExit(exitval)
|
||||
|
||||
def main():
|
||||
|
|
|
|||
Loading…
Reference in a new issue