簡體   English   中英

如何覆蓋dpkg-buildflags CFLAGS?

[英]How to override dpkg-buildflags CFLAGS?

我得到了一個包裹:

$ apt-get source <pkg-name>

現在我正在嘗試用以下方法構建它:

$ dpkg-buildpackage -uc -us -j8

在輸出的開頭,有聲明:

dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security
dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor): -D_FORTIFY_SOURCE=2
dpkg-buildpackage: export CXXFLAGS from dpkg-buildflags (origin: vendor): -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security
dpkg-buildpackage: export FFLAGS from dpkg-buildflags (origin: vendor): -g -O2
dpkg-buildpackage: export LDFLAGS from dpkg-buildflags (origin: vendor): -Wl,-Bsymbolic-functions -Wl,-z,relro

我想覆蓋這些CFLAGS(也就是LDFLAGS)。 我嘗試導出CFLAGS envvar,就像我們使用plain configure一樣,無濟於事。 我該如何覆蓋這些值?

您嘗試重建的軟件包,設置(讀取:覆蓋)* FLAGS,其中包含從dpkg-buildflags檢索到的強化特定標志。

如果你需要為自己的目的覆蓋這些標志,你應該告訴dpkg-buildflags提供你想要的標志,而不是(強化)默認值。 看看man dpkg-buildflags ,你會發現有關環境變量的部分,尤其是 請參閱DEB_flag_SETDEB_flag_APPEND

所以這應該做的伎倆(填寫你自己的* FLAGS):

$ DEB_CPPFLAGS_SET="-I/foo/bar/baz" DEB_CFLAGS_SET="-g -O6" DEB_LDFLAGS_SET="-L/fruzzel/frazzel/" dpkg-buildpackage -uc -us -j8 -rfakeroot

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM