Я пишу свой первый проект, который будет использовать autoconf, и буду учить его самому себе. По большей части дела идут очень хорошо. У меня есть последнее серьезное препятствие. У меня проблемы с поиском библиотечных и заголовочных файлов, которые могут быть по-разному названы в разных системах.
Например, мне нужно скомпилировать SpiderMonkey от Mozilla. При компиляции из исходного кода SpiderMonkey становится libjs.so. Однако в моем варианте Linux SpiderMonkey устанавливается как libmozjs.so. Это та же библиотека, просто другое имя, поэтому другой флаг компоновщика.
Есть ли правильный способ определения названия библиотеки? Должен ли я просто установить по умолчанию значение 'js' и указать параметр конфигурации, чтобы переопределить его?
У меня такая же ситуация с заголовочными файлами. Заголовочные файлы для SpiderMonkey установлены в / usr / include / mozjs / в моей операционной системе. Я уверен, что в других системах это будет / usr / include / js / или, может быть, просто / usr / include /. Как мне найти правильное расположение файла заголовка? Я не решался сделать ванильный «поиск», так как это было бы медленно, и я мог бы найти неправильную копию файла (например, найти файл в домашнем каталоге пользователя вместо / usr / include /.)