Сделать процедуру доступной для всех файлов модулей?

Я использую модули для управления программным обеспечением. Я пытаюсь настроить среду так, чтобы определенная функция могла быть вызвана из любого файла модуля, и каждый файл не должен иметь определение процедуры.

Пример: я хочу util:prereq функция должна быть доступна в следующем модульном файле без необходимости определять ее определение:

#%Module1.0

util::prereq compiler_intel/13.0.1 mpi/openmpi-1.6.4_intel-13.0.1

Для того, чтобы сделать это, я знаю, что мне нужно подключиться к modulefiles или tcl или что-то еще Есть идеи?

Использование этой функции аналогично prereq за исключением того, что функция будет загружать любые предпосылки вместо сбоя, потому что она не загружена.

1 ответ

Решение

Гораздо лучший способ, чем предложил Кларк, - использовать старый tclIndex файл.

Этот файл должен быть в папках $auto_path или их подкаталог (предлагается подкаталог).
Вы можете создать tclIndex подать вручную или вызвать

auto_mkindex directory file.tcl

Опять же: каталог должен быть (под) каталогом $auto_path
Это будет источником вашего tcl-файла, если одна из его команд будет использована впервые.

Другие вопросы по тегам