2010-02-28 3 views
4

У меня есть библиотека C++, которую я создаю с помощью Scons, которая в конечном итоге связана с (в том числе) расширением Python.Управление distutils из Scons

После того, как я создал библиотеку с помощью scons, я написал стандартный скрипт setup.py, который я вызываю для создания и установки расширения.

Основная проблема заключается в том, что setup.py не распознает, когда библиотека была перестроена (только когда код расширения был изменен), поэтому каждый раз, когда я перестраиваю библиотеку, мне нужно «очистить» расширение до создания снова. Кроме того, если я изменю структуру каталогов, я бы предпочел только отредактировать файлы Scons. И, наконец, немного удобнее всего использовать только звонки, вместо того, чтобы звонить на scons в дополнение к setup.py.

Кто-нибудь знает, как интегрировать distutils в Scons так, чтобы он мог воспользоваться знаниями, которые Scons имеет о том, какие файлы нужно перестроить?

+0

Привет. Меня тоже интересует ответ на этот вопрос. Если бы вы нашли хорошее решение, я был бы обязан, чтобы вы могли предоставить детали в ответ. Или даже комментарий был бы полезен. –

ответ

1

Вы можете выполнить любую командную строку из SCons. См. Writing Your Own Builders. Затем вы можете обнаружить любые изменения для заданного формата файла на writing a scanner.

0

Я успешно создал SConstruct для компиляции расширений для Python, написанных в Pyrex. Основная идея - получить соответствующие флаги C-компилятора от distutils, а затем настроить среду.

Проверить это страницы на Scons вики:

Смежные вопросы