Есть ли способ распараллелить генерацию файла Swig C? - PullRequest
0 голосов
/ 23 мая 2018

У нас есть настройка, в которой мы создаем интерфейс Python для библиотеки C.Мы наивно разоблачаем каждую функцию по ряду причин, и хотя это не оптимально, на данный момент это наименее плохое решение.

Наш интерфейсный файл swig просто импортирует два десятка заголовочных файлов C, и мысделайте это, затем скомпилируйте, затем свяжите результаты.

Проблема в том, что компиляция получающегося файла C идет очень медленно и, безусловно, является самым медленным шагом в нашем процессе сборки.У нас высокопараллельные машины, поэтому было бы неплохо разделить это на части.

Проблема в том, что при создании нескольких файлов интерфейса их компиляция в объектные файлы работает хорошо, но во время окончательной компоновки компоновщик (по праву) жалуется, что:

foo1.c:9147: multiple definition of `PyInit__bar_lib'
foo2.c:74285: first defined here

Есть ли способ разделить глотание?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...