一、必要性
作为源代码发行的软件,希望在尽可能多的环境上可以运行,这些环境包括了操作系统的类型,硬件系统、开发环境的不同的方面;另一方面,在Linux系统中没有一种统一的位置可以确定系统中是否支持某种功能,例如:无 法确认这个系统是否安装了gcc工具,它的位置在哪里,该操作系统是否支持mmap功能、甚至是环境是大端字节序还是小端字节序等属性,所以需要通过执行 configure来动态的尝试确定源代码构建和运行环境需要的属性情况。最重要的目的是替换Makefile中的指定变量,
二、各种配置文件说明
configure.ac 该文件为autoconfigure文件使用的一个文件,该文件用来生成configure文件,这个文件一般是开发者维护,我们安装该软件的时候只需要执行configure就可以,这个configure.ac我们一般不用理会
configure 这个是我们需要监测环境的主要入口文件,使用该文件可以生成Makefile文件,它会替换Makefile中需要替换的变量。
config.guess 这个是在构建环境上运行的一个脚本,它用来猜测构建机的配置环境,因为这个脚本是在构建机上运行,所以它可以动态执行uname等命令来获得构建机的环境,所以我们一般不要指定这个变量,从而让脚本自动获得。
config.sub 这个是将host target build变量正则化的一个脚本,它的sub就是substitute的缩写。因为用户提供的build可能并不符合脚本正规的四元组或者三元组的结构,所以这个脚本将它转换为标准的格式,从而可以进行格式化处理。
config.log 该文件在执行configure文件时动态生成,其中包含了一些行号信息,表示一个文件在哪一行执行,以及执行的什么命令,从而可以知道测试