Search code examples
phpm4

PHP - Extension Config.m4 file


I am trying to code PHP Extensions using this tutorial.

In the config.m4 file, there are Macros like PHP_ARG_ENABLE etc. Where is the defintion for these macros?


Solution

  • It's defined in /acinclude.m4

    dnl
    dnl PHP_ARG_ENABLE(arg-name, check message, help text[, default-val[, extension-or-not]])
    dnl Sets PHP_ARG_NAME either to the user value or to the default value.
    dnl default-val defaults to no.  This will also set the variable ext_shared,
    dnl and will overwrite any previous variable of that name.
    dnl If extension-or-not is yes (default), then do the ENABLE_ALL check and run
    dnl the PHP_ARG_ANALYZE_EX.
    dnl
    AC_DEFUN([PHP_ARG_ENABLE],[
    php_enable_[]translit($1,A-Z0-9-,a-z0-9_)=ifelse($4,,no,$4)
    PHP_REAL_ARG_ENABLE([$1],[$2],[$3],[$4],PHP_[]translit($1,a-z0-9-,A-Z0-9_),[ifelse($5,,yes,$5)])
    ])