<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/php-git.git/buildconf, branch master</title>
<subtitle>git.php.net: repository/php-src.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/'/>
<entry>
<title>Remove build.mk usage</title>
<updated>2019-07-21T09:40:23+00:00</updated>
<author>
<name>Peter Kokot</name>
<email>peterkokot@gmail.com</email>
</author>
<published>2019-07-21T09:40:23+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=ef165b4422f4cef60f963833dddffa26fe1b2759'/>
<id>ef165b4422f4cef60f963833dddffa26fe1b2759</id>
<content type='text'>
First step when creating the `configure` script is currently using
make. This is helpful when developing buildsystem to only rebuild
`configure` and `main/php_config.h.in` files when one of the *.m4
or configure.ac file changes and saves the developer time a little.

Realistically however, it is not needed that much considering the
times of several seconds to fully rebuild the configure script and
configuration header. The next step when running the `configure`
script is much more time consuming so performance on buildconf
level is a bit questionable and won't be noticed on today's
systems.

Additionally:
- buildconf now removes cache and all targets and uses -f option on
  the first step i.e. autoconf. The autoheader does not need the -f
  option in this case.

Closes GH-4437
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
First step when creating the `configure` script is currently using
make. This is helpful when developing buildsystem to only rebuild
`configure` and `main/php_config.h.in` files when one of the *.m4
or configure.ac file changes and saves the developer time a little.

Realistically however, it is not needed that much considering the
times of several seconds to fully rebuild the configure script and
configuration header. The next step when running the `configure`
script is much more time consuming so performance on buildconf
level is a bit questionable and won't be noticed on today's
systems.

Additionally:
- buildconf now removes cache and all targets and uses -f option on
  the first step i.e. autoconf. The autoheader does not need the -f
  option in this case.

Closes GH-4437
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify checking of *nix build tools</title>
<updated>2019-04-28T23:30:27+00:00</updated>
<author>
<name>Peter Kokot</name>
<email>peterkokot@gmail.com</email>
</author>
<published>2019-04-27T15:21:56+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=c79eb107a0f5f4de085b50df5990842bc8202325'/>
<id>c79eb107a0f5f4de085b50df5990842bc8202325</id>
<content type='text'>
The buildmk.stamp file has been created by the *nix build checking step
to run the check step only once. Instead of poluting the project root
directory, the stamp file can be also omitted. Performance difference is
very minimal to not justify having the stamp check at all today anymore.

This patch integrates the buildcheck.sh to buildconf script directly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The buildmk.stamp file has been created by the *nix build checking step
to run the check step only once. Instead of poluting the project root
directory, the stamp file can be also omitted. Performance difference is
very minimal to not justify having the stamp check at all today anymore.

This patch integrates the buildcheck.sh to buildconf script directly.
</pre>
</div>
</content>
</entry>
<entry>
<title>Enhance the buildconf force option</title>
<updated>2019-04-28T19:15:54+00:00</updated>
<author>
<name>Peter Kokot</name>
<email>peterkokot@gmail.com</email>
</author>
<published>2019-04-28T19:15:54+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=76df951eb5a1f84956ffafebf6f88768d63623d8'/>
<id>76df951eb5a1f84956ffafebf6f88768d63623d8</id>
<content type='text'>
The force option used to only remove the Autoconf cache files. Now it
also removes entire configure file so the configure file always gets
rebuilt when needs be done.

Additionally, the buildconf now also accepts the shorter version of the
force option:
  buildconf -f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The force option used to only remove the Autoconf cache files. Now it
also removes entire configure file so the configure file always gets
rebuilt when needs be done.

Additionally, the buildconf now also accepts the shorter version of the
force option:
  buildconf -f
</pre>
</div>
</content>
</entry>
<entry>
<title>Move acinclude.m4 to build/php.m4</title>
<updated>2019-04-23T18:28:45+00:00</updated>
<author>
<name>Peter Kokot</name>
<email>peterkokot@gmail.com</email>
</author>
<published>2019-03-12T23:25:07+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=4e7064d173d2b5b22e159fcf52d22b10213b67b8'/>
<id>4e7064d173d2b5b22e159fcf52d22b10213b67b8</id>
<content type='text'>
The acinclude.m4 file is in a usual Autotools build processed with
Automake's aclocal tool. Since PHP currently doesn't use Automake and
aclocal this file can be moved into the build directory. PHP build
system currently generates a combined aclocal.m4 file that Autoconf
can processes automatically.

However, a newer practice is writing all local macros in separate
dedicated files prefixed with package name, in PHP's case PHP_MACRO_NAME
and putting them in a common `m4` directory. PHP uses currently `build`
directory for this purpose.

Name `php.m4` probably most resembles such file for PHP's case.

PHP manually created the aclocal.m4 file from acinclude.m4 and
build/libtool.m4. Which is also not a particularly good practice [1], so
this patch also removes the generated alocal.m4 usage and uses
m4_include() calls manually in the configure.ac and phpize.m4 files
manually.

- sort order is not important but can be alphabetical
- list of *.m4 files prerequisites for configure script generation
  updated
- Moving m4_include() before AC_INIT also removes all comments starting
  with hash character (`#`) in the included files.

[1] https://autotools.io/autoconf/macros.html
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The acinclude.m4 file is in a usual Autotools build processed with
Automake's aclocal tool. Since PHP currently doesn't use Automake and
aclocal this file can be moved into the build directory. PHP build
system currently generates a combined aclocal.m4 file that Autoconf
can processes automatically.

However, a newer practice is writing all local macros in separate
dedicated files prefixed with package name, in PHP's case PHP_MACRO_NAME
and putting them in a common `m4` directory. PHP uses currently `build`
directory for this purpose.

Name `php.m4` probably most resembles such file for PHP's case.

PHP manually created the aclocal.m4 file from acinclude.m4 and
build/libtool.m4. Which is also not a particularly good practice [1], so
this patch also removes the generated alocal.m4 usage and uses
m4_include() calls manually in the configure.ac and phpize.m4 files
manually.

- sort order is not important but can be alphabetical
- list of *.m4 files prerequisites for configure script generation
  updated
- Moving m4_include() before AC_INIT also removes all comments starting
  with hash character (`#`) in the included files.

[1] https://autotools.io/autoconf/macros.html
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor Zend/acinclude.m4 local macro</title>
<updated>2019-04-21T13:53:19+00:00</updated>
<author>
<name>Peter Kokot</name>
<email>peterkokot@gmail.com</email>
</author>
<published>2019-04-20T22:21:14+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=b1d3509e8c22f1ae12b6462e7732baddedde9bdd'/>
<id>b1d3509e8c22f1ae12b6462e7732baddedde9bdd</id>
<content type='text'>
There is now only a single M4 macro in the legacy acinclude.m4 file. A
separate acinclude file was once used with a standalone Zend engine
building but with current build system this can be simplified a bit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There is now only a single M4 macro in the legacy acinclude.m4 file. A
separate acinclude file was once used with a standalone Zend engine
building but with current build system this can be simplified a bit.
</pre>
</div>
</content>
</entry>
<entry>
<title>Join build makefiles together</title>
<updated>2019-04-17T19:52:58+00:00</updated>
<author>
<name>Peter Kokot</name>
<email>peterkokot@gmail.com</email>
</author>
<published>2019-04-16T22:09:36+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=02c1f3293ea2f5ef2d712c93cad3964e382e4fb0'/>
<id>02c1f3293ea2f5ef2d712c93cad3964e382e4fb0</id>
<content type='text'>
Changes:
- Joins build/build.mk and build/build2.mk files together since there
  isn't any practical reason for having two different files with the
  current build system.
- Makefile is now more portable. All special syntaxes are omitted, for
  example, a conditional assignment operators `?=`. This makes buildconf
  more useful on Solaris make derivative, so there is no longer need to
  override make with gmake: `MAKE=gmake ./buildconf`.
- Suppressing autoconf and autoheader warnings is not needed anymore
  with current build system. Instead, the option `-Wall` has been used
  when running `./buildconf --debug` to get more useful debug info
  about current M4.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Changes:
- Joins build/build.mk and build/build2.mk files together since there
  isn't any practical reason for having two different files with the
  current build system.
- Makefile is now more portable. All special syntaxes are omitted, for
  example, a conditional assignment operators `?=`. This makes buildconf
  more useful on Solaris make derivative, so there is no longer need to
  override make with gmake: `MAKE=gmake ./buildconf`.
- Suppressing autoconf and autoheader warnings is not needed anymore
  with current build system. Instead, the option `-Wall` has been used
  when running `./buildconf --debug` to get more useful debug info
  about current M4.
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify generated_lists generation</title>
<updated>2019-04-16T15:25:08+00:00</updated>
<author>
<name>Peter Kokot</name>
<email>peterkokot@gmail.com</email>
</author>
<published>2019-04-13T13:53:20+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=b09fa9ed530df47bff03b151931fa4464a388d35'/>
<id>b09fa9ed530df47bff03b151931fa4464a388d35</id>
<content type='text'>
The `generated_lists` file is generated as a helper for build related
Makefile to include a list of *.m4 files prerequisites. When some of
these *.m4 files change, the configure script is regenerated when
buildconf is run. This can be simplified using dynamic environment
variable passed to the Makefile directly so it avoids another file from
being generated in the project root directory and shipping it with the
PHP release or creating a dedicated gitignore rule.

This is portable across all POSIX compatible makes So this patch
includes GNU Make, and everybody elses' make derivative support.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The `generated_lists` file is generated as a helper for build related
Makefile to include a list of *.m4 files prerequisites. When some of
these *.m4 files change, the configure script is regenerated when
buildconf is run. This can be simplified using dynamic environment
variable passed to the Makefile directly so it avoids another file from
being generated in the project root directory and shipping it with the
PHP release or creating a dedicated gitignore rule.

This is portable across all POSIX compatible makes So this patch
includes GNU Make, and everybody elses' make derivative support.
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor AC_INIT in configure.ac and PHP versions</title>
<updated>2019-04-07T03:52:14+00:00</updated>
<author>
<name>Peter Kokot</name>
<email>peterkokot@gmail.com</email>
</author>
<published>2019-03-19T22:49:26+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=afd52f9d9986d92dd0c63832a07ab1a16bf11d53'/>
<id>afd52f9d9986d92dd0c63832a07ab1a16bf11d53</id>
<content type='text'>
Since Autoconf 2.53 the AC_INIT call with only a single argument has
been made obsolete and now includes several other optional arguments to
make installation experience a bit better by providing program version
and links to the project in the `./configure -h` output. This patch also
updates win build version. The phpize.m4 AC_INIT has been updated with
the call without arguments.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since Autoconf 2.53 the AC_INIT call with only a single argument has
been made obsolete and now includes several other optional arguments to
make installation experience a bit better by providing program version
and links to the project in the `./configure -h` output. This patch also
updates win build version. The phpize.m4 AC_INIT has been updated with
the call without arguments.
</pre>
</div>
</content>
</entry>
<entry>
<title>Enhance the buildconf script</title>
<updated>2019-03-16T22:43:25+00:00</updated>
<author>
<name>Peter Kokot</name>
<email>peterkokot@gmail.com</email>
</author>
<published>2019-02-16T19:29:42+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=78ab79b9164420679da7aba1f7195335d656afda'/>
<id>78ab79b9164420679da7aba1f7195335d656afda</id>
<content type='text'>
Changes:
- Added a short introduction what this script does
- Added usually the expected -h and --help options with explanation
  for a reason for this script and its usage.
- Messages changed a bit so the PHP installation procedure becomes
  simpler without needing to constantly remind the reader what to run
  and what not in the documentations and installation instructions.
- cd into current working directory of the buildconf (this enables
  running the script from other locations and inside other scripts).
- check if make exists
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Changes:
- Added a short introduction what this script does
- Added usually the expected -h and --help options with explanation
  for a reason for this script and its usage.
- Messages changed a bit so the PHP installation procedure becomes
  simpler without needing to constantly remind the reader what to run
  and what not in the documentations and installation instructions.
- cd into current working directory of the buildconf (this enables
  running the script from other locations and inside other scripts).
- check if make exists
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'PHP-7.2' into PHP-7.3</title>
<updated>2018-10-20T07:54:00+00:00</updated>
<author>
<name>Peter Kokot</name>
<email>peterkokot@gmail.com</email>
</author>
<published>2018-10-20T07:54:00+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/php-git.git/commit/?id=b7cef2b008f3d02e345b2ddf45fa322047ee9367'/>
<id>b7cef2b008f3d02e345b2ddf45fa322047ee9367</id>
<content type='text'>
* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
  Fix #77041: buildconf should output error messages to stderr
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
  Fix #77041: buildconf should output error messages to stderr
</pre>
</div>
</content>
</entry>
</feed>
