当你使用GNU风格的“./configure, make和install”命令,并使用特定的选项、标志等时,你知道有时候这可能是个黑魔法...... 对于一些软件来说有效的操作在其他软件中可能无效。
现在,想象一下,你已经成功地构建了一个带有一些选项的软件包XYZ.app,并使用了它。很好。后来,由于某种原因,比如你需要添加之前省略的编译时选项,或者你已经解决了依赖问题等等,你想重新编译这个二进制文件。
那么...现在的问题是如何“回忆起”你之前输入的所有选项,以便重新使用这些相同的选项,同时也可以删除或添加一些选项呢?
我相信这些信息都埋藏在诸如config.xxxx、AClocal或Makefile.xx等各种文件中,但是我一直没有在Google上找到一个明确的答案。
% file /usr/bin/$1 --> Mach-O 64-bit executable x86_64
% ld /usr/bin/$1 --> -macosx_version_min not specificed, assuming 10.6
% make -d --> * 20 pages of Makefile nonsense.... *
% ./config.log --> * shows some history, but nothing interesting. *
% ./config.status --> * does a strange sequence oddly similar to a "clean" *
% ./configure -h --> * 500 options, none of which is "show-me=your-shit" *
glibtoolize、otool、autoconf、automake和pkg-config似乎都不愿意提供帮助。看起来,唯一可行的方法是查看pkg-config创建的XYZ.pc文件的内容。
prefix=/usr/local \ exec_prefix=${prefix} \ libdir=${exec_prefix}/lib
includedir=${prefix}/include \ Libs: -L${libdir} -lxyz-base
Cflags: -I${includedir} -I${includedir}/xyz
然而,这些似乎只是环境变量,而不是来自实际配置调用的参数...
我已经猜了很多次...有没有真正的方法可以找出原始的构建参数,以便您随意再次使用它们...