From 0ae3021f17ff8069aa29c22ba472e906197cc648 Mon Sep 17 00:00:00 2001 From: Peter Kokot Date: Wed, 2 Aug 2023 01:12:51 +0200 Subject: [PATCH] Set DTrace preprocessor via the DTRACE_CPP variable The way DTrace generates files depend on the given preprocessor. Without passing the CPP environment variable dtrace Python script uses the cpp by default. For systems where the CPP is set to something else, the generated files won't be created the same way, so instead the DTrace preprocessor can be overriden manually with the new DTRACE_CPP variable. For example: ./configure DTRACE_CPP="gcc -E -xc" --enable-dtrace Fixes GH-11847 --- build/php.m4 | 8 ++++---- configure.ac | 3 +++ ext/oci8/config.m4 | 8 ++++---- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/build/php.m4 b/build/php.m4 index 921a78eb78e3..83e6aa9a85f4 100644 --- a/build/php.m4 +++ b/build/php.m4 @@ -2389,7 +2389,7 @@ dnl overwritten (Bug 61268). $abs_srcdir/$ac_provsrc:; $ac_bdir[$]ac_hdrobj: $abs_srcdir/$ac_provsrc - CPP="\$(CPP)" CC="\$(CC)" CFLAGS="\$(CFLAGS_CLEAN)" dtrace -h -C -s $ac_srcdir[$]ac_provsrc -o \$[]@.bak && \$(SED) -e 's,PHP_,DTRACE_,g' \$[]@.bak > \$[]@ + CC="\$(CC)" $DTRACE_CPP CFLAGS="\$(CFLAGS_CLEAN)" dtrace -h -C -s $ac_srcdir[$]ac_provsrc -o \$[]@.bak && \$(SED) -e 's,PHP_,DTRACE_,g' \$[]@.bak > \$[]@ \$(PHP_DTRACE_OBJS): $ac_bdir[$]ac_hdrobj @@ -2409,12 +2409,12 @@ EOF $ac_bdir[$]ac_provsrc.lo: \$(PHP_DTRACE_OBJS) echo "[#] Generated by Makefile for libtool" > \$[]@ @test -d "$dtrace_lib_dir" || mkdir $dtrace_lib_dir - if CPP="\$(CPP)" CC="\$(CC)" CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o $dtrace_d_obj -s $abs_srcdir/$ac_provsrc $dtrace_lib_objs 2> /dev/null && test -f "$dtrace_d_obj"; then [\\] + if CC="\$(CC)" $DTRACE_CPP CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o $dtrace_d_obj -s $abs_srcdir/$ac_provsrc $dtrace_lib_objs 2> /dev/null && test -f "$dtrace_d_obj"; then [\\] echo "pic_object=['].libs/$dtrace_prov_name[']" >> \$[]@ [;\\] else [\\] echo "pic_object='none'" >> \$[]@ [;\\] fi - if CPP="\$(CPP)" CC="\$(CC)" CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o $ac_bdir[$]ac_provsrc.o -s $abs_srcdir/$ac_provsrc $dtrace_nolib_objs 2> /dev/null && test -f "$ac_bdir[$]ac_provsrc.o"; then [\\] + if CC="\$(CC)" $DTRACE_CPP CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o $ac_bdir[$]ac_provsrc.o -s $abs_srcdir/$ac_provsrc $dtrace_nolib_objs 2> /dev/null && test -f "$ac_bdir[$]ac_provsrc.o"; then [\\] echo "non_pic_object=[']$dtrace_prov_name[']" >> \$[]@ [;\\] else [\\] echo "non_pic_object='none'" >> \$[]@ [;\\] @@ -2426,7 +2426,7 @@ EOF *) cat>>Makefile.objects< \$[]@ + CC="\$(CC)" $DTRACE_CPP CFLAGS="\$(CFLAGS_CLEAN)" dtrace -h -C -s $ac_srcdir[$]ac_provsrc -o \$[]@.bak && \$(SED) -e 's,PHPOCI_,DTRACE_,g' \$[]@.bak > \$[]@ \$(OCI8_DTRACE_OBJS): $ac_bdir[$]ac_hdrobj @@ -145,12 +145,12 @@ EOF $ac_bdir[$]ac_provsrc.lo: \$(OCI8_DTRACE_OBJS) echo "[#] Generated by Makefile for libtool" > \$[]@ @test -d "$dtrace_lib_dir" || mkdir $dtrace_lib_dir - if CPP="\$(CPP)" CC="\$(CC)" CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o $dtrace_d_obj -s $ac_srcdir[$]ac_provsrc $dtrace_oci8_lib_objs 2> /dev/null && test -f "$dtrace_d_obj"; then [\\] + if CC="\$(CC)" $DTRACE_CPP CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o $dtrace_d_obj -s $ac_srcdir[$]ac_provsrc $dtrace_oci8_lib_objs 2> /dev/null && test -f "$dtrace_d_obj"; then [\\] echo "pic_object=['].libs/$dtrace_prov_name[']" >> \$[]@ [;\\] else [\\] echo "pic_object='none'" >> \$[]@ [;\\] fi - if CPP="\$(CPP)" CC="\$(CC)" CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o $ac_bdir[$]ac_provsrc.o -s $ac_srcdir[$]ac_provsrc $dtrace_nolib_objs 2> /dev/null && test -f "$ac_bdir[$]ac_provsrc.o"; then [\\] + if CC="\$(CC)" $DTRACE_CPP CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o $ac_bdir[$]ac_provsrc.o -s $ac_srcdir[$]ac_provsrc $dtrace_nolib_objs 2> /dev/null && test -f "$ac_bdir[$]ac_provsrc.o"; then [\\] echo "non_pic_object=[']$dtrace_prov_name[']" >> \$[]@ [;\\] else [\\] echo "non_pic_object='none'" >> \$[]@ [;\\] @@ -162,7 +162,7 @@ EOF AC_MSG_WARN([OCI8 extension: OCI8 DTrace support is not confirmed on this platform]) cat>>Makefile.objects<