root/trunk/apache22/apache-2.2.x-probes-p1.patch
| Revision 3, 25.2 kB (checked in by jesus, 8 months ago) |
|---|
-
Makefile.in
old new 2 2 SUBDIRS = srclib os server modules support 3 3 CLEAN_SUBDIRS = test 4 4 5 MPM_LIB = $(MPM_LIB:.la=.o) 6 PROGRAM_DEPENDENCIES_O = $(PROGRAM_DEPENDENCIES:.la=.o) 7 PROGRAM_DEPENDENCIES_OBJECTS = $(PROGRAM_DEPENDENCIES:.la=.objects) 8 5 9 PROGRAM_NAME = $(progname) 6 10 PROGRAM_SOURCES = modules.c 7 PROGRAM_LDADD = buildmark.o $(HTTPD_LDFLAGS) $(PROGRAM_DEPENDENCIES) $(EXTRA_LIBS) $(AP_LIBS) $(LIBS) 8 PROGRAM_PRELINK = $(COMPILE) -c $(top_srcdir)/server/buildmark.c 11 PROGRAM_LDADD = buildmark.o $(HTTPD_LDFLAGS) `cat $(PROGRAM_DEPENDENCIES_OBJECTS)` \ 12 `test -f probes.o && echo probes.o` $(EXTRA_LIBS) $(AP_LIBS) $(LIBS) \ 13 `./libtool-dep-extract $(PROGRAM_DEPENDENCIES)` 14 PROGRAM_PRELINK = $(COMPILE) -c $(top_srcdir)/server/buildmark.c && \ 15 $(DTRACE) $(DTRACEFLAGS) -G -s apache_probes.d -o probes.o \ 16 .libs/modules.o buildmark.o `cat $(PROGRAM_DEPENDENCIES_OBJECTS)` 17 9 18 PROGRAM_DEPENDENCIES = \ 10 19 server/libmain.la \ 11 20 $(BUILTIN_LIBS) \ … … 16 25 TARGETS = $(PROGRAMS) $(shared_build) $(other_targets) 17 26 INSTALL_TARGETS = install-conf install-htdocs install-error install-icons \ 18 27 install-other install-cgi install-include install-suexec install-build \ 19 install-man 28 install-man install-dtrace 20 29 21 30 DISTCLEAN_TARGETS = include/ap_config_auto.h include/ap_config_layout.h \ 22 31 modules.c config.cache config.log config.status build/config_vars.mk \ … … 28 37 include $(top_builddir)/build/rules.mk 29 38 include $(top_srcdir)/build/program.mk 30 39 40 install-dtrace: 41 @echo Installing DTrace library 42 @$(MKINSTALLDIRS) $(DESTDIR)/usr/lib/dtrace 43 @chown root:sys $(DESTDIR)/usr 44 @chown -R root:bin $(DESTDIR)/usr/lib 45 @chmod -R 0755 $(DESTDIR)/usr 46 @cp $(top_srcdir)/ap.d $(DESTDIR)/usr/lib/dtrace 47 @chown root:bin $(DESTDIR)/usr/lib/dtrace/ap.d 48 @chmod 0644 $(DESTDIR)/usr/lib/dtrace/ap.d 49 31 50 install-conf: 32 51 @echo Installing configuration files 33 52 @$(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(sysconfdir)/extra -
libtool-dep-extract
old new 1 #!/bin/sh 2 3 for i in $* 4 do 5 sh -c ". $i; "'echo $dependency_libs' 6 done -
ap.d
old new 1 #pragma D depends_on provider io 2 typedef struct request_rec { 3 uintptr_t pool; 4 uintptr_t connection; 5 uintptr_t server; 6 uintptr_t next; 7 uintptr_t prev; 8 uintptr_t main; 9 char *the_request; 10 int assbackwards; 11 int proxyreq; 12 int header_only; 13 char *protocol; 14 int proto_num; 15 char *hostname; 16 int64_t request_time; 17 char *status_line; 18 int status; 19 const char *method; 20 int method_number; 21 int64_t allowed; 22 uintptr_t allowed_xmethods; 23 uintptr_t allowed_methods; 24 offset_t sent_bodyct; 25 offset_t bytes_sent; 26 int64_t mtime; 27 int chunked; 28 char *range; 29 offset_t clength; 30 offset_t remaining; 31 offset_t read_length; 32 int read_body; 33 int read_chunked; 34 unsigned expecting_100; 35 uintptr_t headers_in; 36 uintptr_t headers_out; 37 uintptr_t err_headers_out; 38 uintptr_t subprocess_env; 39 uintptr_t notes; 40 char *content_type; /* Break these out --- we dispatch on 'em */ 41 char *handler; /* What we *really* dispatch on */ 42 char *content_encoding; 43 uintptr_t content_languages; 44 char *vlist_validator; 45 char *user; 46 char *ap_auth_type; 47 int no_cache; 48 int no_local_copy; 49 char *unparsed_uri; 50 char *uri; 51 char *filename; 52 char *canonical_filename; 53 char *path_info; 54 char *args; 55 /* finfo */ 56 uintptr_t finfo_pool; 57 int32_t finfo_valid; 58 int32_t finfo_protection; 59 int32_t finfo_filetype; 60 int finfo_user; 61 int finfo_group; 62 uint64_t finfo_inode; 63 uint64_t finfo_device; 64 int32_t finfo_nlink; 65 offset_t finfo_size; 66 offset_t finfo_csize; 67 int64_t finfo_atime; 68 int64_t finfo_mtime; 69 int64_t finfo_ctime; 70 char *finfo_fname; 71 char *finfo_name; 72 uintptr_t finfo_ffilehand; 73 /* parsed_uri */ 74 char *uri_scheme; 75 char *uri_hostinfo; 76 char *uri_user; 77 char *uri_password; 78 char *uri_hostname; 79 char *uri_port_str; 80 char *uri_path; 81 char *uri_query; 82 char *uri_fragment; 83 uintptr_t uri_hostent; 84 uint16_t uri_port; 85 unsigned uri_is_initialized:1; 86 unsigned uri_dns_looked_up:1; 87 unsigned uri_dns_resolved:1; 88 89 /* back to request_rec */ 90 int used_path_info; 91 uintptr_t per_dir_config; 92 uintptr_t request_config; 93 uintptr_t htaccess; 94 uintptr_t output_filters; 95 uintptr_t input_filters; 96 uintptr_t proto_output_filters; 97 uintptr_t proto_input_filters; 98 int eos_sent; 99 } request_rec; 100 -
server/Makefile.in
old new 61 61 for dir in $(EXPORT_DIRS_APR); do \ 62 62 (ls $$dir/ap[ru].h $$dir/ap[ru]_*.h >> $$tmp 2>/dev/null); \ 63 63 done; \ 64 sort -u $$tmp > $@; \64 sort -u $$tmp | grep -v apache_probes.h > $@; \ 65 65 rm -f $$tmp 66 66 67 67 exports.c: export_files -
server/protocol.c
old new 844 844 apr_socket_t *csd; 845 845 apr_interval_time_t cur_timeout; 846 846 847 847 848 apr_pool_create(&p, conn->pool); 848 849 apr_pool_tag(p, "request"); 849 850 r = apr_pcalloc(p, sizeof(request_rec)); 851 AP_READ_REQUEST_ENTRY((intptr_t)r, (uintptr_t)conn); 850 852 r->pool = p; 851 853 r->connection = conn; 852 854 r->server = conn->base_server; … … 896 898 ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r); 897 899 ap_run_log_transaction(r); 898 900 apr_brigade_destroy(tmp_bb); 899 return r;901 goto traceout; 900 902 } 901 903 902 904 apr_brigade_destroy(tmp_bb); 903 return NULL; 905 r = NULL; 906 goto traceout; 904 907 } 905 908 906 909 /* We may have been in keep_alive_timeout mode, so toggle back … … 923 926 ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r); 924 927 ap_run_log_transaction(r); 925 928 apr_brigade_destroy(tmp_bb); 926 return r;929 goto traceout; 927 930 } 928 931 929 932 if (apr_table_get(r->headers_in, "Transfer-Encoding") … … 951 954 ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r); 952 955 ap_run_log_transaction(r); 953 956 apr_brigade_destroy(tmp_bb); 954 return r;957 goto traceout; 955 958 } 956 959 } 957 960 … … 1005 1008 ap_send_error_response(r, 0); 1006 1009 ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r); 1007 1010 ap_run_log_transaction(r); 1008 return r;1011 goto traceout; 1009 1012 } 1010 1013 1011 1014 if ((access_status = ap_run_post_read_request(r))) { 1012 1015 ap_die(access_status, r); 1013 1016 ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r); 1014 1017 ap_run_log_transaction(r); 1015 return NULL; 1018 r = NULL; 1019 goto traceout; 1016 1020 } 1017 1021 1018 1022 if (((expect = apr_table_get(r->headers_in, "Expect")) != NULL) … … 1034 1038 ap_send_error_response(r, 0); 1035 1039 ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r); 1036 1040 ap_run_log_transaction(r); 1037 return r;1041 goto traceout; 1038 1042 } 1039 1043 } 1040 1044 1045 AP_READ_REQUEST_SUCCESS((uintptr_t)r, (char *)r->method, (char *)r->uri, (char *)r->server->defn_name, r->status); 1041 1046 return r; 1047 traceout: 1048 AP_READ_REQUEST_FAILURE((uintptr_t)r); 1049 return r; 1042 1050 } 1043 1051 1044 1052 /* if a request with a body creates a subrequest, clone the original request's -
modules/http/http_request.c
old new 249 249 * Use this hook with extreme care and only if you know what you are 250 250 * doing. 251 251 */ 252 AP_PROCESS_REQUEST_ENTRY((uintptr_t)r, r->uri); 252 253 if (ap_extended_status) 253 254 ap_time_process_request(r->connection->sbh, START_PREQUEST); 254 255 access_status = ap_run_quick_handler(r, 0); /* Not a look-up request */ … … 284 285 ap_run_log_transaction(r); 285 286 if (ap_extended_status) 286 287 ap_time_process_request(r->connection->sbh, STOP_PREQUEST); 288 289 AP_PROCESS_REQUEST_RETURN((uintptr_t)r, r->uri, access_status); 287 290 } 288 291 289 292 static apr_table_t *rename_original_env(apr_pool_t *p, apr_table_t *t) … … 465 468 request_rec *new = internal_internal_redirect(new_uri, r); 466 469 int access_status; 467 470 471 AP_INTERNAL_REDIRECT(r->uri, new_uri); 472 468 473 /* ap_die was already called, if an error occured */ 469 474 if (!new) { 470 475 return; -
modules/proxy/mod_proxy.c
old new 849 849 ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server, 850 850 "Running scheme %s handler (attempt %d)", 851 851 scheme, attempts); 852 AP_PROXY_RUN(r, worker, conf, url, attempts); 852 853 access_status = proxy_run_scheme_handler(r, worker, conf, 853 854 url, NULL, 0); 854 855 if (access_status == OK) … … 902 903 } 903 904 904 905 proxy_run_request_status(&access_status, r); 906 AP_PROXY_RUN_FINISHED(r, attempts, access_status); 905 907 906 908 return access_status; 907 909 } -
modules/mappers/mod_rewrite.c
old new 478 478 479 479 conf = ap_get_module_config(r->server->module_config, &rewrite_module); 480 480 481 if (!conf->rewritelogfp || level > conf->rewriteloglevel) { 481 if ((!conf->rewritelogfp || level > conf->rewriteloglevel) && 482 !AP_REWRITE_LOG_ENABLED()) { 482 483 return; 483 484 } 484 485 … … 512 513 perdir ? "] ": "", 513 514 text); 514 515 516 AP_REWRITE_LOG((uintptr_t)r, level, r->main ? 0 : 1, (char *)ap_get_server_name(r), logline); 517 518 if (!conf->rewritelogfp || level > conf->rewriteloglevel) 519 return; 520 515 521 rv = apr_global_mutex_lock(rewrite_log_lock); 516 522 if (rv != APR_SUCCESS) { 517 523 ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, -
apache_probes.d
old new 1 provider ap { 2 /* Explicit, core */ 3 probe internal__redirect(char *, char *); 4 probe process__request__entry(uintptr_t, char *); 5 probe process__request__return(uintptr_t, char *, uint32_t); 6 probe read__request__entry(uintptr_t, uintptr_t); 7 probe read__request__success(uintptr_t, char *, char *, char *, uint32_t); 8 probe read__request__failure(uintptr_t); 9 10 /* Explicit, modules */ 11 probe rewrite__log(uintptr_t, int, int, char *, char *); 12 probe proxy__run(uintptr_t); 13 probe proxy__run__finished(uintptr_t); 14 15 /* Implicit, APR hooks */ 16 probe translate_name__entry(); 17 probe translate_name__dispatch__invoke(char *); 18 probe translate_name__dispatch__complete(char *, uint32_t); 19 probe translate_name__return(uint32_t); 20 probe map_to_storage__entry(); 21 probe map_to_storage__dispatch__invoke(char *); 22 probe map_to_storage__dispatch__complete(char *, uint32_t); 23 probe map_to_storage__return(uint32_t); 24 probe check_user_id__entry(); 25 probe check_user_id__dispatch__invoke(char *); 26 probe check_user_id__dispatch__complete(char *, uint32_t); 27 probe check_user_id__return(uint32_t); 28 probe fixups__entry(); 29 probe fixups__dispatch__invoke(char *); 30 probe fixups__dispatch__complete(char *, uint32_t); 31 probe fixups__return(uint32_t); 32 probe type_checker__entry(); 33 probe type_checker__dispatch__invoke(char *); 34 probe type_checker__dispatch__complete(char *, uint32_t); 35 probe type_checker__return(uint32_t); 36 probe access_checker__entry(); 37 probe access_checker__dispatch__invoke(char *); 38 probe access_checker__dispatch__complete(char *, uint32_t); 39 probe access_checker__return(uint32_t); 40 probe auth_checker__entry(); 41 probe auth_checker__dispatch__invoke(char *); 42 probe auth_checker__dispatch__complete(char *, uint32_t); 43 probe auth_checker__return(uint32_t); 44 probe insert_filter__entry(); 45 probe insert_filter__dispatch__invoke(char *); 46 probe insert_filter__dispatch__complete(char *, uint32_t); 47 probe insert_filter__return(uint32_t); 48 probe create_connection__entry(); 49 probe create_connection__dispatch__invoke(char *); 50 probe create_connection__dispatch__complete(char *, uint32_t); 51 probe create_connection__return(uint32_t); 52 probe pre_connection__entry(); 53 probe pre_connection__dispatch__invoke(char *); 54 probe pre_connection__dispatch__complete(char *, uint32_t); 55 probe pre_connection__return(uint32_t); 56 probe process_connection__entry(); 57 probe process_connection__dispatch__invoke(char *); 58 probe process_connection__dispatch__complete(char *, uint32_t); 59 probe process_connection__return(uint32_t); 60 probe create_request__entry(); 61 probe create_request__dispatch__invoke(char *); 62 probe create_request__dispatch__complete(char *, uint32_t); 63 probe create_request__return(uint32_t); 64 probe header_parser__entry(); 65 probe header_parser__dispatch__invoke(char *); 66 probe header_parser__dispatch__complete(char *, uint32_t); 67 probe header_parser__return(uint32_t); 68 probe pre_config__entry(); 69 probe pre_config__dispatch__invoke(char *); 70 probe pre_config__dispatch__complete(char *, uint32_t); 71 probe pre_config__return(uint32_t); 72 probe test_config__entry(); 73 probe test_config__dispatch__invoke(char *); 74 probe test_config__dispatch__complete(char *, uint32_t); 75 probe test_config__return(uint32_t); 76 probe post_config__entry(); 77 probe post_config__dispatch__invoke(char *); 78 probe post_config__dispatch__complete(char *, uint32_t); 79 probe post_config__return(uint32_t); 80 probe open_logs__entry(); 81 probe open_logs__dispatch__invoke(char *); 82 probe open_logs__dispatch__complete(char *, uint32_t); 83 probe open_logs__return(uint32_t); 84 probe child_init__entry(); 85 probe child_init__dispatch__invoke(char *); 86 probe child_init__dispatch__complete(char *, uint32_t); 87 probe child_init__return(uint32_t); 88 probe handler__entry(); 89 probe handler__dispatch__invoke(char *); 90 probe handler__dispatch__complete(char *, uint32_t); 91 probe handler__return(uint32_t); 92 probe quick_handler__entry(); 93 probe quick_handler__dispatch__invoke(char *); 94 probe quick_handler__dispatch__complete(char *, uint32_t); 95 probe quick_handler__return(uint32_t); 96 probe optional_fn_retrieve__entry(); 97 probe optional_fn_retrieve__dispatch__invoke(char *); 98 probe optional_fn_retrieve__dispatch__complete(char *, uint32_t); 99 probe optional_fn_retrieve__return(uint32_t); 100 probe get_mgmt_items__entry(); 101 probe get_mgmt_items__dispatch__invoke(char *); 102 probe get_mgmt_items__dispatch__complete(char *, uint32_t); 103 probe get_mgmt_items__return(uint32_t); 104 probe pre_mpm__entry(); 105 probe pre_mpm__dispatch__invoke(char *); 106 probe pre_mpm__dispatch__complete(char *, uint32_t); 107 probe pre_mpm__return(uint32_t); 108 probe default_port__entry(); 109 probe default_port__dispatch__invoke(char *); 110 probe default_port__dispatch__complete(char *, uint32_t); 111 probe default_port__return(uint32_t); 112 probe http_scheme__entry(); 113 probe http_scheme__dispatch__invoke(char *); 114 probe http_scheme__dispatch__complete(char *, uint32_t); 115 probe http_scheme__return(uint32_t); 116 probe error_log__entry(); 117 probe error_log__dispatch__invoke(char *); 118 probe error_log__dispatch__complete(char *, uint32_t); 119 probe error_log__return(uint32_t); 120 probe log_transaction__entry(); 121 probe log_transaction__dispatch__invoke(char *); 122 probe log_transaction__dispatch__complete(char *, uint32_t); 123 probe log_transaction__return(uint32_t); 124 probe monitor__entry(); 125 probe monitor__dispatch__invoke(char *); 126 probe monitor__dispatch__complete(char *, uint32_t); 127 probe monitor__return(uint32_t); 128 probe post_read_request__entry(); 129 probe post_read_request__dispatch__invoke(char *); 130 probe post_read_request__dispatch__complete(char *, uint32_t); 131 probe post_read_request__return(uint32_t); 132 probe get_suexec_identity__entry(); 133 probe get_suexec_identity__dispatch__invoke(char *); 134 probe get_suexec_identity__dispatch__complete(char *, uint32_t); 135 probe get_suexec_identity__return(uint32_t); 136 probe insert_error_filter__entry(); 137 probe insert_error_filter__dispatch__invoke(char *); 138 probe insert_error_filter__dispatch__complete(char *, uint32_t); 139 probe insert_error_filter__return(uint32_t); 140 141 /* Implicit, APR hooks for proxy */ 142 probe scheme_handler__entry(); 143 probe scheme_handler__dispatch__invoke(char *); 144 probe scheme_handler__dispatch__complete(char *, uint32_t); 145 probe scheme_handler__return(uint32_t); 146 probe canon_handler__entry(); 147 probe canon_handler__dispatch__invoke(char *); 148 probe canon_handler__dispatch__complete(char *, uint32_t); 149 probe canon_handler__return(uint32_t); 150 probe pre_request__entry(); 151 probe pre_request__dispatch__invoke(char *); 152 probe pre_request__dispatch__complete(char *, uint32_t); 153 probe pre_request__return(uint32_t); 154 probe post_request__entry(); 155 probe post_request__dispatch__invoke(char *); 156 probe post_request__dispatch__complete(char *, uint32_t); 157 probe post_request__return(uint32_t); 158 159 /* Implicit, APR hooks for dav */ 160 probe gather_propsets__entry(); 161 probe gather_propsets__dispatch__invoke(char *); 162 probe gather_propsets__dispatch__complete(char *, uint32_t); 163 probe gather_propsets__return(uint32_t); 164 probe find_liveprop__entry(); 165 probe find_liveprop__dispatch__invoke(char *); 166 probe find_liveprop__dispatch__complete(char *, uint32_t); 167 probe find_liveprop__return(uint32_t); 168 probe insert_all_liveprops__entry(); 169 probe insert_all_liveprops__dispatch__invoke(char *); 170 probe insert_all_liveprops__dispatch__complete(char *, uint32_t); 171 probe insert_all_liveprops__return(uint32_t); 172 }; -
include/ap_config.h
old new 238 238 #define AP_NONBLOCK_WHEN_MULTI_LISTEN 1 239 239 #endif 240 240 241 #if AP_ENABLE_DTRACE && HAVE_SYS_SDT_H 242 #include <sys/sdt.h> 243 #else 244 #undef _DTRACE_VERSION 245 #endif 246 #include "apache_probes.h" 247 241 248 /* TODO - We need to put OS detection back to make all the following work */ 242 249 243 250 #if defined(SUNOS4) || defined(IRIX) || defined(NEXT) || defined(AUX3) \ -
configure.in
old new 372 372 strings.h \ 373 373 sys/prctl.h \ 374 374 sys/processor.h \ 375 sys/sem.h 375 sys/sem.h \ 376 sys/sdt.h 376 377 ) 377 378 AC_HEADER_SYS_WAIT 378 379 … … 438 439 [if test "$withval" = "yes"; then AC_MSG_ERROR('option --with-sslport requires a value (the SSL TCP port number)'); else SSLPORT="$withval"; fi], 439 440 [SSLPORT=443]) 440 441 442 AC_ARG_ENABLE(dtrace,APACHE_HELP_STRING(--enable-dtrace,Enable DTrace probes), 443 [ 444 enable_dtrace=$enableval 445 APR_ADDTO(CPPFLAGS, -DAPR_DTRACE_PROVIDER) 446 ], 447 [ 448 enable_dtrace=no 449 ]) 450 451 DTRACE=true 452 if test $enable_dtrace = "yes" -a "$ac_cv_header_sys_sdt_h" = "yes"; then 453 AC_DEFINE(AP_ENABLE_DTRACE, 1, 454 [Enable DTrace probes]) 455 DTRACE="/usr/sbin/dtrace $DTRACEFLAGS" 456 test -f include/apache_probes.h || $DTRACE -h -s apache_probes.d -o include/apache_probes.h 457 fi 458 APACHE_SUBST(DTRACE) 459 441 460 APR_CHECK_APR_DEFINE(APR_HAVE_IPV6) 442 461 443 462 AC_ARG_ENABLE(v4-mapped,APACHE_HELP_STRING(--enable-v4-mapped,Allow IPv6 sockets to handle IPv4 connections), … … 495 514 AC_SUBST(PILDFLAGS) 496 515 497 516 prefix="$orig_prefix" 517 cat >static_modules.mk<<EOF 518 MODULE_OBJS = \\ 519 EOF 498 520 APACHE_ENABLE_MODULES 499 521 500 522 dnl reading config stubs … … 675 697 HTTPD_VERSION=`$abs_srcdir/build/get-version.sh all $abs_srcdir/include/ap_release.h AP_SERVER` 676 698 AC_SUBST(HTTPD_VERSION) 677 699 700 echo >>static_modules.mk 678 701 AC_OUTPUT($APACHE_OUTPUT_FILES docs/conf/httpd.conf docs/conf/extra/httpd-autoindex.conf docs/conf/extra/httpd-dav.conf docs/conf/extra/httpd-default.conf docs/conf/extra/httpd-info.conf docs/conf/extra/httpd-languages.conf docs/conf/extra/httpd-manual.conf docs/conf/extra/httpd-mpm.conf docs/conf/extra/httpd-multilang-errordoc.conf docs/conf/extra/httpd-ssl.conf docs/conf/extra/httpd-userdir.conf docs/conf/extra/httpd-vhosts.conf include/ap_config_layout.h support/apxs support/apachectl support/dbmmanage support/envvars-std support/log_server_status support/logresolve.pl support/phf_abuse_log.cgi support/split-logfile build/rules.mk build/pkg/pkginfo build/config_vars.sh,[true],[ 679 702 APACHE_GEN_MAKEFILES 680 703 ]) -
build/library.mk
old new 17 17 # The build environment was provided by Sascha Schumann. 18 18 19 19 LTLIBRARY_OBJECTS = $(LTLIBRARY_SOURCES:.c=.lo) $(LTLIBRARY_OBJECTS_X) 20 LTLIBRARY_CS = $(LTLIBRARY_SOURCES:%.h=) 21 LTLIBRARY_OS = $(LTLIBRARY_CS:.c=.o) 22 LTLIBRARY_FP_OS = $(LTLIBRARY_OS:%=$(builddir)/%) 23 LIBNAME=$(LTLIBRARY_NAME:.la=.o) 24 LIBLIST=$(LTLIBRARY_NAME:.la=.objects) 20 25 21 26 $(LTLIBRARY_NAME): $(LTLIBRARY_OBJECTS) $(LTLIBRARY_DEPENDENCIES) 22 27 $(LINK) -static $(LTLIBRARY_LDFLAGS) $(LTLIBRARY_OBJECTS) $(LTLIBRARY_LIBADD) 28 echo $(LTLIBRARY_FP_OS) > $(LIBLIST) 29 ld -r -o $(LIBNAME) $(LTLIBRARY_OS) -
acinclude.m4
old new 175 175 fi 176 176 177 177 if test -z "$module_standalone"; then 178 cat >$modpath_current/probes_$1.libtool.hack<<EOF 179 # probes_$1.lo - a libtool object file 180 # Generated by ltmain.sh - GNU libtool 1.5.20 (1.1220.2.287 2005/08/31 18:54:15) 181 # 182 # Please DO NOT delete this file! 183 # It is necessary for linking the library. 184 185 # Name of the PIC object. 186 pic_object='.libs/probes_$1.o' 187 188 # Name of the non-PIC object. 189 non_pic_object='probes_$1.o' 190 EOF 178 191 if test -z "$2"; then 179 192 # The filename of a convenience library must have a "lib" prefix: 180 193 libname="libmod_$1.la" 181 194 BUILTIN_LIBS="$BUILTIN_LIBS $modpath_current/$libname" 182 195 modpath_static="$modpath_static $libname" 196 realobjects=`echo $objects | sed -e 's/\.lo/.o/g;'` 197 pathobjects=`echo $objects | sed -e 's/\.lo/.o/g;' -e "s#^#$modpath_current/#;" -e "s# # $modpath_current/#g;"` 198 if test -r "$modpath_current/mod_$1.d"; then 199 echo "Found probes for $1 [$DTRACE]" 200 BUILD_DTRACE="\$(DTRACE) \$(DTRACEFLAGS) -G -s \$(top_srcdir)/apache_probes.d -s probes_$1.d $realobjects && cp probes_$1.o .libs/probes_$1.o && cp probes_$1.libtool.hack probes_$1.lo" 201 DTRACE_OBJ=probes_$1.lo 202 $DTRACE $DTRACEFLAGS -h -o $modpath_current/probes_$1.h -s $modpath_current/probes_$1.d 203 else 204 BUILD_DTRACE="\$(DTRACE) \$(DTRACEFLAGS) -G -o probes_$1.o -s \$(top_srcdir)/apache_probes.d $realobjects && cp probes_$1.o .libs/probes_$1.o && cp probes_$1.libtool.hack probes_$1.lo" 205 DTRACE_OBJ=probes_$1.o 206 fi 183 207 cat >>$modpath_current/modules.mk<<EOF 184 208 $libname: $objects 185 209 \$(MOD_LINK) $objects $5 210 ld -r -o `echo $libname | sed -e 's/\.la/.o/;'` $realobjects 211 echo "$pathobjects" > `echo $libname | sed -e 's/\.la/.objects/;'` 186 212 EOF 187 213 else 188 214 apache_need_shared=yes 189 215 libname="mod_$1.la" 190 216 shobjects=`echo $objects | sed 's/\.lo/.slo/g'` 217 realobjects=`echo $objects | sed -e 's/\.lo/.o/g;' -e 's/^/.libs\//g;' -e 's/ / .libs\//g;'` 191 218 modpath_shared="$modpath_shared $libname" 219 if test -r "$modpath_current/probes_$1.d"; then 220 echo "Found probes for $1 [$DTRACE]" 221 BUILD_DTRACE="\$(DTRACE) \$(DTRACEFLAGS) -G -s \$(top_srcdir)/apache_probes.d -s probes_$1.d $realobjects && cp probes_$1.o .libs/probes_$1.o && cp probes_$1.libtool.hack probes_$1.lo" 222 DTRACE_OBJ=probes_$1.lo 223 $DTRACE $DTRACEFLAGS -h -o $modpath_current/probes_$1.h -s $modpath_current/probes_$1.d 224 RELINK="\$(CC) -shared \$(CFLAGS) -o .libs/mod_$1.so $realobjects .libs/probes_$1.o $5" 225 else 226 BUILD_DTRACE="\$(DTRACE) \$(DTRACEFLAGS) -G -o probes_$1.o -s \$(top_srcdir)/apache_probes.d $realobjects && cp probes_$1.o .libs/probes_$1.o && cp probes_$1.libtool.hack probes_$1.lo" 227 DTRACE_OBJ=probes_$1.lo 228 RELINK="\$(CC) -shared \$(CFLAGS) -o .libs/mod_$1.so $realobjects .libs/probes_$1.o $5" 229 fi 192 230 cat >>$modpath_current/modules.mk<<EOF 193 231 $libname: $shobjects 194 \$(SH_LINK) -rpath \$(libexecdir) -module -avoid-version $4 $objects $5 232 $BUILD_DTRACE 233 \$(SH_LINK) -rpath \$(libexecdir) -module -avoid-version $4 $objects $DTRACE_OBJ $5 234 $RELINK 195 235 EOF 196 236 fi 197 237 fi
Note: See TracBrowser for help on using the browser.
