diff options
Diffstat (limited to 'auto')
-rw-r--r-- | auto/cc/gcc | 2 | ||||
-rw-r--r-- | auto/cc/icc | 2 | ||||
-rw-r--r-- | auto/lib/perl/conf | 13 | ||||
-rw-r--r-- | auto/lib/perl/make | 3 | ||||
-rw-r--r-- | auto/make | 25 |
5 files changed, 35 insertions, 10 deletions
diff --git a/auto/cc/gcc b/auto/cc/gcc index 96ea865b8..1b6dbef53 100644 --- a/auto/cc/gcc +++ b/auto/cc/gcc @@ -182,5 +182,3 @@ CFLAGS="$CFLAGS -g" if [ ".$CPP" = "." ]; then CPP="$CC -E" fi - -NGX_PERL_CFLAGS="$CFLAGS" diff --git a/auto/cc/icc b/auto/cc/icc index afcabe6e6..f1f9d3dcf 100644 --- a/auto/cc/icc +++ b/auto/cc/icc @@ -91,6 +91,8 @@ CFLAGS="$CFLAGS -wd269" CFLAGS="$CFLAGS -wd810" # parameter was never referenced CFLAGS="$CFLAGS -wd869" +# attribute "unused" is only allowed in a function definition, warning on pTHX_ +CFLAGS="$CFLAGS -wd1301" # STUB # enumerated type mixed with another type diff --git a/auto/lib/perl/conf b/auto/lib/perl/conf index 9dbc279e4..e01f9b6c3 100644 --- a/auto/lib/perl/conf +++ b/auto/lib/perl/conf @@ -19,9 +19,16 @@ if test -n "$NGX_PERL_VER"; then exit 1; fi - CFLAGS="$CFLAGS `$NGX_PERL -MExtUtils::Embed -e ccopts`" - # gcc 4.1/4.2 - CFLAGS=`echo $CFLAGS | sed -e 's/-Wunused-value/-Wno-unused-value/'` + NGX_PERL_CFLAGS="$CFLAGS `$NGX_PERL -MExtUtils::Embed -e ccopts`" + NGX_PM_CFLAGS=`$NGX_PERL -MExtUtils::Embed -e ccopts` + + # gcc 4.1/4.2 warn about unused values in pTHX_ + NGX_PERL_CFLAGS=`echo $NGX_PERL_CFLAGS \ + | sed -e 's/-Wunused-value/-Wno-unused-value/'` + # icc8 warns 'declaration hides parameter "my_perl"' in ENTER and LEAVE + NGX_PERL_CFLAGS=`echo $NGX_PERL_CFLAGS \ + | sed -e 's/-wd171/-wd171 -wd1599/'` + ngx_perl_ldopts=`$NGX_PERL -MExtUtils::Embed -e ldopts` if $NGX_PERL -V:usemultiplicity | grep define > /dev/null; then diff --git a/auto/lib/perl/make b/auto/lib/perl/make index b7c8cb3bd..73ad12019 100644 --- a/auto/lib/perl/make +++ b/auto/lib/perl/make @@ -24,9 +24,8 @@ $NGX_OBJS/src/http/modules/perl/Makefile: \ cp -p src/http/modules/perl/Makefile.PL $NGX_OBJS/src/http/modules/perl/ cd $NGX_OBJS/src/http/modules/perl \ - && NGX_PERL_CFLAGS="$NGX_PERL_CFLAGS $NGX_CC_OPT" \ + && NGX_PM_CFLAGS="\$(NGX_PM_CFLAGS) -g $NGX_CC_OPT" \ NGX_PCRE=$PCRE \ - NGX_ZLIB=$ZLIB \ NGX_OBJS=$NGX_OBJS \ $NGX_PERL Makefile.PL \ LIB=$NGX_PERL_MODULES @@ -22,6 +22,11 @@ LINK = $LINK END +if test -n "$NGX_PERL_CFLAGS"; then + echo NGX_PERL_CFLAGS = $NGX_PERL_CFLAGS >> $NGX_MAKEFILE + echo NGX_PM_CFLAGS = $NGX_PM_CFLAGS >> $NGX_MAKEFILE +fi + if [ "$BMAKE" = wmake ]; then echo MAKE = wmake >> $NGX_MAKEFILE @@ -238,23 +243,37 @@ if [ $HTTP = YES ]; then ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)" else ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) \$(CORE_INCS) \$(HTTP_INCS)" + ngx_perl_cc="\$(CC) $ngx_compile_opt \$(NGX_PERL_CFLAGS) " + ngx_perl_cc="$ngx_perl_cc \$(CORE_INCS) \$(HTTP_INCS)" fi - for ngx_src in $HTTP_SRCS + for ngx_source in $HTTP_SRCS do - ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"` + ngx_src=`echo $ngx_source | sed -e "s/\//$ngx_regex_dirsep/g"` ngx_obj=`echo $ngx_src \ | sed -e "s#^\(.*\.\)cpp\\$#$ngx_objs_dir\1$ngx_objext#g" \ -e "s#^\(.*\.\)cc\\$#$ngx_objs_dir\1$ngx_objext#g" \ -e "s#^\(.*\.\)c\\$#$ngx_objs_dir\1$ngx_objext#g" \ -e "s#^\(.*\.\)S\\$#$ngx_objs_dir\1$ngx_objext#g"` - cat << END >> $NGX_MAKEFILE + if [ $ngx_source = src/http/modules/perl/ngx_http_perl_module.c ]; then + + cat << END >> $NGX_MAKEFILE + +$ngx_obj: \$(CORE_DEPS) \$(HTTP_DEPS)$ngx_cont$ngx_src + $ngx_perl_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX + +END + else + + cat << END >> $NGX_MAKEFILE $ngx_obj: \$(CORE_DEPS) \$(HTTP_DEPS)$ngx_cont$ngx_src $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX END + + fi done fi |