Autotools: Add PHP_PUSH and PHP_POP #14939
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There is common use case where CPPFLAGS, CFLAGS, LIBS and LDFLAGS variables need to be adjusted during some check test and then must be restored back to their initial values. This adds two new macros PHP_PUSH and PHP_POP that store mentioned variables current values to temporary variables and then after the test restore them back.
This is similar implementation to AX_SAVE_FLAGS, AX_RESTORE_FLAGS, AX_SAVE_FLAGS_WITH_PREFIX and AX_RESTORE_FLAGS_WITH_PREFIX from the Autoconf Archive collection.
Usage:
Instead of doing something like this all the time:
CFLAGS_SAVE=$CFLAGS LIBS_SAVE=$LIBS CFLAGS="$CFLAGS $LIBFOO_CFLAGS" LIBS="$LIBS $LIBFOO_LIBS" dnl Check for some libfoo feature. CFLAGS=$CFLAGS_SAVE LIBS=$LIBS_SAVE
Initial example is added to PHP-FPM SAPI.
Note: This might be also targeted for PHP after 8.4...