./configure
是一个在 Unix 和类 Unix 系统中常用的 shell 脚本命令,主要用于配置软件源代码包,以便进行编译和安装。这个命令通常在从源代码编译软件之前执行,它会自动检测系统的配置并生成适合该系统的 Makefile
。
以下是 ./configure
脚本的一些主要作用:
-
检查系统环境:
./configure
会检查系统的硬件和软件环境,包括 CPU 类型、操作系统版本、已安装的库和头文件等,以确定如何编译软件。
-
生成 Makefile:
- 根据系统环境检查的结果,
./configure
会生成一个或多个Makefile
,这些Makefile
包含了编译和安装软件所需的指令。
- 根据系统环境检查的结果,
-
用户自定义配置:
- 用户可以通过传递参数给
./configure
来自定义配置,例如指定安装目录、启用或禁用某些特性、选择编译选项等。
- 用户可以通过传递参数给
-
跨平台兼容性:
./configure
脚本使得软件包能够跨平台编译,因为不同的系统可能需要不同的编译选项和设置。
-
自动化编译过程:
- 用户只需执行
./configure
,然后根据提示进行配置,接着运行make
命令,最后安装软件,这大大简化了编译过程。
- 用户只需执行
-
检测依赖关系:
./configure
还会检查软件的依赖关系,确保所有必需的库和工具都已安装,以便编译过程可以顺利进行。
-
配置缓存:
./configure
脚本通常会缓存配置结果,如果再次运行且配置没有变化,它可能会跳过一些检测步骤,加快配置过程。
使用 ./configure
的典型步骤如下:
- 解压软件源代码包。
- 进入源代码目录。
- 执行
./configure
命令(可能带有一些参数)。 - 根据
./configure
的输出,确认配置正确。 - 执行
make
命令编译软件。 - 执行
make install
安装软件。
例如:
tar -zxvf source-package.tar.gz
cd source-package
./configure
make
sudo make install
./configure
是许多开源软件项目中的标准配置步骤,特别是在使用 GNU 构建系统时。它是由 Autoconf 工具生成的,Autoconf 是一个用于生成符合 GNU 标准的 configure
脚本的工具。