红联Linux门户
Linux帮助

自定义参数运行configure脚本

发布时间:2016-02-18 15:35:08来源:linux网站作者:AllInCode

从源码编译安装软件时,有3个步骤:
./configure 
make 
make install 

根据《Linux下从源码编译安装软件中3个命令之间的关系》(http://www.linuxdiyf.com/linux/18175.html)可知,在这3个步骤中,运行configure脚本是比较重要的步骤,它产生的Makefile文件是接下来两个步骤的基础。
不像DPKG机制,APT-GET机制几乎不允许我们自定义安装参数,从源码编译安装机制赋予我们很大的自由来自定义安装参数,而这正是通过在运行configure脚本时来指定参数做到的。


每个configure脚本可配置参数都是不同的,具体可通过以下命令来查看:
./configure --help 

由于不同configure脚本的可配置参数不同,因而接下来介绍的只是大部分configure脚本可使用的可配置参数,而不是所有configure脚本可使用的。configure脚本具有很多可配置参数,接下来主要介绍3类比较重要的可配置参数:指定安装到目录的可配置参数,指定编译链接选项的可配置参数和指定依赖查找路径的可配置参数。


1、指定安装到目录的可配置参数
通过"./configure --help"命令,可以发现configure脚本中关于安装到目录的配置如图1所示。

自定义参数运行configure脚本

由图1可知,要自己指定安装到目录,只需要配置PREFIX,EPREFIX这2个环境变量,这些环境变量与configure脚本的可配置参数的对应关系如下:

--prefix PREFIX 
--exec-prefix EPREFIX 

另外再指定"--oldincludedir"参数即可。


2、指定编译链接选项的可配置参数
有时候需要自定义编译链接选项,比如非标准的.h文件目录,非标准的库文件目录等,这需要用到CFLAGS和LDFLAGS环境变量。


3、指定依赖查找路径的可配置参数

configure脚本会检查当前系统环境是否已安装所需的软件依赖,绝大多数configure脚本通过使用"pkg-config"命令去查找默认目录下是否存在相应的pc文件的方式来进行检查,可以通过"PKG_CONFIG_PATH"环境变量增加自己的非标准搜索目录。

注意,要使用"pkg-config"命令,首先得安装PKGCONFIG软件。

#!/bin/bash 
INSTALLDIR="/home/dsl/bigdisk/testdisk/usr/local" 
prefix=$INSTALLDIR 
exec_prefix=$INSTALLDIR 
oldincludedir=$INSTALLDIR/oldinclude 
dependency_path=$INSTALLDIR/lib/pkgconfig 

./configure --prefix=$prefix --exec-prefix=$exec_prefix --oldincludedir=$oldincludedir PKG_CONFIG_PATH=$dependency_path CFLAGS="-I$INSTALLDIR/include -I$INSTALLDIR/include/apr-1 -g -O2 -pthread -DLINUX -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE" LDFLAGS="-L$INSTALLDIR/lib"


本文永久更新地址:http://www.linuxdiyf.com/linux/18181.html