Я не использую tkdnd, поэтому у меня нет ответа, специфичного для этой установки.
Добавление к моему скрипту В моем скрипте сборки есть такие блоки, как этот, который создает расширение 'tdom'.
cd $SRCDIR
cd tdom*
if [[ $? -eq 0 ]]; then
make distclean
./configure \
--exec-prefix=$INSTLOC \
--prefix=$INSTLOC \
--with-tcl=$INSTLOC/Library/Frameworks/Tcl.framework/tclConfig.sh
make CFLAGS="-O2 -mmacosx-version-min=${macosxminver}"
make install
fi
Однако ссылки на библиотеки Tk могут усложнить ситуацию. И каждый пакет отличается и использует разные переменные. Поэтому мне нужно скачать tkdnd и собрать его и посмотреть, есть ли какие-либо проблемы, поэтому ожидайте предстоящего редактирования этого ответа.
(Изменить: я исправил сценарий в исходный вопрос , поэтому следующий
абзац больше не применяется)
Мои изменения в скрипте init.tcl не совсем совершенны, как вы можете видеть, при запуске через «wish» загружается неправильный пакет (wish находится в другом месте, чем tclsh, что вызывает некоторые проблемы). У меня должен быть путь к локальной установке, расположенный ранее в auto_path
. Если вы используете мой скрипт, вы должны знать об этом.
bll-mac:$ ../darwin/64/tcl/bin/tclsh
% package require tdom
0.9.1
bll-mac$ ../darwin/64/tcl/bin/wish
% package require tdom
0.8.3
% package require tdom 0.9.1
0.9.1
На самом деле нет никакой разницы между framework (и b ) и обычной установкой, каркас просто предоставляет структуру для размещения ресурса.
Редактировать
Похоже, что следующее работает для компиляции и установки пакета tkdnd.
Переопределение PKG_CFLAGS необходимо, потому что make-файл tkdnd
имеет определенный аргумент, который не поддерживается компилятором (в Mojave).
Таким образом, PKG_CFLAGS является копией того, что находится в make-файле без -fobjc-gc
.
Я только попытался сделать package require tkdnd
. Я не знаю как пользоваться
пакет, поэтому я больше ничего не пробовал.
cd $SRCDIR
cd tkdnd*
if [[ $? -eq 0 ]]; then
make distclean
./configure \
--prefix=$INSTLOC \
--exec-prefix=$INSTLOC \
--with-tcl=$INSTLOC/Library/Frameworks/Tcl.framework \
--with-tk=$INSTLOC/Library/Frameworks/Tk.framework
make CLAGS_OPTIMIZE="-O2 -mmacosx-version-min=${macosxminver}" \
PKG_CFLAGS="-DMAC_TK_COCOA -std=gnu99 -x objective-c"
make install
fi