最近需要发布 thrift_protocol扩展,故自己定下一个命名规范,在此记录之。
首先看看php如何判断扩展兼容与否, dl.c:172和 dl.c:182分别根据 zend_api(比如 20151012)和 build_id(比如 api20151012,nts)来判断是否兼容。
所以我们用build_id+platform就可以表示abi版本了,加上name和version就得出命名规范:
{distribution}-{version}-{build_id}-{platform}.{so,dll}
比如:
thrift_protocol-1.0-api20151012,nts-linux_x86_64.so
遗憾的是,github会吞掉英文逗号,所以只能用英文句号替代了。
不过, phpize的时候能看到 zend_api,无法看到 build_id,算是一个不方便的地方,只能通过 php -i | grep 'php extension build'来变通获取了。
