Опция вывода для компилятора Moscow ML

Я собираю некоторые .sml файлы, использующие mosmlc.exe, Проблема в том, что .ui а также .uo выходные файлы размещаются в том же каталоге, что и мои входные данные .sml файлы. Я хотел бы сделать что-то вроде этого:

mosmlc.exe -o out/ src/file1.sml src/file2.sml

Так что выходные файлы будут созданы в out/ папка. Но выглядит как -o опция используется для чего-то другого (согласно документации). Однако, если я запускаю такую ​​опцию, выходные файлы создаются в том же каталоге, что и входные файлы.

Как я могу указать выходную папку? Нет документации по этому вопросу, и у компилятора нет опции справки, в которой перечислены опции компилятора (очень раздражает).

Из исходного кода

Изучив исходный код точки входа компилятора, я могу понять, что:

  1. Нет справки, перечисляющей все опции и способы использования (ужасно, может быть, я должен рассмотреть возможность внесения изменений, чтобы поддержать это в своем репо)
  2. Нет варианта вывода

Похоже, я не могу этого достичь... Вы можете это подтвердить?

1 ответ

Я не думаю, что есть какое-либо решение. Может быть, это просто обходной путь с использованием символических ссылок, который я не уверен, что Windows предоставляет:

mkdir out && \
cd out && \
ln -s ../*.{sml,sig} . && \
mosmlc -toplevel Hello.sml World.sml main.sml -o main && \
./main

Это создаст out каталог, cd в это, ссылка все .sig или же .sml Исходные файлы в этот каталог и выполните компиляцию там.

Извините, что дал вам команду Unix, но у меня нет машины с Windows для тестирования.

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