|
本例假设要产生一个simserver1的软件包,源文件只有1个,simserver1.cpp。使用了pthread库。
1.运行autoscan扫描源码目录
执行
$autoscan
执行后生成configure.scan。
2.编辑configure.in文件
步骤1执行后生成了configure.scan,本步骤需要复制一份该文件并命名为configure.in,然后编辑该文件。
命令如下:
$cp configure.scan configure.in
$vim configure.in
用vim编辑器打开后,文件原内容如下:
configure.scan开始
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS)
AC_CONFIG_SRCDIR([simserver1.cpp])
AC_CONFIG_HEADER([config.h])
# Checks for programs.
AC_PROG_CXX
# Checks for libraries.
# FIXME: Replace `main' with a function in `-lpthread':
AC_CHECK_LIB([pthread], [main])
# Checks for header files.
AC_CHECK_HEADERS([arpa/inet.h netinet/in.h sys/socket.h])
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_HEADER_STDC
AC_CHECK_FUNCS([bzero inet_ntoa socket])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
configure.scan结束
编辑修改成如下内容:
configure.in开始
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_INIT(simserver1.cpp) #这个宏用来检查源代码所在的路径,放在文件开头
AM_INIT_AUTOMAKE(simserver1,1.0) #描述软件包名称及版本号
# Checks for programs.
AC_PROG_CXX #使用C++
# Checks for libraries.
# Checks for header files.
AC_CHECK_HEADERS([arpa/inet.h netinet/in.h sys/socket.h])
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_HEADER_STDC
AC_CHECK_FUNCS([bzero inet_ntoa socket])
AC_OUTPUT(Makefile) #这个宏是我们要输出的Makefile的名字
configure.in结束 |
|