Skip to content

Fix GH-15381: Autotools: Refactor main/internal_functions commands #15514

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

Closed

Conversation

petk
Copy link
Member

@petk petk commented Aug 21, 2024

This wraps generation of main/internal_functions* files into a separate AC_CONFIG_COMMANDS and uses a SHELL variable instead of sh command. Autoconf sets the SHELL variable to a suitable current shell the configure is running in.

Instead of putting the commands into the 2nd argument the 3rd initialization argument is used like before because it is easier to read and work with variables (AWK, EXT_STATIC and EXT_CLI_STATIC), which would need to be assigned again for the 2nd argument.

This simplifies the configure usage on Solaris 10 C shell and KornShell without issuing errors when executing genif.sh script.

This wraps generation of main/internal_functions* files into a separate
AC_CONFIG_COMMANDS and uses a SHELL variable instead of sh command.
Autoconf sets the SHELL variable to a suitable current shell the
configure is running in.

Instead of putting the commands into the 2nd argument the 3rd
initialization argument is used like before because it is easier to read
and work with variables (AWK, EXT_STATIC and EXT_CLI_STATIC), which
would need to be assigned again for the 2nd argument.

This simplifies the configure usage on Solaris 10 C shell and KornShell
without issuing errors when executing genif.sh script.
@petk
Copy link
Member Author

petk commented Aug 21, 2024

And for the PHP-8.2 and PHP-8.3 branches I'll add this patch:

diff --git a/configure.ac b/configure.ac
index ff96b307d6..4da093e9b1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1819,9 +1819,9 @@ cat >Zend/zend_config.h <<FEO
 FEO
 
 echo "creating main/internal_functions.c"
-AWK="$AWK" sh $srcdir/build/genif.sh $srcdir/main/internal_functions.c.in "$EXT_STATIC" > main/internal_functions.c
+AWK="$AWK" $SHELL $srcdir/build/genif.sh $srcdir/main/internal_functions.c.in "$EXT_STATIC" > main/internal_functions.c
 
 echo "creating main/internal_functions_cli.c"
-AWK="$AWK" sh $srcdir/build/genif.sh $srcdir/main/internal_functions.c.in "$EXT_CLI_STATIC" > main/internal_functions_cli.c
+AWK="$AWK" $SHELL $srcdir/build/genif.sh $srcdir/main/internal_functions.c.in "$EXT_CLI_STATIC" > main/internal_functions_cli.c
 ])
 AC_OUTPUT

petk added a commit that referenced this pull request Aug 21, 2024
Autoconf assigns the current suitable shell to SHELL variable. This
notably fixes cases on Solaris 10 when using C shell or KornShell where
genif.sh: syntax error at line 35 occurs due to using the `sh` command.
petk added a commit that referenced this pull request Aug 21, 2024
* PHP-8.2:
  Fix bug GH-15514 (Configure error: genif.sh: syntax error)
petk added a commit that referenced this pull request Aug 21, 2024
* PHP-8.3:
  Fix bug GH-15514 (Configure error: genif.sh: syntax error)

Autotools: Refactor main/internal_functions commands

This wraps generation of main/internal_functions* files into a separate
AC_CONFIG_COMMANDS and uses a SHELL variable instead of sh command.
Autoconf sets the SHELL variable to a suitable current shell the
configure is running in.

Instead of putting the commands into the 2nd argument the 3rd
initialization argument is used like before because it is easier to read
and work with variables (AWK, EXT_STATIC and EXT_CLI_STATIC), which
would need to be assigned again for the 2nd argument.

This simplifies the configure usage on Solaris 10 C shell and KornShell
without issuing errors when executing genif.sh script.
@petk
Copy link
Member Author

petk commented Aug 21, 2024

Applied to PHP-8.2 and PHP-8.3 branches via 48a18e5

and to master branch (upcoming PHP-8.4) via merge commit together with the refactoring of AC_CONFIG_COMMANDS as that is more appropriate usage now: 602a4ac

@petk petk closed this Aug 21, 2024
@petk petk deleted the patch-AC_CONFIG_COMMANDS-internal-functions branch August 21, 2024 16:23
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