Imported Upstream version 11.9
Sergey B Kirpichev
9 years ago
1 | 1 | Quality of service module for Apache Web Server. |
2 | 2 | http://opensource.adnovum.ch/mod_qos/ |
3 | 3 | |
4 | Copyright (C) 2007-2014 Pascal Buchbinder | |
4 | Copyright (C) 2007-2015 Pascal Buchbinder | |
5 | 5 | |
6 | 6 | This program is free software; you can redistribute it and/or |
7 | 7 | modify it under the terms of the GNU General Public License |
14 | 14 | * See http://opensource.adnovum.ch/mod_qos/ for further |
15 | 15 | * details. |
16 | 16 | * |
17 | * Copyright (C) 2007-2014 Pascal Buchbinder | |
17 | * Copyright (C) 2007-2015 Pascal Buchbinder | |
18 | 18 | * |
19 | 19 | * This program is free software; you can redistribute it and/or |
20 | 20 | * modify it under the terms of the GNU General Public License |
39 | 39 | /************************************************************************ |
40 | 40 | * Version |
41 | 41 | ***********************************************************************/ |
42 | static const char revision[] = "$Id: mod_qos.c,v 5.522 2014/11/24 19:25:39 pbuchbinder Exp $"; | |
43 | static const char g_revision[] = "11.7"; | |
42 | static const char revision[] = "$Id: mod_qos.c,v 5.527 2015/01/20 21:20:35 pbuchbinder Exp $"; | |
43 | static const char g_revision[] = "11.9"; | |
44 | 44 | |
45 | 45 | /************************************************************************ |
46 | 46 | * Includes |
100 | 100 | #define QOS_COOKIE_NAME "MODQOS" |
101 | 101 | #define QOS_USER_TRACKING "mod_qos_user_id" |
102 | 102 | #define QOS_USER_TRACKING_NEW "QOS_USER_ID_NEW" |
103 | #define QOS_DISABLE_UTC_ENFORCEMENT "DISABLE_UTC_ENFORCEMENT" | |
103 | 104 | #define QOS_MILESTONE "mod_qos_milestone" |
104 | 105 | #define QOS_MILESTONE_TIMEOUT 3600 |
105 | 106 | #define QOS_MILESTONE_COOKIE "QSSCD" |
624 | 625 | char *user_tracking_cookie; |
625 | 626 | char *user_tracking_cookie_force; |
626 | 627 | int user_tracking_cookie_session; |
628 | char *user_tracking_cookie_domain; | |
627 | 629 | int max_age; |
628 | 630 | unsigned char key[EVP_MAX_KEY_LENGTH]; |
629 | 631 | int keyset; |
1840 | 1842 | int len = QOS_RAN + QOS_MAGIC_LEN + 2 + strlen(new_user); |
1841 | 1843 | unsigned char *value = apr_pcalloc(r->pool, len + 1); |
1842 | 1844 | char *c; |
1845 | char *domain = NULL; | |
1843 | 1846 | apr_time_exp_gmt(&n, r->request_time); |
1844 | 1847 | apr_strftime(tstr, &retcode, sizeof(tstr), "%m", &n); |
1845 | 1848 | RAND_bytes(value, QOS_RAN); |
1848 | 1851 | memcpy(&value[QOS_RAN+QOS_MAGIC_LEN+2], new_user, strlen(new_user)); |
1849 | 1852 | value[len] = '\0'; |
1850 | 1853 | c = qos_encrypt(r, sconf, value, len + 1); |
1851 | /* valid for 300 days */ | |
1852 | sc = apr_psprintf(r->pool, "%s=%s; Path=/;%s", | |
1854 | if(sconf->user_tracking_cookie_domain != NULL) { | |
1855 | domain = apr_pstrcat(r->pool, "; Domain=", sconf->user_tracking_cookie_domain, NULL); | |
1856 | } | |
1857 | /* set cookie valid for 300 days or for this session only */ | |
1858 | sc = apr_psprintf(r->pool, "%s=%s; Path=/%s%s", | |
1853 | 1859 | sconf->user_tracking_cookie, c, |
1854 | sconf->user_tracking_cookie_session < 1 ? " Max-Age=25920000" : ""); | |
1860 | sconf->user_tracking_cookie_session < 1 ? "; Max-Age=25920000" : "", | |
1861 | domain != NULL ? domain : ""); | |
1855 | 1862 | if(status != HTTP_MOVED_TEMPORARILY) { |
1856 | 1863 | apr_table_add(r->headers_out, "Set-Cookie", sc); |
1857 | 1864 | } else { |
2568 | 2575 | } |
2569 | 2576 | apr_global_mutex_unlock(sconf->act->lock); /* @CRT7 */ |
2570 | 2577 | return c; |
2578 | } | |
2579 | ||
2580 | /** | |
2581 | * Checks the subprocess_env table for the QS_BLOCK | |
2582 | * event and returns its numeric value. | |
2583 | * | |
2584 | * @param r | |
2585 | * @return Number within the variable or 0 if not set | |
2586 | */ | |
2587 | static int get_qs_block_event(request_rec *r) { | |
2588 | const char *block = apr_table_get(r->subprocess_env, QS_BLOCK); | |
2589 | if(block == NULL) { | |
2590 | return 0; | |
2591 | } | |
2592 | if(qos_is_num(block) && (strlen(block) > 0)) { | |
2593 | int num = atoi(block); | |
2594 | if(num <= 0) { | |
2595 | num = 1; | |
2596 | } | |
2597 | return num; | |
2598 | } | |
2599 | return 1; | |
2571 | 2600 | } |
2572 | 2601 | |
2573 | 2602 | /** |
3675 | 3704 | char *var = apr_pstrdup(r->pool, entry[i].val); |
3676 | 3705 | char *value = strchr(var, '='); |
3677 | 3706 | if(value) { |
3707 | // a value has been defined | |
3678 | 3708 | value[0] = '\0'; |
3679 | 3709 | value++; |
3680 | 3710 | } else { |
3681 | value = code; | |
3711 | if(strcmp(var, QS_BLOCK) == 0) { | |
3712 | // QS_Block optionally defines the weight for error codes | |
3713 | value = apr_pstrdup(r->pool, "1"); | |
3714 | } else { | |
3715 | // by default, the value becomes the status code | |
3716 | value = code; | |
3717 | } | |
3682 | 3718 | } |
3683 | 3719 | apr_table_set(r->subprocess_env, var, value); |
3684 | 3720 | } |
4731 | 4767 | if(sconf->has_qos_cc) { |
4732 | 4768 | int lowrate = 0; |
4733 | 4769 | int unusual_bahavior = 0; |
4734 | int block_event = !apr_table_get(r->subprocess_env, QS_BLOCK_SEEN) && | |
4735 | apr_table_get(r->subprocess_env, QS_BLOCK); | |
4770 | int block_event = get_qs_block_event(r); | |
4771 | const char *block_seen = apr_table_get(r->subprocess_env, QS_BLOCK_SEEN); | |
4736 | 4772 | qs_conn_ctx *cconf = qos_get_cconf(r->connection); |
4737 | 4773 | qos_user_t *u = qos_get_user_conf(sconf->act->ppool); |
4738 | 4774 | apr_time_t now = apr_time_sec(r->request_time); |
4742 | 4778 | qos_s_entry_t searchEFromHeader; |
4743 | 4779 | searchEFromHeader.ip6[0] = 0; |
4744 | 4780 | searchEFromHeader.ip6[1] = 0; |
4781 | ||
4782 | if(block_seen != NULL) { | |
4783 | block_event = 0; | |
4784 | } | |
4745 | 4785 | |
4746 | 4786 | if(sconf->qos_cc_prefer_limit || (sconf->req_rate != -1)) { |
4747 | 4787 | qos_ifctx_t *inctx = qos_get_ifctx(r->connection->input_filters); |
4854 | 4894 | rctx->evmsg = apr_pstrcat(r->pool, "r;", rctx->evmsg, NULL); |
4855 | 4895 | } |
4856 | 4896 | if(block_event) { |
4857 | /* increment block event */ | |
4858 | (*e)->block++; | |
4859 | if((*e)->block == 1) { | |
4860 | /* ... and start timer */ | |
4897 | if((*e)->block == 0) { | |
4898 | /* start timer */ | |
4861 | 4899 | (*e)->block_time = now; |
4862 | 4900 | } |
4901 | /* ...and increment/increase block event counter */ | |
4902 | (*e)->block += block_event; | |
4863 | 4903 | } |
4864 | 4904 | } else if((*e)->lowrate) { |
4865 | 4905 | /* reset low prio client after 24h */ |
5035 | 5075 | } |
5036 | 5076 | if(sconf->qos_cc_block && !excludeFromBlock) { |
5037 | 5077 | apr_time_t now = apr_time_sec(r->request_time); |
5038 | const char *block_event_str = apr_table_get(r->subprocess_env, QS_BLOCK); | |
5078 | int block_event = get_qs_block_event(r); | |
5039 | 5079 | if(((*e)->block_time + sconf->qos_cc_block_time) < now) { |
5040 | 5080 | /* reset expired events */ |
5041 | 5081 | if((*e)->blockMsg > QS_LOG_REPEAT) { |
5056 | 5096 | (*e)->block = 0; |
5057 | 5097 | (*e)->block_time = 0; |
5058 | 5098 | } |
5059 | if(block_event_str) { | |
5060 | /* increment block event */ | |
5061 | (*e)->block++; | |
5062 | if((*e)->block == 1) { | |
5063 | /* ... and start timer */ | |
5099 | if(block_event) { | |
5100 | if((*e)->block == 0) { | |
5101 | /* start timer */ | |
5064 | 5102 | (*e)->block_time = now; |
5065 | 5103 | } |
5104 | /* ... and increment block event */ | |
5105 | (*e)->block += block_event; | |
5066 | 5106 | /* only once per request */ |
5067 | 5107 | apr_table_set(r->subprocess_env, QS_BLOCK_SEEN, ""); |
5068 | 5108 | apr_table_set(r->connection->notes, QS_BLOCK_SEEN, ""); |
6947 | 6987 | } |
6948 | 6988 | /* Check for vip (by ip) */ |
6949 | 6989 | vip = qos_is_excluded_ip(cconf->c, sconf->exclude_ip); |
6990 | if(vip == 0) { | |
6991 | // check if qos_cc_pc_filter() got vip status form the cc store | |
6992 | vip = cconf->is_vip; | |
6993 | } | |
6950 | 6994 | if(vip) { |
6951 | 6995 | /* propagate vip to connection */ |
6952 | 6996 | cconf->is_vip = vip; |
7181 | 7225 | char *value = qos_get_remove_cookie(r, sconf->user_tracking_cookie); |
7182 | 7226 | qos_get_create_user_tracking(r, sconf, value); |
7183 | 7227 | if(sconf->user_tracking_cookie_force) { |
7184 | const char *ignore = apr_table_get(r->subprocess_env, "DISABLE_UTC_ENFORCEMENT"); | |
7228 | const char *ignore = apr_table_get(r->subprocess_env, QOS_DISABLE_UTC_ENFORCEMENT); | |
7185 | 7229 | if(!ignore) { |
7186 | 7230 | if(strcmp(sconf->user_tracking_cookie_force, r->parsed_uri.path) == 0) { |
7187 | 7231 | /* access to check url */ |
9411 | 9455 | if(eventLimitConf) { |
9412 | 9456 | (*e)->limit[limitTableIndex].limit_time = time(NULL); |
9413 | 9457 | (*e)->limit[limitTableIndex].limit = eventLimitConf->limit + 1000; |
9458 | } | |
9459 | } else if(strcasecmp(cmd, "inclimit") == 0) { | |
9460 | if(eventLimitConf) { | |
9461 | apr_time_t now = apr_time_sec(r->request_time); | |
9462 | if(((*e)->limit[limitTableIndex].limit_time + eventLimitConf->limit_time) < now) { | |
9463 | // expired | |
9464 | (*e)->limit[limitTableIndex].limit = 0; | |
9465 | (*e)->limit[limitTableIndex].limit_time = 0; | |
9466 | } | |
9467 | // increment limit event | |
9468 | (*e)->limit[limitTableIndex].limit++; | |
9469 | if((*e)->limit[limitTableIndex].limit == 1) { | |
9470 | // first, start timer | |
9471 | (*e)->limit[limitTableIndex].limit_time = now; | |
9472 | } | |
9414 | 9473 | } |
9415 | 9474 | } else if(strcasecmp(cmd, "search") == 0) { |
9416 | 9475 | /* nothing to do here */ |
9764 | 9823 | sconf->user_tracking_cookie = NULL; |
9765 | 9824 | sconf->user_tracking_cookie_force = NULL; |
9766 | 9825 | sconf->user_tracking_cookie_session = -1; |
9826 | sconf->user_tracking_cookie_domain = NULL; | |
9767 | 9827 | sconf->max_age = atoi(QOS_MAX_AGE); |
9768 | 9828 | sconf->header_name = NULL; |
9769 | 9829 | sconf->header_name_drop = 0; |
9934 | 9994 | o->user_tracking_cookie = b->user_tracking_cookie; |
9935 | 9995 | o->user_tracking_cookie_force = b->user_tracking_cookie_force; |
9936 | 9996 | o->user_tracking_cookie_session = b->user_tracking_cookie_session; |
9997 | o->user_tracking_cookie_domain = b->user_tracking_cookie_domain; | |
9937 | 9998 | } |
9938 | 9999 | if(o->keyset == 0) { |
9939 | 10000 | memcpy(o->key, b->key, sizeof(o->key)); |
10723 | 10784 | } |
10724 | 10785 | |
10725 | 10786 | /** QS_UserTrackingCookieName */ |
10787 | ||
10788 | #ifdef AP_TAKE_ARGV | |
10789 | const char *qos_user_tracking_cookie_cmd(cmd_parms *cmd, void *dcfg, | |
10790 | int argc, char *const argv[]) { | |
10791 | qos_srv_config *sconf = (qos_srv_config*)ap_get_module_config(cmd->server->module_config, | |
10792 | &qos_module); | |
10793 | int pos = 1; | |
10794 | if(argc == 0) { | |
10795 | return apr_psprintf(cmd->pool, "%s: takes 1 to 4 arguments", | |
10796 | cmd->directive->directive); | |
10797 | } | |
10798 | sconf->user_tracking_cookie = apr_pstrdup(cmd->pool, argv[0]); | |
10799 | while(pos < argc) { | |
10800 | const char *value = argv[pos]; | |
10801 | if(value[0] == '/') { | |
10802 | sconf->user_tracking_cookie_force = apr_pstrdup(cmd->pool, value); | |
10803 | } else if(strcasecmp(value, "session") == 0) { | |
10804 | sconf->user_tracking_cookie_session = 1; | |
10805 | } else { | |
10806 | if(sconf->user_tracking_cookie_domain != NULL) { | |
10807 | return apr_psprintf(cmd->pool, "%s: invalid attribute" | |
10808 | " (expects <name>, <path>, 'session', or <domain>", | |
10809 | cmd->directive->directive); | |
10810 | } | |
10811 | sconf->user_tracking_cookie_domain = apr_pstrdup(cmd->pool, value); | |
10812 | } | |
10813 | pos++; | |
10814 | } | |
10815 | return NULL; | |
10816 | } | |
10817 | #else | |
10726 | 10818 | const char *qos_user_tracking_cookie_cmd(cmd_parms *cmd, void *dcfg, |
10727 | 10819 | const char *name, |
10728 | 10820 | const char *option1, |
10731 | 10823 | &qos_module); |
10732 | 10824 | const char *force = NULL; |
10733 | 10825 | sconf->user_tracking_cookie = apr_pstrdup(cmd->pool, name); |
10734 | sconf->user_tracking_cookie_force = NULL; | |
10735 | 10826 | if(option1) { |
10736 | 10827 | if(strcasecmp(option1, "session") == 0) { |
10737 | 10828 | sconf->user_tracking_cookie_session = 1; |
10757 | 10848 | } |
10758 | 10849 | return NULL; |
10759 | 10850 | } |
10851 | #endif | |
10760 | 10852 | |
10761 | 10853 | /** |
10762 | 10854 | * session definitions: cookie name and path, expiration/max-age |
10852 | 10944 | } else { |
10853 | 10945 | sconf->ip_header_name_drop = 0; |
10854 | 10946 | } |
10947 | sconf->has_qos_cc = 1; | |
10855 | 10948 | sconf->ip_header_name = name; |
10856 | 10949 | return NULL; |
10857 | 10950 | } |
12180 | 12273 | " the QS_VipIPHeaderName directive."), |
12181 | 12274 | |
12182 | 12275 | /* user tracking */ |
12276 | #ifdef AP_TAKE_ARGV | |
12277 | AP_INIT_TAKE_ARGV("QS_UserTrackingCookieName", qos_user_tracking_cookie_cmd, NULL, | |
12278 | RSRC_CONF, | |
12279 | "QS_UserTrackingCookieName <name> [<path>] [<domain>] ['session']," | |
12280 | " enables the user tracking cookie by defining a cookie" | |
12281 | " name. The \"path\" parameter is an option cookie" | |
12282 | " check page which is used to ensure the client accepts" | |
12283 | " cookies. The \"domain\" option defines the Domain attriibute" | |
12284 | " for the Set-Cookie header. The option \"session\" indicates" | |
12285 | " that the cookie shall be a session cookie expiring when the" | |
12286 | " user closes it's browser." | |
12287 | " User tracking requires mod_unique_id." | |
12288 | " This feature is disabled by default." | |
12289 | " Ignores QS_LogOnly."), | |
12290 | #else | |
12183 | 12291 | AP_INIT_TAKE123("QS_UserTrackingCookieName", qos_user_tracking_cookie_cmd, NULL, |
12184 | 12292 | RSRC_CONF, |
12185 | 12293 | "QS_UserTrackingCookieName <name> [<path>] ['session']," |
12192 | 12300 | " User tracking requires mod_unique_id." |
12193 | 12301 | " This feature is disabled by default." |
12194 | 12302 | " Ignores QS_LogOnly."), |
12303 | #endif | |
12195 | 12304 | |
12196 | 12305 | /* env vars */ |
12197 | 12306 | AP_INIT_TAKE3("QS_SetEnvIf", qos_event_setenvif_cmd, NULL, |
14 | 14 | * See http://opensource.adnovum.ch/mod_qos/ for further |
15 | 15 | * details. |
16 | 16 | * |
17 | * Copyright (C) 2007-2014 Pascal Buchbinder | |
17 | * Copyright (C) 2007-2015 Pascal Buchbinder | |
18 | 18 | * |
19 | 19 | * This program is free software; you can redistribute it and/or |
20 | 20 | * modify it under the terms of the GNU General Public License |
0 | Version 11.9 | |
1 | ||
2 | - QS_Block event may specify a weighting of events | |
3 | defining by how many penalty points the counter shall | |
4 | be increased. | |
5 | ||
6 | - Fixed: enables per client data store when using the | |
7 | QS_VipIPHeaderName together with the QS_SrvMaxConn[PerIP] | |
8 | directive. | |
9 | ||
10 | Version 11.8 | |
11 | ||
12 | - New console command 'inclimit' increments the | |
13 | QS_ClientEventLimitCount rule counter. | |
14 | ||
15 | - Adds the option "<domain>" to the QS_UserTrackingCookieName | |
16 | directive. | |
17 | ||
0 | 18 | Version 11.7 |
1 | 19 | |
2 | 20 | - Man page for the module itself. |
29 | 29 | |
30 | 30 | See http://opensource.adnovum.ch/mod_qos/ for further details. |
31 | 31 | |
32 | Copyright (C) 2007-2014 Pascal Buchbinder | |
32 | Copyright (C) 2007-2015 Pascal Buchbinder | |
33 | 33 | |
34 | 34 | This program is free software; you can redistribute it and/or |
35 | 35 | modify it under the terms of the GNU General Public License |
208 | 208 | is optimized to be used in a reverse <a href="http://httpd.apache.org/docs/2.2/mod/mod_proxy.html">proxy</a> server.<br><br> |
209 | 209 | Just copy the module into the <code>modules</code> directory of the Apache |
210 | 210 | server's source code and compile it using the following commands (all |
211 | examples are using Apache 2.2.24 and mod_qos 11.7): | |
211 | examples are using Apache 2.2.24 and mod_qos 11.9): | |
212 | 212 | <table border="0" cellspacing="5" cellpadding="10" width="100%"> |
213 | 213 | <tr><td bgcolor="#E0EBE0"> |
214 | 214 | <pre> |
215 | 215 | tar xfz httpd-2.2.24.tar.gz |
216 | tar xfz mod_qos-11.7-src.tar.gz | |
216 | tar xfz mod_qos-11.9-src.tar.gz | |
217 | 217 | ln -s httpd-2.2.24 httpd |
218 | 218 | cd httpd |
219 | 219 | mkdir modules/qos |
220 | cp ../mod_qos-11.7/apache2/* modules/qos | |
220 | cp ../mod_qos-11.9/apache2/* modules/qos | |
221 | 221 | ./buildconf |
222 | 222 | ./configure --with-mpm=worker --enable-so --enable-qos=shared --enable-ssl --enable-unique-id |
223 | 223 | make |
247 | 247 | <table border="0" cellspacing="5" cellpadding="10" width="100%"> |
248 | 248 | <tr><td bgcolor="#E0EBE0"> |
249 | 249 | <pre> |
250 | cd mod_qos-11.7/apache2 | |
250 | cd mod_qos-11.9/apache2 | |
251 | 251 | apxs -i -c mod_qos.c -lcrypto -lpcre |
252 | 252 | cd ../.. |
253 | 253 | </pre> |
269 | 269 | <table border="0" cellspacing="5" cellpadding="10" width="100%"> |
270 | 270 | <tr><td bgcolor="#E0EBE0"> |
271 | 271 | <pre> |
272 | cd mod_qos-11.7/tools | |
272 | cd mod_qos-11.9/tools | |
273 | 273 | ./configure |
274 | 274 | make |
275 | 275 | </pre> |
649 | 649 | </li> |
650 | 650 | <li> |
651 | 651 | <a name="QS_Block"></a> |
652 | <code>QS_Block</code><br> | |
652 | <code>QS_Block[=<number>]</code><br> | |
653 | 653 | Variable processed by the <code><a href="#QS_ClientEventBlockCount">QS_ClientEventBlockCount</a></code> |
654 | directive. | |
654 | directive.<br> | |
655 | The optional <code>number</code> value defines the penalty points to | |
656 | increase the counter (default is 1). | |
655 | 657 | </li> |
656 | 658 | <li> |
657 | 659 | <a name="QS_Limit"></a> |
1465 | 1467 | <li> |
1466 | 1468 | <a name="QS_ClientEventBlockCount"></a> |
1467 | 1469 | <code>QS_ClientEventBlockCount <number> [<seconds>]</code><br> |
1468 | Defines the maximum number of <code>QS_Block</code> events allowed | |
1469 | within the defined time (default is 600 seconds). Client IP is blocked | |
1470 | when reaching this counter for the specified time (blocked at connection | |
1471 | level: user might not always get a user friendly error response).<br/> | |
1470 | Defines the maximum number of <code><a href="#QS_Block">QS_Block</a></code> | |
1471 | events allowed within the defined time (default is 600 seconds). | |
1472 | Client IP is blocked when reaching this counter for the specified | |
1473 | time (blocked at connection level: user might not always get a | |
1474 | user friendly error response).<br/> | |
1472 | 1475 | You may use <code>QS_ClientEventBlockExcludeIP <addr></code> |
1473 | 1476 | to exclude an IP address from being processed by this limitation |
1474 | 1477 | (e.g. for trusted clients connecting via a proxy server). |
1589 | 1592 | <tr><td bgcolor="#E0EBE0"> |
1590 | 1593 | Sample configuration:<br> |
1591 | 1594 | <pre> |
1595 | # allows not more than 20 events/penalty points per 10 minutes: | |
1596 | QS_ClientEventBlockCount 20 | |
1597 | ||
1592 | 1598 | # don't allow a client to access /app/start.html more than |
1593 | 1599 | # 20 times within 10 minutes: |
1594 | SetEnvIf Request_URI /app/start.html QS_Block=yes | |
1595 | QS_ClientEventBlockCount 20 | |
1596 | ||
1597 | # don't allow more than 20 "403" status code responses | |
1600 | SetEnvIf Request_URI /app/start.html QS_Block=1 | |
1601 | ||
1602 | # don't allow more than 4 "403" status code responses | |
1598 | 1603 | # (forbidden) for a client within 10 minutes: |
1599 | QS_SetEnvIfStatus 403 QS_Block | |
1604 | QS_SetEnvIfStatus 403 QS_Block=5 | |
1600 | 1605 | </pre> |
1601 | 1606 | </td></tr> |
1602 | 1607 | </table> |
1672 | 1677 | enabling the user tracking.<br> User tracking is based on a unique |
1673 | 1678 | identifier generated by mod_unique_id which is stored as a |
1674 | 1679 | cookie. The user tracking feature is enabled by setting the |
1675 | <code>QS_UserTrackingCookieName <cookie name> [<path>] ['session']</code> | |
1680 | <code>QS_UserTrackingCookieName <cookie name> [<path>] [<domain>] ['session']</code> | |
1676 | 1681 | directive. The <code>cookie name</code> argument defines the name of the |
1677 | user tracking cookie. <br> The optional <code>path</code> is a local error | |
1678 | document which is shown if a user does not accept the cookie (enforcement) | |
1679 | and the <code>session</code> flag indicates that short a lived (per session) cookie | |
1680 | shall be creaed which won't be stored by the browser. | |
1682 | user tracking cookie. <br> | |
1683 | Options:<br> | |
1684 | <ul><li>The <code>path</code> specifies a local error document | |
1685 | which is shown if a user does not accept the cookie (enforcement). | |
1686 | <br> | |
1681 | 1687 | You may disable this enforcement for certain clients by setting the |
1682 | 1688 | <code>DISABLE_UTC_ENFORCEMENT</code> environment variable at server |
1683 | level (outside Location), e.g., to support crawlers or the do-not-track HTTP request | |
1684 | header.<br> | |
1685 | <code>QS_UserTrackingCookieName</code> ignores the <code>QS_LogOnly</code> directive. | |
1689 | level (outside Location), e.g., to allow crawlers not supporting | |
1690 | cookies to access your site.</li> | |
1691 | <li><code>domain</code> defines the domain attribute for the Set-Cookie | |
1692 | header.</li> | |
1693 | <li>The <code>session</code> flag indicates that a short lived (per | |
1694 | session) cookie shall be creaed which won't be stored by the browser.</li> | |
1695 | </ul> | |
1696 | <small><small>Note: | |
1697 | <code>QS_UserTrackingCookieName</code> ignores the <code>QS_LogOnly</code> | |
1698 | directive.</small></small> | |
1686 | 1699 | </li> |
1687 | 1700 | <li> |
1688 | 1701 | <a name="UNIQUE_ID"></a> |
1779 | 1792 | <code>address=<IP address></code><br>Specifies the IP address of the client to modify. |
1780 | 1793 | </li> |
1781 | 1794 | <li> |
1782 | <code>action='block'|'unblock'|'limit'|'unlimit'|'setvip'|'unsetvip'|'setlowprio'|'unsetlowprio'|'search'</code><br>Defines the command to be executed, or the attribute to be changed. | |
1783 | <ul> | |
1784 | <li><code>block</code>: blocks the client for the configured period of time, see also <code><a href="#QS_ClientEventBlockCount">QS_ClientEventBlockCount</a></code>.</li> | |
1795 | <code>action='block'|'unblock'|'limit'|'unlimit'|'inclimit'|'setvip'|'unsetvip'|'setlowprio'|'unsetlowprio'|'search'</code><br>Defines the command to be executed, or the attribute to be changed. | |
1796 | <ul> | |
1797 | <li><code>block</code>: blocks the client for the configured period of time, | |
1798 | see also <code><a href="#QS_ClientEventBlockCount">QS_ClientEventBlockCount</a></code>.</li> | |
1785 | 1799 | <li><code>unblock</code>: clears the block attribute of the client.</li> |
1786 | <li><code>limit</code>: blocks (friendly) the client for the configured period of time, see also <code><a href="#QS_ClientEventLimitCount">QS_ClientEventLimitCount</a></code>.</li> | |
1800 | <li><code>limit</code>: blocks (friendly) the client for the configured period | |
1801 | of time, see also <code><a href="#QS_ClientEventLimitCount">QS_ClientEventLimitCount</a></code>.</li> | |
1787 | 1802 | <li><code>unlimit</code>: clears the limit attribute of the client.</li> |
1803 | <li><code>inclimit</code>: increments the client's limit counter.</li> | |
1788 | 1804 | <li><code>setvip</code>: sets the client status to <a href="#privilegedusers">VIP</a>.</li> |
1789 | 1805 | <li><code>unsetvip</code>: clears the VIP status for a client.</li> |
1790 | 1806 | <li><code>setlowprio</code>: sets the client's priority to 'low'.</li> |
2071 | 2087 | <hr> |
2072 | 2088 | <a href="http://www.nevis.ch"><img align="right" border="0" |
2073 | 2089 | src="nevis.gif" title="Nevis: The professional source for web application security." alt="Nevis" /></a> |
2074 | <SMALL><SMALL>© 2007-2014, Pascal Buchbinder</SMALL></SMALL> | |
2090 | <SMALL><SMALL>© 2007-2015, Pascal Buchbinder</SMALL></SMALL> | |
2075 | 2091 | </body> |
2076 | 2092 | </html> |
Binary diff not shown
4 | 4 | <META name='author' content='Pascal Buchbinder' /> |
5 | 5 | </HEAD><BODY> |
6 | 6 | <H1>QSEXEC</H1> |
7 | Section: qsexec man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A> | |
7 | Section: qsexec man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A> | |
8 | 8 | <A HREF="index.html#utilities">Return to Main Contents</A><HR> |
9 | 9 | |
10 | 10 | <P> |
4 | 4 | <META name='author' content='Pascal Buchbinder' /> |
5 | 5 | </HEAD><BODY> |
6 | 6 | <H1>QSFILTER2</H1> |
7 | Section: qsfilter2 man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A> | |
7 | Section: qsfilter2 man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A> | |
8 | 8 | <A HREF="index.html#utilities">Return to Main Contents</A><HR> |
9 | 9 | |
10 | 10 | <P> |
4 | 4 | <META name='author' content='Pascal Buchbinder' /> |
5 | 5 | </HEAD><BODY> |
6 | 6 | <H1>QSGEO</H1> |
7 | Section: qsgeo man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A> | |
7 | Section: qsgeo man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A> | |
8 | 8 | <A HREF="index.html#utilities">Return to Main Contents</A><HR> |
9 | 9 | |
10 | 10 | <P> |
4 | 4 | <META name='author' content='Pascal Buchbinder' /> |
5 | 5 | </HEAD><BODY> |
6 | 6 | <H1>QSGREP</H1> |
7 | Section: qsgrep man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A> | |
7 | Section: qsgrep man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A> | |
8 | 8 | <A HREF="index.html#utilities">Return to Main Contents</A><HR> |
9 | 9 | |
10 | 10 | <P> |
4 | 4 | <META name='author' content='Pascal Buchbinder' /> |
5 | 5 | </HEAD><BODY> |
6 | 6 | <H1>QSHEAD</H1> |
7 | Section: qshead man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A> | |
7 | Section: qshead man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A> | |
8 | 8 | <A HREF="index.html#utilities">Return to Main Contents</A><HR> |
9 | 9 | |
10 | 10 | <P> |
4 | 4 | <META name='author' content='Pascal Buchbinder' /> |
5 | 5 | </HEAD><BODY> |
6 | 6 | <H1>QSLOG</H1> |
7 | Section: qslog man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A> | |
7 | Section: qslog man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A> | |
8 | 8 | <A HREF="index.html#utilities">Return to Main Contents</A><HR> |
9 | 9 | |
10 | 10 | <P> |
4 | 4 | <META name='author' content='Pascal Buchbinder' /> |
5 | 5 | </HEAD><BODY> |
6 | 6 | <H1>QSLOGGER</H1> |
7 | Section: qslogger man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A> | |
7 | Section: qslogger man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A> | |
8 | 8 | <A HREF="index.html#utilities">Return to Main Contents</A><HR> |
9 | 9 | |
10 | 10 | <P> |
4 | 4 | <META name='author' content='Pascal Buchbinder' /> |
5 | 5 | </HEAD><BODY> |
6 | 6 | <H1>QSPNG</H1> |
7 | Section: qspng man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A> | |
7 | Section: qspng man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A> | |
8 | 8 | <A HREF="index.html#utilities">Return to Main Contents</A><HR> |
9 | 9 | |
10 | 10 | <P> |
4 | 4 | <META name='author' content='Pascal Buchbinder' /> |
5 | 5 | </HEAD><BODY> |
6 | 6 | <H1>QSROTATE</H1> |
7 | Section: qsrotate man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A> | |
7 | Section: qsrotate man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A> | |
8 | 8 | <A HREF="index.html#utilities">Return to Main Contents</A><HR> |
9 | 9 | |
10 | 10 | <P> |
4 | 4 | <META name='author' content='Pascal Buchbinder' /> |
5 | 5 | </HEAD><BODY> |
6 | 6 | <H1>QSSIGN</H1> |
7 | Section: qssign man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A> | |
7 | Section: qssign man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A> | |
8 | 8 | <A HREF="index.html#utilities">Return to Main Contents</A><HR> |
9 | 9 | |
10 | 10 | <P> |
4 | 4 | <META name='author' content='Pascal Buchbinder' /> |
5 | 5 | </HEAD><BODY> |
6 | 6 | <H1>QSTAIL</H1> |
7 | Section: qstail man page (1)<BR>Updated: November 2014<BR><A HREF="#index">Index</A> | |
7 | Section: qstail man page (1)<BR>Updated: January 2015<BR><A HREF="#index">Index</A> | |
8 | 8 | <A HREF="index.html#utilities">Return to Main Contents</A><HR> |
9 | 9 | |
10 | 10 | <P> |
0 | # Makefile.in generated by automake 1.11.3 from Makefile.am. | |
0 | # Makefile.in generated by automake 1.14.1 from Makefile.am. | |
1 | 1 | # @configure_input@ |
2 | 2 | |
3 | # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, | |
4 | # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software | |
5 | # Foundation, Inc. | |
3 | # Copyright (C) 1994-2013 Free Software Foundation, Inc. | |
4 | ||
6 | 5 | # This Makefile.in is free software; the Free Software Foundation |
7 | 6 | # gives unlimited permission to copy and/or distribute it, |
8 | 7 | # with or without modifications, as long as this notice is preserved. |
14 | 13 | |
15 | 14 | @SET_MAKE@ |
16 | 15 | VPATH = @srcdir@ |
16 | am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' | |
17 | am__make_running_with_option = \ | |
18 | case $${target_option-} in \ | |
19 | ?) ;; \ | |
20 | *) echo "am__make_running_with_option: internal error: invalid" \ | |
21 | "target option '$${target_option-}' specified" >&2; \ | |
22 | exit 1;; \ | |
23 | esac; \ | |
24 | has_opt=no; \ | |
25 | sane_makeflags=$$MAKEFLAGS; \ | |
26 | if $(am__is_gnu_make); then \ | |
27 | sane_makeflags=$$MFLAGS; \ | |
28 | else \ | |
29 | case $$MAKEFLAGS in \ | |
30 | *\\[\ \ ]*) \ | |
31 | bs=\\; \ | |
32 | sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | |
33 | | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ | |
34 | esac; \ | |
35 | fi; \ | |
36 | skip_next=no; \ | |
37 | strip_trailopt () \ | |
38 | { \ | |
39 | flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ | |
40 | }; \ | |
41 | for flg in $$sane_makeflags; do \ | |
42 | test $$skip_next = yes && { skip_next=no; continue; }; \ | |
43 | case $$flg in \ | |
44 | *=*|--*) continue;; \ | |
45 | -*I) strip_trailopt 'I'; skip_next=yes;; \ | |
46 | -*I?*) strip_trailopt 'I';; \ | |
47 | -*O) strip_trailopt 'O'; skip_next=yes;; \ | |
48 | -*O?*) strip_trailopt 'O';; \ | |
49 | -*l) strip_trailopt 'l'; skip_next=yes;; \ | |
50 | -*l?*) strip_trailopt 'l';; \ | |
51 | -[dEDm]) skip_next=yes;; \ | |
52 | -[JT]) skip_next=yes;; \ | |
53 | esac; \ | |
54 | case $$flg in \ | |
55 | *$$target_option*) has_opt=yes; break;; \ | |
56 | esac; \ | |
57 | done; \ | |
58 | test $$has_opt = yes | |
59 | am__make_dryrun = (target_option=n; $(am__make_running_with_option)) | |
60 | am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) | |
17 | 61 | pkgdatadir = $(datadir)/@PACKAGE@ |
18 | 62 | pkgincludedir = $(includedir)/@PACKAGE@ |
19 | 63 | pkglibdir = $(libdir)/@PACKAGE@ |
31 | 75 | PRE_UNINSTALL = : |
32 | 76 | POST_UNINSTALL = : |
33 | 77 | subdir = . |
34 | DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \ | |
35 | $(srcdir)/Makefile.in $(srcdir)/config.h.in \ | |
36 | $(top_srcdir)/configure depcomp install-sh missing | |
78 | DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ | |
79 | $(top_srcdir)/configure $(am__configure_deps) \ | |
80 | $(srcdir)/config.h.in compile depcomp install-sh missing | |
37 | 81 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
38 | 82 | am__aclocal_m4_deps = $(top_srcdir)/configure.ac |
39 | 83 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
44 | 88 | CONFIG_HEADER = config.h |
45 | 89 | CONFIG_CLEAN_FILES = |
46 | 90 | CONFIG_CLEAN_VPATH_FILES = |
91 | AM_V_P = $(am__v_P_@AM_V@) | |
92 | am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) | |
93 | am__v_P_0 = false | |
94 | am__v_P_1 = : | |
95 | AM_V_GEN = $(am__v_GEN_@AM_V@) | |
96 | am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) | |
97 | am__v_GEN_0 = @echo " GEN " $@; | |
98 | am__v_GEN_1 = | |
99 | AM_V_at = $(am__v_at_@AM_V@) | |
100 | am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) | |
101 | am__v_at_0 = @ | |
102 | am__v_at_1 = | |
47 | 103 | SOURCES = |
48 | 104 | DIST_SOURCES = |
49 | RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ | |
50 | html-recursive info-recursive install-data-recursive \ | |
51 | install-dvi-recursive install-exec-recursive \ | |
52 | install-html-recursive install-info-recursive \ | |
53 | install-pdf-recursive install-ps-recursive install-recursive \ | |
54 | installcheck-recursive installdirs-recursive pdf-recursive \ | |
55 | ps-recursive uninstall-recursive | |
105 | RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ | |
106 | ctags-recursive dvi-recursive html-recursive info-recursive \ | |
107 | install-data-recursive install-dvi-recursive \ | |
108 | install-exec-recursive install-html-recursive \ | |
109 | install-info-recursive install-pdf-recursive \ | |
110 | install-ps-recursive install-recursive installcheck-recursive \ | |
111 | installdirs-recursive pdf-recursive ps-recursive \ | |
112 | tags-recursive uninstall-recursive | |
113 | am__can_run_installinfo = \ | |
114 | case $$AM_UPDATE_INFO_DIR in \ | |
115 | n|no|NO) false;; \ | |
116 | *) (install-info --version) >/dev/null 2>&1;; \ | |
117 | esac | |
56 | 118 | RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ |
57 | 119 | distclean-recursive maintainer-clean-recursive |
58 | AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ | |
59 | $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ | |
60 | distdir dist dist-all distcheck | |
120 | am__recursive_targets = \ | |
121 | $(RECURSIVE_TARGETS) \ | |
122 | $(RECURSIVE_CLEAN_TARGETS) \ | |
123 | $(am__extra_recursive_targets) | |
124 | AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ | |
125 | cscope distdir dist dist-all distcheck | |
126 | am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ | |
127 | $(LISP)config.h.in | |
128 | # Read a list of newline-separated strings from the standard input, | |
129 | # and print each of them once, without duplicates. Input order is | |
130 | # *not* preserved. | |
131 | am__uniquify_input = $(AWK) '\ | |
132 | BEGIN { nonempty = 0; } \ | |
133 | { items[$$0] = 1; nonempty = 1; } \ | |
134 | END { if (nonempty) { for (i in items) print i; }; } \ | |
135 | ' | |
136 | # Make sure the list of sources is unique. This is necessary because, | |
137 | # e.g., the same source file might be shared among _SOURCES variables | |
138 | # for different programs/libraries. | |
139 | am__define_uniq_tagged_files = \ | |
140 | list='$(am__tagged_files)'; \ | |
141 | unique=`for i in $$list; do \ | |
142 | if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | |
143 | done | $(am__uniquify_input)` | |
61 | 144 | ETAGS = etags |
62 | 145 | CTAGS = ctags |
146 | CSCOPE = cscope | |
63 | 147 | DIST_SUBDIRS = $(SUBDIRS) |
64 | 148 | DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) |
65 | 149 | distdir = $(PACKAGE)-$(VERSION) |
70 | 154 | && rm -rf "$(distdir)" \ |
71 | 155 | || { sleep 5 && rm -rf "$(distdir)"; }; \ |
72 | 156 | else :; fi |
157 | am__post_remove_distdir = $(am__remove_distdir) | |
73 | 158 | am__relativize = \ |
74 | 159 | dir0=`pwd`; \ |
75 | 160 | sed_first='s,^\([^/]*\)/.*$$,\1,'; \ |
97 | 182 | reldir="$$dir2" |
98 | 183 | DIST_ARCHIVES = $(distdir).tar.gz |
99 | 184 | GZIP_ENV = --best |
185 | DIST_TARGETS = dist-gzip | |
100 | 186 | distuninstallcheck_listfiles = find . -type f -print |
101 | 187 | am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ |
102 | 188 | | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' |
103 | 189 | distcleancheck_listfiles = find . -type f -print |
104 | 190 | ACLOCAL = @ACLOCAL@ |
105 | 191 | AMTAR = @AMTAR@ |
192 | AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ | |
106 | 193 | AUTOCONF = @AUTOCONF@ |
107 | 194 | AUTOHEADER = @AUTOHEADER@ |
108 | 195 | AUTOMAKE = @AUTOMAKE@ |
229 | 316 | $(am__aclocal_m4_deps): |
230 | 317 | |
231 | 318 | config.h: stamp-h1 |
232 | @if test ! -f $@; then rm -f stamp-h1; else :; fi | |
233 | @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi | |
319 | @test -f $@ || rm -f stamp-h1 | |
320 | @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 | |
234 | 321 | |
235 | 322 | stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status |
236 | 323 | @rm -f stamp-h1 |
244 | 331 | -rm -f config.h stamp-h1 |
245 | 332 | |
246 | 333 | # This directory's subdirectories are mostly independent; you can cd |
247 | # into them and run `make' without going through this Makefile. | |
248 | # To change the values of `make' variables: instead of editing Makefiles, | |
249 | # (1) if the variable is set in `config.status', edit `config.status' | |
250 | # (which will cause the Makefiles to be regenerated when you run `make'); | |
251 | # (2) otherwise, pass the desired values on the `make' command line. | |
252 | $(RECURSIVE_TARGETS): | |
253 | @fail= failcom='exit 1'; \ | |
254 | for f in x $$MAKEFLAGS; do \ | |
255 | case $$f in \ | |
256 | *=* | --[!k]*);; \ | |
257 | *k*) failcom='fail=yes';; \ | |
258 | esac; \ | |
259 | done; \ | |
334 | # into them and run 'make' without going through this Makefile. | |
335 | # To change the values of 'make' variables: instead of editing Makefiles, | |
336 | # (1) if the variable is set in 'config.status', edit 'config.status' | |
337 | # (which will cause the Makefiles to be regenerated when you run 'make'); | |
338 | # (2) otherwise, pass the desired values on the 'make' command line. | |
339 | $(am__recursive_targets): | |
340 | @fail=; \ | |
341 | if $(am__make_keepgoing); then \ | |
342 | failcom='fail=yes'; \ | |
343 | else \ | |
344 | failcom='exit 1'; \ | |
345 | fi; \ | |
260 | 346 | dot_seen=no; \ |
261 | 347 | target=`echo $@ | sed s/-recursive//`; \ |
262 | list='$(SUBDIRS)'; for subdir in $$list; do \ | |
348 | case "$@" in \ | |
349 | distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ | |
350 | *) list='$(SUBDIRS)' ;; \ | |
351 | esac; \ | |
352 | for subdir in $$list; do \ | |
263 | 353 | echo "Making $$target in $$subdir"; \ |
264 | 354 | if test "$$subdir" = "."; then \ |
265 | 355 | dot_seen=yes; \ |
274 | 364 | $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ |
275 | 365 | fi; test -z "$$fail" |
276 | 366 | |
277 | $(RECURSIVE_CLEAN_TARGETS): | |
278 | @fail= failcom='exit 1'; \ | |
279 | for f in x $$MAKEFLAGS; do \ | |
280 | case $$f in \ | |
281 | *=* | --[!k]*);; \ | |
282 | *k*) failcom='fail=yes';; \ | |
283 | esac; \ | |
284 | done; \ | |
285 | dot_seen=no; \ | |
286 | case "$@" in \ | |
287 | distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ | |
288 | *) list='$(SUBDIRS)' ;; \ | |
289 | esac; \ | |
290 | rev=''; for subdir in $$list; do \ | |
291 | if test "$$subdir" = "."; then :; else \ | |
292 | rev="$$subdir $$rev"; \ | |
293 | fi; \ | |
294 | done; \ | |
295 | rev="$$rev ."; \ | |
296 | target=`echo $@ | sed s/-recursive//`; \ | |
297 | for subdir in $$rev; do \ | |
298 | echo "Making $$target in $$subdir"; \ | |
299 | if test "$$subdir" = "."; then \ | |
300 | local_target="$$target-am"; \ | |
301 | else \ | |
302 | local_target="$$target"; \ | |
303 | fi; \ | |
304 | ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ | |
305 | || eval $$failcom; \ | |
306 | done && test -z "$$fail" | |
307 | tags-recursive: | |
308 | list='$(SUBDIRS)'; for subdir in $$list; do \ | |
309 | test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ | |
310 | done | |
311 | ctags-recursive: | |
312 | list='$(SUBDIRS)'; for subdir in $$list; do \ | |
313 | test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ | |
314 | done | |
315 | ||
316 | ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) | |
317 | list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ | |
318 | unique=`for i in $$list; do \ | |
319 | if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | |
320 | done | \ | |
321 | $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ | |
322 | END { if (nonempty) { for (i in files) print i; }; }'`; \ | |
323 | mkid -fID $$unique | |
324 | tags: TAGS | |
325 | ||
326 | TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ | |
327 | $(TAGS_FILES) $(LISP) | |
367 | ID: $(am__tagged_files) | |
368 | $(am__define_uniq_tagged_files); mkid -fID $$unique | |
369 | tags: tags-recursive | |
370 | TAGS: tags | |
371 | ||
372 | tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) | |
328 | 373 | set x; \ |
329 | 374 | here=`pwd`; \ |
330 | 375 | if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ |
340 | 385 | set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ |
341 | 386 | fi; \ |
342 | 387 | done; \ |
343 | list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ | |
344 | unique=`for i in $$list; do \ | |
345 | if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | |
346 | done | \ | |
347 | $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ | |
348 | END { if (nonempty) { for (i in files) print i; }; }'`; \ | |
388 | $(am__define_uniq_tagged_files); \ | |
349 | 389 | shift; \ |
350 | 390 | if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ |
351 | 391 | test -n "$$unique" || unique=$$empty_fix; \ |
357 | 397 | $$unique; \ |
358 | 398 | fi; \ |
359 | 399 | fi |
360 | ctags: CTAGS | |
361 | CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ | |
362 | $(TAGS_FILES) $(LISP) | |
363 | list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ | |
364 | unique=`for i in $$list; do \ | |
365 | if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | |
366 | done | \ | |
367 | $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ | |
368 | END { if (nonempty) { for (i in files) print i; }; }'`; \ | |
400 | ctags: ctags-recursive | |
401 | ||
402 | CTAGS: ctags | |
403 | ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) | |
404 | $(am__define_uniq_tagged_files); \ | |
369 | 405 | test -z "$(CTAGS_ARGS)$$unique" \ |
370 | 406 | || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ |
371 | 407 | $$unique |
374 | 410 | here=`$(am__cd) $(top_builddir) && pwd` \ |
375 | 411 | && $(am__cd) $(top_srcdir) \ |
376 | 412 | && gtags -i $(GTAGS_ARGS) "$$here" |
413 | cscope: cscope.files | |
414 | test ! -s cscope.files \ | |
415 | || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) | |
416 | clean-cscope: | |
417 | -rm -f cscope.files | |
418 | cscope.files: clean-cscope cscopelist | |
419 | cscopelist: cscopelist-recursive | |
420 | ||
421 | cscopelist-am: $(am__tagged_files) | |
422 | list='$(am__tagged_files)'; \ | |
423 | case "$(srcdir)" in \ | |
424 | [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ | |
425 | *) sdir=$(subdir)/$(srcdir) ;; \ | |
426 | esac; \ | |
427 | for i in $$list; do \ | |
428 | if test -f "$$i"; then \ | |
429 | echo "$(subdir)/$$i"; \ | |
430 | else \ | |
431 | echo "$$sdir/$$i"; \ | |
432 | fi; \ | |
433 | done >> $(top_builddir)/cscope.files | |
377 | 434 | |
378 | 435 | distclean-tags: |
379 | 436 | -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags |
437 | -rm -f cscope.out cscope.in.out cscope.po.out cscope.files | |
380 | 438 | |
381 | 439 | distdir: $(DISTFILES) |
382 | 440 | $(am__remove_distdir) |
412 | 470 | done |
413 | 471 | @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ |
414 | 472 | if test "$$subdir" = .; then :; else \ |
415 | test -d "$(distdir)/$$subdir" \ | |
416 | || $(MKDIR_P) "$(distdir)/$$subdir" \ | |
417 | || exit 1; \ | |
418 | fi; \ | |
419 | done | |
420 | @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ | |
421 | if test "$$subdir" = .; then :; else \ | |
473 | $(am__make_dryrun) \ | |
474 | || test -d "$(distdir)/$$subdir" \ | |
475 | || $(MKDIR_P) "$(distdir)/$$subdir" \ | |
476 | || exit 1; \ | |
422 | 477 | dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ |
423 | 478 | $(am__relativize); \ |
424 | 479 | new_distdir=$$reldir; \ |
447 | 502 | || chmod -R a+r "$(distdir)" |
448 | 503 | dist-gzip: distdir |
449 | 504 | tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz |
450 | $(am__remove_distdir) | |
505 | $(am__post_remove_distdir) | |
451 | 506 | |
452 | 507 | dist-bzip2: distdir |
453 | 508 | tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 |
454 | $(am__remove_distdir) | |
509 | $(am__post_remove_distdir) | |
455 | 510 | |
456 | 511 | dist-lzip: distdir |
457 | 512 | tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz |
458 | $(am__remove_distdir) | |
459 | ||
460 | dist-lzma: distdir | |
461 | tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma | |
462 | $(am__remove_distdir) | |
513 | $(am__post_remove_distdir) | |
463 | 514 | |
464 | 515 | dist-xz: distdir |
465 | 516 | tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz |
466 | $(am__remove_distdir) | |
517 | $(am__post_remove_distdir) | |
467 | 518 | |
468 | 519 | dist-tarZ: distdir |
520 | @echo WARNING: "Support for shar distribution archives is" \ | |
521 | "deprecated." >&2 | |
522 | @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 | |
469 | 523 | tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z |
470 | $(am__remove_distdir) | |
524 | $(am__post_remove_distdir) | |
471 | 525 | |
472 | 526 | dist-shar: distdir |
527 | @echo WARNING: "Support for distribution archives compressed with" \ | |
528 | "legacy program 'compress' is deprecated." >&2 | |
529 | @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 | |
473 | 530 | shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz |
474 | $(am__remove_distdir) | |
531 | $(am__post_remove_distdir) | |
475 | 532 | |
476 | 533 | dist-zip: distdir |
477 | 534 | -rm -f $(distdir).zip |
478 | 535 | zip -rq $(distdir).zip $(distdir) |
479 | $(am__remove_distdir) | |
480 | ||
481 | dist dist-all: distdir | |
482 | tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz | |
483 | $(am__remove_distdir) | |
536 | $(am__post_remove_distdir) | |
537 | ||
538 | dist dist-all: | |
539 | $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' | |
540 | $(am__post_remove_distdir) | |
484 | 541 | |
485 | 542 | # This target untars the dist file and tries a VPATH configuration. Then |
486 | 543 | # it guarantees that the distribution is self-contained by making another |
491 | 548 | GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ |
492 | 549 | *.tar.bz2*) \ |
493 | 550 | bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ |
494 | *.tar.lzma*) \ | |
495 | lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ | |
496 | 551 | *.tar.lz*) \ |
497 | 552 | lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ |
498 | 553 | *.tar.xz*) \ |
504 | 559 | *.zip*) \ |
505 | 560 | unzip $(distdir).zip ;;\ |
506 | 561 | esac |
507 | chmod -R a-w $(distdir); chmod a+w $(distdir) | |
508 | mkdir $(distdir)/_build | |
509 | mkdir $(distdir)/_inst | |
562 | chmod -R a-w $(distdir) | |
563 | chmod u+w $(distdir) | |
564 | mkdir $(distdir)/_build $(distdir)/_inst | |
510 | 565 | chmod a-w $(distdir) |
511 | 566 | test -d $(distdir)/_build || exit 0; \ |
512 | 567 | dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ |
513 | 568 | && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ |
514 | 569 | && am__cwd=`pwd` \ |
515 | 570 | && $(am__cd) $(distdir)/_build \ |
516 | && ../configure --srcdir=.. --prefix="$$dc_install_base" \ | |
571 | && ../configure \ | |
517 | 572 | $(AM_DISTCHECK_CONFIGURE_FLAGS) \ |
518 | 573 | $(DISTCHECK_CONFIGURE_FLAGS) \ |
574 | --srcdir=.. --prefix="$$dc_install_base" \ | |
519 | 575 | && $(MAKE) $(AM_MAKEFLAGS) \ |
520 | 576 | && $(MAKE) $(AM_MAKEFLAGS) dvi \ |
521 | 577 | && $(MAKE) $(AM_MAKEFLAGS) check \ |
538 | 594 | && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ |
539 | 595 | && cd "$$am__cwd" \ |
540 | 596 | || exit 1 |
541 | $(am__remove_distdir) | |
597 | $(am__post_remove_distdir) | |
542 | 598 | @(echo "$(distdir) archives ready for distribution: "; \ |
543 | 599 | list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ |
544 | 600 | sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' |
672 | 728 | |
673 | 729 | uninstall-am: |
674 | 730 | |
675 | .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ | |
676 | ctags-recursive install-am install-strip tags-recursive | |
677 | ||
678 | .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ | |
679 | all all-am am--refresh check check-am clean clean-generic \ | |
680 | ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ | |
681 | dist-lzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \ | |
731 | .MAKE: $(am__recursive_targets) all install-am install-strip | |
732 | ||
733 | .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ | |
734 | am--refresh check check-am clean clean-cscope clean-generic \ | |
735 | cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ | |
736 | dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ | |
682 | 737 | distcheck distclean distclean-generic distclean-hdr \ |
683 | 738 | distclean-tags distcleancheck distdir distuninstallcheck dvi \ |
684 | 739 | dvi-am html html-am info info-am install install-am \ |
688 | 743 | install-pdf-am install-ps install-ps-am install-strip \ |
689 | 744 | installcheck installcheck-am installdirs installdirs-am \ |
690 | 745 | maintainer-clean maintainer-clean-generic mostlyclean \ |
691 | mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \ | |
692 | uninstall uninstall-am | |
746 | mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ | |
747 | uninstall-am | |
693 | 748 | |
694 | 749 | |
695 | 750 | # Tell versions [3.59,3.63) of GNU make to not export all variables. |
0 | 0 | #! /bin/sh |
1 | 1 | # Guess values for system-dependent variables and create Makefiles. |
2 | # Generated by GNU Autoconf 2.68 for mod_qos 9.0. | |
2 | # Generated by GNU Autoconf 2.69 for mod_qos 9.0. | |
3 | 3 | # |
4 | 4 | # Report bugs to <pbuchbinder@users.sourceforge.net>. |
5 | 5 | # |
6 | 6 | # |
7 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, | |
8 | # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software | |
9 | # Foundation, Inc. | |
7 | # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. | |
10 | 8 | # |
11 | 9 | # |
12 | 10 | # This configure script is free software; the Free Software Foundation |
135 | 133 | # CDPATH. |
136 | 134 | (unset CDPATH) >/dev/null 2>&1 && unset CDPATH |
137 | 135 | |
136 | # Use a proper internal environment variable to ensure we don't fall | |
137 | # into an infinite loop, continuously re-executing ourselves. | |
138 | if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then | |
139 | _as_can_reexec=no; export _as_can_reexec; | |
140 | # We cannot yet assume a decent shell, so we have to provide a | |
141 | # neutralization value for shells without unset; and this also | |
142 | # works around shells that cannot unset nonexistent variables. | |
143 | # Preserve -v and -x to the replacement shell. | |
144 | BASH_ENV=/dev/null | |
145 | ENV=/dev/null | |
146 | (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV | |
147 | case $- in # (((( | |
148 | *v*x* | *x*v* ) as_opts=-vx ;; | |
149 | *v* ) as_opts=-v ;; | |
150 | *x* ) as_opts=-x ;; | |
151 | * ) as_opts= ;; | |
152 | esac | |
153 | exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} | |
154 | # Admittedly, this is quite paranoid, since all the known shells bail | |
155 | # out after a failed `exec'. | |
156 | $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 | |
157 | as_fn_exit 255 | |
158 | fi | |
159 | # We don't want this to propagate to other subprocesses. | |
160 | { _as_can_reexec=; unset _as_can_reexec;} | |
138 | 161 | if test "x$CONFIG_SHELL" = x; then |
139 | 162 | as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : |
140 | 163 | emulate sh |
168 | 191 | else |
169 | 192 | exitcode=1; echo positional parameters were not saved. |
170 | 193 | fi |
171 | test x\$exitcode = x0 || exit 1" | |
194 | test x\$exitcode = x0 || exit 1 | |
195 | test -x / || exit 1" | |
172 | 196 | as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO |
173 | 197 | as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO |
174 | 198 | eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && |
213 | 237 | |
214 | 238 | |
215 | 239 | if test "x$CONFIG_SHELL" != x; then : |
216 | # We cannot yet assume a decent shell, so we have to provide a | |
217 | # neutralization value for shells without unset; and this also | |
218 | # works around shells that cannot unset nonexistent variables. | |
219 | # Preserve -v and -x to the replacement shell. | |
220 | BASH_ENV=/dev/null | |
221 | ENV=/dev/null | |
222 | (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV | |
223 | export CONFIG_SHELL | |
224 | case $- in # (((( | |
225 | *v*x* | *x*v* ) as_opts=-vx ;; | |
226 | *v* ) as_opts=-v ;; | |
227 | *x* ) as_opts=-x ;; | |
228 | * ) as_opts= ;; | |
229 | esac | |
230 | exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} | |
240 | export CONFIG_SHELL | |
241 | # We cannot yet assume a decent shell, so we have to provide a | |
242 | # neutralization value for shells without unset; and this also | |
243 | # works around shells that cannot unset nonexistent variables. | |
244 | # Preserve -v and -x to the replacement shell. | |
245 | BASH_ENV=/dev/null | |
246 | ENV=/dev/null | |
247 | (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV | |
248 | case $- in # (((( | |
249 | *v*x* | *x*v* ) as_opts=-vx ;; | |
250 | *v* ) as_opts=-v ;; | |
251 | *x* ) as_opts=-x ;; | |
252 | * ) as_opts= ;; | |
253 | esac | |
254 | exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} | |
255 | # Admittedly, this is quite paranoid, since all the known shells bail | |
256 | # out after a failed `exec'. | |
257 | $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 | |
258 | exit 255 | |
231 | 259 | fi |
232 | 260 | |
233 | 261 | if test x$as_have_required = xno; then : |
330 | 358 | |
331 | 359 | |
332 | 360 | } # as_fn_mkdir_p |
361 | ||
362 | # as_fn_executable_p FILE | |
363 | # ----------------------- | |
364 | # Test if FILE is an executable regular file. | |
365 | as_fn_executable_p () | |
366 | { | |
367 | test -f "$1" && test -x "$1" | |
368 | } # as_fn_executable_p | |
333 | 369 | # as_fn_append VAR VALUE |
334 | 370 | # ---------------------- |
335 | 371 | # Append the text in VALUE to the end of the definition contained in VAR. Take |
451 | 487 | chmod +x "$as_me.lineno" || |
452 | 488 | { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } |
453 | 489 | |
490 | # If we had to re-execute with $CONFIG_SHELL, we're ensured to have | |
491 | # already done that, so ensure we don't try to do so again and fall | |
492 | # in an infinite loop. This has already happened in practice. | |
493 | _as_can_reexec=no; export _as_can_reexec | |
454 | 494 | # Don't try to exec as it changes $[0], causing all sort of problems |
455 | 495 | # (the dirname of $[0] is not the place where we might find the |
456 | 496 | # original and so on. Autoconf is especially sensitive to this). |
485 | 525 | # ... but there are two gotchas: |
486 | 526 | # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. |
487 | 527 | # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. |
488 | # In both cases, we have to default to `cp -p'. | |
528 | # In both cases, we have to default to `cp -pR'. | |
489 | 529 | ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || |
490 | as_ln_s='cp -p' | |
530 | as_ln_s='cp -pR' | |
491 | 531 | elif ln conf$$.file conf$$ 2>/dev/null; then |
492 | 532 | as_ln_s=ln |
493 | 533 | else |
494 | as_ln_s='cp -p' | |
534 | as_ln_s='cp -pR' | |
495 | 535 | fi |
496 | 536 | else |
497 | as_ln_s='cp -p' | |
537 | as_ln_s='cp -pR' | |
498 | 538 | fi |
499 | 539 | rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file |
500 | 540 | rmdir conf$$.dir 2>/dev/null |
506 | 546 | as_mkdir_p=false |
507 | 547 | fi |
508 | 548 | |
509 | if test -x / >/dev/null 2>&1; then | |
510 | as_test_x='test -x' | |
511 | else | |
512 | if ls -dL / >/dev/null 2>&1; then | |
513 | as_ls_L_option=L | |
514 | else | |
515 | as_ls_L_option= | |
516 | fi | |
517 | as_test_x=' | |
518 | eval sh -c '\'' | |
519 | if test -d "$1"; then | |
520 | test -d "$1/."; | |
521 | else | |
522 | case $1 in #( | |
523 | -*)set "./$1";; | |
524 | esac; | |
525 | case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( | |
526 | ???[sx]*):;;*)false;;esac;fi | |
527 | '\'' sh | |
528 | ' | |
529 | fi | |
530 | as_executable_p=$as_test_x | |
549 | as_test_x='test -x' | |
550 | as_executable_p=as_fn_executable_p | |
531 | 551 | |
532 | 552 | # Sed expression to map a string onto a valid CPP name. |
533 | 553 | as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" |
625 | 645 | LDFLAGS |
626 | 646 | CFLAGS |
627 | 647 | CC |
648 | AM_BACKSLASH | |
649 | AM_DEFAULT_VERBOSITY | |
650 | AM_DEFAULT_V | |
651 | AM_V | |
628 | 652 | am__untar |
629 | 653 | am__tar |
630 | 654 | AMTAR |
689 | 713 | ac_subst_files='' |
690 | 714 | ac_user_opts=' |
691 | 715 | enable_option_checking |
716 | enable_silent_rules | |
692 | 717 | enable_dependency_tracking |
693 | 718 | enable_use_static |
694 | 719 | enable_full_static |
1163 | 1188 | if test "x$host_alias" != x; then |
1164 | 1189 | if test "x$build_alias" = x; then |
1165 | 1190 | cross_compiling=maybe |
1166 | $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. | |
1167 | If a cross compiler is detected then cross compile mode will be used" >&2 | |
1168 | 1191 | elif test "x$build_alias" != "x$host_alias"; then |
1169 | 1192 | cross_compiling=yes |
1170 | 1193 | fi |
1324 | 1347 | --disable-option-checking ignore unrecognized --enable/--with options |
1325 | 1348 | --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) |
1326 | 1349 | --enable-FEATURE[=ARG] include FEATURE [ARG=yes] |
1327 | --disable-dependency-tracking speeds up one-time build | |
1328 | --enable-dependency-tracking do not reject slow dependency extractors | |
1350 | --enable-silent-rules less verbose build output (undo: "make V=1") | |
1351 | --disable-silent-rules verbose build output (undo: "make V=0") | |
1352 | --enable-dependency-tracking | |
1353 | do not reject slow dependency extractors | |
1354 | --disable-dependency-tracking | |
1355 | speeds up one-time build | |
1329 | 1356 | --enable-use-static Try to use archives instead of shared libraries |
1330 | 1357 | --enable-full-static Try to compile a statical linked executable |
1331 | 1358 | --disable-ssl Disable ssl support (not supported yet) |
1416 | 1443 | if $ac_init_version; then |
1417 | 1444 | cat <<\_ACEOF |
1418 | 1445 | mod_qos configure 9.0 |
1419 | generated by GNU Autoconf 2.68 | |
1420 | ||
1421 | Copyright (C) 2010 Free Software Foundation, Inc. | |
1446 | generated by GNU Autoconf 2.69 | |
1447 | ||
1448 | Copyright (C) 2012 Free Software Foundation, Inc. | |
1422 | 1449 | This configure script is free software; the Free Software Foundation |
1423 | 1450 | gives unlimited permission to copy, distribute and modify it. |
1424 | 1451 | _ACEOF |
1749 | 1776 | test ! -s conftest.err |
1750 | 1777 | } && test -s conftest$ac_exeext && { |
1751 | 1778 | test "$cross_compiling" = yes || |
1752 | $as_test_x conftest$ac_exeext | |
1779 | test -x conftest$ac_exeext | |
1753 | 1780 | }; then : |
1754 | 1781 | ac_retval=0 |
1755 | 1782 | else |
1839 | 1866 | running configure, to aid debugging if configure makes a mistake. |
1840 | 1867 | |
1841 | 1868 | It was created by mod_qos $as_me 9.0, which was |
1842 | generated by GNU Autoconf 2.68. Invocation command line was | |
1869 | generated by GNU Autoconf 2.69. Invocation command line was | |
1843 | 1870 | |
1844 | 1871 | $ $0 $@ |
1845 | 1872 | |
2187 | 2214 | |
2188 | 2215 | |
2189 | 2216 | |
2190 | am__api_version='1.11' | |
2217 | am__api_version='1.14' | |
2191 | 2218 | |
2192 | 2219 | ac_aux_dir= |
2193 | 2220 | for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do |
2255 | 2282 | # by default. |
2256 | 2283 | for ac_prog in ginstall scoinst install; do |
2257 | 2284 | for ac_exec_ext in '' $ac_executable_extensions; do |
2258 | if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then | |
2285 | if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then | |
2259 | 2286 | if test $ac_prog = install && |
2260 | 2287 | grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then |
2261 | 2288 | # AIX install. It has an incompatible calling convention. |
2313 | 2340 | |
2314 | 2341 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 |
2315 | 2342 | $as_echo_n "checking whether build environment is sane... " >&6; } |
2316 | # Just in case | |
2317 | sleep 1 | |
2318 | echo timestamp > conftest.file | |
2319 | 2343 | # Reject unsafe characters in $srcdir or the absolute working directory |
2320 | 2344 | # name. Accept space and tab only in the latter. |
2321 | 2345 | am_lf=' |
2326 | 2350 | esac |
2327 | 2351 | case $srcdir in |
2328 | 2352 | *[\\\"\#\$\&\'\`$am_lf\ \ ]*) |
2329 | as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; | |
2353 | as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; | |
2330 | 2354 | esac |
2331 | 2355 | |
2332 | # Do `set' in a subshell so we don't clobber the current shell's | |
2356 | # Do 'set' in a subshell so we don't clobber the current shell's | |
2333 | 2357 | # arguments. Must try -L first in case configure is actually a |
2334 | 2358 | # symlink; some systems play weird games with the mod time of symlinks |
2335 | 2359 | # (eg FreeBSD returns the mod time of the symlink's containing |
2336 | 2360 | # directory). |
2337 | 2361 | if ( |
2338 | set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` | |
2339 | if test "$*" = "X"; then | |
2340 | # -L didn't work. | |
2341 | set X `ls -t "$srcdir/configure" conftest.file` | |
2342 | fi | |
2343 | rm -f conftest.file | |
2344 | if test "$*" != "X $srcdir/configure conftest.file" \ | |
2345 | && test "$*" != "X conftest.file $srcdir/configure"; then | |
2346 | ||
2347 | # If neither matched, then we have a broken ls. This can happen | |
2348 | # if, for instance, CONFIG_SHELL is bash and it inherits a | |
2349 | # broken ls alias from the environment. This has actually | |
2350 | # happened. Such a system could not be considered "sane". | |
2351 | as_fn_error $? "ls -t appears to fail. Make sure there is not a broken | |
2352 | alias in your environment" "$LINENO" 5 | |
2353 | fi | |
2354 | ||
2362 | am_has_slept=no | |
2363 | for am_try in 1 2; do | |
2364 | echo "timestamp, slept: $am_has_slept" > conftest.file | |
2365 | set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` | |
2366 | if test "$*" = "X"; then | |
2367 | # -L didn't work. | |
2368 | set X `ls -t "$srcdir/configure" conftest.file` | |
2369 | fi | |
2370 | if test "$*" != "X $srcdir/configure conftest.file" \ | |
2371 | && test "$*" != "X conftest.file $srcdir/configure"; then | |
2372 | ||
2373 | # If neither matched, then we have a broken ls. This can happen | |
2374 | # if, for instance, CONFIG_SHELL is bash and it inherits a | |
2375 | # broken ls alias from the environment. This has actually | |
2376 | # happened. Such a system could not be considered "sane". | |
2377 | as_fn_error $? "ls -t appears to fail. Make sure there is not a broken | |
2378 | alias in your environment" "$LINENO" 5 | |
2379 | fi | |
2380 | if test "$2" = conftest.file || test $am_try -eq 2; then | |
2381 | break | |
2382 | fi | |
2383 | # Just in case. | |
2384 | sleep 1 | |
2385 | am_has_slept=yes | |
2386 | done | |
2355 | 2387 | test "$2" = conftest.file |
2356 | 2388 | ) |
2357 | 2389 | then |
2363 | 2395 | fi |
2364 | 2396 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
2365 | 2397 | $as_echo "yes" >&6; } |
2398 | # If we didn't sleep, we still need to ensure time stamps of config.status and | |
2399 | # generated files are strictly newer. | |
2400 | am_sleep_pid= | |
2401 | if grep 'slept: no' conftest.file >/dev/null 2>&1; then | |
2402 | ( sleep 1 ) & | |
2403 | am_sleep_pid=$! | |
2404 | fi | |
2405 | ||
2406 | rm -f conftest.file | |
2407 | ||
2366 | 2408 | test "$program_prefix" != NONE && |
2367 | 2409 | program_transform_name="s&^&$program_prefix&;$program_transform_name" |
2368 | 2410 | # Use a double $ so make ignores it. |
2385 | 2427 | esac |
2386 | 2428 | fi |
2387 | 2429 | # Use eval to expand $SHELL |
2388 | if eval "$MISSING --run true"; then | |
2389 | am_missing_run="$MISSING --run " | |
2430 | if eval "$MISSING --is-lightweight"; then | |
2431 | am_missing_run="$MISSING " | |
2390 | 2432 | else |
2391 | 2433 | am_missing_run= |
2392 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 | |
2393 | $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} | |
2434 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 | |
2435 | $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} | |
2394 | 2436 | fi |
2395 | 2437 | |
2396 | 2438 | if test x"${install_sh}" != xset; then |
2402 | 2444 | esac |
2403 | 2445 | fi |
2404 | 2446 | |
2405 | # Installed binaries are usually stripped using `strip' when the user | |
2406 | # run `make install-strip'. However `strip' might not be the right | |
2447 | # Installed binaries are usually stripped using 'strip' when the user | |
2448 | # run "make install-strip". However 'strip' might not be the right | |
2407 | 2449 | # tool to use in cross-compilation environments, therefore Automake |
2408 | # will honor the `STRIP' environment variable to overrule this program. | |
2450 | # will honor the 'STRIP' environment variable to overrule this program. | |
2409 | 2451 | if test "$cross_compiling" != no; then |
2410 | 2452 | if test -n "$ac_tool_prefix"; then |
2411 | 2453 | # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. |
2424 | 2466 | IFS=$as_save_IFS |
2425 | 2467 | test -z "$as_dir" && as_dir=. |
2426 | 2468 | for ac_exec_ext in '' $ac_executable_extensions; do |
2427 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | |
2469 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | |
2428 | 2470 | ac_cv_prog_STRIP="${ac_tool_prefix}strip" |
2429 | 2471 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
2430 | 2472 | break 2 |
2464 | 2506 | IFS=$as_save_IFS |
2465 | 2507 | test -z "$as_dir" && as_dir=. |
2466 | 2508 | for ac_exec_ext in '' $ac_executable_extensions; do |
2467 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | |
2509 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | |
2468 | 2510 | ac_cv_prog_ac_ct_STRIP="strip" |
2469 | 2511 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
2470 | 2512 | break 2 |
2515 | 2557 | test -z "$as_dir" && as_dir=. |
2516 | 2558 | for ac_prog in mkdir gmkdir; do |
2517 | 2559 | for ac_exec_ext in '' $ac_executable_extensions; do |
2518 | { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue | |
2560 | as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue | |
2519 | 2561 | case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( |
2520 | 2562 | 'mkdir (GNU coreutils) '* | \ |
2521 | 2563 | 'mkdir (coreutils) '* | \ |
2544 | 2586 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 |
2545 | 2587 | $as_echo "$MKDIR_P" >&6; } |
2546 | 2588 | |
2547 | mkdir_p="$MKDIR_P" | |
2548 | case $mkdir_p in | |
2549 | [\\/$]* | ?:[\\/]*) ;; | |
2550 | */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; | |
2551 | esac | |
2552 | ||
2553 | 2589 | for ac_prog in gawk mawk nawk awk |
2554 | 2590 | do |
2555 | 2591 | # Extract the first word of "$ac_prog", so it can be a program name with args. |
2568 | 2604 | IFS=$as_save_IFS |
2569 | 2605 | test -z "$as_dir" && as_dir=. |
2570 | 2606 | for ac_exec_ext in '' $ac_executable_extensions; do |
2571 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | |
2607 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | |
2572 | 2608 | ac_cv_prog_AWK="$ac_prog" |
2573 | 2609 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
2574 | 2610 | break 2 |
2632 | 2668 | fi |
2633 | 2669 | rmdir .tst 2>/dev/null |
2634 | 2670 | |
2671 | # Check whether --enable-silent-rules was given. | |
2672 | if test "${enable_silent_rules+set}" = set; then : | |
2673 | enableval=$enable_silent_rules; | |
2674 | fi | |
2675 | ||
2676 | case $enable_silent_rules in # ((( | |
2677 | yes) AM_DEFAULT_VERBOSITY=0;; | |
2678 | no) AM_DEFAULT_VERBOSITY=1;; | |
2679 | *) AM_DEFAULT_VERBOSITY=1;; | |
2680 | esac | |
2681 | am_make=${MAKE-make} | |
2682 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 | |
2683 | $as_echo_n "checking whether $am_make supports nested variables... " >&6; } | |
2684 | if ${am_cv_make_support_nested_variables+:} false; then : | |
2685 | $as_echo_n "(cached) " >&6 | |
2686 | else | |
2687 | if $as_echo 'TRUE=$(BAR$(V)) | |
2688 | BAR0=false | |
2689 | BAR1=true | |
2690 | V=1 | |
2691 | am__doit: | |
2692 | @$(TRUE) | |
2693 | .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then | |
2694 | am_cv_make_support_nested_variables=yes | |
2695 | else | |
2696 | am_cv_make_support_nested_variables=no | |
2697 | fi | |
2698 | fi | |
2699 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 | |
2700 | $as_echo "$am_cv_make_support_nested_variables" >&6; } | |
2701 | if test $am_cv_make_support_nested_variables = yes; then | |
2702 | AM_V='$(V)' | |
2703 | AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' | |
2704 | else | |
2705 | AM_V=$AM_DEFAULT_VERBOSITY | |
2706 | AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY | |
2707 | fi | |
2708 | AM_BACKSLASH='\' | |
2709 | ||
2635 | 2710 | if test "`cd $srcdir && pwd`" != "`pwd`"; then |
2636 | 2711 | # Use -I$(srcdir) only when $(srcdir) != ., so that make's output |
2637 | 2712 | # is not polluted with repeated "-I." |
2682 | 2757 | |
2683 | 2758 | MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} |
2684 | 2759 | |
2760 | # For better backward compatibility. To be removed once Automake 1.9.x | |
2761 | # dies out for good. For more background, see: | |
2762 | # <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> | |
2763 | # <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> | |
2764 | mkdir_p='$(MKDIR_P)' | |
2765 | ||
2685 | 2766 | # We need awk for the "check" target. The system "awk" is bad on |
2686 | 2767 | # some platforms. |
2687 | 2768 | # Always define AMTAR for backward compatibility. Yes, it's still used |
2688 | 2769 | # in the wild :-( We should find a proper way to deprecate it ... |
2689 | 2770 | AMTAR='$${TAR-tar}' |
2690 | 2771 | |
2772 | ||
2773 | # We'll loop over all known methods to create a tar archive until one works. | |
2774 | _am_tools='gnutar pax cpio none' | |
2775 | ||
2691 | 2776 | am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' |
2692 | 2777 | |
2693 | 2778 | |
2694 | 2779 | |
2695 | 2780 | |
2696 | 2781 | |
2782 | ||
2783 | # POSIX will say in a future version that running "rm -f" with no argument | |
2784 | # is OK; and we want to be able to make that assumption in our Makefile | |
2785 | # recipes. So use an aggressive probe to check that the usage we want is | |
2786 | # actually supported "in the wild" to an acceptable degree. | |
2787 | # See automake bug#10828. | |
2788 | # To make any issue more visible, cause the running configure to be aborted | |
2789 | # by default if the 'rm' program in use doesn't match our expectations; the | |
2790 | # user can still override this though. | |
2791 | if rm -f && rm -fr && rm -rf; then : OK; else | |
2792 | cat >&2 <<'END' | |
2793 | Oops! | |
2794 | ||
2795 | Your 'rm' program seems unable to run without file operands specified | |
2796 | on the command line, even when the '-f' option is present. This is contrary | |
2797 | to the behaviour of most rm programs out there, and not conforming with | |
2798 | the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> | |
2799 | ||
2800 | Please tell bug-automake@gnu.org about your system, including the value | |
2801 | of your $PATH and any error possibly output before this message. This | |
2802 | can help us improve future automake versions. | |
2803 | ||
2804 | END | |
2805 | if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then | |
2806 | echo 'Configuration will proceed anyway, since you have set the' >&2 | |
2807 | echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 | |
2808 | echo >&2 | |
2809 | else | |
2810 | cat >&2 <<'END' | |
2811 | Aborting the configuration process, to ensure you take notice of the issue. | |
2812 | ||
2813 | You can download and install GNU coreutils to get an 'rm' implementation | |
2814 | that behaves properly: <http://www.gnu.org/software/coreutils/>. | |
2815 | ||
2816 | If you want to complete the configuration process using your problematic | |
2817 | 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM | |
2818 | to "yes", and re-run configure. | |
2819 | ||
2820 | END | |
2821 | as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 | |
2822 | fi | |
2823 | fi | |
2697 | 2824 | ac_config_headers="$ac_config_headers config.h" |
2698 | 2825 | |
2699 | 2826 | |
2720 | 2847 | IFS=$as_save_IFS |
2721 | 2848 | test -z "$as_dir" && as_dir=. |
2722 | 2849 | for ac_exec_ext in '' $ac_executable_extensions; do |
2723 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | |
2850 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | |
2724 | 2851 | ac_cv_prog_CC="${ac_tool_prefix}gcc" |
2725 | 2852 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
2726 | 2853 | break 2 |
2760 | 2887 | IFS=$as_save_IFS |
2761 | 2888 | test -z "$as_dir" && as_dir=. |
2762 | 2889 | for ac_exec_ext in '' $ac_executable_extensions; do |
2763 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | |
2890 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | |
2764 | 2891 | ac_cv_prog_ac_ct_CC="gcc" |
2765 | 2892 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
2766 | 2893 | break 2 |
2813 | 2940 | IFS=$as_save_IFS |
2814 | 2941 | test -z "$as_dir" && as_dir=. |
2815 | 2942 | for ac_exec_ext in '' $ac_executable_extensions; do |
2816 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | |
2943 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | |
2817 | 2944 | ac_cv_prog_CC="${ac_tool_prefix}cc" |
2818 | 2945 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
2819 | 2946 | break 2 |
2854 | 2981 | IFS=$as_save_IFS |
2855 | 2982 | test -z "$as_dir" && as_dir=. |
2856 | 2983 | for ac_exec_ext in '' $ac_executable_extensions; do |
2857 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | |
2984 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | |
2858 | 2985 | if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then |
2859 | 2986 | ac_prog_rejected=yes |
2860 | 2987 | continue |
2912 | 3039 | IFS=$as_save_IFS |
2913 | 3040 | test -z "$as_dir" && as_dir=. |
2914 | 3041 | for ac_exec_ext in '' $ac_executable_extensions; do |
2915 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | |
3042 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | |
2916 | 3043 | ac_cv_prog_CC="$ac_tool_prefix$ac_prog" |
2917 | 3044 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
2918 | 3045 | break 2 |
2956 | 3083 | IFS=$as_save_IFS |
2957 | 3084 | test -z "$as_dir" && as_dir=. |
2958 | 3085 | for ac_exec_ext in '' $ac_executable_extensions; do |
2959 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | |
3086 | if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | |
2960 | 3087 | ac_cv_prog_ac_ct_CC="$ac_prog" |
2961 | 3088 | $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 |
2962 | 3089 | break 2 |
3402 | 3529 | /* end confdefs.h. */ |
3403 | 3530 | #include <stdarg.h> |
3404 | 3531 | #include <stdio.h> |
3405 | #include <sys/types.h> | |
3406 | #include <sys/stat.h> | |
3532 | struct stat; | |
3407 | 3533 | /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ |
3408 | 3534 | struct buf { int x; }; |
3409 | 3535 | FILE * (*rcsopen) (struct buf *, struct stat *, int); |
3487 | 3613 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' |
3488 | 3614 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' |
3489 | 3615 | ac_compiler_gnu=$ac_cv_c_compiler_gnu |
3616 | ||
3617 | ac_ext=c | |
3618 | ac_cpp='$CPP $CPPFLAGS' | |
3619 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | |
3620 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | |
3621 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | |
3622 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 | |
3623 | $as_echo_n "checking whether $CC understands -c and -o together... " >&6; } | |
3624 | if ${am_cv_prog_cc_c_o+:} false; then : | |
3625 | $as_echo_n "(cached) " >&6 | |
3626 | else | |
3627 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | |
3628 | /* end confdefs.h. */ | |
3629 | ||
3630 | int | |
3631 | main () | |
3632 | { | |
3633 | ||
3634 | ; | |
3635 | return 0; | |
3636 | } | |
3637 | _ACEOF | |
3638 | # Make sure it works both with $CC and with simple cc. | |
3639 | # Following AC_PROG_CC_C_O, we do the test twice because some | |
3640 | # compilers refuse to overwrite an existing .o file with -o, | |
3641 | # though they will create one. | |
3642 | am_cv_prog_cc_c_o=yes | |
3643 | for am_i in 1 2; do | |
3644 | if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 | |
3645 | ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 | |
3646 | ac_status=$? | |
3647 | echo "$as_me:$LINENO: \$? = $ac_status" >&5 | |
3648 | (exit $ac_status); } \ | |
3649 | && test -f conftest2.$ac_objext; then | |
3650 | : OK | |
3651 | else | |
3652 | am_cv_prog_cc_c_o=no | |
3653 | break | |
3654 | fi | |
3655 | done | |
3656 | rm -f core conftest* | |
3657 | unset am_i | |
3658 | fi | |
3659 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 | |
3660 | $as_echo "$am_cv_prog_cc_c_o" >&6; } | |
3661 | if test "$am_cv_prog_cc_c_o" != yes; then | |
3662 | # Losing compiler, so override with the script. | |
3663 | # FIXME: It is wrong to rewrite CC. | |
3664 | # But if we don't then we get into trouble of one sort or another. | |
3665 | # A longer-term fix would be to have automake use am__CC in this case, | |
3666 | # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" | |
3667 | CC="$am_aux_dir/compile $CC" | |
3668 | fi | |
3669 | ac_ext=c | |
3670 | ac_cpp='$CPP $CPPFLAGS' | |
3671 | ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | |
3672 | ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | |
3673 | ac_compiler_gnu=$ac_cv_c_compiler_gnu | |
3674 | ||
3490 | 3675 | DEPDIR="${am__leading_dot}deps" |
3491 | 3676 | |
3492 | 3677 | ac_config_commands="$ac_config_commands depfiles" |
3506 | 3691 | _am_result=none |
3507 | 3692 | # First try GNU make style include. |
3508 | 3693 | echo "include confinc" > confmf |
3509 | # Ignore all kinds of additional output from `make'. | |
3694 | # Ignore all kinds of additional output from 'make'. | |
3510 | 3695 | case `$am_make -s -f confmf 2> /dev/null` in #( |
3511 | 3696 | *the\ am__doit\ target*) |
3512 | 3697 | am__include=include |
3562 | 3747 | # We make a subdir and do the tests there. Otherwise we can end up |
3563 | 3748 | # making bogus files that we don't know about and never remove. For |
3564 | 3749 | # instance it was reported that on HP-UX the gcc test will end up |
3565 | # making a dummy file named `D' -- because `-MD' means `put the output | |
3566 | # in D'. | |
3750 | # making a dummy file named 'D' -- because '-MD' means "put the output | |
3751 | # in D". | |
3567 | 3752 | rm -rf conftest.dir |
3568 | 3753 | mkdir conftest.dir |
3569 | 3754 | # Copy depcomp to subdir because otherwise we won't find it if we're |
3598 | 3783 | : > sub/conftest.c |
3599 | 3784 | for i in 1 2 3 4 5 6; do |
3600 | 3785 | echo '#include "conftst'$i'.h"' >> sub/conftest.c |
3601 | # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with | |
3602 | # Solaris 8's {/usr,}/bin/sh. | |
3603 | touch sub/conftst$i.h | |
3786 | # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with | |
3787 | # Solaris 10 /bin/sh. | |
3788 | echo '/* dummy */' > sub/conftst$i.h | |
3604 | 3789 | done |
3605 | 3790 | echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf |
3606 | 3791 | |
3607 | # We check with `-c' and `-o' for the sake of the "dashmstdout" | |
3792 | # We check with '-c' and '-o' for the sake of the "dashmstdout" | |
3608 | 3793 | # mode. It turns out that the SunPro C++ compiler does not properly |
3609 | # handle `-M -o', and we need to detect this. Also, some Intel | |
3610 | # versions had trouble with output in subdirs | |
3794 | # handle '-M -o', and we need to detect this. Also, some Intel | |
3795 | # versions had trouble with output in subdirs. | |
3611 | 3796 | am__obj=sub/conftest.${OBJEXT-o} |
3612 | 3797 | am__minus_obj="-o $am__obj" |
3613 | 3798 | case $depmode in |
3616 | 3801 | test "$am__universal" = false || continue |
3617 | 3802 | ;; |
3618 | 3803 | nosideeffect) |
3619 | # after this tag, mechanisms are not by side-effect, so they'll | |
3620 | # only be used when explicitly requested | |
3804 | # After this tag, mechanisms are not by side-effect, so they'll | |
3805 | # only be used when explicitly requested. | |
3621 | 3806 | if test "x$enable_dependency_tracking" = xyes; then |
3622 | 3807 | continue |
3623 | 3808 | else |
3625 | 3810 | fi |
3626 | 3811 | ;; |
3627 | 3812 | msvc7 | msvc7msys | msvisualcpp | msvcmsys) |
3628 | # This compiler won't grok `-c -o', but also, the minuso test has | |
3813 | # This compiler won't grok '-c -o', but also, the minuso test has | |
3629 | 3814 | # not run yet. These depmodes are late enough in the game, and |
3630 | 3815 | # so weak that their functioning should not be impacted. |
3631 | 3816 | am__obj=conftest.${OBJEXT-o} |
3838 | 4023 | for ac_prog in grep ggrep; do |
3839 | 4024 | for ac_exec_ext in '' $ac_executable_extensions; do |
3840 | 4025 | ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" |
3841 | { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue | |
4026 | as_fn_executable_p "$ac_path_GREP" || continue | |
3842 | 4027 | # Check for GNU ac_path_GREP and select it if it is found. |
3843 | 4028 | # Check for GNU $ac_path_GREP |
3844 | 4029 | case `"$ac_path_GREP" --version 2>&1` in |
3904 | 4089 | for ac_prog in egrep; do |
3905 | 4090 | for ac_exec_ext in '' $ac_executable_extensions; do |
3906 | 4091 | ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" |
3907 | { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue | |
4092 | as_fn_executable_p "$ac_path_EGREP" || continue | |
3908 | 4093 | # Check for GNU ac_path_EGREP and select it if it is found. |
3909 | 4094 | # Check for GNU $ac_path_EGREP |
3910 | 4095 | case `"$ac_path_EGREP" --version 2>&1` in |
4624 | 4809 | |
4625 | 4810 | ac_libobjs= |
4626 | 4811 | ac_ltlibobjs= |
4627 | U= | |
4628 | 4812 | for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue |
4629 | 4813 | # 1. Remove the extension, and $U if already installed. |
4630 | 4814 | ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' |
4639 | 4823 | LTLIBOBJS=$ac_ltlibobjs |
4640 | 4824 | |
4641 | 4825 | |
4826 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 | |
4827 | $as_echo_n "checking that generated files are newer than configure... " >&6; } | |
4828 | if test -n "$am_sleep_pid"; then | |
4829 | # Hide warnings about reused PIDs. | |
4830 | wait $am_sleep_pid 2>/dev/null | |
4831 | fi | |
4832 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 | |
4833 | $as_echo "done" >&6; } | |
4642 | 4834 | if test -n "$EXEEXT"; then |
4643 | 4835 | am__EXEEXT_TRUE= |
4644 | 4836 | am__EXEEXT_FALSE='#' |
4953 | 5145 | # ... but there are two gotchas: |
4954 | 5146 | # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. |
4955 | 5147 | # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. |
4956 | # In both cases, we have to default to `cp -p'. | |
5148 | # In both cases, we have to default to `cp -pR'. | |
4957 | 5149 | ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || |
4958 | as_ln_s='cp -p' | |
5150 | as_ln_s='cp -pR' | |
4959 | 5151 | elif ln conf$$.file conf$$ 2>/dev/null; then |
4960 | 5152 | as_ln_s=ln |
4961 | 5153 | else |
4962 | as_ln_s='cp -p' | |
5154 | as_ln_s='cp -pR' | |
4963 | 5155 | fi |
4964 | 5156 | else |
4965 | as_ln_s='cp -p' | |
5157 | as_ln_s='cp -pR' | |
4966 | 5158 | fi |
4967 | 5159 | rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file |
4968 | 5160 | rmdir conf$$.dir 2>/dev/null |
5022 | 5214 | as_mkdir_p=false |
5023 | 5215 | fi |
5024 | 5216 | |
5025 | if test -x / >/dev/null 2>&1; then | |
5026 | as_test_x='test -x' | |
5027 | else | |
5028 | if ls -dL / >/dev/null 2>&1; then | |
5029 | as_ls_L_option=L | |
5030 | else | |
5031 | as_ls_L_option= | |
5032 | fi | |
5033 | as_test_x=' | |
5034 | eval sh -c '\'' | |
5035 | if test -d "$1"; then | |
5036 | test -d "$1/."; | |
5037 | else | |
5038 | case $1 in #( | |
5039 | -*)set "./$1";; | |
5040 | esac; | |
5041 | case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( | |
5042 | ???[sx]*):;;*)false;;esac;fi | |
5043 | '\'' sh | |
5044 | ' | |
5045 | fi | |
5046 | as_executable_p=$as_test_x | |
5217 | ||
5218 | # as_fn_executable_p FILE | |
5219 | # ----------------------- | |
5220 | # Test if FILE is an executable regular file. | |
5221 | as_fn_executable_p () | |
5222 | { | |
5223 | test -f "$1" && test -x "$1" | |
5224 | } # as_fn_executable_p | |
5225 | as_test_x='test -x' | |
5226 | as_executable_p=as_fn_executable_p | |
5047 | 5227 | |
5048 | 5228 | # Sed expression to map a string onto a valid CPP name. |
5049 | 5229 | as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" |
5065 | 5245 | # values after options handling. |
5066 | 5246 | ac_log=" |
5067 | 5247 | This file was extended by mod_qos $as_me 9.0, which was |
5068 | generated by GNU Autoconf 2.68. Invocation command line was | |
5248 | generated by GNU Autoconf 2.69. Invocation command line was | |
5069 | 5249 | |
5070 | 5250 | CONFIG_FILES = $CONFIG_FILES |
5071 | 5251 | CONFIG_HEADERS = $CONFIG_HEADERS |
5131 | 5311 | ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" |
5132 | 5312 | ac_cs_version="\\ |
5133 | 5313 | mod_qos config.status 9.0 |
5134 | configured by $0, generated by GNU Autoconf 2.68, | |
5314 | configured by $0, generated by GNU Autoconf 2.69, | |
5135 | 5315 | with options \\"\$ac_cs_config\\" |
5136 | 5316 | |
5137 | Copyright (C) 2010 Free Software Foundation, Inc. | |
5317 | Copyright (C) 2012 Free Software Foundation, Inc. | |
5138 | 5318 | This config.status script is free software; the Free Software Foundation |
5139 | 5319 | gives unlimited permission to copy, distribute and modify it." |
5140 | 5320 | |
5225 | 5405 | _ACEOF |
5226 | 5406 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
5227 | 5407 | if \$ac_cs_recheck; then |
5228 | set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion | |
5408 | set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion | |
5229 | 5409 | shift |
5230 | 5410 | \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 |
5231 | 5411 | CONFIG_SHELL='$SHELL' |
5859 | 6039 | |
5860 | 6040 | case $ac_file$ac_mode in |
5861 | 6041 | "depfiles":C) test x"$AMDEP_TRUE" != x"" || { |
5862 | # Autoconf 2.62 quotes --file arguments for eval, but not when files | |
6042 | # Older Autoconf quotes --file arguments for eval, but not when files | |
5863 | 6043 | # are listed without --file. Let's play safe and only enable the eval |
5864 | 6044 | # if we detect the quoting. |
5865 | 6045 | case $CONFIG_FILES in |
5872 | 6052 | # Strip MF so we end up with the name of the file. |
5873 | 6053 | mf=`echo "$mf" | sed -e 's/:.*$//'` |
5874 | 6054 | # Check whether this is an Automake generated Makefile or not. |
5875 | # We used to match only the files named `Makefile.in', but | |
6055 | # We used to match only the files named 'Makefile.in', but | |
5876 | 6056 | # some people rename them; so instead we look at the file content. |
5877 | 6057 | # Grep'ing the first line is not enough: some people post-process |
5878 | 6058 | # each Makefile.in and add a new line on top of each file to say so. |
5906 | 6086 | continue |
5907 | 6087 | fi |
5908 | 6088 | # Extract the definition of DEPDIR, am__include, and am__quote |
5909 | # from the Makefile without running `make'. | |
6089 | # from the Makefile without running 'make'. | |
5910 | 6090 | DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` |
5911 | 6091 | test -z "$DEPDIR" && continue |
5912 | 6092 | am__include=`sed -n 's/^am__include = //p' < "$mf"` |
5913 | test -z "am__include" && continue | |
6093 | test -z "$am__include" && continue | |
5914 | 6094 | am__quote=`sed -n 's/^am__quote = //p' < "$mf"` |
5915 | # When using ansi2knr, U may be empty or an underscore; expand it | |
5916 | U=`sed -n 's/^U = //p' < "$mf"` | |
5917 | 6095 | # Find all dependency output files, they are included files with |
5918 | 6096 | # $(DEPDIR) in their names. We invoke sed twice because it is the |
5919 | 6097 | # simplest approach to changing $(DEPDIR) to its actual value in the |
5920 | 6098 | # expansion. |
5921 | 6099 | for file in `sed -n " |
5922 | 6100 | s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ |
5923 | sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do | |
6101 | sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do | |
5924 | 6102 | # Make sure the directory exists. |
5925 | 6103 | test -f "$dirpart/$file" && continue |
5926 | 6104 | fdir=`$as_dirname -- "$file" || |
0 | .TH MOD_QOS 1 "November 2014" "mod_qos Apache Module" "mod_qos" | |
0 | .TH MOD_QOS 1 "January 2015" "mod_qos Apache Module" "mod_qos" | |
1 | 1 | .SH NAME |
2 | 2 | mod_qos \- quality of service module for the Apache Web server |
3 | 3 | .SH DESCRIPTION |
96 | 96 | .TP |
97 | 97 | QS_VipIpUser, marks a source IP address as a VIP if the user has been authenticated by the Apache server, e.g. by the standard mod_auth* modules. It works similar to the QS_VipIPHeaderName directive. |
98 | 98 | .TP |
99 | QS_UserTrackingCookieName <name> [<path>] ['session'], enables the user tracking cookie by defining a cookie name. The "path" parameter is an option cookie check page which is used to ensure the client accepts cookies. The option "session" indicates that the cookie shall be a session cookie expiring when the user closes it's browser. User tracking requires mod_unique_id. This feature is disabled by default. Ignores QS_LogOnly. | |
99 | QS_UserTrackingCookieName <name> [<path>] [<domain>] ['session'], enables the user tracking cookie by defining a cookie name. The "path" parameter is an option cookie check page which is used to ensure the client accepts cookies. The "domain" option defines the Domain attriibute for the Set\-Cookie header. The option "session" indicates that the cookie shall be a session cookie expiring when the user closes it's browser. User tracking requires mod_unique_id. This feature is disabled by default. Ignores QS_LogOnly. | |
100 | 100 | .TP |
101 | 101 | QS_SetEnvIf [!]<variable1> [!]<variable1> [!]<variable=value>, sets (or unsets) the 'variable=value' (literal string) if variable1 (literal string) AND variable2 (literal string) are set in the request environment variable list (not case sensitive). This is used to combine multiple variables to a new event type. |
102 | 102 | .TP |
0 | .TH QSEXEC 1 "November 2014" "mod_qos utilities 11.7" "qsexec man page | |
0 | .TH QSEXEC 1 "January 2015" "mod_qos utilities 11.9" "qsexec man page | |
1 | 1 | |
2 | 2 | .SH NAME |
3 | 3 | qsexec \- parses the data received via stdin and executes the defined command on a pattern match. |
0 | .TH QSFILTER2 1 "November 2014" "mod_qos utilities 11.7" "qsfilter2 man page" | |
0 | .TH QSFILTER2 1 "January 2015" "mod_qos utilities 11.9" "qsfilter2 man page" | |
1 | 1 | |
2 | 2 | .SH NAME |
3 | 3 | qsfilter2 \- an utility to generate mod_qos request line rules out from existing access/audit log data. |
0 | .TH QSGEO 1 "November 2014" "mod_qos utilities 11.7" "qsgeo man page" | |
0 | .TH QSGEO 1 "January 2015" "mod_qos utilities 11.9" "qsgeo man page" | |
1 | 1 | |
2 | 2 | .SH NAME |
3 | 3 | qsgeo \- an utility to lookup a client's country code. |
0 | .TH QSGREP 1 "November 2014" "mod_qos utilities 11.7" "qsgrep man page" | |
0 | .TH QSGREP 1 "January 2015" "mod_qos utilities 11.9" "qsgrep man page" | |
1 | 1 | |
2 | 2 | .SH NAME |
3 | 3 | qsgrep \- prints matching patterns within a file. |
0 | .TH QSHEAD 1 "November 2014" "mod_qos utilities 11.7" "qshead man page" | |
0 | .TH QSHEAD 1 "January 2015" "mod_qos utilities 11.9" "qshead man page" | |
1 | 1 | |
2 | 2 | .SH NAME |
3 | 3 | qshead \- an utility reading from stdin and printing all lines to stdout until reaching the defined pattern. |
0 | .TH QSLOG 1 "November 2014" "mod_qos utilities 11.7" "qslog man page" | |
0 | .TH QSLOG 1 "January 2015" "mod_qos utilities 11.9" "qslog man page" | |
1 | 1 | |
2 | 2 | .SH NAME |
3 | 3 | qslog \- collects request statistics from access log data. |
0 | .TH QSLOGGER 1 "November 2014" "mod_qos utilities 11.7" "qslogger man page" | |
0 | .TH QSLOGGER 1 "January 2015" "mod_qos utilities 11.9" "qslogger man page" | |
1 | 1 | |
2 | 2 | .SH NAME |
3 | 3 | qslogger \- another shell command interface to the system log module (syslog). |
0 | .TH QSPNG 1 "November 2014" "mod_qos utilities 11.7" "qspng man page" | |
0 | .TH QSPNG 1 "January 2015" "mod_qos utilities 11.9" "qspng man page" | |
1 | 1 | |
2 | 2 | .SH NAME |
3 | 3 | qspng \- an utility to draw a png graph from qslog(1) output data. |
0 | .TH QSROTATE 1 "November 2014" "mod_qos utilities 11.7" "qsrotate man page" | |
0 | .TH QSROTATE 1 "January 2015" "mod_qos utilities 11.9" "qsrotate man page" | |
1 | 1 | |
2 | 2 | .SH NAME |
3 | 3 | qsrotate \- a log rotation tool (similar to Apache's rotatelogs). |
0 | .TH QSSIGN 1 "November 2014" "mod_qos utilities 11.7" "qssign man page" | |
0 | .TH QSSIGN 1 "January 2015" "mod_qos utilities 11.9" "qssign man page" | |
1 | 1 | |
2 | 2 | .SH NAME |
3 | 3 | qssign \- an utility to sign and verify the integrity of log data. |
0 | .TH QSTAIL 1 "November 2014" "mod_qos utilities 11.7" "qstail man page" | |
0 | .TH QSTAIL 1 "January 2015" "mod_qos utilities 11.9" "qstail man page" | |
1 | 1 | |
2 | 2 | .SH NAME |
3 | 3 | qstail \- an utility printing the end of a log file starting at the specified pattern. |
0 | # Makefile.in generated by automake 1.11.3 from Makefile.am. | |
0 | # Makefile.in generated by automake 1.14.1 from Makefile.am. | |
1 | 1 | # @configure_input@ |
2 | 2 | |
3 | # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, | |
4 | # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software | |
5 | # Foundation, Inc. | |
3 | # Copyright (C) 1994-2013 Free Software Foundation, Inc. | |
4 | ||
6 | 5 | # This Makefile.in is free software; the Free Software Foundation |
7 | 6 | # gives unlimited permission to copy and/or distribute it, |
8 | 7 | # with or without modifications, as long as this notice is preserved. |
17 | 16 | # $Id: Makefile.am,v 1.12 2012/09/19 18:48:51 pbuchbinder Exp $ |
18 | 17 | |
19 | 18 | VPATH = @srcdir@ |
19 | am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' | |
20 | am__make_running_with_option = \ | |
21 | case $${target_option-} in \ | |
22 | ?) ;; \ | |
23 | *) echo "am__make_running_with_option: internal error: invalid" \ | |
24 | "target option '$${target_option-}' specified" >&2; \ | |
25 | exit 1;; \ | |
26 | esac; \ | |
27 | has_opt=no; \ | |
28 | sane_makeflags=$$MAKEFLAGS; \ | |
29 | if $(am__is_gnu_make); then \ | |
30 | sane_makeflags=$$MFLAGS; \ | |
31 | else \ | |
32 | case $$MAKEFLAGS in \ | |
33 | *\\[\ \ ]*) \ | |
34 | bs=\\; \ | |
35 | sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | |
36 | | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ | |
37 | esac; \ | |
38 | fi; \ | |
39 | skip_next=no; \ | |
40 | strip_trailopt () \ | |
41 | { \ | |
42 | flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ | |
43 | }; \ | |
44 | for flg in $$sane_makeflags; do \ | |
45 | test $$skip_next = yes && { skip_next=no; continue; }; \ | |
46 | case $$flg in \ | |
47 | *=*|--*) continue;; \ | |
48 | -*I) strip_trailopt 'I'; skip_next=yes;; \ | |
49 | -*I?*) strip_trailopt 'I';; \ | |
50 | -*O) strip_trailopt 'O'; skip_next=yes;; \ | |
51 | -*O?*) strip_trailopt 'O';; \ | |
52 | -*l) strip_trailopt 'l'; skip_next=yes;; \ | |
53 | -*l?*) strip_trailopt 'l';; \ | |
54 | -[dEDm]) skip_next=yes;; \ | |
55 | -[JT]) skip_next=yes;; \ | |
56 | esac; \ | |
57 | case $$flg in \ | |
58 | *$$target_option*) has_opt=yes; break;; \ | |
59 | esac; \ | |
60 | done; \ | |
61 | test $$has_opt = yes | |
62 | am__make_dryrun = (target_option=n; $(am__make_running_with_option)) | |
63 | am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) | |
20 | 64 | pkgdatadir = $(datadir)/@PACKAGE@ |
21 | 65 | pkgincludedir = $(includedir)/@PACKAGE@ |
22 | 66 | pkglibdir = $(libdir)/@PACKAGE@ |
38 | 82 | qsgrep$(EXEEXT) qsexec$(EXEEXT) qscheck$(EXEEXT) \ |
39 | 83 | qsgeo$(EXEEXT) qslogger$(EXEEXT) qshead$(EXEEXT) |
40 | 84 | subdir = src |
41 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in | |
85 | DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ | |
86 | $(top_srcdir)/depcomp | |
42 | 87 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
43 | 88 | am__aclocal_m4_deps = $(top_srcdir)/configure.ac |
44 | 89 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
85 | 130 | am_qstail_OBJECTS = qstail.$(OBJEXT) qs_util.$(OBJEXT) |
86 | 131 | qstail_OBJECTS = $(am_qstail_OBJECTS) |
87 | 132 | qstail_LDADD = $(LDADD) |
133 | AM_V_P = $(am__v_P_@AM_V@) | |
134 | am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) | |
135 | am__v_P_0 = false | |
136 | am__v_P_1 = : | |
137 | AM_V_GEN = $(am__v_GEN_@AM_V@) | |
138 | am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) | |
139 | am__v_GEN_0 = @echo " GEN " $@; | |
140 | am__v_GEN_1 = | |
141 | AM_V_at = $(am__v_at_@AM_V@) | |
142 | am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) | |
143 | am__v_at_0 = @ | |
144 | am__v_at_1 = | |
88 | 145 | DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) |
89 | 146 | depcomp = $(SHELL) $(top_srcdir)/depcomp |
90 | 147 | am__depfiles_maybe = depfiles |
91 | 148 | am__mv = mv -f |
92 | 149 | COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ |
93 | 150 | $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) |
151 | AM_V_CC = $(am__v_CC_@AM_V@) | |
152 | am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) | |
153 | am__v_CC_0 = @echo " CC " $@; | |
154 | am__v_CC_1 = | |
94 | 155 | CCLD = $(CC) |
95 | 156 | LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ |
157 | AM_V_CCLD = $(am__v_CCLD_@AM_V@) | |
158 | am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) | |
159 | am__v_CCLD_0 = @echo " CCLD " $@; | |
160 | am__v_CCLD_1 = | |
96 | 161 | SOURCES = $(qscheck_SOURCES) $(qsexec_SOURCES) $(qsfilter2_SOURCES) \ |
97 | 162 | $(qsgeo_SOURCES) $(qsgrep_SOURCES) $(qshead_SOURCES) \ |
98 | 163 | $(qslog_SOURCES) $(qslogger_SOURCES) $(qspng_SOURCES) \ |
102 | 167 | $(qshead_SOURCES) $(qslog_SOURCES) $(qslogger_SOURCES) \ |
103 | 168 | $(qspng_SOURCES) $(qsrotate_SOURCES) $(qssign_SOURCES) \ |
104 | 169 | $(qstail_SOURCES) |
170 | am__can_run_installinfo = \ | |
171 | case $$AM_UPDATE_INFO_DIR in \ | |
172 | n|no|NO) false;; \ | |
173 | *) (install-info --version) >/dev/null 2>&1;; \ | |
174 | esac | |
175 | am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) | |
176 | # Read a list of newline-separated strings from the standard input, | |
177 | # and print each of them once, without duplicates. Input order is | |
178 | # *not* preserved. | |
179 | am__uniquify_input = $(AWK) '\ | |
180 | BEGIN { nonempty = 0; } \ | |
181 | { items[$$0] = 1; nonempty = 1; } \ | |
182 | END { if (nonempty) { for (i in items) print i; }; } \ | |
183 | ' | |
184 | # Make sure the list of sources is unique. This is necessary because, | |
185 | # e.g., the same source file might be shared among _SOURCES variables | |
186 | # for different programs/libraries. | |
187 | am__define_uniq_tagged_files = \ | |
188 | list='$(am__tagged_files)'; \ | |
189 | unique=`for i in $$list; do \ | |
190 | if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | |
191 | done | $(am__uniquify_input)` | |
105 | 192 | ETAGS = etags |
106 | 193 | CTAGS = ctags |
107 | 194 | DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) |
108 | 195 | ACLOCAL = @ACLOCAL@ |
109 | 196 | AMTAR = @AMTAR@ |
197 | AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ | |
110 | 198 | AUTOCONF = @AUTOCONF@ |
111 | 199 | AUTOHEADER = @AUTOHEADER@ |
112 | 200 | AUTOMAKE = @AUTOMAKE@ |
263 | 351 | $(am__aclocal_m4_deps): |
264 | 352 | install-binPROGRAMS: $(bin_PROGRAMS) |
265 | 353 | @$(NORMAL_INSTALL) |
266 | test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" | |
267 | 354 | @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ |
355 | if test -n "$$list"; then \ | |
356 | echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ | |
357 | $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ | |
358 | fi; \ | |
268 | 359 | for p in $$list; do echo "$$p $$p"; done | \ |
269 | 360 | sed 's/$(EXEEXT)$$//' | \ |
270 | while read p p1; do if test -f $$p; \ | |
271 | then echo "$$p"; echo "$$p"; else :; fi; \ | |
361 | while read p p1; do if test -f $$p \ | |
362 | ; then echo "$$p"; echo "$$p"; else :; fi; \ | |
272 | 363 | done | \ |
273 | sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ | |
364 | sed -e 'p;s,.*/,,;n;h' \ | |
365 | -e 's|.*|.|' \ | |
274 | 366 | -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ |
275 | 367 | sed 'N;N;N;s,\n, ,g' | \ |
276 | 368 | $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ |
291 | 383 | @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ |
292 | 384 | files=`for p in $$list; do echo "$$p"; done | \ |
293 | 385 | sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ |
294 | -e 's/$$/$(EXEEXT)/' `; \ | |
386 | -e 's/$$/$(EXEEXT)/' \ | |
387 | `; \ | |
295 | 388 | test -n "$$list" || exit 0; \ |
296 | 389 | echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ |
297 | 390 | cd "$(DESTDIR)$(bindir)" && rm -f $$files |
298 | 391 | |
299 | 392 | clean-binPROGRAMS: |
300 | 393 | -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) |
394 | ||
301 | 395 | qscheck$(EXEEXT): $(qscheck_OBJECTS) $(qscheck_DEPENDENCIES) $(EXTRA_qscheck_DEPENDENCIES) |
302 | 396 | @rm -f qscheck$(EXEEXT) |
303 | $(LINK) $(qscheck_OBJECTS) $(qscheck_LDADD) $(LIBS) | |
397 | $(AM_V_CCLD)$(LINK) $(qscheck_OBJECTS) $(qscheck_LDADD) $(LIBS) | |
398 | ||
304 | 399 | qsexec$(EXEEXT): $(qsexec_OBJECTS) $(qsexec_DEPENDENCIES) $(EXTRA_qsexec_DEPENDENCIES) |
305 | 400 | @rm -f qsexec$(EXEEXT) |
306 | $(LINK) $(qsexec_OBJECTS) $(qsexec_LDADD) $(LIBS) | |
401 | $(AM_V_CCLD)$(LINK) $(qsexec_OBJECTS) $(qsexec_LDADD) $(LIBS) | |
402 | ||
307 | 403 | qsfilter2$(EXEEXT): $(qsfilter2_OBJECTS) $(qsfilter2_DEPENDENCIES) $(EXTRA_qsfilter2_DEPENDENCIES) |
308 | 404 | @rm -f qsfilter2$(EXEEXT) |
309 | $(LINK) $(qsfilter2_OBJECTS) $(qsfilter2_LDADD) $(LIBS) | |
405 | $(AM_V_CCLD)$(LINK) $(qsfilter2_OBJECTS) $(qsfilter2_LDADD) $(LIBS) | |
406 | ||
310 | 407 | qsgeo$(EXEEXT): $(qsgeo_OBJECTS) $(qsgeo_DEPENDENCIES) $(EXTRA_qsgeo_DEPENDENCIES) |
311 | 408 | @rm -f qsgeo$(EXEEXT) |
312 | $(LINK) $(qsgeo_OBJECTS) $(qsgeo_LDADD) $(LIBS) | |
409 | $(AM_V_CCLD)$(LINK) $(qsgeo_OBJECTS) $(qsgeo_LDADD) $(LIBS) | |
410 | ||
313 | 411 | qsgrep$(EXEEXT): $(qsgrep_OBJECTS) $(qsgrep_DEPENDENCIES) $(EXTRA_qsgrep_DEPENDENCIES) |
314 | 412 | @rm -f qsgrep$(EXEEXT) |
315 | $(LINK) $(qsgrep_OBJECTS) $(qsgrep_LDADD) $(LIBS) | |
413 | $(AM_V_CCLD)$(LINK) $(qsgrep_OBJECTS) $(qsgrep_LDADD) $(LIBS) | |
414 | ||
316 | 415 | qshead$(EXEEXT): $(qshead_OBJECTS) $(qshead_DEPENDENCIES) $(EXTRA_qshead_DEPENDENCIES) |
317 | 416 | @rm -f qshead$(EXEEXT) |
318 | $(LINK) $(qshead_OBJECTS) $(qshead_LDADD) $(LIBS) | |
417 | $(AM_V_CCLD)$(LINK) $(qshead_OBJECTS) $(qshead_LDADD) $(LIBS) | |
418 | ||
319 | 419 | qslog$(EXEEXT): $(qslog_OBJECTS) $(qslog_DEPENDENCIES) $(EXTRA_qslog_DEPENDENCIES) |
320 | 420 | @rm -f qslog$(EXEEXT) |
321 | $(LINK) $(qslog_OBJECTS) $(qslog_LDADD) $(LIBS) | |
421 | $(AM_V_CCLD)$(LINK) $(qslog_OBJECTS) $(qslog_LDADD) $(LIBS) | |
422 | ||
322 | 423 | qslogger$(EXEEXT): $(qslogger_OBJECTS) $(qslogger_DEPENDENCIES) $(EXTRA_qslogger_DEPENDENCIES) |
323 | 424 | @rm -f qslogger$(EXEEXT) |
324 | $(LINK) $(qslogger_OBJECTS) $(qslogger_LDADD) $(LIBS) | |
425 | $(AM_V_CCLD)$(LINK) $(qslogger_OBJECTS) $(qslogger_LDADD) $(LIBS) | |
426 | ||
325 | 427 | qspng$(EXEEXT): $(qspng_OBJECTS) $(qspng_DEPENDENCIES) $(EXTRA_qspng_DEPENDENCIES) |
326 | 428 | @rm -f qspng$(EXEEXT) |
327 | $(LINK) $(qspng_OBJECTS) $(qspng_LDADD) $(LIBS) | |
429 | $(AM_V_CCLD)$(LINK) $(qspng_OBJECTS) $(qspng_LDADD) $(LIBS) | |
430 | ||
328 | 431 | qsrotate$(EXEEXT): $(qsrotate_OBJECTS) $(qsrotate_DEPENDENCIES) $(EXTRA_qsrotate_DEPENDENCIES) |
329 | 432 | @rm -f qsrotate$(EXEEXT) |
330 | $(LINK) $(qsrotate_OBJECTS) $(qsrotate_LDADD) $(LIBS) | |
433 | $(AM_V_CCLD)$(LINK) $(qsrotate_OBJECTS) $(qsrotate_LDADD) $(LIBS) | |
434 | ||
331 | 435 | qssign$(EXEEXT): $(qssign_OBJECTS) $(qssign_DEPENDENCIES) $(EXTRA_qssign_DEPENDENCIES) |
332 | 436 | @rm -f qssign$(EXEEXT) |
333 | $(LINK) $(qssign_OBJECTS) $(qssign_LDADD) $(LIBS) | |
437 | $(AM_V_CCLD)$(LINK) $(qssign_OBJECTS) $(qssign_LDADD) $(LIBS) | |
438 | ||
334 | 439 | qstail$(EXEEXT): $(qstail_OBJECTS) $(qstail_DEPENDENCIES) $(EXTRA_qstail_DEPENDENCIES) |
335 | 440 | @rm -f qstail$(EXEEXT) |
336 | $(LINK) $(qstail_OBJECTS) $(qstail_LDADD) $(LIBS) | |
441 | $(AM_V_CCLD)$(LINK) $(qstail_OBJECTS) $(qstail_LDADD) $(LIBS) | |
337 | 442 | |
338 | 443 | mostlyclean-compile: |
339 | 444 | -rm -f *.$(OBJEXT) |
356 | 461 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qstail.Po@am__quote@ |
357 | 462 | |
358 | 463 | .c.o: |
359 | @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< | |
360 | @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | |
361 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ | |
464 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< | |
465 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | |
466 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ | |
362 | 467 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ |
363 | @am__fastdepCC_FALSE@ $(COMPILE) -c $< | |
468 | @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< | |
364 | 469 | |
365 | 470 | .c.obj: |
366 | @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` | |
367 | @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | |
368 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ | |
471 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` | |
472 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | |
473 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ | |
369 | 474 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ |
370 | @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` | |
371 | ||
372 | ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) | |
373 | list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ | |
374 | unique=`for i in $$list; do \ | |
375 | if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | |
376 | done | \ | |
377 | $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ | |
378 | END { if (nonempty) { for (i in files) print i; }; }'`; \ | |
379 | mkid -fID $$unique | |
380 | tags: TAGS | |
381 | ||
382 | TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ | |
383 | $(TAGS_FILES) $(LISP) | |
475 | @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` | |
476 | ||
477 | ID: $(am__tagged_files) | |
478 | $(am__define_uniq_tagged_files); mkid -fID $$unique | |
479 | tags: tags-am | |
480 | TAGS: tags | |
481 | ||
482 | tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) | |
384 | 483 | set x; \ |
385 | 484 | here=`pwd`; \ |
386 | list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ | |
387 | unique=`for i in $$list; do \ | |
388 | if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | |
389 | done | \ | |
390 | $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ | |
391 | END { if (nonempty) { for (i in files) print i; }; }'`; \ | |
485 | $(am__define_uniq_tagged_files); \ | |
392 | 486 | shift; \ |
393 | 487 | if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ |
394 | 488 | test -n "$$unique" || unique=$$empty_fix; \ |
400 | 494 | $$unique; \ |
401 | 495 | fi; \ |
402 | 496 | fi |
403 | ctags: CTAGS | |
404 | CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ | |
405 | $(TAGS_FILES) $(LISP) | |
406 | list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ | |
407 | unique=`for i in $$list; do \ | |
408 | if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | |
409 | done | \ | |
410 | $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ | |
411 | END { if (nonempty) { for (i in files) print i; }; }'`; \ | |
497 | ctags: ctags-am | |
498 | ||
499 | CTAGS: ctags | |
500 | ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) | |
501 | $(am__define_uniq_tagged_files); \ | |
412 | 502 | test -z "$(CTAGS_ARGS)$$unique" \ |
413 | 503 | || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ |
414 | 504 | $$unique |
417 | 507 | here=`$(am__cd) $(top_builddir) && pwd` \ |
418 | 508 | && $(am__cd) $(top_srcdir) \ |
419 | 509 | && gtags -i $(GTAGS_ARGS) "$$here" |
510 | cscopelist: cscopelist-am | |
511 | ||
512 | cscopelist-am: $(am__tagged_files) | |
513 | list='$(am__tagged_files)'; \ | |
514 | case "$(srcdir)" in \ | |
515 | [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ | |
516 | *) sdir=$(subdir)/$(srcdir) ;; \ | |
517 | esac; \ | |
518 | for i in $$list; do \ | |
519 | if test -f "$$i"; then \ | |
520 | echo "$(subdir)/$$i"; \ | |
521 | else \ | |
522 | echo "$$sdir/$$i"; \ | |
523 | fi; \ | |
524 | done >> $(top_builddir)/cscope.files | |
420 | 525 | |
421 | 526 | distclean-tags: |
422 | 527 | -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags |
559 | 664 | |
560 | 665 | .MAKE: install-am install-strip |
561 | 666 | |
562 | .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ | |
563 | clean-generic ctags distclean distclean-compile \ | |
564 | distclean-generic distclean-tags distdir dvi dvi-am html \ | |
565 | html-am info info-am install install-am install-binPROGRAMS \ | |
566 | install-data install-data-am install-dvi install-dvi-am \ | |
567 | install-exec install-exec-am install-html install-html-am \ | |
568 | install-info install-info-am install-man install-pdf \ | |
569 | install-pdf-am install-ps install-ps-am install-strip \ | |
570 | installcheck installcheck-am installdirs maintainer-clean \ | |
571 | maintainer-clean-generic mostlyclean mostlyclean-compile \ | |
572 | mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ | |
573 | uninstall-am uninstall-binPROGRAMS | |
667 | .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ | |
668 | clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ | |
669 | distclean distclean-compile distclean-generic distclean-tags \ | |
670 | distdir dvi dvi-am html html-am info info-am install \ | |
671 | install-am install-binPROGRAMS install-data install-data-am \ | |
672 | install-dvi install-dvi-am install-exec install-exec-am \ | |
673 | install-html install-html-am install-info install-info-am \ | |
674 | install-man install-pdf install-pdf-am install-ps \ | |
675 | install-ps-am install-strip installcheck installcheck-am \ | |
676 | installdirs maintainer-clean maintainer-clean-generic \ | |
677 | mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ | |
678 | ps ps-am tags tags-am uninstall uninstall-am \ | |
679 | uninstall-binPROGRAMS | |
574 | 680 | |
575 | 681 | |
576 | 682 | # Tell versions [3.59,3.63) of GNU make to not export all variables. |
3 | 3 | * See http://opensource.adnovum.ch/mod_qos/ for further |
4 | 4 | * details. |
5 | 5 | * |
6 | * Copyright (C) 2007-2014 Pascal Buchbinder | |
6 | * Copyright (C) 2007-2015 Pascal Buchbinder | |
7 | 7 | * |
8 | 8 | * This program is free software; you can redistribute it and/or |
9 | 9 | * modify it under the terms of the GNU General Public License |
3 | 3 | * See http://opensource.adnovum.ch/mod_qos/ for further |
4 | 4 | * details. |
5 | 5 | * |
6 | * Copyright (C) 2007-2014 Pascal Buchbinder | |
6 | * Copyright (C) 2007-2015 Pascal Buchbinder | |
7 | 7 | * |
8 | 8 | * This program is free software; you can redistribute it and/or |
9 | 9 | * modify it under the terms of the GNU General Public License |
22 | 22 | * |
23 | 23 | */ |
24 | 24 | |
25 | static const char revision[] = "$Id: qs_util.c,v 1.16 2014/06/26 19:12:08 pbuchbinder Exp $"; | |
25 | static const char revision[] = "$Id: qs_util.c,v 1.17 2015/01/05 17:35:58 pbuchbinder Exp $"; | |
26 | 26 | |
27 | 27 | #include <stdio.h> |
28 | 28 | #include <pthread.h> |
3 | 3 | * See http://opensource.adnovum.ch/mod_qos/ for further |
4 | 4 | * details. |
5 | 5 | * |
6 | * Copyright (C) 2007-2014 Pascal Buchbinder | |
6 | * Copyright (C) 2007-2015 Pascal Buchbinder | |
7 | 7 | * |
8 | 8 | * This program is free software; you can redistribute it and/or |
9 | 9 | * modify it under the terms of the GNU General Public License |
28 | 28 | /* ---------------------------------- |
29 | 29 | * version info |
30 | 30 | * ---------------------------------- */ |
31 | static const char man_version[] = "11.7"; | |
32 | static const char man_date[] = "November 2014"; | |
31 | static const char man_version[] = "11.9"; | |
32 | static const char man_date[] = "January 2015"; | |
33 | 33 | |
34 | 34 | /* ---------------------------------- |
35 | 35 | * definitions |
5 | 5 | * See http://opensource.adnovum.ch/mod_qos/ for further |
6 | 6 | * details. |
7 | 7 | * |
8 | * Copyright (C) 2007-2014 Pascal Buchbinder | |
8 | * Copyright (C) 2007-2015 Pascal Buchbinder | |
9 | 9 | * |
10 | 10 | * This program is free software; you can redistribute it and/or |
11 | 11 | * modify it under the terms of the GNU General Public License |
24 | 24 | * |
25 | 25 | */ |
26 | 26 | |
27 | static const char revision[] = "$Id: qscheck.c,v 1.8 2014/01/09 08:13:07 pbuchbinder Exp $"; | |
27 | static const char revision[] = "$Id: qscheck.c,v 1.9 2015/01/05 17:35:58 pbuchbinder Exp $"; | |
28 | 28 | |
29 | 29 | #include <stdio.h> |
30 | 30 | #include <stdlib.h> |
4 | 4 | * |
5 | 5 | * See http://opensource.adnovum.ch/mod_qos/ for further details. |
6 | 6 | * |
7 | * Copyright (C) 2011-2014 Pascal Buchbinder | |
7 | * Copyright (C) 2011-2015 Pascal Buchbinder | |
8 | 8 | * |
9 | 9 | * This program is free software; you can redistribute it and/or |
10 | 10 | * modify it under the terms of the GNU General Public License |
26 | 26 | * |
27 | 27 | */ |
28 | 28 | |
29 | static const char revision[] = "$Id: qsexec.c,v 1.21 2014/03/25 11:57:09 pbuchbinder Exp $"; | |
29 | static const char revision[] = "$Id: qsexec.c,v 1.22 2015/01/05 17:35:58 pbuchbinder Exp $"; | |
30 | 30 | |
31 | 31 | /* system */ |
32 | 32 | #include <stdio.h> |
6 | 6 | * See http://opensource.adnovum.ch/mod_qos/ for further |
7 | 7 | * details. |
8 | 8 | * |
9 | * Copyright (C) 2007-2014 Pascal Buchbinder | |
9 | * Copyright (C) 2007-2015 Pascal Buchbinder | |
10 | 10 | * |
11 | 11 | * This program is free software; you can redistribute it and/or |
12 | 12 | * modify it under the terms of the GNU General Public License |
28 | 28 | * |
29 | 29 | */ |
30 | 30 | |
31 | static const char revision[] = "$Id: qsfilter2.c,v 1.76 2014/01/09 08:13:07 pbuchbinder Exp $"; | |
31 | static const char revision[] = "$Id: qsfilter2.c,v 1.77 2015/01/05 17:35:59 pbuchbinder Exp $"; | |
32 | 32 | |
33 | 33 | /* system */ |
34 | 34 | #include <stdio.h> |
5 | 5 | * See http://opensource.adnovum.ch/mod_qos/ for further |
6 | 6 | * details. |
7 | 7 | * |
8 | * Copyright (C) 2007-2014 Pascal Buchbinder | |
8 | * Copyright (C) 2007-2015 Pascal Buchbinder | |
9 | 9 | * |
10 | 10 | * This program is free software; you can redistribute it and/or |
11 | 11 | * modify it under the terms of the GNU General Public License |
24 | 24 | * |
25 | 25 | */ |
26 | 26 | |
27 | static const char revision[] = "$Id: qsgeo.c,v 1.19 2014/08/22 20:06:34 pbuchbinder Exp $"; | |
27 | static const char revision[] = "$Id: qsgeo.c,v 1.20 2015/01/05 17:35:59 pbuchbinder Exp $"; | |
28 | 28 | |
29 | 29 | #include <stdio.h> |
30 | 30 | #include <stdlib.h> |
4 | 4 | * |
5 | 5 | * See http://opensource.adnovum.ch/mod_qos/ for further details. |
6 | 6 | * |
7 | * Copyright (C) 2011-2014 Pascal Buchbinder | |
7 | * Copyright (C) 2011-2015 Pascal Buchbinder | |
8 | 8 | * |
9 | 9 | * This program is free software; you can redistribute it and/or |
10 | 10 | * modify it under the terms of the GNU General Public License |
26 | 26 | * |
27 | 27 | */ |
28 | 28 | |
29 | static const char revision[] = "$Id: qsgrep.c,v 1.16 2014/03/25 11:57:09 pbuchbinder Exp $"; | |
29 | static const char revision[] = "$Id: qsgrep.c,v 1.17 2015/01/05 17:35:59 pbuchbinder Exp $"; | |
30 | 30 | |
31 | 31 | /* system */ |
32 | 32 | #include <stdio.h> |
7 | 7 | * See http://opensource.adnovum.ch/mod_qos/ for further |
8 | 8 | * details. |
9 | 9 | * |
10 | * Copyright (C) 2012-2014 Pascal Buchbinder | |
10 | * Copyright (C) 2012-2015 Pascal Buchbinder | |
11 | 11 | * |
12 | 12 | * This program is free software; you can redistribute it and/or |
13 | 13 | * modify it under the terms of the GNU General Public License |
26 | 26 | * |
27 | 27 | */ |
28 | 28 | |
29 | static const char revision[] = "$Id: qshead.c,v 1.3 2014/01/09 08:13:07 pbuchbinder Exp $"; | |
29 | static const char revision[] = "$Id: qshead.c,v 1.4 2015/01/05 17:35:59 pbuchbinder Exp $"; | |
30 | 30 | |
31 | 31 | #include <stdio.h> |
32 | 32 | #include <unistd.h> |
8 | 8 | * See http://opensource.adnovum.ch/mod_qos/ for further |
9 | 9 | * details. |
10 | 10 | * |
11 | * Copyright (C) 2007-2014 Pascal Buchbinder | |
11 | * Copyright (C) 2007-2015 Pascal Buchbinder | |
12 | 12 | * |
13 | 13 | * This program is free software; you can redistribute it and/or |
14 | 14 | * modify it under the terms of the GNU General Public License |
27 | 27 | * |
28 | 28 | */ |
29 | 29 | |
30 | static const char revision[] = "$Id: qslog.c,v 1.95 2014/07/09 20:02:05 pbuchbinder Exp $"; | |
30 | static const char revision[] = "$Id: qslog.c,v 1.96 2015/01/05 17:35:59 pbuchbinder Exp $"; | |
31 | 31 | |
32 | 32 | #include <stdio.h> |
33 | 33 | #include <string.h> |
5 | 5 | * See http://opensource.adnovum.ch/mod_qos/ for further |
6 | 6 | * details. |
7 | 7 | * |
8 | * Copyright (C) 2007-2014 Pascal Buchbinder | |
8 | * Copyright (C) 2007-2015 Pascal Buchbinder | |
9 | 9 | * |
10 | 10 | * This program is free software; you can redistribute it and/or |
11 | 11 | * modify it under the terms of the GNU General Public License |
24 | 24 | * |
25 | 25 | */ |
26 | 26 | |
27 | static const char revision[] = "$Id: qslogger.c,v 1.15 2014/01/09 08:13:07 pbuchbinder Exp $"; | |
27 | static const char revision[] = "$Id: qslogger.c,v 1.16 2015/01/05 17:35:59 pbuchbinder Exp $"; | |
28 | 28 | |
29 | 29 | #include <stdio.h> |
30 | 30 | #include <stdlib.h> |
3 | 3 | * See http://opensource.adnovum.ch/mod_qos/ for further |
4 | 4 | * details. |
5 | 5 | * |
6 | * Copyright (C) 2007-2014 Pascal Buchbinder | |
6 | * Copyright (C) 2007-2015 Pascal Buchbinder | |
7 | 7 | * |
8 | 8 | * This program is free software; you can redistribute it and/or |
9 | 9 | * modify it under the terms of the GNU General Public License |
22 | 22 | * |
23 | 23 | */ |
24 | 24 | |
25 | static const char revision[] = "$Id: qspng.c,v 1.18 2014/01/09 08:13:07 pbuchbinder Exp $"; | |
25 | static const char revision[] = "$Id: qspng.c,v 1.19 2015/01/05 17:35:59 pbuchbinder Exp $"; | |
26 | 26 | |
27 | 27 | #include <stdio.h> |
28 | 28 | #include <strings.h> |
6 | 6 | * See http://opensource.adnovum.ch/mod_qos/ for further |
7 | 7 | * details. |
8 | 8 | * |
9 | * Copyright (C) 2007-2014 Pascal Buchbinder | |
9 | * Copyright (C) 2007-2015 Pascal Buchbinder | |
10 | 10 | * |
11 | 11 | * This program is free software; you can redistribute it and/or |
12 | 12 | * modify it under the terms of the GNU General Public License |
25 | 25 | * |
26 | 26 | */ |
27 | 27 | |
28 | static const char revision[] = "$Id: qsrotate.c,v 1.24 2014/09/10 05:46:13 pbuchbinder Exp $"; | |
28 | static const char revision[] = "$Id: qsrotate.c,v 1.25 2015/01/05 17:35:59 pbuchbinder Exp $"; | |
29 | 29 | |
30 | 30 | #include <stdio.h> |
31 | 31 | #include <string.h> |
5 | 5 | * See http://opensource.adnovum.ch/mod_qos/ for further |
6 | 6 | * details. |
7 | 7 | * |
8 | * Copyright (C) 2010-2014 Pascal Buchbinder | |
8 | * Copyright (C) 2010-2015 Pascal Buchbinder | |
9 | 9 | * |
10 | 10 | * This program is free software; you can redistribute it and/or |
11 | 11 | * modify it under the terms of the GNU General Public License |
27 | 27 | * |
28 | 28 | */ |
29 | 29 | |
30 | static const char revision[] = "$Id: qssign.c,v 1.30 2014/01/09 08:13:07 pbuchbinder Exp $"; | |
30 | static const char revision[] = "$Id: qssign.c,v 1.31 2015/01/05 17:35:59 pbuchbinder Exp $"; | |
31 | 31 | |
32 | 32 | #include <stdio.h> |
33 | 33 | #include <unistd.h> |
7 | 7 | * See http://opensource.adnovum.ch/mod_qos/ for further |
8 | 8 | * details. |
9 | 9 | * |
10 | * Copyright (C) 2010-2014 Pascal Buchbinder | |
10 | * Copyright (C) 2010-2015 Pascal Buchbinder | |
11 | 11 | * |
12 | 12 | * This program is free software; you can redistribute it and/or |
13 | 13 | * modify it under the terms of the GNU General Public License |
26 | 26 | * |
27 | 27 | */ |
28 | 28 | |
29 | static const char revision[] = "$Id: qstail.c,v 1.15 2014/01/09 08:13:07 pbuchbinder Exp $"; | |
29 | static const char revision[] = "$Id: qstail.c,v 1.16 2015/01/05 17:36:00 pbuchbinder Exp $"; | |
30 | 30 | |
31 | 31 | #include <stdio.h> |
32 | 32 | #include <unistd.h> |