Есть ли какая-либо документация по созданию фреймворков OS X с использованием автоинструментов?

У меня есть кросс-платформенная общая библиотека, и я использую автоинструменты GNU для системы сборки. Я хотел бы иметь возможность упаковать библиотеку в качестве фреймворка в OS X. Возможно ли это сделать с помощью автоинструментов + дополнительных сценариев, например. Баш?

Есть ли хорошая документация для этого или кто-нибудь знает пример проекта, который это делает, который я мог бы скопировать?


person j b    schedule 05.07.2011    source источник


Ответы (1)


Фреймворк — это прославленный каталог, который включает файл метаданных (Info.plist) и одну или несколько библиотек. Я не уверен, есть ли поддержка autotools для фреймворков, но что-то вроде:

# create/cd MyFramework.framework
mkdir MyFramework.framework
cd MyFramework.framework

# create/cd MyFramework.framework/Versions    
mkdir Versions
cd Versions

# create/cd MyFramework.framework/Versions/A
mkdir A
cd A

# create MyFramework.framework/Versions/A/MyFramework (the dylib)
cp /path/to/mylibrary.dylib MyFramework

# create MyFramework.framework/Versions/A/Resources
mkdir Resources

# create MyFramework.framework/Versions/A/Resources/Info.plist
cp /path/to/Info.plist Resources

# cd to MyFramework.framework/Versions
cd ..

# create MyFramework.framework/Versions/Current -> A
ln -s A Current

# cd to Myframework.framework
cd ..

# create MyFramework.framework/MyFramework -> Versions/Current/MyFramework
ln -s Versions/Current/MyFramework MyFramework

# create MyFramework.framework/Resources -> Versions/Current/Resources
ln -s Versions/Current/Resources Resources

должно быть достаточно, учитывая правильно определенный файл Info.plist и mylibrary.dylib.

Дополнительные сведения о структуре каталогов фреймворка и содержимом Info.plist см. в документе Руководство по программированию фреймворка.

person Community    schedule 07.07.2011