Binutils 配置选项简介(适用于2。17)
要查看完整的配置选项,除了源码树根目录下运行"configure --help"查看外,还需要查看原码树的每个子目录下的 README 文件,以及在每个子目录中运行"configure --help"查看[真麻烦!]。
下列选项皆为非默认值[特别说明的除外]
[提示]如果只想编译 ld 可以使用"make all-ld",如果只想编译 as 可以使用"make all-gas"。
--cache-file=FILE
--help
--no-create
--quiet, --silent
--version
--prefix=PREFIX
--exec-prefix=EPREFIX
--bindir=DIR
--sbindir=DIR
--libexecdir=DIR
--datadir=DIR
--sysconfdir=DIR
--sharedstatedir=DIR
--localstatedir=DIR
--libdir=DIR
--includedir=DIR
--oldincludedir=DIR
--infodir=DIR
--mandir=DIR
--srcdir=DIR
--program-prefix=PREFIX
--program-suffix=SUFFIX
--program-transform-name=PROGRAM
--build=BUILD
--host=HOST
--target=TARGET
这些选项的含义基本上通用于所有软件包,这里就不特别讲解了。
--enable-64-bit-bfd
支持64位目标。如果指定的目标是64位则此选项默认打开,否则默认关闭(即使 --enable-targets=all 也是如此)。
要开启此选项,编译器必须支持64位整数(比如 gcc)。
--enable-bfd-assembler
简而言之,你不需要明确指定该选项,完全可以忽略它的存在,因此也就不需要理解它的含意。
--enable-install-libbfd
允许安装 libbfd 以及相关的头文件(二进制文件描述库,用于读写目标文件"。
o",被GDB/ld/as等程序使用)。
--enable-commonbfdlib
编译共享版本的 BFD/opcodes/libiberty 库。
--enable-install-libiberty
安装libiberty的头文件(libiberty。
h),许多程序都会用到这个库中的函数(getopt,strerror,strtol,strtoul)。
--enable-shared[=PKGS]
将指定的PKGS(逗号分隔的列表)编译为共享库,目前仅可使用:bfd,opcodes 。
此选项在不同子目录下默认值不同,有些为"yes"有些为"no"。
--enable-static[=PKGS]
将指定的PKGS(逗号分隔的列表)编译为静态库,目前仅可使用:bfd,opcodes 。
所有子目录下默认值皆为"yes"。
--enable-targets=TARGET,TARGET,TARGET。 。。
使其BFD在默认格式之外再支持多种其它平台的二进制文件格式,"all"表示所有已知平台。
在32位系统上,即使使用"all"也只能支持所有32位目标,除非同时使用 --enable-64-bit-bfd 选项。由于目前 gas 并不能使用内置的默认平台之外的其它目标,因此这个选项没什么实际意义。
--enable-serial-[{host,target,build}-]configure
强制为 host, target, build 顺序配置子包,如果使用"all"则表示所有子包。
--with-build-subdir=SUBDIR
为 build 在 SUBDIR 子目录中进行配置(用于交叉编译)
--with-target-subdir=SUBDIR
为 target 在 SUBDIR 子目录中进行配置(用于交叉编译)
--with-cross-host=HOST
用于配置交叉编译器
--with-build-sysroot=sysroot。