Fossil SCM
Add the ability to extend a Fossil server using CGI. This is a refactor of the prior sub-cgi branch.
Commit
ed2def5ffb96d74ce462ce8f5ad0df2acd2c387e6c6eba0caf678f0eaf63ac71
Parent
35d609a0ba81799…
11 files changed
+13
-9
+77
-60
+12
+1
-1
+11
-2
+12
+1
+12
-2
+10
-4
+12
+10
+13
-9
| --- src/cgi.c | ||
| +++ src/cgi.c | ||
| @@ -13,15 +13,20 @@ | ||
| 13 | 13 | ** [email protected] |
| 14 | 14 | ** http://www.hwaci.com/drh/ |
| 15 | 15 | ** |
| 16 | 16 | ******************************************************************************* |
| 17 | 17 | ** |
| 18 | -** This file contains C functions and procedures that provide useful | |
| 19 | -** services to CGI programs. There are procedures for parsing and | |
| 20 | -** dispensing QUERY_STRING parameters and cookies, the "mprintf()" | |
| 21 | -** formatting function and its cousins, and routines to encode and | |
| 22 | -** decode strings in HTML or HTTP. | |
| 18 | +** This file contains C functions and procedures used by CGI programs | |
| 19 | +** (Fossil launched as CGI) to interpret CGI environment variables, | |
| 20 | +** gather the results, and send they reply back to the CGI server. | |
| 21 | +** This file also contains routines for running a simple web-server | |
| 22 | +** (the "fossil ui" or "fossil server" command) and launching subprocesses | |
| 23 | +** to handle each inbound HTTP request using CGI. | |
| 24 | +** | |
| 25 | +** This file contains routines used by Fossil when it is acting as a | |
| 26 | +** CGI client. For the code used by Fossil when it is acting as a | |
| 27 | +** CGI server (for the /ext webpage) see the "extcgi.c" source file. | |
| 23 | 28 | */ |
| 24 | 29 | #include "config.h" |
| 25 | 30 | #ifdef _WIN32 |
| 26 | 31 | # if !defined(_WIN32_WINNT) |
| 27 | 32 | # define _WIN32_WINNT 0x0501 |
| @@ -995,14 +1000,10 @@ | ||
| 995 | 1000 | process_multipart_form_data(z, len); |
| 996 | 1001 | } |
| 997 | 1002 | }else if( fossil_strcmp(zType, "application/x-fossil")==0 ){ |
| 998 | 1003 | blob_read_from_channel(&g.cgiIn, g.httpIn, len); |
| 999 | 1004 | blob_uncompress(&g.cgiIn, &g.cgiIn); |
| 1000 | - }else if( fossil_strcmp(zType, "application/x-fossil-debug")==0 ){ | |
| 1001 | - blob_read_from_channel(&g.cgiIn, g.httpIn, len); | |
| 1002 | - }else if( fossil_strcmp(zType, "application/x-fossil-uncompressed")==0 ){ | |
| 1003 | - blob_read_from_channel(&g.cgiIn, g.httpIn, len); | |
| 1004 | 1005 | } |
| 1005 | 1006 | #ifdef FOSSIL_ENABLE_JSON |
| 1006 | 1007 | else if( fossil_strcmp(zType, "application/json") |
| 1007 | 1008 | || fossil_strcmp(zType,"text/plain")/*assume this MIGHT be JSON*/ |
| 1008 | 1009 | || fossil_strcmp(zType,"application/javascript")){ |
| @@ -1024,10 +1025,13 @@ | ||
| 1024 | 1025 | need to process QUERY_STRING _after_ reading the POST data. |
| 1025 | 1026 | */ |
| 1026 | 1027 | cgi_set_content_type(json_guess_content_type()); |
| 1027 | 1028 | } |
| 1028 | 1029 | #endif /* FOSSIL_ENABLE_JSON */ |
| 1030 | + else{ | |
| 1031 | + blob_read_from_channel(&g.cgiIn, g.httpIn, len); | |
| 1032 | + } | |
| 1029 | 1033 | } |
| 1030 | 1034 | |
| 1031 | 1035 | } |
| 1032 | 1036 | |
| 1033 | 1037 | /* |
| 1034 | 1038 |
| --- src/cgi.c | |
| +++ src/cgi.c | |
| @@ -13,15 +13,20 @@ | |
| 13 | ** [email protected] |
| 14 | ** http://www.hwaci.com/drh/ |
| 15 | ** |
| 16 | ******************************************************************************* |
| 17 | ** |
| 18 | ** This file contains C functions and procedures that provide useful |
| 19 | ** services to CGI programs. There are procedures for parsing and |
| 20 | ** dispensing QUERY_STRING parameters and cookies, the "mprintf()" |
| 21 | ** formatting function and its cousins, and routines to encode and |
| 22 | ** decode strings in HTML or HTTP. |
| 23 | */ |
| 24 | #include "config.h" |
| 25 | #ifdef _WIN32 |
| 26 | # if !defined(_WIN32_WINNT) |
| 27 | # define _WIN32_WINNT 0x0501 |
| @@ -995,14 +1000,10 @@ | |
| 995 | process_multipart_form_data(z, len); |
| 996 | } |
| 997 | }else if( fossil_strcmp(zType, "application/x-fossil")==0 ){ |
| 998 | blob_read_from_channel(&g.cgiIn, g.httpIn, len); |
| 999 | blob_uncompress(&g.cgiIn, &g.cgiIn); |
| 1000 | }else if( fossil_strcmp(zType, "application/x-fossil-debug")==0 ){ |
| 1001 | blob_read_from_channel(&g.cgiIn, g.httpIn, len); |
| 1002 | }else if( fossil_strcmp(zType, "application/x-fossil-uncompressed")==0 ){ |
| 1003 | blob_read_from_channel(&g.cgiIn, g.httpIn, len); |
| 1004 | } |
| 1005 | #ifdef FOSSIL_ENABLE_JSON |
| 1006 | else if( fossil_strcmp(zType, "application/json") |
| 1007 | || fossil_strcmp(zType,"text/plain")/*assume this MIGHT be JSON*/ |
| 1008 | || fossil_strcmp(zType,"application/javascript")){ |
| @@ -1024,10 +1025,13 @@ | |
| 1024 | need to process QUERY_STRING _after_ reading the POST data. |
| 1025 | */ |
| 1026 | cgi_set_content_type(json_guess_content_type()); |
| 1027 | } |
| 1028 | #endif /* FOSSIL_ENABLE_JSON */ |
| 1029 | } |
| 1030 | |
| 1031 | } |
| 1032 | |
| 1033 | /* |
| 1034 |
| --- src/cgi.c | |
| +++ src/cgi.c | |
| @@ -13,15 +13,20 @@ | |
| 13 | ** [email protected] |
| 14 | ** http://www.hwaci.com/drh/ |
| 15 | ** |
| 16 | ******************************************************************************* |
| 17 | ** |
| 18 | ** This file contains C functions and procedures used by CGI programs |
| 19 | ** (Fossil launched as CGI) to interpret CGI environment variables, |
| 20 | ** gather the results, and send they reply back to the CGI server. |
| 21 | ** This file also contains routines for running a simple web-server |
| 22 | ** (the "fossil ui" or "fossil server" command) and launching subprocesses |
| 23 | ** to handle each inbound HTTP request using CGI. |
| 24 | ** |
| 25 | ** This file contains routines used by Fossil when it is acting as a |
| 26 | ** CGI client. For the code used by Fossil when it is acting as a |
| 27 | ** CGI server (for the /ext webpage) see the "extcgi.c" source file. |
| 28 | */ |
| 29 | #include "config.h" |
| 30 | #ifdef _WIN32 |
| 31 | # if !defined(_WIN32_WINNT) |
| 32 | # define _WIN32_WINNT 0x0501 |
| @@ -995,14 +1000,10 @@ | |
| 1000 | process_multipart_form_data(z, len); |
| 1001 | } |
| 1002 | }else if( fossil_strcmp(zType, "application/x-fossil")==0 ){ |
| 1003 | blob_read_from_channel(&g.cgiIn, g.httpIn, len); |
| 1004 | blob_uncompress(&g.cgiIn, &g.cgiIn); |
| 1005 | } |
| 1006 | #ifdef FOSSIL_ENABLE_JSON |
| 1007 | else if( fossil_strcmp(zType, "application/json") |
| 1008 | || fossil_strcmp(zType,"text/plain")/*assume this MIGHT be JSON*/ |
| 1009 | || fossil_strcmp(zType,"application/javascript")){ |
| @@ -1024,10 +1025,13 @@ | |
| 1025 | need to process QUERY_STRING _after_ reading the POST data. |
| 1026 | */ |
| 1027 | cgi_set_content_type(json_guess_content_type()); |
| 1028 | } |
| 1029 | #endif /* FOSSIL_ENABLE_JSON */ |
| 1030 | else{ |
| 1031 | blob_read_from_channel(&g.cgiIn, g.httpIn, len); |
| 1032 | } |
| 1033 | } |
| 1034 | |
| 1035 | } |
| 1036 | |
| 1037 | /* |
| 1038 |
+77
-60
| --- src/doc.c | ||
| +++ src/doc.c | ||
| @@ -529,10 +529,85 @@ | ||
| 529 | 529 | base = i+5; |
| 530 | 530 | } |
| 531 | 531 | } |
| 532 | 532 | blob_append(cgi_output_blob(), &z[base], i-base); |
| 533 | 533 | } |
| 534 | + | |
| 535 | +/* | |
| 536 | +** Render a document as the reply to the HTTP request. The body | |
| 537 | +** of the document is contained in pBody. The body might be binary. | |
| 538 | +** The mimetype is in zMimetype. | |
| 539 | +*/ | |
| 540 | +void document_render( | |
| 541 | + Blob *pBody, /* Document content */ | |
| 542 | + const char *zMime, /* MIME-type */ | |
| 543 | + const char *zDefaultTitle, /* Default title */ | |
| 544 | + const char *zFilename /* Name of the file being rendered */ | |
| 545 | +){ | |
| 546 | + Blob title; | |
| 547 | + blob_init(&title,0,0); | |
| 548 | + if( fossil_strcmp(zMime, "text/x-fossil-wiki")==0 ){ | |
| 549 | + Blob tail; | |
| 550 | + style_adunit_config(ADUNIT_RIGHT_OK); | |
| 551 | + if( wiki_find_title(pBody, &title, &tail) ){ | |
| 552 | + style_header("%s", blob_str(&title)); | |
| 553 | + wiki_convert(&tail, 0, WIKI_BUTTONS); | |
| 554 | + }else{ | |
| 555 | + style_header("%s", zDefaultTitle); | |
| 556 | + wiki_convert(pBody, 0, WIKI_BUTTONS); | |
| 557 | + } | |
| 558 | + style_footer(); | |
| 559 | + }else if( fossil_strcmp(zMime, "text/x-markdown")==0 ){ | |
| 560 | + Blob tail = BLOB_INITIALIZER; | |
| 561 | + markdown_to_html(pBody, &title, &tail); | |
| 562 | + if( blob_size(&title)>0 ){ | |
| 563 | + style_header("%s", blob_str(&title)); | |
| 564 | + }else{ | |
| 565 | + style_header("%s", zDefaultTitle); | |
| 566 | + } | |
| 567 | + convert_href_and_output(&tail); | |
| 568 | + style_footer(); | |
| 569 | + }else if( fossil_strcmp(zMime, "text/plain")==0 ){ | |
| 570 | + style_header("%s", zDefaultTitle); | |
| 571 | + @ <blockquote><pre> | |
| 572 | + @ %h(blob_str(pBody)) | |
| 573 | + @ </pre></blockquote> | |
| 574 | + style_footer(); | |
| 575 | + }else if( fossil_strcmp(zMime, "text/html")==0 | |
| 576 | + && doc_is_embedded_html(pBody, &title) ){ | |
| 577 | + if( blob_size(&title)==0 ) blob_append(&title,zFilename,-1); | |
| 578 | + style_header("%s", blob_str(&title)); | |
| 579 | + convert_href_and_output(pBody); | |
| 580 | + style_footer(); | |
| 581 | +#ifdef FOSSIL_ENABLE_TH1_DOCS | |
| 582 | + }else if( Th_AreDocsEnabled() && | |
| 583 | + fossil_strcmp(zMime, "application/x-th1")==0 ){ | |
| 584 | + int raw = P("raw")!=0; | |
| 585 | + if( !raw ){ | |
| 586 | + Blob tail; | |
| 587 | + blob_zero(&tail); | |
| 588 | + if( wiki_find_title(pBody, &title, &tail) ){ | |
| 589 | + style_header("%s", blob_str(&title)); | |
| 590 | + Th_Render(blob_str(&tail)); | |
| 591 | + blob_reset(&tail); | |
| 592 | + }else{ | |
| 593 | + style_header("%h", zName); | |
| 594 | + Th_Render(blob_str(pBody)); | |
| 595 | + } | |
| 596 | + }else{ | |
| 597 | + Th_Render(blob_str(pBody)); | |
| 598 | + } | |
| 599 | + if( !raw ){ | |
| 600 | + style_footer(); | |
| 601 | + } | |
| 602 | +#endif | |
| 603 | + }else{ | |
| 604 | + cgi_set_content_type(zMime); | |
| 605 | + cgi_set_content(pBody); | |
| 606 | + } | |
| 607 | +} | |
| 608 | + | |
| 534 | 609 | |
| 535 | 610 | /* |
| 536 | 611 | ** WEBPAGE: uv |
| 537 | 612 | ** WEBPAGE: doc |
| 538 | 613 | ** URL: /uv/FILE |
| @@ -618,10 +693,11 @@ | ||
| 618 | 693 | zCheckin = "tip"; |
| 619 | 694 | } |
| 620 | 695 | } |
| 621 | 696 | if( nMiss==count(azSuffix) ){ |
| 622 | 697 | zName = "404.md"; |
| 698 | + zDfltTitle = "Not Found"; | |
| 623 | 699 | }else if( zName[i]==0 ){ |
| 624 | 700 | assert( nMiss>=0 && nMiss<count(azSuffix) ); |
| 625 | 701 | zName = azSuffix[nMiss]; |
| 626 | 702 | }else if( !isUV ){ |
| 627 | 703 | zName += i; |
| @@ -690,70 +766,11 @@ | ||
| 690 | 766 | Th_Store("doc_version", db_text(0, "SELECT '[' || substr(uuid,1,10) || ']'" |
| 691 | 767 | " FROM blob WHERE rid=%d", vid)); |
| 692 | 768 | Th_Store("doc_date", db_text(0, "SELECT datetime(mtime) FROM event" |
| 693 | 769 | " WHERE objid=%d AND type='ci'", vid)); |
| 694 | 770 | } |
| 695 | - if( fossil_strcmp(zMime, "text/x-fossil-wiki")==0 ){ | |
| 696 | - Blob tail; | |
| 697 | - style_adunit_config(ADUNIT_RIGHT_OK); | |
| 698 | - if( wiki_find_title(&filebody, &title, &tail) ){ | |
| 699 | - style_header("%s", blob_str(&title)); | |
| 700 | - wiki_convert(&tail, 0, WIKI_BUTTONS); | |
| 701 | - }else{ | |
| 702 | - style_header("%s", zDfltTitle); | |
| 703 | - wiki_convert(&filebody, 0, WIKI_BUTTONS); | |
| 704 | - } | |
| 705 | - style_footer(); | |
| 706 | - }else if( fossil_strcmp(zMime, "text/x-markdown")==0 ){ | |
| 707 | - Blob tail = BLOB_INITIALIZER; | |
| 708 | - markdown_to_html(&filebody, &title, &tail); | |
| 709 | - if( blob_size(&title)>0 ){ | |
| 710 | - style_header("%s", blob_str(&title)); | |
| 711 | - }else{ | |
| 712 | - style_header("%s", nMiss>=count(azSuffix)? | |
| 713 | - "Not Found" : zDfltTitle); | |
| 714 | - } | |
| 715 | - convert_href_and_output(&tail); | |
| 716 | - style_footer(); | |
| 717 | - }else if( fossil_strcmp(zMime, "text/plain")==0 ){ | |
| 718 | - style_header("%s", zDfltTitle); | |
| 719 | - @ <blockquote><pre> | |
| 720 | - @ %h(blob_str(&filebody)) | |
| 721 | - @ </pre></blockquote> | |
| 722 | - style_footer(); | |
| 723 | - }else if( fossil_strcmp(zMime, "text/html")==0 | |
| 724 | - && doc_is_embedded_html(&filebody, &title) ){ | |
| 725 | - if( blob_size(&title)==0 ) blob_append(&title,zName,-1); | |
| 726 | - style_header("%s", blob_str(&title)); | |
| 727 | - convert_href_and_output(&filebody); | |
| 728 | - style_footer(); | |
| 729 | -#ifdef FOSSIL_ENABLE_TH1_DOCS | |
| 730 | - }else if( Th_AreDocsEnabled() && | |
| 731 | - fossil_strcmp(zMime, "application/x-th1")==0 ){ | |
| 732 | - int raw = P("raw")!=0; | |
| 733 | - if( !raw ){ | |
| 734 | - Blob tail; | |
| 735 | - blob_zero(&tail); | |
| 736 | - if( wiki_find_title(&filebody, &title, &tail) ){ | |
| 737 | - style_header("%s", blob_str(&title)); | |
| 738 | - Th_Render(blob_str(&tail)); | |
| 739 | - blob_reset(&tail); | |
| 740 | - }else{ | |
| 741 | - style_header("%h", zName); | |
| 742 | - Th_Render(blob_str(&filebody)); | |
| 743 | - } | |
| 744 | - }else{ | |
| 745 | - Th_Render(blob_str(&filebody)); | |
| 746 | - } | |
| 747 | - if( !raw ){ | |
| 748 | - style_footer(); | |
| 749 | - } | |
| 750 | -#endif | |
| 751 | - }else{ | |
| 752 | - cgi_set_content_type(zMime); | |
| 753 | - cgi_set_content(&filebody); | |
| 754 | - } | |
| 771 | + document_render(&filebody, zMime, zDfltTitle, zName); | |
| 755 | 772 | if( nMiss>=count(azSuffix) ) cgi_set_status(404, "Not Found"); |
| 756 | 773 | db_end_transaction(0); |
| 757 | 774 | return; |
| 758 | 775 | |
| 759 | 776 | /* Jump here when unable to locate the document */ |
| 760 | 777 | |
| 761 | 778 | ADDED src/extcgi.c |
| --- src/doc.c | |
| +++ src/doc.c | |
| @@ -529,10 +529,85 @@ | |
| 529 | base = i+5; |
| 530 | } |
| 531 | } |
| 532 | blob_append(cgi_output_blob(), &z[base], i-base); |
| 533 | } |
| 534 | |
| 535 | /* |
| 536 | ** WEBPAGE: uv |
| 537 | ** WEBPAGE: doc |
| 538 | ** URL: /uv/FILE |
| @@ -618,10 +693,11 @@ | |
| 618 | zCheckin = "tip"; |
| 619 | } |
| 620 | } |
| 621 | if( nMiss==count(azSuffix) ){ |
| 622 | zName = "404.md"; |
| 623 | }else if( zName[i]==0 ){ |
| 624 | assert( nMiss>=0 && nMiss<count(azSuffix) ); |
| 625 | zName = azSuffix[nMiss]; |
| 626 | }else if( !isUV ){ |
| 627 | zName += i; |
| @@ -690,70 +766,11 @@ | |
| 690 | Th_Store("doc_version", db_text(0, "SELECT '[' || substr(uuid,1,10) || ']'" |
| 691 | " FROM blob WHERE rid=%d", vid)); |
| 692 | Th_Store("doc_date", db_text(0, "SELECT datetime(mtime) FROM event" |
| 693 | " WHERE objid=%d AND type='ci'", vid)); |
| 694 | } |
| 695 | if( fossil_strcmp(zMime, "text/x-fossil-wiki")==0 ){ |
| 696 | Blob tail; |
| 697 | style_adunit_config(ADUNIT_RIGHT_OK); |
| 698 | if( wiki_find_title(&filebody, &title, &tail) ){ |
| 699 | style_header("%s", blob_str(&title)); |
| 700 | wiki_convert(&tail, 0, WIKI_BUTTONS); |
| 701 | }else{ |
| 702 | style_header("%s", zDfltTitle); |
| 703 | wiki_convert(&filebody, 0, WIKI_BUTTONS); |
| 704 | } |
| 705 | style_footer(); |
| 706 | }else if( fossil_strcmp(zMime, "text/x-markdown")==0 ){ |
| 707 | Blob tail = BLOB_INITIALIZER; |
| 708 | markdown_to_html(&filebody, &title, &tail); |
| 709 | if( blob_size(&title)>0 ){ |
| 710 | style_header("%s", blob_str(&title)); |
| 711 | }else{ |
| 712 | style_header("%s", nMiss>=count(azSuffix)? |
| 713 | "Not Found" : zDfltTitle); |
| 714 | } |
| 715 | convert_href_and_output(&tail); |
| 716 | style_footer(); |
| 717 | }else if( fossil_strcmp(zMime, "text/plain")==0 ){ |
| 718 | style_header("%s", zDfltTitle); |
| 719 | @ <blockquote><pre> |
| 720 | @ %h(blob_str(&filebody)) |
| 721 | @ </pre></blockquote> |
| 722 | style_footer(); |
| 723 | }else if( fossil_strcmp(zMime, "text/html")==0 |
| 724 | && doc_is_embedded_html(&filebody, &title) ){ |
| 725 | if( blob_size(&title)==0 ) blob_append(&title,zName,-1); |
| 726 | style_header("%s", blob_str(&title)); |
| 727 | convert_href_and_output(&filebody); |
| 728 | style_footer(); |
| 729 | #ifdef FOSSIL_ENABLE_TH1_DOCS |
| 730 | }else if( Th_AreDocsEnabled() && |
| 731 | fossil_strcmp(zMime, "application/x-th1")==0 ){ |
| 732 | int raw = P("raw")!=0; |
| 733 | if( !raw ){ |
| 734 | Blob tail; |
| 735 | blob_zero(&tail); |
| 736 | if( wiki_find_title(&filebody, &title, &tail) ){ |
| 737 | style_header("%s", blob_str(&title)); |
| 738 | Th_Render(blob_str(&tail)); |
| 739 | blob_reset(&tail); |
| 740 | }else{ |
| 741 | style_header("%h", zName); |
| 742 | Th_Render(blob_str(&filebody)); |
| 743 | } |
| 744 | }else{ |
| 745 | Th_Render(blob_str(&filebody)); |
| 746 | } |
| 747 | if( !raw ){ |
| 748 | style_footer(); |
| 749 | } |
| 750 | #endif |
| 751 | }else{ |
| 752 | cgi_set_content_type(zMime); |
| 753 | cgi_set_content(&filebody); |
| 754 | } |
| 755 | if( nMiss>=count(azSuffix) ) cgi_set_status(404, "Not Found"); |
| 756 | db_end_transaction(0); |
| 757 | return; |
| 758 | |
| 759 | /* Jump here when unable to locate the document */ |
| 760 | |
| 761 | DDED src/extcgi.c |
| --- src/doc.c | |
| +++ src/doc.c | |
| @@ -529,10 +529,85 @@ | |
| 529 | base = i+5; |
| 530 | } |
| 531 | } |
| 532 | blob_append(cgi_output_blob(), &z[base], i-base); |
| 533 | } |
| 534 | |
| 535 | /* |
| 536 | ** Render a document as the reply to the HTTP request. The body |
| 537 | ** of the document is contained in pBody. The body might be binary. |
| 538 | ** The mimetype is in zMimetype. |
| 539 | */ |
| 540 | void document_render( |
| 541 | Blob *pBody, /* Document content */ |
| 542 | const char *zMime, /* MIME-type */ |
| 543 | const char *zDefaultTitle, /* Default title */ |
| 544 | const char *zFilename /* Name of the file being rendered */ |
| 545 | ){ |
| 546 | Blob title; |
| 547 | blob_init(&title,0,0); |
| 548 | if( fossil_strcmp(zMime, "text/x-fossil-wiki")==0 ){ |
| 549 | Blob tail; |
| 550 | style_adunit_config(ADUNIT_RIGHT_OK); |
| 551 | if( wiki_find_title(pBody, &title, &tail) ){ |
| 552 | style_header("%s", blob_str(&title)); |
| 553 | wiki_convert(&tail, 0, WIKI_BUTTONS); |
| 554 | }else{ |
| 555 | style_header("%s", zDefaultTitle); |
| 556 | wiki_convert(pBody, 0, WIKI_BUTTONS); |
| 557 | } |
| 558 | style_footer(); |
| 559 | }else if( fossil_strcmp(zMime, "text/x-markdown")==0 ){ |
| 560 | Blob tail = BLOB_INITIALIZER; |
| 561 | markdown_to_html(pBody, &title, &tail); |
| 562 | if( blob_size(&title)>0 ){ |
| 563 | style_header("%s", blob_str(&title)); |
| 564 | }else{ |
| 565 | style_header("%s", zDefaultTitle); |
| 566 | } |
| 567 | convert_href_and_output(&tail); |
| 568 | style_footer(); |
| 569 | }else if( fossil_strcmp(zMime, "text/plain")==0 ){ |
| 570 | style_header("%s", zDefaultTitle); |
| 571 | @ <blockquote><pre> |
| 572 | @ %h(blob_str(pBody)) |
| 573 | @ </pre></blockquote> |
| 574 | style_footer(); |
| 575 | }else if( fossil_strcmp(zMime, "text/html")==0 |
| 576 | && doc_is_embedded_html(pBody, &title) ){ |
| 577 | if( blob_size(&title)==0 ) blob_append(&title,zFilename,-1); |
| 578 | style_header("%s", blob_str(&title)); |
| 579 | convert_href_and_output(pBody); |
| 580 | style_footer(); |
| 581 | #ifdef FOSSIL_ENABLE_TH1_DOCS |
| 582 | }else if( Th_AreDocsEnabled() && |
| 583 | fossil_strcmp(zMime, "application/x-th1")==0 ){ |
| 584 | int raw = P("raw")!=0; |
| 585 | if( !raw ){ |
| 586 | Blob tail; |
| 587 | blob_zero(&tail); |
| 588 | if( wiki_find_title(pBody, &title, &tail) ){ |
| 589 | style_header("%s", blob_str(&title)); |
| 590 | Th_Render(blob_str(&tail)); |
| 591 | blob_reset(&tail); |
| 592 | }else{ |
| 593 | style_header("%h", zName); |
| 594 | Th_Render(blob_str(pBody)); |
| 595 | } |
| 596 | }else{ |
| 597 | Th_Render(blob_str(pBody)); |
| 598 | } |
| 599 | if( !raw ){ |
| 600 | style_footer(); |
| 601 | } |
| 602 | #endif |
| 603 | }else{ |
| 604 | cgi_set_content_type(zMime); |
| 605 | cgi_set_content(pBody); |
| 606 | } |
| 607 | } |
| 608 | |
| 609 | |
| 610 | /* |
| 611 | ** WEBPAGE: uv |
| 612 | ** WEBPAGE: doc |
| 613 | ** URL: /uv/FILE |
| @@ -618,10 +693,11 @@ | |
| 693 | zCheckin = "tip"; |
| 694 | } |
| 695 | } |
| 696 | if( nMiss==count(azSuffix) ){ |
| 697 | zName = "404.md"; |
| 698 | zDfltTitle = "Not Found"; |
| 699 | }else if( zName[i]==0 ){ |
| 700 | assert( nMiss>=0 && nMiss<count(azSuffix) ); |
| 701 | zName = azSuffix[nMiss]; |
| 702 | }else if( !isUV ){ |
| 703 | zName += i; |
| @@ -690,70 +766,11 @@ | |
| 766 | Th_Store("doc_version", db_text(0, "SELECT '[' || substr(uuid,1,10) || ']'" |
| 767 | " FROM blob WHERE rid=%d", vid)); |
| 768 | Th_Store("doc_date", db_text(0, "SELECT datetime(mtime) FROM event" |
| 769 | " WHERE objid=%d AND type='ci'", vid)); |
| 770 | } |
| 771 | document_render(&filebody, zMime, zDfltTitle, zName); |
| 772 | if( nMiss>=count(azSuffix) ) cgi_set_status(404, "Not Found"); |
| 773 | db_end_transaction(0); |
| 774 | return; |
| 775 | |
| 776 | /* Jump here when unable to locate the document */ |
| 777 | |
| 778 | DDED src/extcgi.c |
+12
| --- a/src/extcgi.c | ||
| +++ b/src/extcgi.c | ||
| @@ -0,0 +1,12 @@ | ||
| 1 | +/* } | |
| 2 | + }SER", | |
| 3 | + if( zName[0]=='.' || zName[0]=='-'/* } | |
| 4 | + }SER", | |
| 5 | + zPath[i-1]=='/'* } | |
| 6 | + }SER", | |
| 7 | + } | |
| 8 | + }g.zPathint nName /* Length of zNnName = (int)strlen(zName%h(zFailReason) | |
| 9 | + } | |
| 10 | + return; | |
| 11 | +} | |
| 12 | +int nPathLength of zPathnPath = nRoot+nName+1zLine[i] = 0"HTTP_ACCEPT_ENCODING", |
| --- a/src/extcgi.c | |
| +++ b/src/extcgi.c | |
| @@ -0,0 +1,12 @@ | |
| --- a/src/extcgi.c | |
| +++ b/src/extcgi.c | |
| @@ -0,0 +1,12 @@ | |
| 1 | /* } |
| 2 | }SER", |
| 3 | if( zName[0]=='.' || zName[0]=='-'/* } |
| 4 | }SER", |
| 5 | zPath[i-1]=='/'* } |
| 6 | }SER", |
| 7 | } |
| 8 | }g.zPathint nName /* Length of zNnName = (int)strlen(zName%h(zFailReason) |
| 9 | } |
| 10 | return; |
| 11 | } |
| 12 | int nPathLength of zPathnPath = nRoot+nName+1zLine[i] = 0"HTTP_ACCEPT_ENCODING", |
+1
-1
| --- src/http_transport.c | ||
| +++ src/http_transport.c | ||
| @@ -140,11 +140,11 @@ | ||
| 140 | 140 | fossil_panic("ssh:// URI does not specify a path to the repository"); |
| 141 | 141 | } |
| 142 | 142 | if( g.fSshTrace ){ |
| 143 | 143 | fossil_print("%s\n", blob_str(&zCmd)); /* Show the whole SSH command */ |
| 144 | 144 | } |
| 145 | - popen2(blob_str(&zCmd), &sshIn, &sshOut, &sshPid); | |
| 145 | + popen2(blob_str(&zCmd), &sshIn, &sshOut, &sshPid, 0); | |
| 146 | 146 | if( sshPid==0 ){ |
| 147 | 147 | socket_set_errmsg("cannot start ssh tunnel using [%b]", &zCmd); |
| 148 | 148 | } |
| 149 | 149 | blob_reset(&zCmd); |
| 150 | 150 | return sshPid==0; |
| 151 | 151 |
| --- src/http_transport.c | |
| +++ src/http_transport.c | |
| @@ -140,11 +140,11 @@ | |
| 140 | fossil_panic("ssh:// URI does not specify a path to the repository"); |
| 141 | } |
| 142 | if( g.fSshTrace ){ |
| 143 | fossil_print("%s\n", blob_str(&zCmd)); /* Show the whole SSH command */ |
| 144 | } |
| 145 | popen2(blob_str(&zCmd), &sshIn, &sshOut, &sshPid); |
| 146 | if( sshPid==0 ){ |
| 147 | socket_set_errmsg("cannot start ssh tunnel using [%b]", &zCmd); |
| 148 | } |
| 149 | blob_reset(&zCmd); |
| 150 | return sshPid==0; |
| 151 |
| --- src/http_transport.c | |
| +++ src/http_transport.c | |
| @@ -140,11 +140,11 @@ | |
| 140 | fossil_panic("ssh:// URI does not specify a path to the repository"); |
| 141 | } |
| 142 | if( g.fSshTrace ){ |
| 143 | fossil_print("%s\n", blob_str(&zCmd)); /* Show the whole SSH command */ |
| 144 | } |
| 145 | popen2(blob_str(&zCmd), &sshIn, &sshOut, &sshPid, 0); |
| 146 | if( sshPid==0 ){ |
| 147 | socket_set_errmsg("cannot start ssh tunnel using [%b]", &zCmd); |
| 148 | } |
| 149 | blob_reset(&zCmd); |
| 150 | return sshPid==0; |
| 151 |
+11
-2
| --- src/main.c | ||
| +++ src/main.c | ||
| @@ -173,10 +173,11 @@ | ||
| 173 | 173 | char *zPath; /* Name of webpage being served */ |
| 174 | 174 | char *zExtra; /* Extra path information past the webpage name */ |
| 175 | 175 | char *zBaseURL; /* Full text of the URL being served */ |
| 176 | 176 | char *zHttpsURL; /* zBaseURL translated to https: */ |
| 177 | 177 | char *zTop; /* Parent directory of zPath */ |
| 178 | + const char *zExtRoot; /* Document root for the /ext sub-website */ | |
| 178 | 179 | const char *zContentType; /* The content type of the input HTTP request */ |
| 179 | 180 | int iErrPriority; /* Priority of current error message */ |
| 180 | 181 | char *zErrMsg; /* Text of an error message */ |
| 181 | 182 | int sslNotAvailable; /* SSL is not available. Do not redirect to https: */ |
| 182 | 183 | Blob cgiIn; /* Input to an xfer www method */ |
| @@ -1941,10 +1942,13 @@ | ||
| 1941 | 1942 | ** |
| 1942 | 1943 | ** debug: FILE Causing debugging information to be written |
| 1943 | 1944 | ** into FILE. |
| 1944 | 1945 | ** |
| 1945 | 1946 | ** errorlog: FILE Warnings, errors, and panics written to FILE. |
| 1947 | +** | |
| 1948 | +** extroot: DIR Directory that is the root of the sub-CGI tree | |
| 1949 | +** on the /ext page. | |
| 1946 | 1950 | ** |
| 1947 | 1951 | ** redirect: REPO URL Extract the "name" query parameter and search |
| 1948 | 1952 | ** REPO for a check-in or ticket that matches the |
| 1949 | 1953 | ** value of "name", then redirect to URL. There |
| 1950 | 1954 | ** can be multiple "redirect:" lines that are |
| @@ -2240,16 +2244,17 @@ | ||
| 2240 | 2244 | ** for requests coming from localhost, if the "localauth" setting is not |
| 2241 | 2245 | ** enabled. |
| 2242 | 2246 | ** |
| 2243 | 2247 | ** Options: |
| 2244 | 2248 | ** --baseurl URL base URL (useful with reverse proxies) |
| 2249 | +** --extroot DIR document root for the /ext extension mechanism | |
| 2245 | 2250 | ** --files GLOB comma-separate glob patterns for static file to serve |
| 2246 | -** --localauth enable automatic login for local connections | |
| 2247 | 2251 | ** --host NAME specify hostname of the server |
| 2248 | 2252 | ** --https signal a request coming in via https |
| 2249 | 2253 | ** --in FILE Take input from FILE instead of standard input |
| 2250 | 2254 | ** --ipaddr ADDR Assume the request comes from the given IP address |
| 2255 | +** --localauth enable automatic login for local connections | |
| 2251 | 2256 | ** --nocompress do not compress HTTP replies |
| 2252 | 2257 | ** --nodelay omit backoffice processing if it would delay process exit |
| 2253 | 2258 | ** --nojail drop root privilege but do not enter the chroot jail |
| 2254 | 2259 | ** --nossl signal that no SSL connections are available |
| 2255 | 2260 | ** --notfound URL use URL as "HTTP 404, object not found" page. |
| @@ -2297,10 +2302,11 @@ | ||
| 2297 | 2302 | noJail = find_option("nojail",0,0)!=0; |
| 2298 | 2303 | allowRepoList = find_option("repolist",0,0)!=0; |
| 2299 | 2304 | g.useLocalauth = find_option("localauth", 0, 0)!=0; |
| 2300 | 2305 | g.sslNotAvailable = find_option("nossl", 0, 0)!=0; |
| 2301 | 2306 | g.fNoHttpCompress = find_option("nocompress",0,0)!=0; |
| 2307 | + g.zExtRoot = find_option("extroot",0,1); | |
| 2302 | 2308 | zInFile = find_option("in",0,1); |
| 2303 | 2309 | if( zInFile ){ |
| 2304 | 2310 | backoffice_disable(); |
| 2305 | 2311 | g.httpIn = fossil_fopen(zInFile, "rb"); |
| 2306 | 2312 | if( g.httpIn==0 ) fossil_fatal("cannot open \"%s\" for reading", zInFile); |
| @@ -2391,10 +2397,11 @@ | ||
| 2391 | 2397 | Th_InitTraceLog(); |
| 2392 | 2398 | login_set_capabilities("sx", 0); |
| 2393 | 2399 | g.useLocalauth = 1; |
| 2394 | 2400 | g.httpIn = stdin; |
| 2395 | 2401 | g.httpOut = stdout; |
| 2402 | + g.zExtRoot = find_option("extroot",0,1); | |
| 2396 | 2403 | find_server_repository(2, 0); |
| 2397 | 2404 | g.cgiOutput = 1; |
| 2398 | 2405 | g.fNoHttpCompress = 1; |
| 2399 | 2406 | g.fullHttpReply = 1; |
| 2400 | 2407 | zIpAddr = cgi_ssh_remote_addr(0); |
| @@ -2484,11 +2491,11 @@ | ||
| 2484 | 2491 | ** by default. |
| 2485 | 2492 | ** |
| 2486 | 2493 | ** Options: |
| 2487 | 2494 | ** --baseurl URL Use URL as the base (useful for reverse proxies) |
| 2488 | 2495 | ** --create Create a new REPOSITORY if it does not already exist |
| 2489 | -** --page PAGE Start "ui" on PAGE. ex: --page "timeline?y=ci" | |
| 2496 | +** --extroot DIR Document root for the /ext extension mechanism | |
| 2490 | 2497 | ** --files GLOBLIST Comma-separated list of glob patterns for static files |
| 2491 | 2498 | ** --localauth enable automatic login for requests from localhost |
| 2492 | 2499 | ** --localhost listen on 127.0.0.1 only (always true for "ui") |
| 2493 | 2500 | ** --https Indicates that the input is coming through a reverse |
| 2494 | 2501 | ** proxy that has already translated HTTPS into HTTP. |
| @@ -2497,10 +2504,11 @@ | ||
| 2497 | 2504 | ** --nocompress Do not compress HTTP replies |
| 2498 | 2505 | ** --nojail Drop root privileges but do not enter the chroot jail |
| 2499 | 2506 | ** --nossl signal that no SSL connections are available (Always |
| 2500 | 2507 | ** set by default for the "ui" command) |
| 2501 | 2508 | ** --notfound URL Redirect |
| 2509 | +** --page PAGE Start "ui" on PAGE. ex: --page "timeline?y=ci" | |
| 2502 | 2510 | ** -P|--port TCPPORT listen to request on port TCPPORT |
| 2503 | 2511 | ** --th-trace trace TH1 execution (for debugging purposes) |
| 2504 | 2512 | ** --repolist If REPOSITORY is dir, URL "/" lists repos. |
| 2505 | 2513 | ** --scgi Accept SCGI rather than HTTP |
| 2506 | 2514 | ** --skin LABEL Use override skin LABEL |
| @@ -2537,10 +2545,11 @@ | ||
| 2537 | 2545 | #endif |
| 2538 | 2546 | |
| 2539 | 2547 | if( g.zErrlog==0 ){ |
| 2540 | 2548 | g.zErrlog = "-"; |
| 2541 | 2549 | } |
| 2550 | + g.zExtRoot = find_option("extroot",0,1); | |
| 2542 | 2551 | zFileGlob = find_option("files-urlenc",0,1); |
| 2543 | 2552 | if( zFileGlob ){ |
| 2544 | 2553 | char *z = mprintf("%s", zFileGlob); |
| 2545 | 2554 | dehttpize(z); |
| 2546 | 2555 | zFileGlob = z; |
| 2547 | 2556 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -173,10 +173,11 @@ | |
| 173 | char *zPath; /* Name of webpage being served */ |
| 174 | char *zExtra; /* Extra path information past the webpage name */ |
| 175 | char *zBaseURL; /* Full text of the URL being served */ |
| 176 | char *zHttpsURL; /* zBaseURL translated to https: */ |
| 177 | char *zTop; /* Parent directory of zPath */ |
| 178 | const char *zContentType; /* The content type of the input HTTP request */ |
| 179 | int iErrPriority; /* Priority of current error message */ |
| 180 | char *zErrMsg; /* Text of an error message */ |
| 181 | int sslNotAvailable; /* SSL is not available. Do not redirect to https: */ |
| 182 | Blob cgiIn; /* Input to an xfer www method */ |
| @@ -1941,10 +1942,13 @@ | |
| 1941 | ** |
| 1942 | ** debug: FILE Causing debugging information to be written |
| 1943 | ** into FILE. |
| 1944 | ** |
| 1945 | ** errorlog: FILE Warnings, errors, and panics written to FILE. |
| 1946 | ** |
| 1947 | ** redirect: REPO URL Extract the "name" query parameter and search |
| 1948 | ** REPO for a check-in or ticket that matches the |
| 1949 | ** value of "name", then redirect to URL. There |
| 1950 | ** can be multiple "redirect:" lines that are |
| @@ -2240,16 +2244,17 @@ | |
| 2240 | ** for requests coming from localhost, if the "localauth" setting is not |
| 2241 | ** enabled. |
| 2242 | ** |
| 2243 | ** Options: |
| 2244 | ** --baseurl URL base URL (useful with reverse proxies) |
| 2245 | ** --files GLOB comma-separate glob patterns for static file to serve |
| 2246 | ** --localauth enable automatic login for local connections |
| 2247 | ** --host NAME specify hostname of the server |
| 2248 | ** --https signal a request coming in via https |
| 2249 | ** --in FILE Take input from FILE instead of standard input |
| 2250 | ** --ipaddr ADDR Assume the request comes from the given IP address |
| 2251 | ** --nocompress do not compress HTTP replies |
| 2252 | ** --nodelay omit backoffice processing if it would delay process exit |
| 2253 | ** --nojail drop root privilege but do not enter the chroot jail |
| 2254 | ** --nossl signal that no SSL connections are available |
| 2255 | ** --notfound URL use URL as "HTTP 404, object not found" page. |
| @@ -2297,10 +2302,11 @@ | |
| 2297 | noJail = find_option("nojail",0,0)!=0; |
| 2298 | allowRepoList = find_option("repolist",0,0)!=0; |
| 2299 | g.useLocalauth = find_option("localauth", 0, 0)!=0; |
| 2300 | g.sslNotAvailable = find_option("nossl", 0, 0)!=0; |
| 2301 | g.fNoHttpCompress = find_option("nocompress",0,0)!=0; |
| 2302 | zInFile = find_option("in",0,1); |
| 2303 | if( zInFile ){ |
| 2304 | backoffice_disable(); |
| 2305 | g.httpIn = fossil_fopen(zInFile, "rb"); |
| 2306 | if( g.httpIn==0 ) fossil_fatal("cannot open \"%s\" for reading", zInFile); |
| @@ -2391,10 +2397,11 @@ | |
| 2391 | Th_InitTraceLog(); |
| 2392 | login_set_capabilities("sx", 0); |
| 2393 | g.useLocalauth = 1; |
| 2394 | g.httpIn = stdin; |
| 2395 | g.httpOut = stdout; |
| 2396 | find_server_repository(2, 0); |
| 2397 | g.cgiOutput = 1; |
| 2398 | g.fNoHttpCompress = 1; |
| 2399 | g.fullHttpReply = 1; |
| 2400 | zIpAddr = cgi_ssh_remote_addr(0); |
| @@ -2484,11 +2491,11 @@ | |
| 2484 | ** by default. |
| 2485 | ** |
| 2486 | ** Options: |
| 2487 | ** --baseurl URL Use URL as the base (useful for reverse proxies) |
| 2488 | ** --create Create a new REPOSITORY if it does not already exist |
| 2489 | ** --page PAGE Start "ui" on PAGE. ex: --page "timeline?y=ci" |
| 2490 | ** --files GLOBLIST Comma-separated list of glob patterns for static files |
| 2491 | ** --localauth enable automatic login for requests from localhost |
| 2492 | ** --localhost listen on 127.0.0.1 only (always true for "ui") |
| 2493 | ** --https Indicates that the input is coming through a reverse |
| 2494 | ** proxy that has already translated HTTPS into HTTP. |
| @@ -2497,10 +2504,11 @@ | |
| 2497 | ** --nocompress Do not compress HTTP replies |
| 2498 | ** --nojail Drop root privileges but do not enter the chroot jail |
| 2499 | ** --nossl signal that no SSL connections are available (Always |
| 2500 | ** set by default for the "ui" command) |
| 2501 | ** --notfound URL Redirect |
| 2502 | ** -P|--port TCPPORT listen to request on port TCPPORT |
| 2503 | ** --th-trace trace TH1 execution (for debugging purposes) |
| 2504 | ** --repolist If REPOSITORY is dir, URL "/" lists repos. |
| 2505 | ** --scgi Accept SCGI rather than HTTP |
| 2506 | ** --skin LABEL Use override skin LABEL |
| @@ -2537,10 +2545,11 @@ | |
| 2537 | #endif |
| 2538 | |
| 2539 | if( g.zErrlog==0 ){ |
| 2540 | g.zErrlog = "-"; |
| 2541 | } |
| 2542 | zFileGlob = find_option("files-urlenc",0,1); |
| 2543 | if( zFileGlob ){ |
| 2544 | char *z = mprintf("%s", zFileGlob); |
| 2545 | dehttpize(z); |
| 2546 | zFileGlob = z; |
| 2547 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -173,10 +173,11 @@ | |
| 173 | char *zPath; /* Name of webpage being served */ |
| 174 | char *zExtra; /* Extra path information past the webpage name */ |
| 175 | char *zBaseURL; /* Full text of the URL being served */ |
| 176 | char *zHttpsURL; /* zBaseURL translated to https: */ |
| 177 | char *zTop; /* Parent directory of zPath */ |
| 178 | const char *zExtRoot; /* Document root for the /ext sub-website */ |
| 179 | const char *zContentType; /* The content type of the input HTTP request */ |
| 180 | int iErrPriority; /* Priority of current error message */ |
| 181 | char *zErrMsg; /* Text of an error message */ |
| 182 | int sslNotAvailable; /* SSL is not available. Do not redirect to https: */ |
| 183 | Blob cgiIn; /* Input to an xfer www method */ |
| @@ -1941,10 +1942,13 @@ | |
| 1942 | ** |
| 1943 | ** debug: FILE Causing debugging information to be written |
| 1944 | ** into FILE. |
| 1945 | ** |
| 1946 | ** errorlog: FILE Warnings, errors, and panics written to FILE. |
| 1947 | ** |
| 1948 | ** extroot: DIR Directory that is the root of the sub-CGI tree |
| 1949 | ** on the /ext page. |
| 1950 | ** |
| 1951 | ** redirect: REPO URL Extract the "name" query parameter and search |
| 1952 | ** REPO for a check-in or ticket that matches the |
| 1953 | ** value of "name", then redirect to URL. There |
| 1954 | ** can be multiple "redirect:" lines that are |
| @@ -2240,16 +2244,17 @@ | |
| 2244 | ** for requests coming from localhost, if the "localauth" setting is not |
| 2245 | ** enabled. |
| 2246 | ** |
| 2247 | ** Options: |
| 2248 | ** --baseurl URL base URL (useful with reverse proxies) |
| 2249 | ** --extroot DIR document root for the /ext extension mechanism |
| 2250 | ** --files GLOB comma-separate glob patterns for static file to serve |
| 2251 | ** --host NAME specify hostname of the server |
| 2252 | ** --https signal a request coming in via https |
| 2253 | ** --in FILE Take input from FILE instead of standard input |
| 2254 | ** --ipaddr ADDR Assume the request comes from the given IP address |
| 2255 | ** --localauth enable automatic login for local connections |
| 2256 | ** --nocompress do not compress HTTP replies |
| 2257 | ** --nodelay omit backoffice processing if it would delay process exit |
| 2258 | ** --nojail drop root privilege but do not enter the chroot jail |
| 2259 | ** --nossl signal that no SSL connections are available |
| 2260 | ** --notfound URL use URL as "HTTP 404, object not found" page. |
| @@ -2297,10 +2302,11 @@ | |
| 2302 | noJail = find_option("nojail",0,0)!=0; |
| 2303 | allowRepoList = find_option("repolist",0,0)!=0; |
| 2304 | g.useLocalauth = find_option("localauth", 0, 0)!=0; |
| 2305 | g.sslNotAvailable = find_option("nossl", 0, 0)!=0; |
| 2306 | g.fNoHttpCompress = find_option("nocompress",0,0)!=0; |
| 2307 | g.zExtRoot = find_option("extroot",0,1); |
| 2308 | zInFile = find_option("in",0,1); |
| 2309 | if( zInFile ){ |
| 2310 | backoffice_disable(); |
| 2311 | g.httpIn = fossil_fopen(zInFile, "rb"); |
| 2312 | if( g.httpIn==0 ) fossil_fatal("cannot open \"%s\" for reading", zInFile); |
| @@ -2391,10 +2397,11 @@ | |
| 2397 | Th_InitTraceLog(); |
| 2398 | login_set_capabilities("sx", 0); |
| 2399 | g.useLocalauth = 1; |
| 2400 | g.httpIn = stdin; |
| 2401 | g.httpOut = stdout; |
| 2402 | g.zExtRoot = find_option("extroot",0,1); |
| 2403 | find_server_repository(2, 0); |
| 2404 | g.cgiOutput = 1; |
| 2405 | g.fNoHttpCompress = 1; |
| 2406 | g.fullHttpReply = 1; |
| 2407 | zIpAddr = cgi_ssh_remote_addr(0); |
| @@ -2484,11 +2491,11 @@ | |
| 2491 | ** by default. |
| 2492 | ** |
| 2493 | ** Options: |
| 2494 | ** --baseurl URL Use URL as the base (useful for reverse proxies) |
| 2495 | ** --create Create a new REPOSITORY if it does not already exist |
| 2496 | ** --extroot DIR Document root for the /ext extension mechanism |
| 2497 | ** --files GLOBLIST Comma-separated list of glob patterns for static files |
| 2498 | ** --localauth enable automatic login for requests from localhost |
| 2499 | ** --localhost listen on 127.0.0.1 only (always true for "ui") |
| 2500 | ** --https Indicates that the input is coming through a reverse |
| 2501 | ** proxy that has already translated HTTPS into HTTP. |
| @@ -2497,10 +2504,11 @@ | |
| 2504 | ** --nocompress Do not compress HTTP replies |
| 2505 | ** --nojail Drop root privileges but do not enter the chroot jail |
| 2506 | ** --nossl signal that no SSL connections are available (Always |
| 2507 | ** set by default for the "ui" command) |
| 2508 | ** --notfound URL Redirect |
| 2509 | ** --page PAGE Start "ui" on PAGE. ex: --page "timeline?y=ci" |
| 2510 | ** -P|--port TCPPORT listen to request on port TCPPORT |
| 2511 | ** --th-trace trace TH1 execution (for debugging purposes) |
| 2512 | ** --repolist If REPOSITORY is dir, URL "/" lists repos. |
| 2513 | ** --scgi Accept SCGI rather than HTTP |
| 2514 | ** --skin LABEL Use override skin LABEL |
| @@ -2537,10 +2545,11 @@ | |
| 2545 | #endif |
| 2546 | |
| 2547 | if( g.zErrlog==0 ){ |
| 2548 | g.zErrlog = "-"; |
| 2549 | } |
| 2550 | g.zExtRoot = find_option("extroot",0,1); |
| 2551 | zFileGlob = find_option("files-urlenc",0,1); |
| 2552 | if( zFileGlob ){ |
| 2553 | char *z = mprintf("%s", zFileGlob); |
| 2554 | dehttpize(z); |
| 2555 | zFileGlob = z; |
| 2556 |
+12
| --- src/main.mk | ||
| +++ src/main.mk | ||
| @@ -51,10 +51,11 @@ | ||
| 51 | 51 | $(SRCDIR)/doc.c \ |
| 52 | 52 | $(SRCDIR)/encode.c \ |
| 53 | 53 | $(SRCDIR)/etag.c \ |
| 54 | 54 | $(SRCDIR)/event.c \ |
| 55 | 55 | $(SRCDIR)/export.c \ |
| 56 | + $(SRCDIR)/extcgi.c \ | |
| 56 | 57 | $(SRCDIR)/file.c \ |
| 57 | 58 | $(SRCDIR)/finfo.c \ |
| 58 | 59 | $(SRCDIR)/foci.c \ |
| 59 | 60 | $(SRCDIR)/forum.c \ |
| 60 | 61 | $(SRCDIR)/fshell.c \ |
| @@ -264,10 +265,11 @@ | ||
| 264 | 265 | $(OBJDIR)/doc_.c \ |
| 265 | 266 | $(OBJDIR)/encode_.c \ |
| 266 | 267 | $(OBJDIR)/etag_.c \ |
| 267 | 268 | $(OBJDIR)/event_.c \ |
| 268 | 269 | $(OBJDIR)/export_.c \ |
| 270 | + $(OBJDIR)/extcgi_.c \ | |
| 269 | 271 | $(OBJDIR)/file_.c \ |
| 270 | 272 | $(OBJDIR)/finfo_.c \ |
| 271 | 273 | $(OBJDIR)/foci_.c \ |
| 272 | 274 | $(OBJDIR)/forum_.c \ |
| 273 | 275 | $(OBJDIR)/fshell_.c \ |
| @@ -403,10 +405,11 @@ | ||
| 403 | 405 | $(OBJDIR)/doc.o \ |
| 404 | 406 | $(OBJDIR)/encode.o \ |
| 405 | 407 | $(OBJDIR)/etag.o \ |
| 406 | 408 | $(OBJDIR)/event.o \ |
| 407 | 409 | $(OBJDIR)/export.o \ |
| 410 | + $(OBJDIR)/extcgi.o \ | |
| 408 | 411 | $(OBJDIR)/file.o \ |
| 409 | 412 | $(OBJDIR)/finfo.o \ |
| 410 | 413 | $(OBJDIR)/foci.o \ |
| 411 | 414 | $(OBJDIR)/forum.o \ |
| 412 | 415 | $(OBJDIR)/fshell.o \ |
| @@ -740,10 +743,11 @@ | ||
| 740 | 743 | $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h \ |
| 741 | 744 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 742 | 745 | $(OBJDIR)/etag_.c:$(OBJDIR)/etag.h \ |
| 743 | 746 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 744 | 747 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 748 | + $(OBJDIR)/extcgi_.c:$(OBJDIR)/extcgi.h \ | |
| 745 | 749 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 746 | 750 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 747 | 751 | $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \ |
| 748 | 752 | $(OBJDIR)/forum_.c:$(OBJDIR)/forum.h \ |
| 749 | 753 | $(OBJDIR)/fshell_.c:$(OBJDIR)/fshell.h \ |
| @@ -1142,10 +1146,18 @@ | ||
| 1142 | 1146 | |
| 1143 | 1147 | $(OBJDIR)/export.o: $(OBJDIR)/export_.c $(OBJDIR)/export.h $(SRCDIR)/config.h |
| 1144 | 1148 | $(XTCC) -o $(OBJDIR)/export.o -c $(OBJDIR)/export_.c |
| 1145 | 1149 | |
| 1146 | 1150 | $(OBJDIR)/export.h: $(OBJDIR)/headers |
| 1151 | + | |
| 1152 | +$(OBJDIR)/extcgi_.c: $(SRCDIR)/extcgi.c $(OBJDIR)/translate | |
| 1153 | + $(OBJDIR)/translate $(SRCDIR)/extcgi.c >$@ | |
| 1154 | + | |
| 1155 | +$(OBJDIR)/extcgi.o: $(OBJDIR)/extcgi_.c $(OBJDIR)/extcgi.h $(SRCDIR)/config.h | |
| 1156 | + $(XTCC) -o $(OBJDIR)/extcgi.o -c $(OBJDIR)/extcgi_.c | |
| 1157 | + | |
| 1158 | +$(OBJDIR)/extcgi.h: $(OBJDIR)/headers | |
| 1147 | 1159 | |
| 1148 | 1160 | $(OBJDIR)/file_.c: $(SRCDIR)/file.c $(OBJDIR)/translate |
| 1149 | 1161 | $(OBJDIR)/translate $(SRCDIR)/file.c >$@ |
| 1150 | 1162 | |
| 1151 | 1163 | $(OBJDIR)/file.o: $(OBJDIR)/file_.c $(OBJDIR)/file.h $(SRCDIR)/config.h |
| 1152 | 1164 |
| --- src/main.mk | |
| +++ src/main.mk | |
| @@ -51,10 +51,11 @@ | |
| 51 | $(SRCDIR)/doc.c \ |
| 52 | $(SRCDIR)/encode.c \ |
| 53 | $(SRCDIR)/etag.c \ |
| 54 | $(SRCDIR)/event.c \ |
| 55 | $(SRCDIR)/export.c \ |
| 56 | $(SRCDIR)/file.c \ |
| 57 | $(SRCDIR)/finfo.c \ |
| 58 | $(SRCDIR)/foci.c \ |
| 59 | $(SRCDIR)/forum.c \ |
| 60 | $(SRCDIR)/fshell.c \ |
| @@ -264,10 +265,11 @@ | |
| 264 | $(OBJDIR)/doc_.c \ |
| 265 | $(OBJDIR)/encode_.c \ |
| 266 | $(OBJDIR)/etag_.c \ |
| 267 | $(OBJDIR)/event_.c \ |
| 268 | $(OBJDIR)/export_.c \ |
| 269 | $(OBJDIR)/file_.c \ |
| 270 | $(OBJDIR)/finfo_.c \ |
| 271 | $(OBJDIR)/foci_.c \ |
| 272 | $(OBJDIR)/forum_.c \ |
| 273 | $(OBJDIR)/fshell_.c \ |
| @@ -403,10 +405,11 @@ | |
| 403 | $(OBJDIR)/doc.o \ |
| 404 | $(OBJDIR)/encode.o \ |
| 405 | $(OBJDIR)/etag.o \ |
| 406 | $(OBJDIR)/event.o \ |
| 407 | $(OBJDIR)/export.o \ |
| 408 | $(OBJDIR)/file.o \ |
| 409 | $(OBJDIR)/finfo.o \ |
| 410 | $(OBJDIR)/foci.o \ |
| 411 | $(OBJDIR)/forum.o \ |
| 412 | $(OBJDIR)/fshell.o \ |
| @@ -740,10 +743,11 @@ | |
| 740 | $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h \ |
| 741 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 742 | $(OBJDIR)/etag_.c:$(OBJDIR)/etag.h \ |
| 743 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 744 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 745 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 746 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 747 | $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \ |
| 748 | $(OBJDIR)/forum_.c:$(OBJDIR)/forum.h \ |
| 749 | $(OBJDIR)/fshell_.c:$(OBJDIR)/fshell.h \ |
| @@ -1142,10 +1146,18 @@ | |
| 1142 | |
| 1143 | $(OBJDIR)/export.o: $(OBJDIR)/export_.c $(OBJDIR)/export.h $(SRCDIR)/config.h |
| 1144 | $(XTCC) -o $(OBJDIR)/export.o -c $(OBJDIR)/export_.c |
| 1145 | |
| 1146 | $(OBJDIR)/export.h: $(OBJDIR)/headers |
| 1147 | |
| 1148 | $(OBJDIR)/file_.c: $(SRCDIR)/file.c $(OBJDIR)/translate |
| 1149 | $(OBJDIR)/translate $(SRCDIR)/file.c >$@ |
| 1150 | |
| 1151 | $(OBJDIR)/file.o: $(OBJDIR)/file_.c $(OBJDIR)/file.h $(SRCDIR)/config.h |
| 1152 |
| --- src/main.mk | |
| +++ src/main.mk | |
| @@ -51,10 +51,11 @@ | |
| 51 | $(SRCDIR)/doc.c \ |
| 52 | $(SRCDIR)/encode.c \ |
| 53 | $(SRCDIR)/etag.c \ |
| 54 | $(SRCDIR)/event.c \ |
| 55 | $(SRCDIR)/export.c \ |
| 56 | $(SRCDIR)/extcgi.c \ |
| 57 | $(SRCDIR)/file.c \ |
| 58 | $(SRCDIR)/finfo.c \ |
| 59 | $(SRCDIR)/foci.c \ |
| 60 | $(SRCDIR)/forum.c \ |
| 61 | $(SRCDIR)/fshell.c \ |
| @@ -264,10 +265,11 @@ | |
| 265 | $(OBJDIR)/doc_.c \ |
| 266 | $(OBJDIR)/encode_.c \ |
| 267 | $(OBJDIR)/etag_.c \ |
| 268 | $(OBJDIR)/event_.c \ |
| 269 | $(OBJDIR)/export_.c \ |
| 270 | $(OBJDIR)/extcgi_.c \ |
| 271 | $(OBJDIR)/file_.c \ |
| 272 | $(OBJDIR)/finfo_.c \ |
| 273 | $(OBJDIR)/foci_.c \ |
| 274 | $(OBJDIR)/forum_.c \ |
| 275 | $(OBJDIR)/fshell_.c \ |
| @@ -403,10 +405,11 @@ | |
| 405 | $(OBJDIR)/doc.o \ |
| 406 | $(OBJDIR)/encode.o \ |
| 407 | $(OBJDIR)/etag.o \ |
| 408 | $(OBJDIR)/event.o \ |
| 409 | $(OBJDIR)/export.o \ |
| 410 | $(OBJDIR)/extcgi.o \ |
| 411 | $(OBJDIR)/file.o \ |
| 412 | $(OBJDIR)/finfo.o \ |
| 413 | $(OBJDIR)/foci.o \ |
| 414 | $(OBJDIR)/forum.o \ |
| 415 | $(OBJDIR)/fshell.o \ |
| @@ -740,10 +743,11 @@ | |
| 743 | $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h \ |
| 744 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 745 | $(OBJDIR)/etag_.c:$(OBJDIR)/etag.h \ |
| 746 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 747 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 748 | $(OBJDIR)/extcgi_.c:$(OBJDIR)/extcgi.h \ |
| 749 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 750 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 751 | $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \ |
| 752 | $(OBJDIR)/forum_.c:$(OBJDIR)/forum.h \ |
| 753 | $(OBJDIR)/fshell_.c:$(OBJDIR)/fshell.h \ |
| @@ -1142,10 +1146,18 @@ | |
| 1146 | |
| 1147 | $(OBJDIR)/export.o: $(OBJDIR)/export_.c $(OBJDIR)/export.h $(SRCDIR)/config.h |
| 1148 | $(XTCC) -o $(OBJDIR)/export.o -c $(OBJDIR)/export_.c |
| 1149 | |
| 1150 | $(OBJDIR)/export.h: $(OBJDIR)/headers |
| 1151 | |
| 1152 | $(OBJDIR)/extcgi_.c: $(SRCDIR)/extcgi.c $(OBJDIR)/translate |
| 1153 | $(OBJDIR)/translate $(SRCDIR)/extcgi.c >$@ |
| 1154 | |
| 1155 | $(OBJDIR)/extcgi.o: $(OBJDIR)/extcgi_.c $(OBJDIR)/extcgi.h $(SRCDIR)/config.h |
| 1156 | $(XTCC) -o $(OBJDIR)/extcgi.o -c $(OBJDIR)/extcgi_.c |
| 1157 | |
| 1158 | $(OBJDIR)/extcgi.h: $(OBJDIR)/headers |
| 1159 | |
| 1160 | $(OBJDIR)/file_.c: $(SRCDIR)/file.c $(OBJDIR)/translate |
| 1161 | $(OBJDIR)/translate $(SRCDIR)/file.c >$@ |
| 1162 | |
| 1163 | $(OBJDIR)/file.o: $(OBJDIR)/file_.c $(OBJDIR)/file.h $(SRCDIR)/config.h |
| 1164 |
+1
| --- src/makemake.tcl | ||
| +++ src/makemake.tcl | ||
| @@ -61,10 +61,11 @@ | ||
| 61 | 61 | dispatch |
| 62 | 62 | doc |
| 63 | 63 | encode |
| 64 | 64 | etag |
| 65 | 65 | event |
| 66 | + extcgi | |
| 66 | 67 | export |
| 67 | 68 | file |
| 68 | 69 | finfo |
| 69 | 70 | foci |
| 70 | 71 | forum |
| 71 | 72 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -61,10 +61,11 @@ | |
| 61 | dispatch |
| 62 | doc |
| 63 | encode |
| 64 | etag |
| 65 | event |
| 66 | export |
| 67 | file |
| 68 | finfo |
| 69 | foci |
| 70 | forum |
| 71 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -61,10 +61,11 @@ | |
| 61 | dispatch |
| 62 | doc |
| 63 | encode |
| 64 | etag |
| 65 | event |
| 66 | extcgi |
| 67 | export |
| 68 | file |
| 69 | finfo |
| 70 | foci |
| 71 | forum |
| 72 |
+12
-2
| --- src/popen.c | ||
| +++ src/popen.c | ||
| @@ -121,11 +121,17 @@ | ||
| 121 | 121 | ** Note that *ppIn is an unbuffered file descriptor, not a FILE. |
| 122 | 122 | ** The process ID of the child is written into *pChildPid. |
| 123 | 123 | ** |
| 124 | 124 | ** Return the number of errors. |
| 125 | 125 | */ |
| 126 | -int popen2(const char *zCmd, int *pfdIn, FILE **ppOut, int *pChildPid){ | |
| 126 | +int popen2( | |
| 127 | + const char *zCmd, /* Command to run in the child process */ | |
| 128 | + int *pfdIn, /* Read from child using this file descriptor */ | |
| 129 | + FILE **ppOut, /* Write to child using this file descriptor */ | |
| 130 | + int *pChildPid, /* PID of the child process */ | |
| 131 | + int bDirect /* 0: run zCmd as a shell cmd. 1: run directly */ | |
| 132 | +){ | |
| 127 | 133 | #ifdef _WIN32 |
| 128 | 134 | HANDLE hStdinRd, hStdinWr, hStdoutRd, hStdoutWr, hStderr; |
| 129 | 135 | SECURITY_ATTRIBUTES saAttr; |
| 130 | 136 | DWORD childPid = 0; |
| 131 | 137 | int fd; |
| @@ -189,11 +195,15 @@ | ||
| 189 | 195 | close(1); |
| 190 | 196 | fd = dup(pin[1]); |
| 191 | 197 | if( fd!=1 ) nErr++; |
| 192 | 198 | close(pin[0]); |
| 193 | 199 | close(pin[1]); |
| 194 | - execl("/bin/sh", "/bin/sh", "-c", zCmd, (char*)0); | |
| 200 | + if( bDirect ){ | |
| 201 | + execl(zCmd, zCmd, (char*)0); | |
| 202 | + }else{ | |
| 203 | + execl("/bin/sh", "/bin/sh", "-c", zCmd, (char*)0); | |
| 204 | + } | |
| 195 | 205 | return 1; |
| 196 | 206 | }else{ |
| 197 | 207 | /* This is the parent process */ |
| 198 | 208 | close(pin[1]); |
| 199 | 209 | *pfdIn = pin[0]; |
| 200 | 210 |
| --- src/popen.c | |
| +++ src/popen.c | |
| @@ -121,11 +121,17 @@ | |
| 121 | ** Note that *ppIn is an unbuffered file descriptor, not a FILE. |
| 122 | ** The process ID of the child is written into *pChildPid. |
| 123 | ** |
| 124 | ** Return the number of errors. |
| 125 | */ |
| 126 | int popen2(const char *zCmd, int *pfdIn, FILE **ppOut, int *pChildPid){ |
| 127 | #ifdef _WIN32 |
| 128 | HANDLE hStdinRd, hStdinWr, hStdoutRd, hStdoutWr, hStderr; |
| 129 | SECURITY_ATTRIBUTES saAttr; |
| 130 | DWORD childPid = 0; |
| 131 | int fd; |
| @@ -189,11 +195,15 @@ | |
| 189 | close(1); |
| 190 | fd = dup(pin[1]); |
| 191 | if( fd!=1 ) nErr++; |
| 192 | close(pin[0]); |
| 193 | close(pin[1]); |
| 194 | execl("/bin/sh", "/bin/sh", "-c", zCmd, (char*)0); |
| 195 | return 1; |
| 196 | }else{ |
| 197 | /* This is the parent process */ |
| 198 | close(pin[1]); |
| 199 | *pfdIn = pin[0]; |
| 200 |
| --- src/popen.c | |
| +++ src/popen.c | |
| @@ -121,11 +121,17 @@ | |
| 121 | ** Note that *ppIn is an unbuffered file descriptor, not a FILE. |
| 122 | ** The process ID of the child is written into *pChildPid. |
| 123 | ** |
| 124 | ** Return the number of errors. |
| 125 | */ |
| 126 | int popen2( |
| 127 | const char *zCmd, /* Command to run in the child process */ |
| 128 | int *pfdIn, /* Read from child using this file descriptor */ |
| 129 | FILE **ppOut, /* Write to child using this file descriptor */ |
| 130 | int *pChildPid, /* PID of the child process */ |
| 131 | int bDirect /* 0: run zCmd as a shell cmd. 1: run directly */ |
| 132 | ){ |
| 133 | #ifdef _WIN32 |
| 134 | HANDLE hStdinRd, hStdinWr, hStdoutRd, hStdoutWr, hStderr; |
| 135 | SECURITY_ATTRIBUTES saAttr; |
| 136 | DWORD childPid = 0; |
| 137 | int fd; |
| @@ -189,11 +195,15 @@ | |
| 195 | close(1); |
| 196 | fd = dup(pin[1]); |
| 197 | if( fd!=1 ) nErr++; |
| 198 | close(pin[0]); |
| 199 | close(pin[1]); |
| 200 | if( bDirect ){ |
| 201 | execl(zCmd, zCmd, (char*)0); |
| 202 | }else{ |
| 203 | execl("/bin/sh", "/bin/sh", "-c", zCmd, (char*)0); |
| 204 | } |
| 205 | return 1; |
| 206 | }else{ |
| 207 | /* This is the parent process */ |
| 208 | close(pin[1]); |
| 209 | *pfdIn = pin[0]; |
| 210 |
+10
-4
| --- win/Makefile.dmc | ||
| +++ win/Makefile.dmc | ||
| @@ -28,13 +28,13 @@ | ||
| 28 | 28 | |
| 29 | 29 | SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB |
| 30 | 30 | |
| 31 | 31 | SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 32 | 32 | |
| 33 | -SRC = add_.c alerts_.c allrepo_.c attach_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c file_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c | |
| 33 | +SRC = add_.c alerts_.c allrepo_.c attach_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c | |
| 34 | 34 | |
| 35 | -OBJ = $(OBJDIR)\add$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O | |
| 35 | +OBJ = $(OBJDIR)\add$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O | |
| 36 | 36 | |
| 37 | 37 | |
| 38 | 38 | RC=$(DMDIR)\bin\rcc |
| 39 | 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | 40 | |
| @@ -49,11 +49,11 @@ | ||
| 49 | 49 | |
| 50 | 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | 52 | |
| 53 | 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | - +echo add alerts allrepo attach backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export file finfo foci forum fshell fusefs glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ | |
| 54 | + +echo add alerts allrepo attach backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file finfo foci forum fshell fusefs glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ | |
| 55 | 55 | +echo fossil >> $@ |
| 56 | 56 | +echo fossil >> $@ |
| 57 | 57 | +echo $(LIBS) >> $@ |
| 58 | 58 | +echo. >> $@ |
| 59 | 59 | +echo fossil >> $@ |
| @@ -350,10 +350,16 @@ | ||
| 350 | 350 | $(OBJDIR)\export$O : export_.c export.h |
| 351 | 351 | $(TCC) -o$@ -c export_.c |
| 352 | 352 | |
| 353 | 353 | export_.c : $(SRCDIR)\export.c |
| 354 | 354 | +translate$E $** > $@ |
| 355 | + | |
| 356 | +$(OBJDIR)\extcgi$O : extcgi_.c extcgi.h | |
| 357 | + $(TCC) -o$@ -c extcgi_.c | |
| 358 | + | |
| 359 | +extcgi_.c : $(SRCDIR)\extcgi.c | |
| 360 | + +translate$E $** > $@ | |
| 355 | 361 | |
| 356 | 362 | $(OBJDIR)\file$O : file_.c file.h |
| 357 | 363 | $(TCC) -o$@ -c file_.c |
| 358 | 364 | |
| 359 | 365 | file_.c : $(SRCDIR)\file.c |
| @@ -952,7 +958,7 @@ | ||
| 952 | 958 | |
| 953 | 959 | zip_.c : $(SRCDIR)\zip.c |
| 954 | 960 | +translate$E $** > $@ |
| 955 | 961 | |
| 956 | 962 | headers: makeheaders$E page_index.h builtin_data.h default_css.h VERSION.h |
| 957 | - +makeheaders$E add_.c:add.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h | |
| 963 | + +makeheaders$E add_.c:add.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h | |
| 958 | 964 | @copy /Y nul: headers |
| 959 | 965 |
| --- win/Makefile.dmc | |
| +++ win/Makefile.dmc | |
| @@ -28,13 +28,13 @@ | |
| 28 | |
| 29 | SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB |
| 30 | |
| 31 | SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 32 | |
| 33 | SRC = add_.c alerts_.c allrepo_.c attach_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c file_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c |
| 34 | |
| 35 | OBJ = $(OBJDIR)\add$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O |
| 36 | |
| 37 | |
| 38 | RC=$(DMDIR)\bin\rcc |
| 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | |
| @@ -49,11 +49,11 @@ | |
| 49 | |
| 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | |
| 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | +echo add alerts allrepo attach backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export file finfo foci forum fshell fusefs glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ |
| 55 | +echo fossil >> $@ |
| 56 | +echo fossil >> $@ |
| 57 | +echo $(LIBS) >> $@ |
| 58 | +echo. >> $@ |
| 59 | +echo fossil >> $@ |
| @@ -350,10 +350,16 @@ | |
| 350 | $(OBJDIR)\export$O : export_.c export.h |
| 351 | $(TCC) -o$@ -c export_.c |
| 352 | |
| 353 | export_.c : $(SRCDIR)\export.c |
| 354 | +translate$E $** > $@ |
| 355 | |
| 356 | $(OBJDIR)\file$O : file_.c file.h |
| 357 | $(TCC) -o$@ -c file_.c |
| 358 | |
| 359 | file_.c : $(SRCDIR)\file.c |
| @@ -952,7 +958,7 @@ | |
| 952 | |
| 953 | zip_.c : $(SRCDIR)\zip.c |
| 954 | +translate$E $** > $@ |
| 955 | |
| 956 | headers: makeheaders$E page_index.h builtin_data.h default_css.h VERSION.h |
| 957 | +makeheaders$E add_.c:add.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h |
| 958 | @copy /Y nul: headers |
| 959 |
| --- win/Makefile.dmc | |
| +++ win/Makefile.dmc | |
| @@ -28,13 +28,13 @@ | |
| 28 | |
| 29 | SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB |
| 30 | |
| 31 | SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 32 | |
| 33 | SRC = add_.c alerts_.c allrepo_.c attach_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c |
| 34 | |
| 35 | OBJ = $(OBJDIR)\add$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O |
| 36 | |
| 37 | |
| 38 | RC=$(DMDIR)\bin\rcc |
| 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | |
| @@ -49,11 +49,11 @@ | |
| 49 | |
| 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | |
| 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | +echo add alerts allrepo attach backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file finfo foci forum fshell fusefs glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@ |
| 55 | +echo fossil >> $@ |
| 56 | +echo fossil >> $@ |
| 57 | +echo $(LIBS) >> $@ |
| 58 | +echo. >> $@ |
| 59 | +echo fossil >> $@ |
| @@ -350,10 +350,16 @@ | |
| 350 | $(OBJDIR)\export$O : export_.c export.h |
| 351 | $(TCC) -o$@ -c export_.c |
| 352 | |
| 353 | export_.c : $(SRCDIR)\export.c |
| 354 | +translate$E $** > $@ |
| 355 | |
| 356 | $(OBJDIR)\extcgi$O : extcgi_.c extcgi.h |
| 357 | $(TCC) -o$@ -c extcgi_.c |
| 358 | |
| 359 | extcgi_.c : $(SRCDIR)\extcgi.c |
| 360 | +translate$E $** > $@ |
| 361 | |
| 362 | $(OBJDIR)\file$O : file_.c file.h |
| 363 | $(TCC) -o$@ -c file_.c |
| 364 | |
| 365 | file_.c : $(SRCDIR)\file.c |
| @@ -952,7 +958,7 @@ | |
| 958 | |
| 959 | zip_.c : $(SRCDIR)\zip.c |
| 960 | +translate$E $** > $@ |
| 961 | |
| 962 | headers: makeheaders$E page_index.h builtin_data.h default_css.h VERSION.h |
| 963 | +makeheaders$E add_.c:add.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h |
| 964 | @copy /Y nul: headers |
| 965 |
+12
| --- win/Makefile.mingw | ||
| +++ win/Makefile.mingw | ||
| @@ -473,10 +473,11 @@ | ||
| 473 | 473 | $(SRCDIR)/doc.c \ |
| 474 | 474 | $(SRCDIR)/encode.c \ |
| 475 | 475 | $(SRCDIR)/etag.c \ |
| 476 | 476 | $(SRCDIR)/event.c \ |
| 477 | 477 | $(SRCDIR)/export.c \ |
| 478 | + $(SRCDIR)/extcgi.c \ | |
| 478 | 479 | $(SRCDIR)/file.c \ |
| 479 | 480 | $(SRCDIR)/finfo.c \ |
| 480 | 481 | $(SRCDIR)/foci.c \ |
| 481 | 482 | $(SRCDIR)/forum.c \ |
| 482 | 483 | $(SRCDIR)/fshell.c \ |
| @@ -686,10 +687,11 @@ | ||
| 686 | 687 | $(OBJDIR)/doc_.c \ |
| 687 | 688 | $(OBJDIR)/encode_.c \ |
| 688 | 689 | $(OBJDIR)/etag_.c \ |
| 689 | 690 | $(OBJDIR)/event_.c \ |
| 690 | 691 | $(OBJDIR)/export_.c \ |
| 692 | + $(OBJDIR)/extcgi_.c \ | |
| 691 | 693 | $(OBJDIR)/file_.c \ |
| 692 | 694 | $(OBJDIR)/finfo_.c \ |
| 693 | 695 | $(OBJDIR)/foci_.c \ |
| 694 | 696 | $(OBJDIR)/forum_.c \ |
| 695 | 697 | $(OBJDIR)/fshell_.c \ |
| @@ -825,10 +827,11 @@ | ||
| 825 | 827 | $(OBJDIR)/doc.o \ |
| 826 | 828 | $(OBJDIR)/encode.o \ |
| 827 | 829 | $(OBJDIR)/etag.o \ |
| 828 | 830 | $(OBJDIR)/event.o \ |
| 829 | 831 | $(OBJDIR)/export.o \ |
| 832 | + $(OBJDIR)/extcgi.o \ | |
| 830 | 833 | $(OBJDIR)/file.o \ |
| 831 | 834 | $(OBJDIR)/finfo.o \ |
| 832 | 835 | $(OBJDIR)/foci.o \ |
| 833 | 836 | $(OBJDIR)/forum.o \ |
| 834 | 837 | $(OBJDIR)/fshell.o \ |
| @@ -1184,10 +1187,11 @@ | ||
| 1184 | 1187 | $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h \ |
| 1185 | 1188 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 1186 | 1189 | $(OBJDIR)/etag_.c:$(OBJDIR)/etag.h \ |
| 1187 | 1190 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 1188 | 1191 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 1192 | + $(OBJDIR)/extcgi_.c:$(OBJDIR)/extcgi.h \ | |
| 1189 | 1193 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 1190 | 1194 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 1191 | 1195 | $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \ |
| 1192 | 1196 | $(OBJDIR)/forum_.c:$(OBJDIR)/forum.h \ |
| 1193 | 1197 | $(OBJDIR)/fshell_.c:$(OBJDIR)/fshell.h \ |
| @@ -1588,10 +1592,18 @@ | ||
| 1588 | 1592 | |
| 1589 | 1593 | $(OBJDIR)/export.o: $(OBJDIR)/export_.c $(OBJDIR)/export.h $(SRCDIR)/config.h |
| 1590 | 1594 | $(XTCC) -o $(OBJDIR)/export.o -c $(OBJDIR)/export_.c |
| 1591 | 1595 | |
| 1592 | 1596 | $(OBJDIR)/export.h: $(OBJDIR)/headers |
| 1597 | + | |
| 1598 | +$(OBJDIR)/extcgi_.c: $(SRCDIR)/extcgi.c $(TRANSLATE) | |
| 1599 | + $(TRANSLATE) $(SRCDIR)/extcgi.c >$@ | |
| 1600 | + | |
| 1601 | +$(OBJDIR)/extcgi.o: $(OBJDIR)/extcgi_.c $(OBJDIR)/extcgi.h $(SRCDIR)/config.h | |
| 1602 | + $(XTCC) -o $(OBJDIR)/extcgi.o -c $(OBJDIR)/extcgi_.c | |
| 1603 | + | |
| 1604 | +$(OBJDIR)/extcgi.h: $(OBJDIR)/headers | |
| 1593 | 1605 | |
| 1594 | 1606 | $(OBJDIR)/file_.c: $(SRCDIR)/file.c $(TRANSLATE) |
| 1595 | 1607 | $(TRANSLATE) $(SRCDIR)/file.c >$@ |
| 1596 | 1608 | |
| 1597 | 1609 | $(OBJDIR)/file.o: $(OBJDIR)/file_.c $(OBJDIR)/file.h $(SRCDIR)/config.h |
| 1598 | 1610 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -473,10 +473,11 @@ | |
| 473 | $(SRCDIR)/doc.c \ |
| 474 | $(SRCDIR)/encode.c \ |
| 475 | $(SRCDIR)/etag.c \ |
| 476 | $(SRCDIR)/event.c \ |
| 477 | $(SRCDIR)/export.c \ |
| 478 | $(SRCDIR)/file.c \ |
| 479 | $(SRCDIR)/finfo.c \ |
| 480 | $(SRCDIR)/foci.c \ |
| 481 | $(SRCDIR)/forum.c \ |
| 482 | $(SRCDIR)/fshell.c \ |
| @@ -686,10 +687,11 @@ | |
| 686 | $(OBJDIR)/doc_.c \ |
| 687 | $(OBJDIR)/encode_.c \ |
| 688 | $(OBJDIR)/etag_.c \ |
| 689 | $(OBJDIR)/event_.c \ |
| 690 | $(OBJDIR)/export_.c \ |
| 691 | $(OBJDIR)/file_.c \ |
| 692 | $(OBJDIR)/finfo_.c \ |
| 693 | $(OBJDIR)/foci_.c \ |
| 694 | $(OBJDIR)/forum_.c \ |
| 695 | $(OBJDIR)/fshell_.c \ |
| @@ -825,10 +827,11 @@ | |
| 825 | $(OBJDIR)/doc.o \ |
| 826 | $(OBJDIR)/encode.o \ |
| 827 | $(OBJDIR)/etag.o \ |
| 828 | $(OBJDIR)/event.o \ |
| 829 | $(OBJDIR)/export.o \ |
| 830 | $(OBJDIR)/file.o \ |
| 831 | $(OBJDIR)/finfo.o \ |
| 832 | $(OBJDIR)/foci.o \ |
| 833 | $(OBJDIR)/forum.o \ |
| 834 | $(OBJDIR)/fshell.o \ |
| @@ -1184,10 +1187,11 @@ | |
| 1184 | $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h \ |
| 1185 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 1186 | $(OBJDIR)/etag_.c:$(OBJDIR)/etag.h \ |
| 1187 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 1188 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 1189 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 1190 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 1191 | $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \ |
| 1192 | $(OBJDIR)/forum_.c:$(OBJDIR)/forum.h \ |
| 1193 | $(OBJDIR)/fshell_.c:$(OBJDIR)/fshell.h \ |
| @@ -1588,10 +1592,18 @@ | |
| 1588 | |
| 1589 | $(OBJDIR)/export.o: $(OBJDIR)/export_.c $(OBJDIR)/export.h $(SRCDIR)/config.h |
| 1590 | $(XTCC) -o $(OBJDIR)/export.o -c $(OBJDIR)/export_.c |
| 1591 | |
| 1592 | $(OBJDIR)/export.h: $(OBJDIR)/headers |
| 1593 | |
| 1594 | $(OBJDIR)/file_.c: $(SRCDIR)/file.c $(TRANSLATE) |
| 1595 | $(TRANSLATE) $(SRCDIR)/file.c >$@ |
| 1596 | |
| 1597 | $(OBJDIR)/file.o: $(OBJDIR)/file_.c $(OBJDIR)/file.h $(SRCDIR)/config.h |
| 1598 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -473,10 +473,11 @@ | |
| 473 | $(SRCDIR)/doc.c \ |
| 474 | $(SRCDIR)/encode.c \ |
| 475 | $(SRCDIR)/etag.c \ |
| 476 | $(SRCDIR)/event.c \ |
| 477 | $(SRCDIR)/export.c \ |
| 478 | $(SRCDIR)/extcgi.c \ |
| 479 | $(SRCDIR)/file.c \ |
| 480 | $(SRCDIR)/finfo.c \ |
| 481 | $(SRCDIR)/foci.c \ |
| 482 | $(SRCDIR)/forum.c \ |
| 483 | $(SRCDIR)/fshell.c \ |
| @@ -686,10 +687,11 @@ | |
| 687 | $(OBJDIR)/doc_.c \ |
| 688 | $(OBJDIR)/encode_.c \ |
| 689 | $(OBJDIR)/etag_.c \ |
| 690 | $(OBJDIR)/event_.c \ |
| 691 | $(OBJDIR)/export_.c \ |
| 692 | $(OBJDIR)/extcgi_.c \ |
| 693 | $(OBJDIR)/file_.c \ |
| 694 | $(OBJDIR)/finfo_.c \ |
| 695 | $(OBJDIR)/foci_.c \ |
| 696 | $(OBJDIR)/forum_.c \ |
| 697 | $(OBJDIR)/fshell_.c \ |
| @@ -825,10 +827,11 @@ | |
| 827 | $(OBJDIR)/doc.o \ |
| 828 | $(OBJDIR)/encode.o \ |
| 829 | $(OBJDIR)/etag.o \ |
| 830 | $(OBJDIR)/event.o \ |
| 831 | $(OBJDIR)/export.o \ |
| 832 | $(OBJDIR)/extcgi.o \ |
| 833 | $(OBJDIR)/file.o \ |
| 834 | $(OBJDIR)/finfo.o \ |
| 835 | $(OBJDIR)/foci.o \ |
| 836 | $(OBJDIR)/forum.o \ |
| 837 | $(OBJDIR)/fshell.o \ |
| @@ -1184,10 +1187,11 @@ | |
| 1187 | $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h \ |
| 1188 | $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h \ |
| 1189 | $(OBJDIR)/etag_.c:$(OBJDIR)/etag.h \ |
| 1190 | $(OBJDIR)/event_.c:$(OBJDIR)/event.h \ |
| 1191 | $(OBJDIR)/export_.c:$(OBJDIR)/export.h \ |
| 1192 | $(OBJDIR)/extcgi_.c:$(OBJDIR)/extcgi.h \ |
| 1193 | $(OBJDIR)/file_.c:$(OBJDIR)/file.h \ |
| 1194 | $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h \ |
| 1195 | $(OBJDIR)/foci_.c:$(OBJDIR)/foci.h \ |
| 1196 | $(OBJDIR)/forum_.c:$(OBJDIR)/forum.h \ |
| 1197 | $(OBJDIR)/fshell_.c:$(OBJDIR)/fshell.h \ |
| @@ -1588,10 +1592,18 @@ | |
| 1592 | |
| 1593 | $(OBJDIR)/export.o: $(OBJDIR)/export_.c $(OBJDIR)/export.h $(SRCDIR)/config.h |
| 1594 | $(XTCC) -o $(OBJDIR)/export.o -c $(OBJDIR)/export_.c |
| 1595 | |
| 1596 | $(OBJDIR)/export.h: $(OBJDIR)/headers |
| 1597 | |
| 1598 | $(OBJDIR)/extcgi_.c: $(SRCDIR)/extcgi.c $(TRANSLATE) |
| 1599 | $(TRANSLATE) $(SRCDIR)/extcgi.c >$@ |
| 1600 | |
| 1601 | $(OBJDIR)/extcgi.o: $(OBJDIR)/extcgi_.c $(OBJDIR)/extcgi.h $(SRCDIR)/config.h |
| 1602 | $(XTCC) -o $(OBJDIR)/extcgi.o -c $(OBJDIR)/extcgi_.c |
| 1603 | |
| 1604 | $(OBJDIR)/extcgi.h: $(OBJDIR)/headers |
| 1605 | |
| 1606 | $(OBJDIR)/file_.c: $(SRCDIR)/file.c $(TRANSLATE) |
| 1607 | $(TRANSLATE) $(SRCDIR)/file.c >$@ |
| 1608 | |
| 1609 | $(OBJDIR)/file.o: $(OBJDIR)/file_.c $(OBJDIR)/file.h $(SRCDIR)/config.h |
| 1610 |
+10
| --- win/Makefile.msc | ||
| +++ win/Makefile.msc | ||
| @@ -379,10 +379,11 @@ | ||
| 379 | 379 | doc_.c \ |
| 380 | 380 | encode_.c \ |
| 381 | 381 | etag_.c \ |
| 382 | 382 | event_.c \ |
| 383 | 383 | export_.c \ |
| 384 | + extcgi_.c \ | |
| 384 | 385 | file_.c \ |
| 385 | 386 | finfo_.c \ |
| 386 | 387 | foci_.c \ |
| 387 | 388 | forum_.c \ |
| 388 | 389 | fshell_.c \ |
| @@ -591,10 +592,11 @@ | ||
| 591 | 592 | $(OX)\doc$O \ |
| 592 | 593 | $(OX)\encode$O \ |
| 593 | 594 | $(OX)\etag$O \ |
| 594 | 595 | $(OX)\event$O \ |
| 595 | 596 | $(OX)\export$O \ |
| 597 | + $(OX)\extcgi$O \ | |
| 596 | 598 | $(OX)\file$O \ |
| 597 | 599 | $(OX)\finfo$O \ |
| 598 | 600 | $(OX)\foci$O \ |
| 599 | 601 | $(OX)\forum$O \ |
| 600 | 602 | $(OX)\fshell$O \ |
| @@ -792,10 +794,11 @@ | ||
| 792 | 794 | echo $(OX)\doc.obj >> $@ |
| 793 | 795 | echo $(OX)\encode.obj >> $@ |
| 794 | 796 | echo $(OX)\etag.obj >> $@ |
| 795 | 797 | echo $(OX)\event.obj >> $@ |
| 796 | 798 | echo $(OX)\export.obj >> $@ |
| 799 | + echo $(OX)\extcgi.obj >> $@ | |
| 797 | 800 | echo $(OX)\file.obj >> $@ |
| 798 | 801 | echo $(OX)\finfo.obj >> $@ |
| 799 | 802 | echo $(OX)\foci.obj >> $@ |
| 800 | 803 | echo $(OX)\forum.obj >> $@ |
| 801 | 804 | echo $(OX)\fshell.obj >> $@ |
| @@ -1236,10 +1239,16 @@ | ||
| 1236 | 1239 | $(OX)\export$O : export_.c export.h |
| 1237 | 1240 | $(TCC) /Fo$@ -c export_.c |
| 1238 | 1241 | |
| 1239 | 1242 | export_.c : $(SRCDIR)\export.c |
| 1240 | 1243 | translate$E $** > $@ |
| 1244 | + | |
| 1245 | +$(OX)\extcgi$O : extcgi_.c extcgi.h | |
| 1246 | + $(TCC) /Fo$@ -c extcgi_.c | |
| 1247 | + | |
| 1248 | +extcgi_.c : $(SRCDIR)\extcgi.c | |
| 1249 | + translate$E $** > $@ | |
| 1241 | 1250 | |
| 1242 | 1251 | $(OX)\file$O : file_.c file.h |
| 1243 | 1252 | $(TCC) /Fo$@ -c file_.c |
| 1244 | 1253 | |
| 1245 | 1254 | file_.c : $(SRCDIR)\file.c |
| @@ -1878,10 +1887,11 @@ | ||
| 1878 | 1887 | doc_.c:doc.h \ |
| 1879 | 1888 | encode_.c:encode.h \ |
| 1880 | 1889 | etag_.c:etag.h \ |
| 1881 | 1890 | event_.c:event.h \ |
| 1882 | 1891 | export_.c:export.h \ |
| 1892 | + extcgi_.c:extcgi.h \ | |
| 1883 | 1893 | file_.c:file.h \ |
| 1884 | 1894 | finfo_.c:finfo.h \ |
| 1885 | 1895 | foci_.c:foci.h \ |
| 1886 | 1896 | forum_.c:forum.h \ |
| 1887 | 1897 | fshell_.c:fshell.h \ |
| 1888 | 1898 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -379,10 +379,11 @@ | |
| 379 | doc_.c \ |
| 380 | encode_.c \ |
| 381 | etag_.c \ |
| 382 | event_.c \ |
| 383 | export_.c \ |
| 384 | file_.c \ |
| 385 | finfo_.c \ |
| 386 | foci_.c \ |
| 387 | forum_.c \ |
| 388 | fshell_.c \ |
| @@ -591,10 +592,11 @@ | |
| 591 | $(OX)\doc$O \ |
| 592 | $(OX)\encode$O \ |
| 593 | $(OX)\etag$O \ |
| 594 | $(OX)\event$O \ |
| 595 | $(OX)\export$O \ |
| 596 | $(OX)\file$O \ |
| 597 | $(OX)\finfo$O \ |
| 598 | $(OX)\foci$O \ |
| 599 | $(OX)\forum$O \ |
| 600 | $(OX)\fshell$O \ |
| @@ -792,10 +794,11 @@ | |
| 792 | echo $(OX)\doc.obj >> $@ |
| 793 | echo $(OX)\encode.obj >> $@ |
| 794 | echo $(OX)\etag.obj >> $@ |
| 795 | echo $(OX)\event.obj >> $@ |
| 796 | echo $(OX)\export.obj >> $@ |
| 797 | echo $(OX)\file.obj >> $@ |
| 798 | echo $(OX)\finfo.obj >> $@ |
| 799 | echo $(OX)\foci.obj >> $@ |
| 800 | echo $(OX)\forum.obj >> $@ |
| 801 | echo $(OX)\fshell.obj >> $@ |
| @@ -1236,10 +1239,16 @@ | |
| 1236 | $(OX)\export$O : export_.c export.h |
| 1237 | $(TCC) /Fo$@ -c export_.c |
| 1238 | |
| 1239 | export_.c : $(SRCDIR)\export.c |
| 1240 | translate$E $** > $@ |
| 1241 | |
| 1242 | $(OX)\file$O : file_.c file.h |
| 1243 | $(TCC) /Fo$@ -c file_.c |
| 1244 | |
| 1245 | file_.c : $(SRCDIR)\file.c |
| @@ -1878,10 +1887,11 @@ | |
| 1878 | doc_.c:doc.h \ |
| 1879 | encode_.c:encode.h \ |
| 1880 | etag_.c:etag.h \ |
| 1881 | event_.c:event.h \ |
| 1882 | export_.c:export.h \ |
| 1883 | file_.c:file.h \ |
| 1884 | finfo_.c:finfo.h \ |
| 1885 | foci_.c:foci.h \ |
| 1886 | forum_.c:forum.h \ |
| 1887 | fshell_.c:fshell.h \ |
| 1888 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -379,10 +379,11 @@ | |
| 379 | doc_.c \ |
| 380 | encode_.c \ |
| 381 | etag_.c \ |
| 382 | event_.c \ |
| 383 | export_.c \ |
| 384 | extcgi_.c \ |
| 385 | file_.c \ |
| 386 | finfo_.c \ |
| 387 | foci_.c \ |
| 388 | forum_.c \ |
| 389 | fshell_.c \ |
| @@ -591,10 +592,11 @@ | |
| 592 | $(OX)\doc$O \ |
| 593 | $(OX)\encode$O \ |
| 594 | $(OX)\etag$O \ |
| 595 | $(OX)\event$O \ |
| 596 | $(OX)\export$O \ |
| 597 | $(OX)\extcgi$O \ |
| 598 | $(OX)\file$O \ |
| 599 | $(OX)\finfo$O \ |
| 600 | $(OX)\foci$O \ |
| 601 | $(OX)\forum$O \ |
| 602 | $(OX)\fshell$O \ |
| @@ -792,10 +794,11 @@ | |
| 794 | echo $(OX)\doc.obj >> $@ |
| 795 | echo $(OX)\encode.obj >> $@ |
| 796 | echo $(OX)\etag.obj >> $@ |
| 797 | echo $(OX)\event.obj >> $@ |
| 798 | echo $(OX)\export.obj >> $@ |
| 799 | echo $(OX)\extcgi.obj >> $@ |
| 800 | echo $(OX)\file.obj >> $@ |
| 801 | echo $(OX)\finfo.obj >> $@ |
| 802 | echo $(OX)\foci.obj >> $@ |
| 803 | echo $(OX)\forum.obj >> $@ |
| 804 | echo $(OX)\fshell.obj >> $@ |
| @@ -1236,10 +1239,16 @@ | |
| 1239 | $(OX)\export$O : export_.c export.h |
| 1240 | $(TCC) /Fo$@ -c export_.c |
| 1241 | |
| 1242 | export_.c : $(SRCDIR)\export.c |
| 1243 | translate$E $** > $@ |
| 1244 | |
| 1245 | $(OX)\extcgi$O : extcgi_.c extcgi.h |
| 1246 | $(TCC) /Fo$@ -c extcgi_.c |
| 1247 | |
| 1248 | extcgi_.c : $(SRCDIR)\extcgi.c |
| 1249 | translate$E $** > $@ |
| 1250 | |
| 1251 | $(OX)\file$O : file_.c file.h |
| 1252 | $(TCC) /Fo$@ -c file_.c |
| 1253 | |
| 1254 | file_.c : $(SRCDIR)\file.c |
| @@ -1878,10 +1887,11 @@ | |
| 1887 | doc_.c:doc.h \ |
| 1888 | encode_.c:encode.h \ |
| 1889 | etag_.c:etag.h \ |
| 1890 | event_.c:event.h \ |
| 1891 | export_.c:export.h \ |
| 1892 | extcgi_.c:extcgi.h \ |
| 1893 | file_.c:file.h \ |
| 1894 | finfo_.c:finfo.h \ |
| 1895 | foci_.c:foci.h \ |
| 1896 | forum_.c:forum.h \ |
| 1897 | fshell_.c:fshell.h \ |
| 1898 |