diff options
author | Igor Sysoev <igor@sysoev.ru> | 2008-03-18 10:36:27 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2008-03-18 10:36:27 +0000 |
commit | 85dd8fc5b6f033fadd3c21e058a90d63140ae223 (patch) | |
tree | f4e956b938c5a1b611bc0fd41537db0e2eb5893b /auto | |
parent | 8da1fa935f1402dfb1542aaf534bc983c12be319 (diff) |
ngx_google_perftools_module
Diffstat (limited to 'auto')
-rw-r--r-- | auto/lib/conf | 4 | ||||
-rw-r--r-- | auto/lib/google-perftools/conf | 33 | ||||
-rw-r--r-- | auto/make | 32 | ||||
-rw-r--r-- | auto/modules | 6 | ||||
-rw-r--r-- | auto/options | 6 | ||||
-rw-r--r-- | auto/sources | 4 |
6 files changed, 84 insertions, 1 deletions
diff --git a/auto/lib/conf b/auto/lib/conf index e9610346..6411dabf 100644 --- a/auto/lib/conf +++ b/auto/lib/conf @@ -42,3 +42,7 @@ fi if [ $USE_PERL = YES ]; then . auto/lib/perl/conf fi + +if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then + . auto/lib/google-perftools/conf +fi diff --git a/auto/lib/google-perftools/conf b/auto/lib/google-perftools/conf new file mode 100644 index 00000000..a8987c90 --- /dev/null +++ b/auto/lib/google-perftools/conf @@ -0,0 +1,33 @@ + +# Copyright (C) Igor Sysoev + + + ngx_feature="Google perftools" + ngx_feature_name= + ngx_feature_run=no + ngx_feature_incs= + ngx_feature_path= + ngx_feature_libs="-lprofiler" + ngx_feature_test="ProfilerStop()" + . auto/feature + + +if [ $ngx_found = no ]; then + + # FreeBSD port + + ngx_feature="Google perftools in /usr/local/" + + if [ $NGX_RPATH = YES ]; then + ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lprofiler" + else + ngx_feature_libs="-L/usr/local/lib -lprofiler" + fi + + . auto/feature +fi + + +if [ $ngx_found = yes ]; then + CORE_LIBS="$CORE_LIBS $ngx_feature_libs" +fi @@ -6,7 +6,8 @@ mkdir -p $NGX_OBJS/src/core $NGX_OBJS/src/event $NGX_OBJS/src/event/modules \ $NGX_OBJS/src/os/unix $NGX_OBJS/src/os/win32 \ $NGX_OBJS/src/http $NGX_OBJS/src/http/modules \ $NGX_OBJS/src/http/modules/perl \ - $NGX_OBJS/src/mail + $NGX_OBJS/src/mail \ + $NGX_OBJS/src/misc ngx_objs_dir=$NGX_OBJS$ngx_regex_dirsep @@ -127,6 +128,9 @@ END fi +ngx_all_srcs="$ngx_all_srcs $NGX_MISC_SRCS" + + if test -n "$NGX_ADDON_SRCS"; then cat << END >> $NGX_MAKEFILE @@ -309,6 +313,32 @@ END fi +# the misc sources + +if test -n "$NGX_MISC_SRCS"; then + + ngx_cc="\$(CC) $ngx_compile_opt \$(CFLAGS) $ngx_use_pch \$(ALL_INCS)" + + for ngx_src in $NGX_MISC_SRCS + do + ngx_src=`echo $ngx_src | 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 + +$ngx_obj: \$(CORE_DEPS) $ngx_cont$ngx_src + $ngx_cc$ngx_tab$ngx_objout$ngx_obj$ngx_tab$ngx_src$NGX_AUX + +END + done + +fi + + # the addons sources if test -n "$NGX_ADDON_SRCS"; then diff --git a/auto/modules b/auto/modules index 94bd7fba..cba3768d 100644 --- a/auto/modules +++ b/auto/modules @@ -375,6 +375,12 @@ if [ $MAIL = YES ]; then fi +if [ $NGX_GOOGLE_PERFTOOLS = YES ]; then + modules="$modules $NGX_GOOGLE_PERFTOOLS_MODULE" + NGX_MISC_SRCS="$NGX_MISC_SRCS $NGX_GOOGLE_PERFTOOLS_SRCS" +fi + + cat << END > $NGX_MODULES_C #include <ngx_config.h> diff --git a/auto/options b/auto/options index ac475c9a..65fd360d 100644 --- a/auto/options +++ b/auto/options @@ -115,6 +115,8 @@ ZLIB_ASM=NO USE_PERL=NO NGX_PERL=perl +NGX_GOOGLE_PERFTOOLS=NO + NGX_CPU_CACHE_LINE= @@ -201,6 +203,8 @@ do --without-mail_imap_module) MAIL_IMAP=NO ;; --without-mail_smtp_module) MAIL_SMTP=NO ;; + --with-google_perftools_module) NGX_GOOGLE_PERFTOOLS=YES ;; + --add-module=*) NGX_ADDONS="$NGX_ADDONS $value" ;; --with-cc=*) CC="$value" ;; @@ -317,6 +321,8 @@ cat << END --without-mail_imap_module disable ngx_mail_imap_module --without-mail_smtp_module disable ngx_mail_smtp_module + --with-google_perftools_module enable ngx_google_perftools_module + --add-module=PATH enable an external module --with-cc=PATH set path to C compiler diff --git a/auto/sources b/auto/sources index 9c7311eb..ed78c716 100644 --- a/auto/sources +++ b/auto/sources @@ -460,3 +460,7 @@ MAIL_AUTH_HTTP_SRCS="src/mail/ngx_mail_auth_http_module.c" MAIL_PROXY_MODULE="ngx_mail_proxy_module" MAIL_PROXY_SRCS="src/mail/ngx_mail_proxy_module.c" + +NGX_GOOGLE_PERFTOOLS_MODULE=ngx_google_perftools_module +NGX_GOOGLE_PERFTOOLS_SRCS=src/misc/ngx_google_perftools_module.c + |