@@ -2925,17 +2925,17 @@ dnl providerdesc
2925
2925
dnl header-file
2926
2926
ac_hdrobj=$2
2927
2927
2928
- dnl Add providerdesc.o into global objects when needed
2928
+ dnl Add providerdesc.o or .lo into global objects when needed
2929
2929
case $host_alias in
2930
2930
*freebsd*)
2931
2931
PHP_GLOBAL_OBJS="[ $] PHP_GLOBAL_OBJS [ $] ac_bdir[ $] ac_provsrc.o"
2932
2932
PHP_LDFLAGS="$PHP_LDFLAGS -lelf"
2933
2933
;;
2934
2934
*solaris*)
2935
- PHP_GLOBAL_OBJS="[ $] PHP_GLOBAL_OBJS [ $] ac_bdir[ $] ac_provsrc.o "
2935
+ PHP_GLOBAL_OBJS="[ $] PHP_GLOBAL_OBJS [ $] ac_bdir[ $] ac_provsrc.lo "
2936
2936
;;
2937
2937
*linux*)
2938
- PHP_GLOBAL_OBJS="[ $] PHP_GLOBAL_OBJS [ $] ac_bdir[ $] ac_provsrc.o "
2938
+ PHP_GLOBAL_OBJS="[ $] PHP_GLOBAL_OBJS [ $] ac_bdir[ $] ac_provsrc.lo "
2939
2939
;;
2940
2940
esac
2941
2941
@@ -2969,14 +2969,48 @@ dnl in GNU Make which causes the .d file to be overwritten (Bug 61268)
2969
2969
$abs_srcdir/$ac_provsrc:;
2970
2970
2971
2971
$ac_bdir[ $] ac_hdrobj: $abs_srcdir/$ac_provsrc
2972
- CFLAGS="\$(CFLAGS_CLEAN)" dtrace -h -C -s $ac_srcdir[ $] ac_provsrc -o \$[ ] @.bak && \$(SED) 's,PHP_,DTRACE_,g' \$[ ] @.bak > \$[ ] @
2972
+ CFLAGS="\$(CFLAGS_CLEAN)" dtrace -h -C -s $ac_srcdir[ $] ac_provsrc -o \$[ ] @.bak && \$(SED) -e 's,PHP_,DTRACE_,g' \$[ ] @.bak > \$[ ] @
2973
2973
2974
2974
\$(PHP_DTRACE_OBJS): $ac_bdir[ $] ac_hdrobj
2975
2975
2976
+ EOF
2977
+
2978
+ case $host_alias in
2979
+ *solaris*|*linux*)
2980
+ dtrace_prov_name="`echo $ac_provsrc | $SED -e 's#\(.*\)\/##'`.o"
2981
+ dtrace_lib_dir="`echo $ac_bdir[ $] ac_provsrc | $SED -e 's#\(.*\)/[ ^/] *#\1#'`/.libs"
2982
+ dtrace_d_obj="`echo $ac_bdir[ $] ac_provsrc | $SED -e 's#\(.*\)/\([ ^/] *\)#\1/.libs/\2#'`.o"
2983
+ dtrace_nolib_objs='$(PHP_DTRACE_OBJS:.lo=.o)'
2984
+ for ac_lo in $PHP_DTRACE_OBJS; do
2985
+ dtrace_lib_objs="[ $] dtrace_lib_objs `echo $ac_lo | $SED -e 's,\.lo$,.o,' -e 's#\(.*\)\/#\1\/.libs\/#'`"
2986
+ done;
2987
+ dnl Always attempt to create both PIC and non-PIC DTrace objects (Bug 63692)
2988
+ cat>>Makefile.objects<<EOF
2989
+ $ac_bdir[ $] ac_provsrc.lo: \$(PHP_DTRACE_OBJS)
2990
+ echo "[ #] Generated by Makefile for libtool" > \$[ ] @
2991
+ @test -d "$dtrace_lib_dir" || mkdir $dtrace_lib_dir
2992
+ if 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 [ \\]
2993
+ echo "pic_object=[ '] .libs/$dtrace_prov_name[ '] " >> \$[ ] @ [ ;\\]
2994
+ else [ \\]
2995
+ echo "pic_object='none'" >> \$[ ] @ [ ;\\]
2996
+ fi
2997
+ if 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 [ \\]
2998
+ echo "non_pic_object=[ '] $dtrace_prov_name[ '] " >> \$[ ] @ [ ;\\]
2999
+ else [ \\]
3000
+ echo "non_pic_object='none'" >> \$[ ] @ [ ;\\]
3001
+ fi
3002
+
3003
+ EOF
3004
+
3005
+ ;;
3006
+ *)
3007
+ cat>>Makefile.objects<<EOF
2976
3008
$ac_bdir[ $] ac_provsrc.o: \$(PHP_DTRACE_OBJS)
2977
3009
CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o \$[ ] @ -s $abs_srcdir/$ac_provsrc $dtrace_objs
2978
3010
2979
3011
EOF
3012
+ ;;
3013
+ esac
2980
3014
] )
2981
3015
2982
3016
dnl
0 commit comments