最近研究了下glog使用autotools编译方法的脚本文件,略有所得

configure.ac

AC_INIT初始化一些信息 Package Version ReportBug

AC_CONFIG_MACRO_DIR([m4])加载 m4目录下的规则脚本 应该需要aclocal一下先,把规则集成到aclocal.m4

AM_CONFIG_HEADER(src/config.h)生成config.h,内容由一些函数定义,如AC_DEFINE。应该需要autoconf autoheader(生成config.h.in) ./configure(生成config.h)

AC_CANONICAL_HOST检测系统,得到如build host cpu等参数

AC_CONFIG_SRCDIR([src])检测src目录是否存在,也可以验证文件的存在

AM_CONDITIONAL([xxx],[条件])如果满足条件,xxx会是true吧,但是只能在Makefile.am使用ARM,在configure.ac是没含义的

AC_HEADER_STDC检测stdlib.h stdarg.h string.h float.h ctype.h是否存在,并定义相应宏到config.h

AC_CHECK_HEADERS([unistd.h], [ac_cv_have_unistd_h=1], [ac_cv_have_unistd_h=0])检测头文件存在与否,会定义HAVE_UNISTD_H到config.h,

      AC_CHECK_HEADER只有检测的作用,其实unistd上面那个macro也检测了,但是要用到ac_cv_have_unistd_h,所以有检测了一次

AC_CHECK_SIZEOF(void *)也会生成一个宏到config.h

AC_DEFINE(HAVE_FCNTL, 1,[ if you have the `fcntl' function])会定义一个macro到config.h

AC_SUBST(xxx)会把变量向下级传递,AC_CONFIG_FILES()内的文件应该都可以接收到,比如通过xxx.h.in可以生存xxx.h,Makefile.am怎么使用还不清楚(看了下Makefile存在下传的变量,那么直接使用就好了,在Makefile.am里面)

Makefile.am

暂时感觉就是一些简单的规则,至于怎么规定安装那些文件,比如可执行文件需要的库,还有规定哪些需要打包等等,我也没搞太清楚,以后需要再弄清吧,现在单纯生成可执行文件就好,尝试过安装时顺便安装依赖的library,失败

Autotools知识点的更多相关文章

  1. ASP.NET Core 中的那些认证中间件及一些重要知识点

    前言 在读这篇文章之间,建议先看一下我的 ASP.NET Core 之 Identity 入门系列(一,二,三)奠定一下基础. 有关于 Authentication 的知识太广,所以本篇介绍几个在 A ...

  2. ASP.NET MVC开发:Web项目开发必备知识点

    最近加班加点完成一个Web项目,使用Asp.net MVC开发.很久以前接触的Asp.net开发还是Aspx形式,什么Razor引擎,什么MVC还是这次开发才明白,可以算是新手. 对新手而言,那进行A ...

  3. UWP开发必备以及常用知识点总结

    一直在学UWP,一直在写Code,自己到达了什么水平?还有多少东西需要学习才能独挡一面?我想对刚接触UWP的开发者都有这种困惑,偶尔停下来总结分析一下还是很有收获的! 以下内容是自己开发中经常遇到的一 ...

  4. C#高级知识点&(ABP框架理论学习高级篇)——白金版

    前言摘要 很早以前就有要写ABP高级系列教程的计划了,但是迟迟到现在这个高级理论系列才和大家见面.其实这篇博客很早就着手写了,只是楼主一直写写停停.看看下图,就知道这篇博客的生产日期了,谁知它的出厂日 ...

  5. lucene 基础知识点

    部分知识点的梳理,参考<lucene实战>及网络资料 1.基本概念 lucence 可以认为分为两大组件: 1)索引组件 a.内容获取:即将原始的内容材料,可以是数据库.网站(爬虫).文本 ...

  6. DoraCMS 源码知识点备注

    项目需要研究了下DoraCMS这款开源CMS,真心做的不错:).用的框架是常用的express 4 + mongoose,代码也很规范,值得学习. 源码中一些涉及到的小知识点备注下: https:// ...

  7. 在 Linux 中使用 Eclipse 和 Gnu Autotools 管理 C/C++ 项目

    在我该系列的之前的所有随笔中,都是采用 Linux 发行版自带的包管理工具(如 apt-get.yum 等)进行软件的安装和卸载,从来没有向大家展示使用源代码自行编译安装软件的方法.但是长期混迹于 U ...

  8. atitit 商业项目常用模块技术知识点 v3 qc29

    atitit 商业项目常用模块技术知识点 v3 qc29 条码二维码barcodebarcode 条码二维码qrcodeqrcode 条码二维码dm码生成与识别 条码二维码pdf147码 条码二维码z ...

  9. HTML5知识点总结

    HTML5知识点总结(一) 一.HTML新增元素 1.IE9版本以下支持HTML5的方法 <!--[if lt IE9]> <script src="http://cdn. ...

随机推荐

  1. k8s使用Glusterfs动态生成pv

    一.环境介绍 [root@k8s-m ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4 ...

  2. Java 基础类型 默认值

    (1)数据库里的列,如果有默认值,不能赋值有业务含义的值. (2)int 默认值 java会分配默认值的额.

  3. Java HashMap的put操作(Java1.6)

    https://www.cnblogs.com/skywang12345/p/3310835.html // 存储数据的Entry数组,长度是2的幂. // HashMap是采用拉链法实现的,每一个E ...

  4. windows 安装tensorflow

    原文知乎:https://zhuanlan.zhihu.com/p/25778703 前言 看到Rstudio中开始支持Tensorflow,本人是欣喜若狂的,同时TensorFlow官网从16年9月 ...

  5. Bootstrap之登陆页面范例

    代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta ...

  6. Appium之开发计算器自动化测试脚本Demo

    1.依赖包 <!-- https://mvnrepository.com/artifact/io.appium/java-client --> <dependency> < ...

  7. linux 安装python 和pip

    下载文件 python官网:https://www.python.org/downloads/ 百度网盘http://pan.baidu.com/s/1mixGB12     密码   9nzu [r ...

  8. endnote格式

    endnote插入参考文献后的对齐方式和缩进空格 听语音 | 浏览:4780 | 更新:2016-11-28 20:46 1 2 3 4 5 6 7 分步阅读 1.endnote 导入到word参考文 ...

  9. Jetson TX1 install py-faster-rcnn

    Install py-faster-rcnn following the official version  https://github.com/rbgirshick/py-faster-rcnn ...

  10. python源码编译

    PyInstaller是一个基于windows平台,将源码打包成执行文件的第三方库,PyInstaller本身并不属于Python包. 源文件要采用UTF-8编码 安装Pyinstaller pip ...