Я работаю над написанием ядра, и со мной над проектом работает несколько друзей. Мы использовали DJGPP для компиляции проекта некоторое время, но у нас возникли некоторые проблемы кросс-платформенной совместимости при компиляции таким образом, из-за которых мой основной Partnet в проекте не смог скомпилироваться в Windows XP. (У GCC DJGPP есть проблемы со списками аргументов длиннее 127 в Windows XP, но нет проблем с теми же списками аргументов в Vista. Итак, на этот раз Vista работает лучше, чем XP в чем-то. o.O)
Во всяком случае, вместо того, чтобы пытаться придумать какой-нибудь грязный хак, чтобы компилировать эту чертову штуку с помощью DJGPP, мы решили, что хотим полностью отказаться от DJGPP и работать с другой версией GCC для Windows. Проблема в том, что MinGW (насколько мне известно) не позволяет нам использовать синтаксис NASM для ассемблерных частей кода, и было бы немного сложно преобразовать все это в синтаксис AT&T на данном этапе. Возможно, конечно, так как это довольно рано в проекте, но боль.
Итак, теперь вы знаете, в чем дело. Мой вопрос таков: какой дистрибутив компилятора GCC для Windows позволит нам наиболее легко перенести этот проект на себя? В идеале мы ищем что-то, что может выполнять синтаксис ассемблера NASM, не зависеть от внешних dll (здесь это ядро, у него не будет доступа к ним) и будет стабильно работать на нескольких версиях в Windows. Каковы ваши рекомендации о том, как лучше всего это сделать, и какую версию GCC для Windows вы рекомендуете?
Обратите внимание, что если нам понадобится преобразовать проект в синтаксис AT&T, это нормально, я просто не хотел бы этого делать. На самом деле мы используем NASM для сборки его ассемблерных битов, и это создает действительный файл .o, но MinGW по какой-то причине не может связать его. Я думаю, что биты встроенной сборки (возможно, 5 строк) уже являются синтаксисом AT&T, как того требует GCC.
Спасибо!