Skip to content

Autotools: Remove obsolete config.status invocations #15185

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 2, 2024

Conversation

petk
Copy link
Member

@petk petk commented Jul 31, 2024

This was once added to fix the bug https://bugs.php.net/13561 because the phpize and php-config scripts were located in the pear subdirectory and were installed only when --with-pear option was used. Then in the 20c4328 scripts were moved to scripts subdirectory with this mechanism used in the generated Makefile when running 'make install' command.

Before the AC_CONFIG_FILES was introduced to Autoconf AC_OUTPUT once accepted arguments. This signature is obsolete in current Autoconf versions.

The old obsolete config.status invocation:
CONFIG_FILES=... ./config.status

And the new invocation is (if used with AC_CONFIG_FILES in the code):
./config.status --file=...

Instead, this simply removes the redundant phpize and php-config generation with the old obsolete config.status invocations as these files are always generated in the php-src build context.

This was once added to fix the bug https://bugs.php.net/13561 because
the phpize and php-config scripts were located in the pear subdirectory
and were installed only when --with-pear option was used. Then in the
20c4328 scripts were moved to scripts
subdirectory with this mechanism used in the generated Makefile when
running 'make install' command.

Before the AC_CONFIG_FILES was introduced to Autoconf AC_OUTPUT once
accepted arguments. This signature is obsolete in current Autoconf
versions.

The old obsolete config.status invocation:
  CONFIG_FILES=... ./config.status

And the new invocation is (if used with AC_CONFIG_FILES in the code):
  ./config.status --file=...

Instead, this simply removes the redundant phpize and php-config
generation with the old obsolete config.status invocations as these
files are always generated in the php-src build context.
@petk petk force-pushed the patch-CONFIG_FILES branch from 3d9a2c5 to af9ff51 Compare July 31, 2024 23:26
@petk petk changed the title Autotools: Remove obsole config.status invocations Autotools: Remove obsolete config.status invocations Jul 31, 2024
petk added a commit to petk/php-src that referenced this pull request Jul 31, 2024
This is a follow-up of phpGH-15177
(c96f08a)
and phpGH-15185

The PHP_OUTPUT macro was introduced in the very early phase of the build
system due to AC_OUTPUT handling issues in the old Autoconf versions
before the AC_CONFIG_FILES, AC_CONFIG_COMMANDS etc were introduced with
the AC_OUTPUT signature without arguments. The PHP_OUTPUT was also
helping Makefile.in back then being properly generated based on whether
all files were generated or only some (when using the obsolete
CONFIG_FILES=... ./config.status invocation instead of the new
./config.status --file=...). Another issue is that PHP_OUTPUT can't be
used by extensions when using phpize.

This replaces the PHP_OUTPUT invocations with default AC_CONFIG_FILES.

The obsolete "REDO_ALL" feature at the config.status invocation is also
removed with a simpler unconditional generation.

In phar extension the "ext/phar" is replaced with $ext_dir variable to
be able to use phpize.
@petk
Copy link
Member Author

petk commented Aug 2, 2024

Merge coming up here. I'll recheck it again if I've missed anything...

@petk petk merged commit 9467ffb into php:master Aug 2, 2024
9 of 11 checks passed
@petk petk deleted the patch-CONFIG_FILES branch August 2, 2024 10:35
petk added a commit that referenced this pull request Aug 3, 2024
This is a follow-up of GH-15177
(c96f08a)
and GH-15185
(9467ffb)

The PHP_OUTPUT macro was introduced in the very early phase of the build
system due to AC_OUTPUT handling issues in the old Autoconf versions
before the AC_CONFIG_FILES, AC_CONFIG_COMMANDS etc were introduced with
the AC_OUTPUT signature without arguments. The PHP_OUTPUT was also
helping Makefile.in back then being properly generated based on whether
all files were generated or only some (when using the obsolete
CONFIG_FILES=... ./config.status invocation instead of the new
./config.status --file=...). Another issue is that PHP_OUTPUT can't be
used by extensions when using phpize.

This replaces the PHP_OUTPUT invocations with default AC_CONFIG_FILES.

The obsolete "REDO_ALL" feature at the config.status invocation is also
removed with a simpler unconditional generation.

In phar extension the "ext/phar" is replaced with $ext_dir variable to
be able to use phpize.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant