Когда делает в стиле GNU ". / Configure, создайте и установите " - с определенными параметрами, флагами и т. Д. Как вы все знаете, иногда это можетбыть черным искусством ... и то, что работает для одного программного обеспечения, может не работать для любого другого ...
Теперь представьте, что вы успешно создали какой-то пакет XYZ.app с некоторыми вариантами , как ...
% ./configure --with-1=2 USFLAG="-3 four" OBSCURE_LIB=l/lib/doihave
и пошел дальше и использовал его.Отлично.Позже, вы поймете, что вам нужна ранее пропущенная опция компиляции, или, возможно, вы решили проблему с зависимостями и т. Д. * По какой-то причине вы хотите перекомпилировать этот совершенно хороший двоичный файл.
Теперь ... как вы можете "вспомнить" ВСЕ параметры, которые вы передали в ./configure, дословно, чтобы использовать те же параметры, при возможности добавляя или вычитая некоторые,на этот раз?
Я уверен, что этот материал похоронен где-то во всех этих файлах 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 ... все, похоже, не хотят помогать.Кажется, что одним из вызовов close является содержимое файла XYZ.pc, созданного pkg-config ..
prefix=/usr/local \ exec_prefix=${prefix} \ libdir=${exec_prefix}/lib
includedir=${prefix}/include \ Libs: -L${libdir} -lxyz-base
Cflags: -I${includedir} -I${includedir}/xyz
Однако они просто кажутся переменными среды, а не аргументами фактического вызова конфигурации ... Мне надоело гадать ... каков реальный способ выяснить исходные аргументы сборки, чтобы вы могли использовать их снова, по своему желанию ...?