«Исходное дерево» не является термином, специфичным для разработки исходного кода ядра, поэтому оно должно быть более общим термином, и его значение в отношении исходного кода ядра зависит от контекста.
Я не встречал «in-tree» и «out-of-tree» вне разработки исходного кода ядра Linux и только для работы с модулями . Все модули начинаются как разработки «вне дерева», которые могут быть скомпилированы с использованием контекста дерева исходных текстов. Как только модуль принят для включения, он становится модулем внутри дерева. ИИ не нашел официального определения для обоих терминов, хотя, возможно, в этом никогда не было необходимости, поскольку для тех, кто работал с модулями, было ясно, что имеется в виду.
Например, когда модуль Reiserfs был еще модулем вне дерева, я выполнил генерацию RPM-пакета для SuSE, как только он стал встроенным, в этом больше не было необходимости.
autosetup
в какой-то момент (они этого не сделали, когда я впервые его использовал) начали использоватьout-of-tree
способ, который вы описываете, но они используютin-place
вместо этогоin-tree
в своем документе.in-tree
иin-place
являются синонимами для одного и того же термина в моем опыте. У меня на самом деле нет ссылок на это, это было то, что я подобрал, работая в промышленности в ряде компаний и подотраслей за последние ~ 15 лет, а не то, что я прочитал в книге. Я просто указывал на то, что с технической точки зрения это то, что вы, вероятно, встретите в других контекстах с несколько иным значением. Я тоже не критиковал, просто добавил дополнительный контекст для будущих читателей.