博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Zend API: config.m4配置文件的一些宏
阅读量:6820 次
发布时间:2019-06-26

本文共 1019 字,大约阅读时间需要 3 分钟。

  hot3.png

由 buildconf 处理的配置文件 config.m4 包含了所有在配置过程中所执行的指令。这些指令诸如包含测试包含所需的外部文件,像头文件、库文件等等。PHP 定义了一系列处理这类情况的宏,其中最常用的我们在这里列了出来。

AC_MSG_CHECKING(message)

在执行 configure 命令时输出“checking <message>”等信息。

AC_MSG_RESULT(value)

取得 AC_MSG_CHECKING 的执行结果,一般情况下 value 应为 yesno

AC_MSG_ERROR(message)

在执行 configure 命令时输出一条错误消息 message 并中止脚本的执行。

AC_DEFINE(name,value,description)

php_config.h 添加一行定义:#define name value // description (这对模块的条件编译很有用。)

AC_ADD_INCLUDE(path)

添加一条编译器的包含路径,比如用于模块需要为头文件添加搜索路径。

AC_ADD_LIBRARY_WITH_PATH(libraryname,librarypath)

指定一个库的连接路径。

AC_ARG_WITH(modulename,description,unconditionaltest,conditionaltest)

这是一款比较强大的宏,用于将模块的描述 description 添加到“configure –help”命令的输出里面。PHP 会检查当前执行的 configure 脚本里面有没有–with-<modulename> 这个选项。 如果有则执行 unconditionaltest 语句(比如 –with-myext=yes 等), 此时,选项的值会被包含在 $withval 变量里面。否则就执行 conditionaltest 语句。

PHP_EXTENSION(modulename, [shared])

这个是配置你的扩展时 PHP 必定调用的一个宏。你可以在模块名后面提供第二个参数,用来表明是否将其编译为动态共享模块。这会导致在编译时为你的源码提供一个 COMPILE_DL_<modulename> 的定义。

转载于:https://my.oschina.net/jackin/blog/172951

你可能感兴趣的文章
Fabric 1.0环境搭建
查看>>
c冒泡排序
查看>>
0913数据库约束之主键 外键 非空 默认值约束 唯一约束 级联操作 表与表之间的联系...
查看>>
C#中的接口
查看>>
DataTable数据存入指定路径的Excel文件
查看>>
【Lua】特性和一些基础语法
查看>>
[转]Web Api系列教程第2季(OData篇)(二)——使用Web Api创建只读的OData服务
查看>>
eclipse设置系统字体
查看>>
seq命令
查看>>
[Python] Boolean Or "Mask" Index Arrays filter with numpy
查看>>
有了#ifdef 为什么还需要#if defined
查看>>
eclipse中.properties文件不能输入中文的解决办法
查看>>
[Unit Testing] Mock a Node module's dependencies using Proxyquire
查看>>
C++中malloc/free和new/delete 的使用
查看>>
ASP.NET MVC读取XML并使用ViewData显示
查看>>
4.lists(双向链表)
查看>>
微服务(Microservices )简介
查看>>
.NET中的流
查看>>
在ASP.NET MVC 4中使用Kendo UI Grid
查看>>
SpringCloud_概述与入门
查看>>