|
楼主 |
发表于 2008-4-15 10:30:40
|
显示全部楼层
Post by 1987a;1838231
建议lz把glibc系统搜索路径调整部分
cp configure{,.orig}
sed -e "/ccheaders=/s/\`\(\$CC.*include\)\`/\"& -isystem \`\1-fixed\`\"/" configure.orig > configure
修改为
sed -i -e '/SYSINCLUDES=/s@-isystem $ccheaders @&-isystem $ccheaders-fixed @' configure
更简单明了。
我觉的你的是简单些。不过有一点我觉得 sed -i 的方式不太好,特别对初学者不利。先做cp备份的方式有一个好处,就是完成后可以很容易检验:
diff configure{,.orig}
要是没有任何输出,或者输出超过3行,肯定是有问题。而这时候原始文件没有被破坏,可以随时修改命令后继续。
此外,我之前不是没有想过去修改SYSINCLUDES这一行,但从程序设计的角度看,这两者的作用虽然一样,但语义是不一样的。原来的设计,是让ccheaders自动调用CC来找到头文件的目录。我的修改是让它调用两次,也就是说两次都是从CC生成的。而你的修改则去改动引用ccheaders的地方,这暗中假定了include和include-fixed两个目录是放在同一个地方的。虽然目前两者都可以达到目的,但是显然降低了灵活性。鉴于这些情况,我会坚持使用原来的补丁。 |
|