Fossil SCM

Merge in the new "system" command. It is not complete, but it is harmless and out of the way so we might as well continue development on trunk.

drh 2025-11-03 20:42 trunk merge
Commit ff7fe39421d96488b156d1bb7c5ebad0f285b8c8bf54ecf642f1635f1f9c276c
-10
--- src/cgi.c
+++ src/cgi.c
@@ -2962,20 +2962,10 @@
29622962
pTm->tm_year+1900, pTm->tm_mon+1, pTm->tm_mday,
29632963
pTm->tm_hour, pTm->tm_min, pTm->tm_sec);
29642964
}
29652965
}
29662966
2967
-/*
2968
-** COMMAND: test-date
2969
-**
2970
-** Show the current date and time in both RFC822 and ISO8601.
2971
-*/
2972
-void test_date(void){
2973
- fossil_print("%z = ", cgi_iso8601_datestamp());
2974
- fossil_print("%z\n", cgi_rfc822_datestamp(time(0)));
2975
-}
2976
-
29772967
/*
29782968
** Parse an RFC822-formatted timestamp as we'd expect from HTTP and return
29792969
** a Unix epoch time. <= zero is returned on failure.
29802970
**
29812971
** Note that this won't handle all the _allowed_ HTTP formats, just the
29822972
--- src/cgi.c
+++ src/cgi.c
@@ -2962,20 +2962,10 @@
2962 pTm->tm_year+1900, pTm->tm_mon+1, pTm->tm_mday,
2963 pTm->tm_hour, pTm->tm_min, pTm->tm_sec);
2964 }
2965 }
2966
2967 /*
2968 ** COMMAND: test-date
2969 **
2970 ** Show the current date and time in both RFC822 and ISO8601.
2971 */
2972 void test_date(void){
2973 fossil_print("%z = ", cgi_iso8601_datestamp());
2974 fossil_print("%z\n", cgi_rfc822_datestamp(time(0)));
2975 }
2976
2977 /*
2978 ** Parse an RFC822-formatted timestamp as we'd expect from HTTP and return
2979 ** a Unix epoch time. <= zero is returned on failure.
2980 **
2981 ** Note that this won't handle all the _allowed_ HTTP formats, just the
2982
--- src/cgi.c
+++ src/cgi.c
@@ -2962,20 +2962,10 @@
2962 pTm->tm_year+1900, pTm->tm_mon+1, pTm->tm_mday,
2963 pTm->tm_hour, pTm->tm_min, pTm->tm_sec);
2964 }
2965 }
2966
 
 
 
 
 
 
 
 
 
 
2967 /*
2968 ** Parse an RFC822-formatted timestamp as we'd expect from HTTP and return
2969 ** a Unix epoch time. <= zero is returned on failure.
2970 **
2971 ** Note that this won't handle all the _allowed_ HTTP formats, just the
2972
+1 -1
--- src/checkout.c
+++ src/checkout.c
@@ -546,11 +546,11 @@
546546
if( file_isdir(zSqlArchive, ExtFILE)>0 ){
547547
fossil_fatal("file already exists: \"%s\"", zSqlArchive);
548548
}
549549
}else if( file_isdir(zDest, ExtFILE)>0 ){
550550
if( fossil_strcmp(zDest,".")==0 ){
551
- if( file_directory_size(zDest,0,1) ){
551
+ if( file_directory_list(zDest,0,1,1,0) ){
552552
fossil_fatal("current directory is not empty");
553553
}
554554
}else{
555555
fossil_fatal("\"%s\" already exists", zDest);
556556
}
557557
--- src/checkout.c
+++ src/checkout.c
@@ -546,11 +546,11 @@
546 if( file_isdir(zSqlArchive, ExtFILE)>0 ){
547 fossil_fatal("file already exists: \"%s\"", zSqlArchive);
548 }
549 }else if( file_isdir(zDest, ExtFILE)>0 ){
550 if( fossil_strcmp(zDest,".")==0 ){
551 if( file_directory_size(zDest,0,1) ){
552 fossil_fatal("current directory is not empty");
553 }
554 }else{
555 fossil_fatal("\"%s\" already exists", zDest);
556 }
557
--- src/checkout.c
+++ src/checkout.c
@@ -546,11 +546,11 @@
546 if( file_isdir(zSqlArchive, ExtFILE)>0 ){
547 fossil_fatal("file already exists: \"%s\"", zSqlArchive);
548 }
549 }else if( file_isdir(zDest, ExtFILE)>0 ){
550 if( fossil_strcmp(zDest,".")==0 ){
551 if( file_directory_list(zDest,0,1,1,0) ){
552 fossil_fatal("current directory is not empty");
553 }
554 }else{
555 fossil_fatal("\"%s\" already exists", zDest);
556 }
557
+1 -1
--- src/db.c
+++ src/db.c
@@ -4339,11 +4339,11 @@
43394339
fossil_fatal("unable to make %s the working directory", zWorkDir);
43404340
}
43414341
}
43424342
if( keepFlag==0
43434343
&& bForce==0
4344
- && (nLocal = file_directory_size(".", 0, 1))>0
4344
+ && (nLocal = file_directory_list(".", 0, 1, 2, 0))>0
43454345
&& (nLocal>1 || isUri || !file_in_cwd(zRepo))
43464346
){
43474347
fossil_fatal("directory %s is not empty\n"
43484348
"use the -f (--force) option to override\n"
43494349
"or the -k (--keep) option to keep local files unchanged",
43504350
--- src/db.c
+++ src/db.c
@@ -4339,11 +4339,11 @@
4339 fossil_fatal("unable to make %s the working directory", zWorkDir);
4340 }
4341 }
4342 if( keepFlag==0
4343 && bForce==0
4344 && (nLocal = file_directory_size(".", 0, 1))>0
4345 && (nLocal>1 || isUri || !file_in_cwd(zRepo))
4346 ){
4347 fossil_fatal("directory %s is not empty\n"
4348 "use the -f (--force) option to override\n"
4349 "or the -k (--keep) option to keep local files unchanged",
4350
--- src/db.c
+++ src/db.c
@@ -4339,11 +4339,11 @@
4339 fossil_fatal("unable to make %s the working directory", zWorkDir);
4340 }
4341 }
4342 if( keepFlag==0
4343 && bForce==0
4344 && (nLocal = file_directory_list(".", 0, 1, 2, 0))>0
4345 && (nLocal>1 || isUri || !file_in_cwd(zRepo))
4346 ){
4347 fossil_fatal("directory %s is not empty\n"
4348 "use the -f (--force) option to override\n"
4349 "or the -k (--keep) option to keep local files unchanged",
4350
+80 -15
--- src/file.c
+++ src/file.c
@@ -2543,69 +2543,134 @@
25432543
#endif
25442544
return z;
25452545
}
25462546
25472547
/*
2548
-** Count the number of objects (files and subdirectories) in a given
2549
-** directory. Return the count. Return -1 if the object is not a
2550
-** directory.
2548
+** Find the name of all objects (files and subdirectories) in a given
2549
+** directory that match a GLOB pattern. If zGlob is NULL, then return
2550
+** all objects. The list is written into *pazList and the number of
2551
+** entries is returned. If pazList is NULL, then only the count is
2552
+** returned.
2553
+**
2554
+** If zDir is not a directory, *pazList is unchanged and -1 is returned.
2555
+**
2556
+** Memory used to old *pazList should be freed using a subsequent call
2557
+** to file_directory_list_free().
25512558
**
25522559
** This routine never counts the two "." and ".." special directory
25532560
** entries, even if the provided glob would match them.
25542561
*/
2555
-int file_directory_size(const char *zDir, const char *zGlob, int omitDotFiles){
2562
+int file_directory_list(
2563
+ const char *zDir, /* Directory to get a listing of */
2564
+ const char *zGlob, /* Only list objects matching this pattern */
2565
+ int omitDotFiles, /* Omit files that begin with "." if true */
2566
+ int nLimit, /* Find at most this many files. 0 means "all" */
2567
+ char ***pazList /* OUT: Write the list here, if not NULL */
2568
+){
25562569
void *zNative;
25572570
DIR *d;
25582571
int n = -1;
2572
+ int nAlloc = 0;
2573
+ if( pazList ) *pazList = 0;
25592574
zNative = fossil_utf8_to_path(zDir,1);
25602575
d = opendir(zNative);
25612576
if( d ){
25622577
struct dirent *pEntry;
25632578
n = 0;
25642579
while( (pEntry=readdir(d))!=0 ){
2580
+ char *zUtf8 = 0;
25652581
if( pEntry->d_name[0]==0 ) continue;
25662582
if( pEntry->d_name[0]=='.' &&
25672583
(omitDotFiles
25682584
/* Skip the special "." and ".." entries. */
25692585
|| pEntry->d_name[1]==0
25702586
|| (pEntry->d_name[1]=='.' && pEntry->d_name[2]==0))){
25712587
continue;
25722588
}
25732589
if( zGlob ){
2574
- char *zUtf8 = fossil_path_to_utf8(pEntry->d_name);
2575
- int rc = sqlite3_strglob(zGlob, zUtf8);
2576
- fossil_path_free(zUtf8);
2577
- if( rc ) continue;
2590
+ int rc;
2591
+ zUtf8 = fossil_path_to_utf8(pEntry->d_name);
2592
+ rc = sqlite3_strglob(zGlob, zUtf8);
2593
+ if( rc ){
2594
+ fossil_path_free(zUtf8);
2595
+ continue;
2596
+ }
2597
+ }
2598
+ if( pazList ){
2599
+ if( n+1 >= nAlloc ){
2600
+ nAlloc = 100 + n;
2601
+ *pazList = fossil_realloc(*pazList, nAlloc*sizeof(char*));
2602
+ }
2603
+ if( zUtf8==0 ){
2604
+ zUtf8 = fossil_path_to_utf8(pEntry->d_name);
2605
+ }
2606
+ (*pazList)[n] = fossil_strdup(zUtf8);
25782607
}
25792608
n++;
2609
+ if( zUtf8 ) fossil_path_free(zUtf8);
2610
+ if( nLimit>0 && n>=nLimit ) break;
25802611
}
25812612
closedir(d);
25822613
}
25832614
fossil_path_free(zNative);
2615
+ if( pazList ) (*pazList)[n] = 0;
25842616
return n;
25852617
}
2618
+void file_directory_list_free(char **azList){
2619
+ char **az;
2620
+ if( azList==0 ) return;
2621
+ az = azList;
2622
+ while( az[0] ){
2623
+ fossil_free(az[0]);
2624
+ az++;
2625
+ }
2626
+ fossil_free(azList);
2627
+}
25862628
25872629
/*
2588
-** COMMAND: test-dir-size
2630
+** COMMAND: test-dir-list
2631
+**
2632
+** Usage: %fossil test-dir-list NAME [GLOB] [OPTIONS]
2633
+**
2634
+** Return the names of up to N objects in the directory NAME. If GLOB is
2635
+** provided, then only show objects that match the GLOB pattern.
2636
+**
2637
+** This command is intended for testing the file_directory_list() function.
25892638
**
2590
-** Usage: %fossil test-dir-size NAME [GLOB] [--nodots]
2639
+** Options:
25912640
**
2592
-** Return the number of objects in the directory NAME. If GLOB is
2593
-** provided, then only count objects that match the GLOB pattern.
2594
-** if --nodots is specified, omit files that begin with ".".
2641
+** --count Only count files, do not list them.
2642
+** --limit N Only show the first N files seen
2643
+** --nodots Do not show or count files that start with '.'
25952644
*/
2596
-void test_dir_size_cmd(void){
2645
+void test_dir_list_cmd(void){
25972646
int omitDotFiles = find_option("nodots",0,0)!=0;
2647
+ const char *zLimit = find_option("limit",0,1);
2648
+ int countOnly = find_option("count",0,0)!=0;
25982649
const char *zGlob;
25992650
const char *zDir;
2651
+ char **azList = 0;
2652
+ int nList;
2653
+
26002654
verify_all_options();
26012655
if( g.argc!=3 && g.argc!=4 ){
26022656
usage("NAME [GLOB] [-nodots]");
26032657
}
26042658
zDir = g.argv[2];
26052659
zGlob = g.argc==4 ? g.argv[3] : 0;
2606
- fossil_print("%d\n", file_directory_size(zDir, zGlob, omitDotFiles));
2660
+ nList = file_directory_list(zDir, zGlob, omitDotFiles,
2661
+ zLimit ? atoi(zLimit) : 0,
2662
+ countOnly ? 0 : &azList);
2663
+ if( countOnly ){
2664
+ fossil_print("%d\n", nList);
2665
+ }else{
2666
+ int i;
2667
+ for(i=0; i<nList; i++){
2668
+ fossil_print(" %s\n", azList[i]);
2669
+ }
2670
+ }
2671
+ file_directory_list_free(azList);
26072672
}
26082673
26092674
/*
26102675
** Internal helper for touch_cmd(). zAbsName must be resolvable as-is
26112676
** to an existing file - this function does not expand/normalize
26122677
--- src/file.c
+++ src/file.c
@@ -2543,69 +2543,134 @@
2543 #endif
2544 return z;
2545 }
2546
2547 /*
2548 ** Count the number of objects (files and subdirectories) in a given
2549 ** directory. Return the count. Return -1 if the object is not a
2550 ** directory.
 
 
 
 
 
 
 
2551 **
2552 ** This routine never counts the two "." and ".." special directory
2553 ** entries, even if the provided glob would match them.
2554 */
2555 int file_directory_size(const char *zDir, const char *zGlob, int omitDotFiles){
 
 
 
 
 
 
2556 void *zNative;
2557 DIR *d;
2558 int n = -1;
 
 
2559 zNative = fossil_utf8_to_path(zDir,1);
2560 d = opendir(zNative);
2561 if( d ){
2562 struct dirent *pEntry;
2563 n = 0;
2564 while( (pEntry=readdir(d))!=0 ){
 
2565 if( pEntry->d_name[0]==0 ) continue;
2566 if( pEntry->d_name[0]=='.' &&
2567 (omitDotFiles
2568 /* Skip the special "." and ".." entries. */
2569 || pEntry->d_name[1]==0
2570 || (pEntry->d_name[1]=='.' && pEntry->d_name[2]==0))){
2571 continue;
2572 }
2573 if( zGlob ){
2574 char *zUtf8 = fossil_path_to_utf8(pEntry->d_name);
2575 int rc = sqlite3_strglob(zGlob, zUtf8);
2576 fossil_path_free(zUtf8);
2577 if( rc ) continue;
 
 
 
 
 
 
 
 
 
 
 
 
 
2578 }
2579 n++;
 
 
2580 }
2581 closedir(d);
2582 }
2583 fossil_path_free(zNative);
 
2584 return n;
2585 }
 
 
 
 
 
 
 
 
 
 
2586
2587 /*
2588 ** COMMAND: test-dir-size
 
 
 
 
 
 
 
2589 **
2590 ** Usage: %fossil test-dir-size NAME [GLOB] [--nodots]
2591 **
2592 ** Return the number of objects in the directory NAME. If GLOB is
2593 ** provided, then only count objects that match the GLOB pattern.
2594 ** if --nodots is specified, omit files that begin with ".".
2595 */
2596 void test_dir_size_cmd(void){
2597 int omitDotFiles = find_option("nodots",0,0)!=0;
 
 
2598 const char *zGlob;
2599 const char *zDir;
 
 
 
2600 verify_all_options();
2601 if( g.argc!=3 && g.argc!=4 ){
2602 usage("NAME [GLOB] [-nodots]");
2603 }
2604 zDir = g.argv[2];
2605 zGlob = g.argc==4 ? g.argv[3] : 0;
2606 fossil_print("%d\n", file_directory_size(zDir, zGlob, omitDotFiles));
 
 
 
 
 
 
 
 
 
 
 
2607 }
2608
2609 /*
2610 ** Internal helper for touch_cmd(). zAbsName must be resolvable as-is
2611 ** to an existing file - this function does not expand/normalize
2612
--- src/file.c
+++ src/file.c
@@ -2543,69 +2543,134 @@
2543 #endif
2544 return z;
2545 }
2546
2547 /*
2548 ** Find the name of all objects (files and subdirectories) in a given
2549 ** directory that match a GLOB pattern. If zGlob is NULL, then return
2550 ** all objects. The list is written into *pazList and the number of
2551 ** entries is returned. If pazList is NULL, then only the count is
2552 ** returned.
2553 **
2554 ** If zDir is not a directory, *pazList is unchanged and -1 is returned.
2555 **
2556 ** Memory used to old *pazList should be freed using a subsequent call
2557 ** to file_directory_list_free().
2558 **
2559 ** This routine never counts the two "." and ".." special directory
2560 ** entries, even if the provided glob would match them.
2561 */
2562 int file_directory_list(
2563 const char *zDir, /* Directory to get a listing of */
2564 const char *zGlob, /* Only list objects matching this pattern */
2565 int omitDotFiles, /* Omit files that begin with "." if true */
2566 int nLimit, /* Find at most this many files. 0 means "all" */
2567 char ***pazList /* OUT: Write the list here, if not NULL */
2568 ){
2569 void *zNative;
2570 DIR *d;
2571 int n = -1;
2572 int nAlloc = 0;
2573 if( pazList ) *pazList = 0;
2574 zNative = fossil_utf8_to_path(zDir,1);
2575 d = opendir(zNative);
2576 if( d ){
2577 struct dirent *pEntry;
2578 n = 0;
2579 while( (pEntry=readdir(d))!=0 ){
2580 char *zUtf8 = 0;
2581 if( pEntry->d_name[0]==0 ) continue;
2582 if( pEntry->d_name[0]=='.' &&
2583 (omitDotFiles
2584 /* Skip the special "." and ".." entries. */
2585 || pEntry->d_name[1]==0
2586 || (pEntry->d_name[1]=='.' && pEntry->d_name[2]==0))){
2587 continue;
2588 }
2589 if( zGlob ){
2590 int rc;
2591 zUtf8 = fossil_path_to_utf8(pEntry->d_name);
2592 rc = sqlite3_strglob(zGlob, zUtf8);
2593 if( rc ){
2594 fossil_path_free(zUtf8);
2595 continue;
2596 }
2597 }
2598 if( pazList ){
2599 if( n+1 >= nAlloc ){
2600 nAlloc = 100 + n;
2601 *pazList = fossil_realloc(*pazList, nAlloc*sizeof(char*));
2602 }
2603 if( zUtf8==0 ){
2604 zUtf8 = fossil_path_to_utf8(pEntry->d_name);
2605 }
2606 (*pazList)[n] = fossil_strdup(zUtf8);
2607 }
2608 n++;
2609 if( zUtf8 ) fossil_path_free(zUtf8);
2610 if( nLimit>0 && n>=nLimit ) break;
2611 }
2612 closedir(d);
2613 }
2614 fossil_path_free(zNative);
2615 if( pazList ) (*pazList)[n] = 0;
2616 return n;
2617 }
2618 void file_directory_list_free(char **azList){
2619 char **az;
2620 if( azList==0 ) return;
2621 az = azList;
2622 while( az[0] ){
2623 fossil_free(az[0]);
2624 az++;
2625 }
2626 fossil_free(azList);
2627 }
2628
2629 /*
2630 ** COMMAND: test-dir-list
2631 **
2632 ** Usage: %fossil test-dir-list NAME [GLOB] [OPTIONS]
2633 **
2634 ** Return the names of up to N objects in the directory NAME. If GLOB is
2635 ** provided, then only show objects that match the GLOB pattern.
2636 **
2637 ** This command is intended for testing the file_directory_list() function.
2638 **
2639 ** Options:
2640 **
2641 ** --count Only count files, do not list them.
2642 ** --limit N Only show the first N files seen
2643 ** --nodots Do not show or count files that start with '.'
2644 */
2645 void test_dir_list_cmd(void){
2646 int omitDotFiles = find_option("nodots",0,0)!=0;
2647 const char *zLimit = find_option("limit",0,1);
2648 int countOnly = find_option("count",0,0)!=0;
2649 const char *zGlob;
2650 const char *zDir;
2651 char **azList = 0;
2652 int nList;
2653
2654 verify_all_options();
2655 if( g.argc!=3 && g.argc!=4 ){
2656 usage("NAME [GLOB] [-nodots]");
2657 }
2658 zDir = g.argv[2];
2659 zGlob = g.argc==4 ? g.argv[3] : 0;
2660 nList = file_directory_list(zDir, zGlob, omitDotFiles,
2661 zLimit ? atoi(zLimit) : 0,
2662 countOnly ? 0 : &azList);
2663 if( countOnly ){
2664 fossil_print("%d\n", nList);
2665 }else{
2666 int i;
2667 for(i=0; i<nList; i++){
2668 fossil_print(" %s\n", azList[i]);
2669 }
2670 }
2671 file_directory_list_free(azList);
2672 }
2673
2674 /*
2675 ** Internal helper for touch_cmd(). zAbsName must be resolvable as-is
2676 ** to an existing file - this function does not expand/normalize
2677
+12
--- src/main.mk
+++ src/main.mk
@@ -162,10 +162,11 @@
162162
$(SRCDIR)/wikiformat.c \
163163
$(SRCDIR)/winfile.c \
164164
$(SRCDIR)/winhttp.c \
165165
$(SRCDIR)/xfer.c \
166166
$(SRCDIR)/xfersetup.c \
167
+ $(SRCDIR)/xsystem.c \
167168
$(SRCDIR)/zip.c
168169
169170
EXTRA_FILES = \
170171
$(SRCDIR)/../extsrc/pikchr-worker.js \
171172
$(SRCDIR)/../extsrc/pikchr.js \
@@ -430,10 +431,11 @@
430431
$(OBJDIR)/wikiformat_.c \
431432
$(OBJDIR)/winfile_.c \
432433
$(OBJDIR)/winhttp_.c \
433434
$(OBJDIR)/xfer_.c \
434435
$(OBJDIR)/xfersetup_.c \
436
+ $(OBJDIR)/xsystem_.c \
435437
$(OBJDIR)/zip_.c
436438
437439
OBJ = \
438440
$(OBJDIR)/add.o \
439441
$(OBJDIR)/ajax.o \
@@ -581,10 +583,11 @@
581583
$(OBJDIR)/wikiformat.o \
582584
$(OBJDIR)/winfile.o \
583585
$(OBJDIR)/winhttp.o \
584586
$(OBJDIR)/xfer.o \
585587
$(OBJDIR)/xfersetup.o \
588
+ $(OBJDIR)/xsystem.o \
586589
$(OBJDIR)/zip.o
587590
all: $(APPNAME)
588591
589592
install: all
590593
mkdir -p $(INSTALLDIR)
@@ -925,10 +928,11 @@
925928
$(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
926929
$(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
927930
$(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
928931
$(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
929932
$(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
933
+ $(OBJDIR)/xsystem_.c:$(OBJDIR)/xsystem.h \
930934
$(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
931935
$(SRCDIR_extsrc)/pikchr.c:$(OBJDIR)/pikchr.h \
932936
$(SRCDIR_extsrc)/sqlite3.h \
933937
$(SRCDIR)/th.h \
934938
$(OBJDIR)/VERSION.h
@@ -2117,10 +2121,18 @@
21172121
21182122
$(OBJDIR)/xfersetup.o: $(OBJDIR)/xfersetup_.c $(OBJDIR)/xfersetup.h $(SRCDIR)/config.h
21192123
$(XTCC) -o $(OBJDIR)/xfersetup.o -c $(OBJDIR)/xfersetup_.c
21202124
21212125
$(OBJDIR)/xfersetup.h: $(OBJDIR)/headers
2126
+
2127
+$(OBJDIR)/xsystem_.c: $(SRCDIR)/xsystem.c $(OBJDIR)/translate
2128
+ $(OBJDIR)/translate $(SRCDIR)/xsystem.c >$@
2129
+
2130
+$(OBJDIR)/xsystem.o: $(OBJDIR)/xsystem_.c $(OBJDIR)/xsystem.h $(SRCDIR)/config.h
2131
+ $(XTCC) -o $(OBJDIR)/xsystem.o -c $(OBJDIR)/xsystem_.c
2132
+
2133
+$(OBJDIR)/xsystem.h: $(OBJDIR)/headers
21222134
21232135
$(OBJDIR)/zip_.c: $(SRCDIR)/zip.c $(OBJDIR)/translate
21242136
$(OBJDIR)/translate $(SRCDIR)/zip.c >$@
21252137
21262138
$(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
21272139
--- src/main.mk
+++ src/main.mk
@@ -162,10 +162,11 @@
162 $(SRCDIR)/wikiformat.c \
163 $(SRCDIR)/winfile.c \
164 $(SRCDIR)/winhttp.c \
165 $(SRCDIR)/xfer.c \
166 $(SRCDIR)/xfersetup.c \
 
167 $(SRCDIR)/zip.c
168
169 EXTRA_FILES = \
170 $(SRCDIR)/../extsrc/pikchr-worker.js \
171 $(SRCDIR)/../extsrc/pikchr.js \
@@ -430,10 +431,11 @@
430 $(OBJDIR)/wikiformat_.c \
431 $(OBJDIR)/winfile_.c \
432 $(OBJDIR)/winhttp_.c \
433 $(OBJDIR)/xfer_.c \
434 $(OBJDIR)/xfersetup_.c \
 
435 $(OBJDIR)/zip_.c
436
437 OBJ = \
438 $(OBJDIR)/add.o \
439 $(OBJDIR)/ajax.o \
@@ -581,10 +583,11 @@
581 $(OBJDIR)/wikiformat.o \
582 $(OBJDIR)/winfile.o \
583 $(OBJDIR)/winhttp.o \
584 $(OBJDIR)/xfer.o \
585 $(OBJDIR)/xfersetup.o \
 
586 $(OBJDIR)/zip.o
587 all: $(APPNAME)
588
589 install: all
590 mkdir -p $(INSTALLDIR)
@@ -925,10 +928,11 @@
925 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
926 $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
927 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
928 $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
929 $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
 
930 $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
931 $(SRCDIR_extsrc)/pikchr.c:$(OBJDIR)/pikchr.h \
932 $(SRCDIR_extsrc)/sqlite3.h \
933 $(SRCDIR)/th.h \
934 $(OBJDIR)/VERSION.h
@@ -2117,10 +2121,18 @@
2117
2118 $(OBJDIR)/xfersetup.o: $(OBJDIR)/xfersetup_.c $(OBJDIR)/xfersetup.h $(SRCDIR)/config.h
2119 $(XTCC) -o $(OBJDIR)/xfersetup.o -c $(OBJDIR)/xfersetup_.c
2120
2121 $(OBJDIR)/xfersetup.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
2122
2123 $(OBJDIR)/zip_.c: $(SRCDIR)/zip.c $(OBJDIR)/translate
2124 $(OBJDIR)/translate $(SRCDIR)/zip.c >$@
2125
2126 $(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
2127
--- src/main.mk
+++ src/main.mk
@@ -162,10 +162,11 @@
162 $(SRCDIR)/wikiformat.c \
163 $(SRCDIR)/winfile.c \
164 $(SRCDIR)/winhttp.c \
165 $(SRCDIR)/xfer.c \
166 $(SRCDIR)/xfersetup.c \
167 $(SRCDIR)/xsystem.c \
168 $(SRCDIR)/zip.c
169
170 EXTRA_FILES = \
171 $(SRCDIR)/../extsrc/pikchr-worker.js \
172 $(SRCDIR)/../extsrc/pikchr.js \
@@ -430,10 +431,11 @@
431 $(OBJDIR)/wikiformat_.c \
432 $(OBJDIR)/winfile_.c \
433 $(OBJDIR)/winhttp_.c \
434 $(OBJDIR)/xfer_.c \
435 $(OBJDIR)/xfersetup_.c \
436 $(OBJDIR)/xsystem_.c \
437 $(OBJDIR)/zip_.c
438
439 OBJ = \
440 $(OBJDIR)/add.o \
441 $(OBJDIR)/ajax.o \
@@ -581,10 +583,11 @@
583 $(OBJDIR)/wikiformat.o \
584 $(OBJDIR)/winfile.o \
585 $(OBJDIR)/winhttp.o \
586 $(OBJDIR)/xfer.o \
587 $(OBJDIR)/xfersetup.o \
588 $(OBJDIR)/xsystem.o \
589 $(OBJDIR)/zip.o
590 all: $(APPNAME)
591
592 install: all
593 mkdir -p $(INSTALLDIR)
@@ -925,10 +928,11 @@
928 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
929 $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
930 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
931 $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
932 $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
933 $(OBJDIR)/xsystem_.c:$(OBJDIR)/xsystem.h \
934 $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
935 $(SRCDIR_extsrc)/pikchr.c:$(OBJDIR)/pikchr.h \
936 $(SRCDIR_extsrc)/sqlite3.h \
937 $(SRCDIR)/th.h \
938 $(OBJDIR)/VERSION.h
@@ -2117,10 +2121,18 @@
2121
2122 $(OBJDIR)/xfersetup.o: $(OBJDIR)/xfersetup_.c $(OBJDIR)/xfersetup.h $(SRCDIR)/config.h
2123 $(XTCC) -o $(OBJDIR)/xfersetup.o -c $(OBJDIR)/xfersetup_.c
2124
2125 $(OBJDIR)/xfersetup.h: $(OBJDIR)/headers
2126
2127 $(OBJDIR)/xsystem_.c: $(SRCDIR)/xsystem.c $(OBJDIR)/translate
2128 $(OBJDIR)/translate $(SRCDIR)/xsystem.c >$@
2129
2130 $(OBJDIR)/xsystem.o: $(OBJDIR)/xsystem_.c $(OBJDIR)/xsystem.h $(SRCDIR)/config.h
2131 $(XTCC) -o $(OBJDIR)/xsystem.o -c $(OBJDIR)/xsystem_.c
2132
2133 $(OBJDIR)/xsystem.h: $(OBJDIR)/headers
2134
2135 $(OBJDIR)/zip_.c: $(SRCDIR)/zip.c $(OBJDIR)/translate
2136 $(OBJDIR)/translate $(SRCDIR)/zip.c >$@
2137
2138 $(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
2139
+1 -1
--- src/stat.c
+++ src/stat.c
@@ -94,11 +94,11 @@
9494
}else
9595
if( fossil_strcmp(zDest,"dir")==0
9696
&& (zDir = db_get("email-send-dir",0))!=0
9797
){
9898
@ Written to files in "%h(zDir)"
99
- @ (%,d(file_directory_size(zDir,0,1)) messages)
99
+ @ (%,d(file_directory_list(zDir,0,1,0,0)) messages)
100100
}else
101101
if( fossil_strcmp(zDest,"relay")==0
102102
&& (zRelay = db_get("email-send-relayhost",0))!=0
103103
){
104104
@ Relay to %h(zRelay) using SMTP
105105
--- src/stat.c
+++ src/stat.c
@@ -94,11 +94,11 @@
94 }else
95 if( fossil_strcmp(zDest,"dir")==0
96 && (zDir = db_get("email-send-dir",0))!=0
97 ){
98 @ Written to files in "%h(zDir)"
99 @ (%,d(file_directory_size(zDir,0,1)) messages)
100 }else
101 if( fossil_strcmp(zDest,"relay")==0
102 && (zRelay = db_get("email-send-relayhost",0))!=0
103 ){
104 @ Relay to %h(zRelay) using SMTP
105
--- src/stat.c
+++ src/stat.c
@@ -94,11 +94,11 @@
94 }else
95 if( fossil_strcmp(zDest,"dir")==0
96 && (zDir = db_get("email-send-dir",0))!=0
97 ){
98 @ Written to files in "%h(zDir)"
99 @ (%,d(file_directory_list(zDir,0,1,0,0)) messages)
100 }else
101 if( fossil_strcmp(zDest,"relay")==0
102 && (zRelay = db_get("email-send-relayhost",0))!=0
103 ){
104 @ Relay to %h(zRelay) using SMTP
105
-24
--- src/util.c
+++ src/util.c
@@ -995,34 +995,10 @@
995995
zPath += i;
996996
}
997997
return bFound;
998998
}
999999
1000
-/*
1001
-** COMMAND: which*
1002
-**
1003
-** Usage: fossil which [-a] NAME ...
1004
-**
1005
-** For each NAME mentioned as an argument, print the first location on the
1006
-** on PATH of the executable with that name. Or, show all locations on PATH
1007
-** for each argument if the -a option is used.
1008
-**
1009
-** This command is a substitute for the unix "which" command, which is not
1010
-** always available, especially on Windows.
1011
-*/
1012
-void test_app_on_path(void){
1013
- int i;
1014
- int ePrint = 1;
1015
- if( find_option("all","a",0)!=0 ) ePrint = 2;
1016
- verify_all_options();
1017
- for(i=2; i<g.argc; i++){
1018
- if( fossil_app_on_path(g.argv[i], ePrint)==0 ){
1019
- fossil_print("NOT FOUND: %s\n", g.argv[i]);
1020
- }
1021
- }
1022
-}
1023
-
10241000
/*
10251001
** Return the name of a command that will launch a web-browser.
10261002
*/
10271003
const char *fossil_web_browser(void){
10281004
const char *zBrowser = 0;
10291005
10301006
ADDED src/xsystem.c
--- src/util.c
+++ src/util.c
@@ -995,34 +995,10 @@
995 zPath += i;
996 }
997 return bFound;
998 }
999
1000 /*
1001 ** COMMAND: which*
1002 **
1003 ** Usage: fossil which [-a] NAME ...
1004 **
1005 ** For each NAME mentioned as an argument, print the first location on the
1006 ** on PATH of the executable with that name. Or, show all locations on PATH
1007 ** for each argument if the -a option is used.
1008 **
1009 ** This command is a substitute for the unix "which" command, which is not
1010 ** always available, especially on Windows.
1011 */
1012 void test_app_on_path(void){
1013 int i;
1014 int ePrint = 1;
1015 if( find_option("all","a",0)!=0 ) ePrint = 2;
1016 verify_all_options();
1017 for(i=2; i<g.argc; i++){
1018 if( fossil_app_on_path(g.argv[i], ePrint)==0 ){
1019 fossil_print("NOT FOUND: %s\n", g.argv[i]);
1020 }
1021 }
1022 }
1023
1024 /*
1025 ** Return the name of a command that will launch a web-browser.
1026 */
1027 const char *fossil_web_browser(void){
1028 const char *zBrowser = 0;
1029
1030 DDED src/xsystem.c
--- src/util.c
+++ src/util.c
@@ -995,34 +995,10 @@
995 zPath += i;
996 }
997 return bFound;
998 }
999
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1000 /*
1001 ** Return the name of a command that will launch a web-browser.
1002 */
1003 const char *fossil_web_browser(void){
1004 const char *zBrowser = 0;
1005
1006 DDED src/xsystem.c
+391
--- a/src/xsystem.c
+++ b/src/xsystem.c
@@ -0,0 +1,391 @@
1
+/*
2
+** Copyright (c) 2025 D. Richard Hipp
3
+**
4
+** This program is free software; you can redistribute it and/or
5
+** modify it under the terms of the Simplified BSD License (also
6
+** known as the "2-Clause License" or "FreeBSD License".)
7
+
8
+** This program is distributed in the hope that it will be useful,
9
+** but without any warranty; without even the implied warranty of
10
+** merchantability or fitness for a particular purpose.
11
+**
12
+** Author contact information:
13
+** [email protected]
14
+**
15
+*******************************************************************************
16
+**
17
+** This file contains code used to implement "fossil system ..." command.
18
+**
19
+** Fossil is frequently used by people familiar with Unix but who must
20
+** sometimes also work on Windows systems. The "fossil sys ..." command
21
+** provides a few work-arounds for command unix command-line utilities to
22
+** help make development on Windows more habitable for long-time unix
23
+** users. The commands provided here are normally cheap substitutes to
24
+** their more feature-reach unix counterparts. But they are sufficient to
25
+** get the job done.
26
+**
27
+** This source code file is called "xsystem.c" with the 'x' up front because
28
+** if it were called "system.c", then makeheaders would generate a "system.h"
29
+** header file, and that might be connclude <windows.h>
30
+#endif
31
+
32
+
33
+/* Date and time */
34
+void xsystem_date(int ){
35
+ (void)argc;
36
+ (void)argv;
37
+ fossil_print("%z = ", cgi_iso8601_datestamp());
38
+ fossil_print("%z\n", cgi_rfc822_datestamp(time(0)));tory */
39
+void xsystem_pwd(int argc, char **argv){
40
+ char *zPwd = file_getcwd(0, 0);
41
+ fossil_print("%z\n", zPwd);
42
+}
43
+
44
+/* Implement "stty size" */
45
+void xsystem_stty(int argc, char **argv){
46
+ TerminalSize ts;
47
+ if( argc!=2 || strcmp(argv[1],"size" fossil_app_on_path(z, ePrint);
48
+ }else{
49
+ if( z[1]=='-' && z[2]!=0 ) z++;
50
+ if( fossil_strcmp(z,"-a")==0 ){
51
+ ePrint = 2;
52
+ }else
53
+ {
54
+ fossil_fatal("unknown option \"%s\"", argv[i]);
55
+ }
56
+ }
57
+ }
58
+}
59
+
60
+/*
61
+** Bit values for the mFlags paramater to "ls"
62
+*/
63
+#define LS_LONG 0x001 /* -l Long format - one object per line */
64
+#define LS_REVERSE 0x002 /* -r Reverse the sort order */
65
+#define LS_MTIME 0x004 /* -t Sort by mtime, newest ve implementation that does *not* introduce color */
66
+static void nocolorNameFunc(
67
+ sqlite3_context *context,
68
+ izFile largest first
69
+** -t
70
+#endif
71
+ fossil_print("fossil_print("%s %*lld %s %s\n",
72
+ zMode,
73
+ szSz,
74
+ sqlite3_column_int64(pStmt, 1),
75
+ sqlite3_column_text(pStmt, 2),
76
+ zName);
77
+ }
78
+ sqlite3_finalize(pStmt);
79
+ }else if( (mFlags & LS_COMMA)!=0 ){
80
+ /* Comma-se because
81
+** if it were called "system.c", then makeheaders would generate a "system.h"
82
+** header file, and that might be connclude <windows.h>
83
+#endif
84
+
85
+
86
+/* Date and time */
87
+void xsystem_date(int argc, char **argv){
88
+ (void)argc;
89
+ (void)argv;
90
+ fossil_print("%z = ", cgi_iso8601_datestamp());
91
+ fossil_print("%z\n", cgi_rfc822_datestamp(time(0)));tory */
92
+void xsystem_pwd(int argc, char **argv){
93
+ char *zPwd = file_getcwd(0, 0);
94
+ fossil_print("%z\n", zPwd);
95
+}
96
+
97
+/* Implement "stty size" */
98
+void xsystem_stty(int argc, char **argv){
99
+ TerminalSize ts;
100
+ if( argc!=2 || strcmp(argv[1],"size" fossil_app_on_path(z, ePrint);
101
+ }else{
102
+ if( z[1]=='-' && z[2]!=0 ) z++;
103
+ if( fossil_strcmp(z,"-a")==0 ){
104
+ ePrint = 2;
105
+ }else
106
+ {
107
+ fossil_fatal("unknown option \"%s\"", argv[i]);
108
+ }
109
+ }
110
+ }
111
+}
112
+
113
+/*
114
+** Bit values for the mFlags paramater to "ls"
115
+*/
116
+#define LS_LONG 0x001 /* -l Long format - one object per line */
117
+#define LS_REVERSE 0x002 /* -r Reverse the sort order */
118
+#define LS_MTIME 0x004 /* -t Sort by mtime, newest ve implementation that does *not* introduce color */
119
+static void nocolorNameFunc(
120
+ sqlite3_context *context,
121
+ izFile largest first
122
+** -t
123
+#endif
124
+ fossil_print("fossil_print("%s %*lld %s %s\n",
125
+ zMode,
126
+ szSz,
127
+ sqlite3_column_int64(pStmt, 1),
128
+ sqlite3_column_text(pStmt, 2),
129
+ zName);
130
+ }
131
+ sqlite3_finalize(pStmt);
132
+ }else if( (mFlags & LS_COMMA)!=0 ){
133
+ /* Comma-separate list */
134
+ int mx = terminal_get_width(80);
135
+ int sumW = 0;
136
+ char *zSql;
137
+ zSql = mprintf("SELECT color(fn,mode), dlen FROM ls ORDER BY %s",
138
+ xsystem_ls_orderby(mFlags));
139
+ sqlite3_prepare_v2(dbterminal_is_vt100() ? LS_COLOR :b, zSql, -1, &pSOW ){
140
+ const char *z = (const char*)sqlite3_column_text(pStmt, 0);
141
+ int w = sqlite3_column_int(pStmt, 1);
142
+ if( sumW==0 ){
143
+ fossil_print("%s", z);
144
+ sumW = w;
145
+ }else if( sumW + w + 2 >= mx ){
146
+ fossil_print("\n%size_fn
147
+ fossil_print("\n%s", z);
148
+ sumW = w;
149
+ }else{
150
+ fossil_print(", %s", z);
151
+ sumW += w+2;
152
+ }
153
+ }
154
+ fossil_free(zSql);
155
+ sqlite3_finalize(pStmt);
156
+ if( sumW>0 ) fossil_print("\n");
157
+ }else{
158
+ /* Column mode with jnt k;
159
+ zSql = mprintf("SELECT color(fn,mod BSD License (also
160
+** kno/*
161
+** Copyright (c) 2025 case 'd/* List files "ls"te3_prepare_v2(db, zSql, -1case 'l/* List files "ls"t_query_result(pStmt, &specquery_result(pStmt, &speccase 'r/* List files "ls", 0);
162
+}
163
+
164
+/* List files "ls"0);
165
+}
166
+
167
+/* List files "ls"n with "."
168
+** -C case 'C/* List files "ls" --color=WHEN Colorize out just directory names, }else
169
+ {
170
+ fos-%c", z[k]); Comma-separated list
171
+** -r Reverse sort
172
+** -S Sofinish(pOut), -1, sqlite3_free);
173
+}stem_ls_insert(pStmt, ".", mFlags);
174
+ xsystem_ls_render(db, mFlags);
175
+ }
176
+ if( nDir>0 ){
177
+ for(i=1; i<argc; i++){
178
+ const char *z = argv[i];
179
+ 2, SQLITE_UTF8, 0, xsystem_ls_ordemFlags));
180
+ sqlite3_prepare_v2(dbterminal_is_vt100() ? LS_COLOR :b, zSql, -1, &pSOW ){
181
+ const char *z = (const char*)sqlite3_column_text(pStmt, 0);
182
+ int w = sqlite3_column_int(pStmt, 1);
183
+ if( sumW==0 ){
184
+ fossil_print("%s", z);
185
+ sumW = w;
186
+ }else if( sumW + w + 2 >= mx ){
187
+ fossil_print("\n%s", z);
188
+ sumW = w;
189
+ }else{
190
+ fossil_print(", %s", z);
191
+ sumW += w+2;
192
+ }
193
+ }
194
+ fossil_free(zSql);
195
+ sqlite3_finalize(pStmt);
196
+ if( sumW>0 ) fossil_print("\n");
197
+ }else{
198
+ /* Column mode with jnt k;
199
+ zSql = mprintf("SELECT color(fn,mod BSD License (also
200
+** kno/*
201
+** Copyright (c) 2025 case 'd/* List files "ls"te3_prepare_v2(db, zSql, -1cafn }
202
+ }
203
+ fossil_free(zSql);
204
+ sqlite3_finalize(pStmt);
205
+ if( sumW>0 ) fossil_print("\n");
206
+ }else{
207
+ /* Column mode with jnt k;
208
+ zSql = mprintf("SELECT color(fn,mod BSD License (also
209
+** kno/*
210
+** Copyright (c) 2025 case 'd/* List files "ls"te3_prepare_v2(db, zSql, -1case 'l/* List files "ls"t_query_result(pStmt, &specquery_result(pStmt, &speccase 'r/* List files "ls", 0);
211
+}
212
+
213
+/* List files "ls"0);
214
+}
215
+
216
+/* List files "nt k;
217
+case 'lcase 'rcase 'Sntly used by people familiar}fnfn it and/or
218
+** modify it under the terms of the Simplified BSD License (also
219
+** know/*
220
+** Copyright (c) 2025 D. Richint nCol, mxWidth, iRow, nSp, nRow;T color(fn,mod BSD LiSELECT max/*
221
+** Copyright (c) 2025 D. Richard Hipp
222
+**
223
+** This program is free software; you can redistribute it and/or
224
+** modify it under the terms of the Simplified BSD License (also
225
+** known as the "2-Clause License" or "FreeBSD License".)
226
+
227
+** This program is distributed in the hope that it will be useful,
228
+** but without any warranty; without even the implied warranty of
229
+** merchantability or fitness for a particular purpose.
230
+**
231
+** Author contact information:
232
+** [email protected]
233
+**
234
+*******************************************************************************
235
+**
236
+** This file contains code used to implement "fossil system ..." command.
237
+**
238
+** Fossil is frequently used by people familiar with Unix but who must
239
+** sometimes also work on Windows systems. The "fossil sys ..." command
240
+** provides a few work-arounds for command unix command-line utilities to
241
+** help make development on Windows more habitable for long-time unix
242
+** users. The commands provided here are normally cheap substitutes to
243
+** their more feature-reach unix counterparts. But they are sufficient to
244
+** get the job done.
245
+**
246
+** This source code file is called "xsystem.c" with the 'x' up front because
247
+** if it were called "system.c", then makeheaders would generate a "system.h"
248
+** header file, and that might be connclude <windows.h>
249
+#endif
250
+
251
+
252
+/* Date and time */
253
+void xsystem_date(int argc, char **argv){
254
+ (void)argc;
255
+ (void)argv;
256
+ fossil_print("%z = ", cgi_iso8601_datestamp());
257
+ fossil_print("%z\n", cgi_rfc822_datestamp(time(0)));tory */
258
+void xsystem_pwd(int argc, char **argv){
259
+ char *zPwd = file_getcwd(0, 0);
260
+ fossil_print("%z\n", zPwd);
261
+}
262
+
263
+/* Implement "stty size" */
264
+void xsystem_stty(int argc, char **argv){
265
+ TerminalSize ts;
266
+ if( argc!=2 || strcmp(argv[1],"size" fossil_app_on_path(z, ePrint);
267
+ }else{
268
+ if( z[1]=='-' && z[2]!=0 ) z++;
269
+ if( fossil_strcmp(z,"-a")==0 ){
270
+ ePrint = 2;
271
+ }else
272
+ {
273
+ fossil_fatal("unknown option \"%s\"", argv[i]);
274
+ }
275
+ }
276
+ }
277
+}
278
+
279
+/*
280
+** Bit values for the mFlags paramater to "ls"
281
+*/
282
+#define LS_LONG 0x001 /* -l Long format - one object per line */
283
+#define LS_REVERSE 0x002 /* -r Reverse the sort order */
284
+#define LS_MTIME 0x004 /* -t Sort by mtime, newest ve implementation that does *not* introduce color */
285
+static void nocolorNameFunc(
286
+ sqlite3_context *context,
287
+ izFile largest first
288
+** -t
289
+#endif
290
+ fossil_print("fossil_print("%s %*lld %s %s\n",
291
+ zMode,
292
+ szSz,
293
+ sqlite3_column_int64(pStmt, 1),
294
+ sqlite3_column_text(pStmt, 2),
295
+ zName);
296
+ }
297
+ sqlite3_finalize(pStmt);
298
+ }else if( (mFlags & LS_COMMA)!=0 ){
299
+ /* Comma-separate list */
300
+ int mx = terminal_get_width(80);
301
+ int sumW = 0;
302
+ char *zSql;
303
+ zSql = mprintf("SELECT color(fn,mode), dlen FROM ls ORDER BY %s",
304
+ xsystem_ls_orderby(mFlags));
305
+ sqlite3_prepare_v2(dbterminal_is_vt100() ? LS_COLOR :b, zSql, -1, &pSOW ){
306
+ const char *z = (const char*)sqlite3_column_text(pStmt, 0);
307
+ int w = sqlite3_column_int(pStmt, 1);
308
+ if( sumW==0 ){
309
+ fossil_print("%s", z);
310
+ sumW = w;
311
+ }else if( sumW + w + 2 >= mx ){
312
+ fossil_print("\n%size_fn
313
+ fossil_print("\n%s", z);
314
+ sumW = w;
315
+ }else{
316
+ fossil_print(", %s", z);
317
+ sumW += w+2;
318
+ }
319
+ }
320
+ fossil_free(zSql);
321
+ sqlite3_finalize(pStmt);
322
+ if( sumW>0 ) fossil_print("\n");
323
+ }else{
324
+ /* Column mode with jnt k;
325
+ zSql = mprintf("SELECT color(fn,mod BSD License (also
326
+** kno/*
327
+** Copyright (c) 2025 case 'd/* List files "ls"te3_prepare_v2(db, zSql, -1case 'l/* List files "ls"t_query_result(pStmt, &specquery_result(pStmt, &speccase 'r/* List files "ls", 0);
328
+}
329
+
330
+/* List files "ls"0);
331
+}
332
+
333
+/* List files "ls"n with "."
334
+** -C case 'C/* List files "ls" --color=WHEN Colorize out just directory names, }else
335
+ {
336
+ fos-%c", z[k]); Comma-separated list
337
+** -r Reverse sort
338
+** -S Sofinish(pOut), -1, sqlite3_free);
339
+}stem_ls_insert(pStmt, ".", mFlags);
340
+ xsystem_ls_render(db, mFlags);
341
+ }
342
+ if( nDir>0 ){
343
+ for(i=1; i<argc; i++){
344
+ const char *z = argv[i];
345
+ 2, SQLITE_UTF8, 0, xsystem_ls_ordemFlags));
346
+ sqlite3_prepare_v2(dbterminal_is_vt100() ? LS_COLOR :b, zSql, -1, &pSOW ){
347
+ const char *z = (const char*)sqlite3_column_text(pStmt, 0);
348
+ int w = sqlite3_column_int(pStmt, 1);
349
+ if( sumW==0 ){
350
+ fossil_print("%s", z);
351
+ sumW = w;
352
+ }else if( sumW + w + 2 >= mx ){
353
+ fossil_print("\n%s", z);
354
+ sumW = w;
355
+ }else{
356
+ fossil_print(", %s", z);
357
+ sumW += w+2;
358
+ }
359
+ }
360
+ fossil_free(zSql);
361
+ sqlite3_finalize(pStmt);
362
+ if( sumW>0 ) fossil_print("\n");
363
+ }else{
364
+ /* Column mode with jnt k;
365
+ zSql = mprintf("SELECT color(fn,mod BSD License (also
366
+** kno/*
367
+** Copyright (c) 2025 case 'd/* List files "ls"te3_prepare_v2(db, zSql, -1cafn }
368
+ }
369
+ fossil_free(zSql);
370
+ sqlite3_finalize(pStmt);
371
+ if( sumW>0 ) fossil_print("\n");
372
+ }else{
373
+ /* Column mode with jnt k;
374
+ zSql = mprintf("SELECT color(fn,mod BSD License (also
375
+** kno/*
376
+** Copyright (c) 2025 case 'd/* List files "ls"te3_prepare_v2(db, zSql, -1case 'l/* List files "ls"t_query_result(pStmt, &specquery_result(pStmt, &speccase 'r/* List files "ls", 0);
377
+}
378
+
379
+/* List files "ls"0);
380
+}
381
+
382
+/* List files "nt k;
383
+case 'lcase 'rcase 'Sntly used by people familiar}fnfn it and/or
384
+** modify it under the terms of the Simplified BSD License (also
385
+** know/*
386
+** Copyright (c) 2025 D. RichELECT color(fn,mod BSD License (also
387
+** kno/*
388
+** Copyright (c) 2025 case 'd/* List fi &pStmt,ql, -1case 'l/* List filesmxWidtheccase 'r/* List files "ls",0);
389
+ nCol = (ssil_free(zSql);
390
+ s+1)/(mxWidth+2);
391
+ if( nCol<1
--- a/src/xsystem.c
+++ b/src/xsystem.c
@@ -0,0 +1,391 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/src/xsystem.c
+++ b/src/xsystem.c
@@ -0,0 +1,391 @@
1 /*
2 ** Copyright (c) 2025 D. Richard Hipp
3 **
4 ** This program is free software; you can redistribute it and/or
5 ** modify it under the terms of the Simplified BSD License (also
6 ** known as the "2-Clause License" or "FreeBSD License".)
7
8 ** This program is distributed in the hope that it will be useful,
9 ** but without any warranty; without even the implied warranty of
10 ** merchantability or fitness for a particular purpose.
11 **
12 ** Author contact information:
13 ** [email protected]
14 **
15 *******************************************************************************
16 **
17 ** This file contains code used to implement "fossil system ..." command.
18 **
19 ** Fossil is frequently used by people familiar with Unix but who must
20 ** sometimes also work on Windows systems. The "fossil sys ..." command
21 ** provides a few work-arounds for command unix command-line utilities to
22 ** help make development on Windows more habitable for long-time unix
23 ** users. The commands provided here are normally cheap substitutes to
24 ** their more feature-reach unix counterparts. But they are sufficient to
25 ** get the job done.
26 **
27 ** This source code file is called "xsystem.c" with the 'x' up front because
28 ** if it were called "system.c", then makeheaders would generate a "system.h"
29 ** header file, and that might be connclude <windows.h>
30 #endif
31
32
33 /* Date and time */
34 void xsystem_date(int ){
35 (void)argc;
36 (void)argv;
37 fossil_print("%z = ", cgi_iso8601_datestamp());
38 fossil_print("%z\n", cgi_rfc822_datestamp(time(0)));tory */
39 void xsystem_pwd(int argc, char **argv){
40 char *zPwd = file_getcwd(0, 0);
41 fossil_print("%z\n", zPwd);
42 }
43
44 /* Implement "stty size" */
45 void xsystem_stty(int argc, char **argv){
46 TerminalSize ts;
47 if( argc!=2 || strcmp(argv[1],"size" fossil_app_on_path(z, ePrint);
48 }else{
49 if( z[1]=='-' && z[2]!=0 ) z++;
50 if( fossil_strcmp(z,"-a")==0 ){
51 ePrint = 2;
52 }else
53 {
54 fossil_fatal("unknown option \"%s\"", argv[i]);
55 }
56 }
57 }
58 }
59
60 /*
61 ** Bit values for the mFlags paramater to "ls"
62 */
63 #define LS_LONG 0x001 /* -l Long format - one object per line */
64 #define LS_REVERSE 0x002 /* -r Reverse the sort order */
65 #define LS_MTIME 0x004 /* -t Sort by mtime, newest ve implementation that does *not* introduce color */
66 static void nocolorNameFunc(
67 sqlite3_context *context,
68 izFile largest first
69 ** -t
70 #endif
71 fossil_print("fossil_print("%s %*lld %s %s\n",
72 zMode,
73 szSz,
74 sqlite3_column_int64(pStmt, 1),
75 sqlite3_column_text(pStmt, 2),
76 zName);
77 }
78 sqlite3_finalize(pStmt);
79 }else if( (mFlags & LS_COMMA)!=0 ){
80 /* Comma-se because
81 ** if it were called "system.c", then makeheaders would generate a "system.h"
82 ** header file, and that might be connclude <windows.h>
83 #endif
84
85
86 /* Date and time */
87 void xsystem_date(int argc, char **argv){
88 (void)argc;
89 (void)argv;
90 fossil_print("%z = ", cgi_iso8601_datestamp());
91 fossil_print("%z\n", cgi_rfc822_datestamp(time(0)));tory */
92 void xsystem_pwd(int argc, char **argv){
93 char *zPwd = file_getcwd(0, 0);
94 fossil_print("%z\n", zPwd);
95 }
96
97 /* Implement "stty size" */
98 void xsystem_stty(int argc, char **argv){
99 TerminalSize ts;
100 if( argc!=2 || strcmp(argv[1],"size" fossil_app_on_path(z, ePrint);
101 }else{
102 if( z[1]=='-' && z[2]!=0 ) z++;
103 if( fossil_strcmp(z,"-a")==0 ){
104 ePrint = 2;
105 }else
106 {
107 fossil_fatal("unknown option \"%s\"", argv[i]);
108 }
109 }
110 }
111 }
112
113 /*
114 ** Bit values for the mFlags paramater to "ls"
115 */
116 #define LS_LONG 0x001 /* -l Long format - one object per line */
117 #define LS_REVERSE 0x002 /* -r Reverse the sort order */
118 #define LS_MTIME 0x004 /* -t Sort by mtime, newest ve implementation that does *not* introduce color */
119 static void nocolorNameFunc(
120 sqlite3_context *context,
121 izFile largest first
122 ** -t
123 #endif
124 fossil_print("fossil_print("%s %*lld %s %s\n",
125 zMode,
126 szSz,
127 sqlite3_column_int64(pStmt, 1),
128 sqlite3_column_text(pStmt, 2),
129 zName);
130 }
131 sqlite3_finalize(pStmt);
132 }else if( (mFlags & LS_COMMA)!=0 ){
133 /* Comma-separate list */
134 int mx = terminal_get_width(80);
135 int sumW = 0;
136 char *zSql;
137 zSql = mprintf("SELECT color(fn,mode), dlen FROM ls ORDER BY %s",
138 xsystem_ls_orderby(mFlags));
139 sqlite3_prepare_v2(dbterminal_is_vt100() ? LS_COLOR :b, zSql, -1, &pSOW ){
140 const char *z = (const char*)sqlite3_column_text(pStmt, 0);
141 int w = sqlite3_column_int(pStmt, 1);
142 if( sumW==0 ){
143 fossil_print("%s", z);
144 sumW = w;
145 }else if( sumW + w + 2 >= mx ){
146 fossil_print("\n%size_fn
147 fossil_print("\n%s", z);
148 sumW = w;
149 }else{
150 fossil_print(", %s", z);
151 sumW += w+2;
152 }
153 }
154 fossil_free(zSql);
155 sqlite3_finalize(pStmt);
156 if( sumW>0 ) fossil_print("\n");
157 }else{
158 /* Column mode with jnt k;
159 zSql = mprintf("SELECT color(fn,mod BSD License (also
160 ** kno/*
161 ** Copyright (c) 2025 case 'd/* List files "ls"te3_prepare_v2(db, zSql, -1case 'l/* List files "ls"t_query_result(pStmt, &specquery_result(pStmt, &speccase 'r/* List files "ls", 0);
162 }
163
164 /* List files "ls"0);
165 }
166
167 /* List files "ls"n with "."
168 ** -C case 'C/* List files "ls" --color=WHEN Colorize out just directory names, }else
169 {
170 fos-%c", z[k]); Comma-separated list
171 ** -r Reverse sort
172 ** -S Sofinish(pOut), -1, sqlite3_free);
173 }stem_ls_insert(pStmt, ".", mFlags);
174 xsystem_ls_render(db, mFlags);
175 }
176 if( nDir>0 ){
177 for(i=1; i<argc; i++){
178 const char *z = argv[i];
179 2, SQLITE_UTF8, 0, xsystem_ls_ordemFlags));
180 sqlite3_prepare_v2(dbterminal_is_vt100() ? LS_COLOR :b, zSql, -1, &pSOW ){
181 const char *z = (const char*)sqlite3_column_text(pStmt, 0);
182 int w = sqlite3_column_int(pStmt, 1);
183 if( sumW==0 ){
184 fossil_print("%s", z);
185 sumW = w;
186 }else if( sumW + w + 2 >= mx ){
187 fossil_print("\n%s", z);
188 sumW = w;
189 }else{
190 fossil_print(", %s", z);
191 sumW += w+2;
192 }
193 }
194 fossil_free(zSql);
195 sqlite3_finalize(pStmt);
196 if( sumW>0 ) fossil_print("\n");
197 }else{
198 /* Column mode with jnt k;
199 zSql = mprintf("SELECT color(fn,mod BSD License (also
200 ** kno/*
201 ** Copyright (c) 2025 case 'd/* List files "ls"te3_prepare_v2(db, zSql, -1cafn }
202 }
203 fossil_free(zSql);
204 sqlite3_finalize(pStmt);
205 if( sumW>0 ) fossil_print("\n");
206 }else{
207 /* Column mode with jnt k;
208 zSql = mprintf("SELECT color(fn,mod BSD License (also
209 ** kno/*
210 ** Copyright (c) 2025 case 'd/* List files "ls"te3_prepare_v2(db, zSql, -1case 'l/* List files "ls"t_query_result(pStmt, &specquery_result(pStmt, &speccase 'r/* List files "ls", 0);
211 }
212
213 /* List files "ls"0);
214 }
215
216 /* List files "nt k;
217 case 'lcase 'rcase 'Sntly used by people familiar}fnfn it and/or
218 ** modify it under the terms of the Simplified BSD License (also
219 ** know/*
220 ** Copyright (c) 2025 D. Richint nCol, mxWidth, iRow, nSp, nRow;T color(fn,mod BSD LiSELECT max/*
221 ** Copyright (c) 2025 D. Richard Hipp
222 **
223 ** This program is free software; you can redistribute it and/or
224 ** modify it under the terms of the Simplified BSD License (also
225 ** known as the "2-Clause License" or "FreeBSD License".)
226
227 ** This program is distributed in the hope that it will be useful,
228 ** but without any warranty; without even the implied warranty of
229 ** merchantability or fitness for a particular purpose.
230 **
231 ** Author contact information:
232 ** [email protected]
233 **
234 *******************************************************************************
235 **
236 ** This file contains code used to implement "fossil system ..." command.
237 **
238 ** Fossil is frequently used by people familiar with Unix but who must
239 ** sometimes also work on Windows systems. The "fossil sys ..." command
240 ** provides a few work-arounds for command unix command-line utilities to
241 ** help make development on Windows more habitable for long-time unix
242 ** users. The commands provided here are normally cheap substitutes to
243 ** their more feature-reach unix counterparts. But they are sufficient to
244 ** get the job done.
245 **
246 ** This source code file is called "xsystem.c" with the 'x' up front because
247 ** if it were called "system.c", then makeheaders would generate a "system.h"
248 ** header file, and that might be connclude <windows.h>
249 #endif
250
251
252 /* Date and time */
253 void xsystem_date(int argc, char **argv){
254 (void)argc;
255 (void)argv;
256 fossil_print("%z = ", cgi_iso8601_datestamp());
257 fossil_print("%z\n", cgi_rfc822_datestamp(time(0)));tory */
258 void xsystem_pwd(int argc, char **argv){
259 char *zPwd = file_getcwd(0, 0);
260 fossil_print("%z\n", zPwd);
261 }
262
263 /* Implement "stty size" */
264 void xsystem_stty(int argc, char **argv){
265 TerminalSize ts;
266 if( argc!=2 || strcmp(argv[1],"size" fossil_app_on_path(z, ePrint);
267 }else{
268 if( z[1]=='-' && z[2]!=0 ) z++;
269 if( fossil_strcmp(z,"-a")==0 ){
270 ePrint = 2;
271 }else
272 {
273 fossil_fatal("unknown option \"%s\"", argv[i]);
274 }
275 }
276 }
277 }
278
279 /*
280 ** Bit values for the mFlags paramater to "ls"
281 */
282 #define LS_LONG 0x001 /* -l Long format - one object per line */
283 #define LS_REVERSE 0x002 /* -r Reverse the sort order */
284 #define LS_MTIME 0x004 /* -t Sort by mtime, newest ve implementation that does *not* introduce color */
285 static void nocolorNameFunc(
286 sqlite3_context *context,
287 izFile largest first
288 ** -t
289 #endif
290 fossil_print("fossil_print("%s %*lld %s %s\n",
291 zMode,
292 szSz,
293 sqlite3_column_int64(pStmt, 1),
294 sqlite3_column_text(pStmt, 2),
295 zName);
296 }
297 sqlite3_finalize(pStmt);
298 }else if( (mFlags & LS_COMMA)!=0 ){
299 /* Comma-separate list */
300 int mx = terminal_get_width(80);
301 int sumW = 0;
302 char *zSql;
303 zSql = mprintf("SELECT color(fn,mode), dlen FROM ls ORDER BY %s",
304 xsystem_ls_orderby(mFlags));
305 sqlite3_prepare_v2(dbterminal_is_vt100() ? LS_COLOR :b, zSql, -1, &pSOW ){
306 const char *z = (const char*)sqlite3_column_text(pStmt, 0);
307 int w = sqlite3_column_int(pStmt, 1);
308 if( sumW==0 ){
309 fossil_print("%s", z);
310 sumW = w;
311 }else if( sumW + w + 2 >= mx ){
312 fossil_print("\n%size_fn
313 fossil_print("\n%s", z);
314 sumW = w;
315 }else{
316 fossil_print(", %s", z);
317 sumW += w+2;
318 }
319 }
320 fossil_free(zSql);
321 sqlite3_finalize(pStmt);
322 if( sumW>0 ) fossil_print("\n");
323 }else{
324 /* Column mode with jnt k;
325 zSql = mprintf("SELECT color(fn,mod BSD License (also
326 ** kno/*
327 ** Copyright (c) 2025 case 'd/* List files "ls"te3_prepare_v2(db, zSql, -1case 'l/* List files "ls"t_query_result(pStmt, &specquery_result(pStmt, &speccase 'r/* List files "ls", 0);
328 }
329
330 /* List files "ls"0);
331 }
332
333 /* List files "ls"n with "."
334 ** -C case 'C/* List files "ls" --color=WHEN Colorize out just directory names, }else
335 {
336 fos-%c", z[k]); Comma-separated list
337 ** -r Reverse sort
338 ** -S Sofinish(pOut), -1, sqlite3_free);
339 }stem_ls_insert(pStmt, ".", mFlags);
340 xsystem_ls_render(db, mFlags);
341 }
342 if( nDir>0 ){
343 for(i=1; i<argc; i++){
344 const char *z = argv[i];
345 2, SQLITE_UTF8, 0, xsystem_ls_ordemFlags));
346 sqlite3_prepare_v2(dbterminal_is_vt100() ? LS_COLOR :b, zSql, -1, &pSOW ){
347 const char *z = (const char*)sqlite3_column_text(pStmt, 0);
348 int w = sqlite3_column_int(pStmt, 1);
349 if( sumW==0 ){
350 fossil_print("%s", z);
351 sumW = w;
352 }else if( sumW + w + 2 >= mx ){
353 fossil_print("\n%s", z);
354 sumW = w;
355 }else{
356 fossil_print(", %s", z);
357 sumW += w+2;
358 }
359 }
360 fossil_free(zSql);
361 sqlite3_finalize(pStmt);
362 if( sumW>0 ) fossil_print("\n");
363 }else{
364 /* Column mode with jnt k;
365 zSql = mprintf("SELECT color(fn,mod BSD License (also
366 ** kno/*
367 ** Copyright (c) 2025 case 'd/* List files "ls"te3_prepare_v2(db, zSql, -1cafn }
368 }
369 fossil_free(zSql);
370 sqlite3_finalize(pStmt);
371 if( sumW>0 ) fossil_print("\n");
372 }else{
373 /* Column mode with jnt k;
374 zSql = mprintf("SELECT color(fn,mod BSD License (also
375 ** kno/*
376 ** Copyright (c) 2025 case 'd/* List files "ls"te3_prepare_v2(db, zSql, -1case 'l/* List files "ls"t_query_result(pStmt, &specquery_result(pStmt, &speccase 'r/* List files "ls", 0);
377 }
378
379 /* List files "ls"0);
380 }
381
382 /* List files "nt k;
383 case 'lcase 'rcase 'Sntly used by people familiar}fnfn it and/or
384 ** modify it under the terms of the Simplified BSD License (also
385 ** know/*
386 ** Copyright (c) 2025 D. RichELECT color(fn,mod BSD License (also
387 ** kno/*
388 ** Copyright (c) 2025 case 'd/* List fi &pStmt,ql, -1case 'l/* List filesmxWidtheccase 'r/* List files "ls",0);
389 nCol = (ssil_free(zSql);
390 s+1)/(mxWidth+2);
391 if( nCol<1
--- tools/makemake.tcl
+++ tools/makemake.tcl
@@ -195,10 +195,11 @@
195195
wikiformat
196196
winfile
197197
winhttp
198198
xfer
199199
xfersetup
200
+ xsystem
200201
zip
201202
http_ssl
202203
}
203204
204205
# Source files which live under $srcDirExt, but only those for which
205206
--- tools/makemake.tcl
+++ tools/makemake.tcl
@@ -195,10 +195,11 @@
195 wikiformat
196 winfile
197 winhttp
198 xfer
199 xfersetup
 
200 zip
201 http_ssl
202 }
203
204 # Source files which live under $srcDirExt, but only those for which
205
--- tools/makemake.tcl
+++ tools/makemake.tcl
@@ -195,10 +195,11 @@
195 wikiformat
196 winfile
197 winhttp
198 xfer
199 xfersetup
200 xsystem
201 zip
202 http_ssl
203 }
204
205 # Source files which live under $srcDirExt, but only those for which
206
+10 -4
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -32,13 +32,13 @@
3232
3333
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_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_SETLK_TIMEOUT -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DHAVE_USLEEP -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
3434
3535
PIKCHR_OPTIONS = -DPIKCHR_TOKEN_LIMIT=10000
3636
37
-SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.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 chat_.c checkin_.c checkout_.c clearsign_.c clone_.c color_.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 fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c hook_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c interwiki_.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 match_.c md5_.c merge_.c merge3_.c moderate_.c name_.c patch_.c path_.c piechart_.c pikchrshow_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c robot_.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 terminal_.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 wiki_.c wikiformat_.c winfile_.c winhttp_.c xfer_.c xfersetup_.c zip_.c
37
+SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.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 chat_.c checkin_.c checkout_.c clearsign_.c clone_.c color_.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 fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c hook_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c interwiki_.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 match_.c md5_.c merge_.c merge3_.c moderate_.c name_.c patch_.c path_.c piechart_.c pikchrshow_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c robot_.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 terminal_.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 wiki_.c wikiformat_.c winfile_.c winhttp_.c xfer_.c xfersetup_.c xsystem_.c zip_.c
3838
39
-OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$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)\chat$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\color$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)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\hook$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\interwiki$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)\match$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\patch$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pikchrshow$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)\robot$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)\terminal$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)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
39
+OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$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)\chat$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\color$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)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\hook$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\interwiki$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)\match$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\patch$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pikchrshow$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)\robot$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)\terminal$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)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\xsystem$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
4040
4141
4242
RC=$(DMDIR)\bin\rcc
4343
RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
4444
@@ -53,11 +53,11 @@
5353
5454
$(OBJDIR)\fossil.res: $B\win\fossil.rc
5555
$(RC) $(RCFLAGS) -o$@ $**
5656
5757
$(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
58
- +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi chat checkin checkout clearsign clone color comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname hook http http_socket http_ssl http_transport import info interwiki 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 match md5 merge merge3 moderate name patch path piechart pikchrshow pivot popen pqueue printf publish purge rebuild regexp repolist report robot rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp xfer xfersetup zip shell sqlite3 th th_lang > $@
58
+ +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi chat checkin checkout clearsign clone color comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname hook http http_socket http_ssl http_transport import info interwiki 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 match md5 merge merge3 moderate name patch path piechart pikchrshow pivot popen pqueue printf publish purge rebuild regexp repolist report robot rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp xfer xfersetup xsystem zip shell sqlite3 th th_lang > $@
5959
+echo fossil >> $@
6060
+echo fossil >> $@
6161
+echo $(LIBS) >> $@
6262
+echo. >> $@
6363
+echo fossil >> $@
@@ -1013,15 +1013,21 @@
10131013
$(OBJDIR)\xfersetup$O : xfersetup_.c xfersetup.h
10141014
$(TCC) -o$@ -c xfersetup_.c
10151015
10161016
xfersetup_.c : $(SRCDIR)\xfersetup.c
10171017
+translate$E $** > $@
1018
+
1019
+$(OBJDIR)\xsystem$O : xsystem_.c xsystem.h
1020
+ $(TCC) -o$@ -c xsystem_.c
1021
+
1022
+xsystem_.c : $(SRCDIR)\xsystem.c
1023
+ +translate$E $** > $@
10181024
10191025
$(OBJDIR)\zip$O : zip_.c zip.h
10201026
$(TCC) -o$@ -c zip_.c
10211027
10221028
zip_.c : $(SRCDIR)\zip.c
10231029
+translate$E $** > $@
10241030
10251031
headers: makeheaders$E page_index.h builtin_data.h VERSION.h
1026
- +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.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 chat_.c:chat.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h color_.c:color.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 fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h hook_.c:hook.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 interwiki_.c:interwiki.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 match_.c:match.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h patch_.c:patch.h path_.c:path.h piechart_.c:piechart.h pikchrshow_.c:pikchrshow.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 robot_.c:robot.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 terminal_.c:terminal.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 wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR_extsrc)\pikchr.c:pikchr.h $(SRCDIR_extsrc)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR_extsrc)\cson_amalgamation.h
1032
+ +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.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 chat_.c:chat.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h color_.c:color.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 fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h hook_.c:hook.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 interwiki_.c:interwiki.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 match_.c:match.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h patch_.c:patch.h path_.c:path.h piechart_.c:piechart.h pikchrshow_.c:pikchrshow.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 robot_.c:robot.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 terminal_.c:terminal.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 wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h xsystem_.c:xsystem.h zip_.c:zip.h $(SRCDIR_extsrc)\pikchr.c:pikchr.h $(SRCDIR_extsrc)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR_extsrc)\cson_amalgamation.h
10271033
@copy /Y nul: headers
10281034
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -32,13 +32,13 @@
32
33 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_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_SETLK_TIMEOUT -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DHAVE_USLEEP -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
34
35 PIKCHR_OPTIONS = -DPIKCHR_TOKEN_LIMIT=10000
36
37 SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.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 chat_.c checkin_.c checkout_.c clearsign_.c clone_.c color_.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 fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c hook_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c interwiki_.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 match_.c md5_.c merge_.c merge3_.c moderate_.c name_.c patch_.c path_.c piechart_.c pikchrshow_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c robot_.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 terminal_.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 wiki_.c wikiformat_.c winfile_.c winhttp_.c xfer_.c xfersetup_.c zip_.c
38
39 OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$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)\chat$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\color$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)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\hook$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\interwiki$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)\match$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\patch$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pikchrshow$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)\robot$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)\terminal$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)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
40
41
42 RC=$(DMDIR)\bin\rcc
43 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
44
@@ -53,11 +53,11 @@
53
54 $(OBJDIR)\fossil.res: $B\win\fossil.rc
55 $(RC) $(RCFLAGS) -o$@ $**
56
57 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
58 +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi chat checkin checkout clearsign clone color comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname hook http http_socket http_ssl http_transport import info interwiki 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 match md5 merge merge3 moderate name patch path piechart pikchrshow pivot popen pqueue printf publish purge rebuild regexp repolist report robot rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp xfer xfersetup zip shell sqlite3 th th_lang > $@
59 +echo fossil >> $@
60 +echo fossil >> $@
61 +echo $(LIBS) >> $@
62 +echo. >> $@
63 +echo fossil >> $@
@@ -1013,15 +1013,21 @@
1013 $(OBJDIR)\xfersetup$O : xfersetup_.c xfersetup.h
1014 $(TCC) -o$@ -c xfersetup_.c
1015
1016 xfersetup_.c : $(SRCDIR)\xfersetup.c
1017 +translate$E $** > $@
 
 
 
 
 
 
1018
1019 $(OBJDIR)\zip$O : zip_.c zip.h
1020 $(TCC) -o$@ -c zip_.c
1021
1022 zip_.c : $(SRCDIR)\zip.c
1023 +translate$E $** > $@
1024
1025 headers: makeheaders$E page_index.h builtin_data.h VERSION.h
1026 +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.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 chat_.c:chat.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h color_.c:color.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 fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h hook_.c:hook.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 interwiki_.c:interwiki.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 match_.c:match.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h patch_.c:patch.h path_.c:path.h piechart_.c:piechart.h pikchrshow_.c:pikchrshow.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 robot_.c:robot.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 terminal_.c:terminal.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 wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR_extsrc)\pikchr.c:pikchr.h $(SRCDIR_extsrc)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR_extsrc)\cson_amalgamation.h
1027 @copy /Y nul: headers
1028
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -32,13 +32,13 @@
32
33 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_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_SETLK_TIMEOUT -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DHAVE_USLEEP -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
34
35 PIKCHR_OPTIONS = -DPIKCHR_TOKEN_LIMIT=10000
36
37 SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.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 chat_.c checkin_.c checkout_.c clearsign_.c clone_.c color_.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 fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c hook_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c interwiki_.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 match_.c md5_.c merge_.c merge3_.c moderate_.c name_.c patch_.c path_.c piechart_.c pikchrshow_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c robot_.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 terminal_.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 wiki_.c wikiformat_.c winfile_.c winhttp_.c xfer_.c xfersetup_.c xsystem_.c zip_.c
38
39 OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$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)\chat$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\color$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)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\hook$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\interwiki$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)\match$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\patch$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pikchrshow$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)\robot$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)\terminal$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)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\xsystem$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
40
41
42 RC=$(DMDIR)\bin\rcc
43 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
44
@@ -53,11 +53,11 @@
53
54 $(OBJDIR)\fossil.res: $B\win\fossil.rc
55 $(RC) $(RCFLAGS) -o$@ $**
56
57 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
58 +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi chat checkin checkout clearsign clone color comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname hook http http_socket http_ssl http_transport import info interwiki 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 match md5 merge merge3 moderate name patch path piechart pikchrshow pivot popen pqueue printf publish purge rebuild regexp repolist report robot rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp xfer xfersetup xsystem zip shell sqlite3 th th_lang > $@
59 +echo fossil >> $@
60 +echo fossil >> $@
61 +echo $(LIBS) >> $@
62 +echo. >> $@
63 +echo fossil >> $@
@@ -1013,15 +1013,21 @@
1013 $(OBJDIR)\xfersetup$O : xfersetup_.c xfersetup.h
1014 $(TCC) -o$@ -c xfersetup_.c
1015
1016 xfersetup_.c : $(SRCDIR)\xfersetup.c
1017 +translate$E $** > $@
1018
1019 $(OBJDIR)\xsystem$O : xsystem_.c xsystem.h
1020 $(TCC) -o$@ -c xsystem_.c
1021
1022 xsystem_.c : $(SRCDIR)\xsystem.c
1023 +translate$E $** > $@
1024
1025 $(OBJDIR)\zip$O : zip_.c zip.h
1026 $(TCC) -o$@ -c zip_.c
1027
1028 zip_.c : $(SRCDIR)\zip.c
1029 +translate$E $** > $@
1030
1031 headers: makeheaders$E page_index.h builtin_data.h VERSION.h
1032 +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.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 chat_.c:chat.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h color_.c:color.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 fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h hook_.c:hook.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 interwiki_.c:interwiki.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 match_.c:match.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h patch_.c:patch.h path_.c:path.h piechart_.c:piechart.h pikchrshow_.c:pikchrshow.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 robot_.c:robot.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 terminal_.c:terminal.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 wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h xsystem_.c:xsystem.h zip_.c:zip.h $(SRCDIR_extsrc)\pikchr.c:pikchr.h $(SRCDIR_extsrc)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR_extsrc)\cson_amalgamation.h
1033 @copy /Y nul: headers
1034
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -548,10 +548,11 @@
548548
$(SRCDIR)/wikiformat.c \
549549
$(SRCDIR)/winfile.c \
550550
$(SRCDIR)/winhttp.c \
551551
$(SRCDIR)/xfer.c \
552552
$(SRCDIR)/xfersetup.c \
553
+ $(SRCDIR)/xsystem.c \
553554
$(SRCDIR)/zip.c
554555
555556
EXTRA_FILES = \
556557
$(SRCDIR)/../extsrc/pikchr-worker.js \
557558
$(SRCDIR)/../extsrc/pikchr.js \
@@ -816,10 +817,11 @@
816817
$(OBJDIR)/wikiformat_.c \
817818
$(OBJDIR)/winfile_.c \
818819
$(OBJDIR)/winhttp_.c \
819820
$(OBJDIR)/xfer_.c \
820821
$(OBJDIR)/xfersetup_.c \
822
+ $(OBJDIR)/xsystem_.c \
821823
$(OBJDIR)/zip_.c
822824
823825
OBJ = \
824826
$(OBJDIR)/add.o \
825827
$(OBJDIR)/ajax.o \
@@ -967,10 +969,11 @@
967969
$(OBJDIR)/wikiformat.o \
968970
$(OBJDIR)/winfile.o \
969971
$(OBJDIR)/winhttp.o \
970972
$(OBJDIR)/xfer.o \
971973
$(OBJDIR)/xfersetup.o \
974
+ $(OBJDIR)/xsystem.o \
972975
$(OBJDIR)/zip.o
973976
974977
APPNAME = fossil.exe
975978
APPTARGETS =
976979
@@ -1322,10 +1325,11 @@
13221325
$(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
13231326
$(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
13241327
$(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
13251328
$(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
13261329
$(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
1330
+ $(OBJDIR)/xsystem_.c:$(OBJDIR)/xsystem.h \
13271331
$(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
13281332
$(SRCDIR_extsrc)/pikchr.c:$(OBJDIR)/pikchr.h \
13291333
$(SRCDIR_extsrc)/sqlite3.h \
13301334
$(SRCDIR)/th.h \
13311335
$(OBJDIR)/VERSION.h
@@ -2516,10 +2520,18 @@
25162520
25172521
$(OBJDIR)/xfersetup.o: $(OBJDIR)/xfersetup_.c $(OBJDIR)/xfersetup.h $(SRCDIR)/config.h
25182522
$(XTCC) -o $(OBJDIR)/xfersetup.o -c $(OBJDIR)/xfersetup_.c
25192523
25202524
$(OBJDIR)/xfersetup.h: $(OBJDIR)/headers
2525
+
2526
+$(OBJDIR)/xsystem_.c: $(SRCDIR)/xsystem.c $(TRANSLATE)
2527
+ $(TRANSLATE) $(SRCDIR)/xsystem.c >$@
2528
+
2529
+$(OBJDIR)/xsystem.o: $(OBJDIR)/xsystem_.c $(OBJDIR)/xsystem.h $(SRCDIR)/config.h
2530
+ $(XTCC) -o $(OBJDIR)/xsystem.o -c $(OBJDIR)/xsystem_.c
2531
+
2532
+$(OBJDIR)/xsystem.h: $(OBJDIR)/headers
25212533
25222534
$(OBJDIR)/zip_.c: $(SRCDIR)/zip.c $(TRANSLATE)
25232535
$(TRANSLATE) $(SRCDIR)/zip.c >$@
25242536
25252537
$(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
25262538
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -548,10 +548,11 @@
548 $(SRCDIR)/wikiformat.c \
549 $(SRCDIR)/winfile.c \
550 $(SRCDIR)/winhttp.c \
551 $(SRCDIR)/xfer.c \
552 $(SRCDIR)/xfersetup.c \
 
553 $(SRCDIR)/zip.c
554
555 EXTRA_FILES = \
556 $(SRCDIR)/../extsrc/pikchr-worker.js \
557 $(SRCDIR)/../extsrc/pikchr.js \
@@ -816,10 +817,11 @@
816 $(OBJDIR)/wikiformat_.c \
817 $(OBJDIR)/winfile_.c \
818 $(OBJDIR)/winhttp_.c \
819 $(OBJDIR)/xfer_.c \
820 $(OBJDIR)/xfersetup_.c \
 
821 $(OBJDIR)/zip_.c
822
823 OBJ = \
824 $(OBJDIR)/add.o \
825 $(OBJDIR)/ajax.o \
@@ -967,10 +969,11 @@
967 $(OBJDIR)/wikiformat.o \
968 $(OBJDIR)/winfile.o \
969 $(OBJDIR)/winhttp.o \
970 $(OBJDIR)/xfer.o \
971 $(OBJDIR)/xfersetup.o \
 
972 $(OBJDIR)/zip.o
973
974 APPNAME = fossil.exe
975 APPTARGETS =
976
@@ -1322,10 +1325,11 @@
1322 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
1323 $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
1324 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
1325 $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
1326 $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
 
1327 $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
1328 $(SRCDIR_extsrc)/pikchr.c:$(OBJDIR)/pikchr.h \
1329 $(SRCDIR_extsrc)/sqlite3.h \
1330 $(SRCDIR)/th.h \
1331 $(OBJDIR)/VERSION.h
@@ -2516,10 +2520,18 @@
2516
2517 $(OBJDIR)/xfersetup.o: $(OBJDIR)/xfersetup_.c $(OBJDIR)/xfersetup.h $(SRCDIR)/config.h
2518 $(XTCC) -o $(OBJDIR)/xfersetup.o -c $(OBJDIR)/xfersetup_.c
2519
2520 $(OBJDIR)/xfersetup.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
2521
2522 $(OBJDIR)/zip_.c: $(SRCDIR)/zip.c $(TRANSLATE)
2523 $(TRANSLATE) $(SRCDIR)/zip.c >$@
2524
2525 $(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
2526
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -548,10 +548,11 @@
548 $(SRCDIR)/wikiformat.c \
549 $(SRCDIR)/winfile.c \
550 $(SRCDIR)/winhttp.c \
551 $(SRCDIR)/xfer.c \
552 $(SRCDIR)/xfersetup.c \
553 $(SRCDIR)/xsystem.c \
554 $(SRCDIR)/zip.c
555
556 EXTRA_FILES = \
557 $(SRCDIR)/../extsrc/pikchr-worker.js \
558 $(SRCDIR)/../extsrc/pikchr.js \
@@ -816,10 +817,11 @@
817 $(OBJDIR)/wikiformat_.c \
818 $(OBJDIR)/winfile_.c \
819 $(OBJDIR)/winhttp_.c \
820 $(OBJDIR)/xfer_.c \
821 $(OBJDIR)/xfersetup_.c \
822 $(OBJDIR)/xsystem_.c \
823 $(OBJDIR)/zip_.c
824
825 OBJ = \
826 $(OBJDIR)/add.o \
827 $(OBJDIR)/ajax.o \
@@ -967,10 +969,11 @@
969 $(OBJDIR)/wikiformat.o \
970 $(OBJDIR)/winfile.o \
971 $(OBJDIR)/winhttp.o \
972 $(OBJDIR)/xfer.o \
973 $(OBJDIR)/xfersetup.o \
974 $(OBJDIR)/xsystem.o \
975 $(OBJDIR)/zip.o
976
977 APPNAME = fossil.exe
978 APPTARGETS =
979
@@ -1322,10 +1325,11 @@
1325 $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \
1326 $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \
1327 $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \
1328 $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \
1329 $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \
1330 $(OBJDIR)/xsystem_.c:$(OBJDIR)/xsystem.h \
1331 $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \
1332 $(SRCDIR_extsrc)/pikchr.c:$(OBJDIR)/pikchr.h \
1333 $(SRCDIR_extsrc)/sqlite3.h \
1334 $(SRCDIR)/th.h \
1335 $(OBJDIR)/VERSION.h
@@ -2516,10 +2520,18 @@
2520
2521 $(OBJDIR)/xfersetup.o: $(OBJDIR)/xfersetup_.c $(OBJDIR)/xfersetup.h $(SRCDIR)/config.h
2522 $(XTCC) -o $(OBJDIR)/xfersetup.o -c $(OBJDIR)/xfersetup_.c
2523
2524 $(OBJDIR)/xfersetup.h: $(OBJDIR)/headers
2525
2526 $(OBJDIR)/xsystem_.c: $(SRCDIR)/xsystem.c $(TRANSLATE)
2527 $(TRANSLATE) $(SRCDIR)/xsystem.c >$@
2528
2529 $(OBJDIR)/xsystem.o: $(OBJDIR)/xsystem_.c $(OBJDIR)/xsystem.h $(SRCDIR)/config.h
2530 $(XTCC) -o $(OBJDIR)/xsystem.o -c $(OBJDIR)/xsystem_.c
2531
2532 $(OBJDIR)/xsystem.h: $(OBJDIR)/headers
2533
2534 $(OBJDIR)/zip_.c: $(SRCDIR)/zip.c $(TRANSLATE)
2535 $(TRANSLATE) $(SRCDIR)/zip.c >$@
2536
2537 $(OBJDIR)/zip.o: $(OBJDIR)/zip_.c $(OBJDIR)/zip.h $(SRCDIR)/config.h
2538
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -510,10 +510,11 @@
510510
"$(OX)\wikiformat_.c" \
511511
"$(OX)\winfile_.c" \
512512
"$(OX)\winhttp_.c" \
513513
"$(OX)\xfer_.c" \
514514
"$(OX)\xfersetup_.c" \
515
+ "$(OX)\xsystem_.c" \
515516
"$(OX)\zip_.c" \
516517
"$(SRCDIR_extsrc)\pikchr.c"
517518
518519
EXTRA_FILES = "$(SRCDIR)\..\extsrc\pikchr-worker.js" \
519520
"$(SRCDIR)\..\extsrc\pikchr.js" \
@@ -784,10 +785,11 @@
784785
"$(OX)\wikiformat$O" \
785786
"$(OX)\winfile$O" \
786787
"$(OX)\winhttp$O" \
787788
"$(OX)\xfer$O" \
788789
"$(OX)\xfersetup$O" \
790
+ "$(OX)\xsystem$O" \
789791
"$(OX)\zip$O" \
790792
"$(OX)\fossil.res"
791793
792794
793795
!ifndef BASEAPPNAME
@@ -1035,10 +1037,11 @@
10351037
echo "$(OX)\wikiformat.obj" >> $@
10361038
echo "$(OX)\winfile.obj" >> $@
10371039
echo "$(OX)\winhttp.obj" >> $@
10381040
echo "$(OX)\xfer.obj" >> $@
10391041
echo "$(OX)\xfersetup.obj" >> $@
1042
+ echo "$(OX)\xsystem.obj" >> $@
10401043
echo "$(OX)\zip.obj" >> $@
10411044
echo $(LIBS) >> $@
10421045
10431046
"$(OBJDIR)\translate$E": "$(SRCDIR_tools)\translate.c"
10441047
$(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $**
@@ -2152,10 +2155,16 @@
21522155
"$(OX)\xfersetup$O" : "$(OX)\xfersetup_.c" "$(OX)\xfersetup.h"
21532156
$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xfersetup_.c"
21542157
21552158
"$(OX)\xfersetup_.c" : "$(SRCDIR)\xfersetup.c"
21562159
"$(OBJDIR)\translate$E" $** > $@
2160
+
2161
+"$(OX)\xsystem$O" : "$(OX)\xsystem_.c" "$(OX)\xsystem.h"
2162
+ $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xsystem_.c"
2163
+
2164
+"$(OX)\xsystem_.c" : "$(SRCDIR)\xsystem.c"
2165
+ "$(OBJDIR)\translate$E" $** > $@
21572166
21582167
"$(OX)\zip$O" : "$(OX)\zip_.c" "$(OX)\zip.h"
21592168
$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\zip_.c"
21602169
21612170
"$(OX)\zip_.c" : "$(SRCDIR)\zip.c"
@@ -2311,12 +2320,13 @@
23112320
"$(OX)\wikiformat_.c":"$(OX)\wikiformat.h" \
23122321
"$(OX)\winfile_.c":"$(OX)\winfile.h" \
23132322
"$(OX)\winhttp_.c":"$(OX)\winhttp.h" \
23142323
"$(OX)\xfer_.c":"$(OX)\xfer.h" \
23152324
"$(OX)\xfersetup_.c":"$(OX)\xfersetup.h" \
2325
+ "$(OX)\xsystem_.c":"$(OX)\xsystem.h" \
23162326
"$(OX)\zip_.c":"$(OX)\zip.h" \
23172327
"$(SRCDIR_extsrc)\pikchr.c":"$(OX)\pikchr.h" \
23182328
"$(SRCDIR_extsrc)\sqlite3.h" \
23192329
"$(SRCDIR)\th.h" \
23202330
"$(OX)\VERSION.h" \
23212331
"$(SRCDIR_extsrc)\cson_amalgamation.h"
23222332
@copy /Y nul: $@
23232333
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -510,10 +510,11 @@
510 "$(OX)\wikiformat_.c" \
511 "$(OX)\winfile_.c" \
512 "$(OX)\winhttp_.c" \
513 "$(OX)\xfer_.c" \
514 "$(OX)\xfersetup_.c" \
 
515 "$(OX)\zip_.c" \
516 "$(SRCDIR_extsrc)\pikchr.c"
517
518 EXTRA_FILES = "$(SRCDIR)\..\extsrc\pikchr-worker.js" \
519 "$(SRCDIR)\..\extsrc\pikchr.js" \
@@ -784,10 +785,11 @@
784 "$(OX)\wikiformat$O" \
785 "$(OX)\winfile$O" \
786 "$(OX)\winhttp$O" \
787 "$(OX)\xfer$O" \
788 "$(OX)\xfersetup$O" \
 
789 "$(OX)\zip$O" \
790 "$(OX)\fossil.res"
791
792
793 !ifndef BASEAPPNAME
@@ -1035,10 +1037,11 @@
1035 echo "$(OX)\wikiformat.obj" >> $@
1036 echo "$(OX)\winfile.obj" >> $@
1037 echo "$(OX)\winhttp.obj" >> $@
1038 echo "$(OX)\xfer.obj" >> $@
1039 echo "$(OX)\xfersetup.obj" >> $@
 
1040 echo "$(OX)\zip.obj" >> $@
1041 echo $(LIBS) >> $@
1042
1043 "$(OBJDIR)\translate$E": "$(SRCDIR_tools)\translate.c"
1044 $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $**
@@ -2152,10 +2155,16 @@
2152 "$(OX)\xfersetup$O" : "$(OX)\xfersetup_.c" "$(OX)\xfersetup.h"
2153 $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xfersetup_.c"
2154
2155 "$(OX)\xfersetup_.c" : "$(SRCDIR)\xfersetup.c"
2156 "$(OBJDIR)\translate$E" $** > $@
 
 
 
 
 
 
2157
2158 "$(OX)\zip$O" : "$(OX)\zip_.c" "$(OX)\zip.h"
2159 $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\zip_.c"
2160
2161 "$(OX)\zip_.c" : "$(SRCDIR)\zip.c"
@@ -2311,12 +2320,13 @@
2311 "$(OX)\wikiformat_.c":"$(OX)\wikiformat.h" \
2312 "$(OX)\winfile_.c":"$(OX)\winfile.h" \
2313 "$(OX)\winhttp_.c":"$(OX)\winhttp.h" \
2314 "$(OX)\xfer_.c":"$(OX)\xfer.h" \
2315 "$(OX)\xfersetup_.c":"$(OX)\xfersetup.h" \
 
2316 "$(OX)\zip_.c":"$(OX)\zip.h" \
2317 "$(SRCDIR_extsrc)\pikchr.c":"$(OX)\pikchr.h" \
2318 "$(SRCDIR_extsrc)\sqlite3.h" \
2319 "$(SRCDIR)\th.h" \
2320 "$(OX)\VERSION.h" \
2321 "$(SRCDIR_extsrc)\cson_amalgamation.h"
2322 @copy /Y nul: $@
2323
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -510,10 +510,11 @@
510 "$(OX)\wikiformat_.c" \
511 "$(OX)\winfile_.c" \
512 "$(OX)\winhttp_.c" \
513 "$(OX)\xfer_.c" \
514 "$(OX)\xfersetup_.c" \
515 "$(OX)\xsystem_.c" \
516 "$(OX)\zip_.c" \
517 "$(SRCDIR_extsrc)\pikchr.c"
518
519 EXTRA_FILES = "$(SRCDIR)\..\extsrc\pikchr-worker.js" \
520 "$(SRCDIR)\..\extsrc\pikchr.js" \
@@ -784,10 +785,11 @@
785 "$(OX)\wikiformat$O" \
786 "$(OX)\winfile$O" \
787 "$(OX)\winhttp$O" \
788 "$(OX)\xfer$O" \
789 "$(OX)\xfersetup$O" \
790 "$(OX)\xsystem$O" \
791 "$(OX)\zip$O" \
792 "$(OX)\fossil.res"
793
794
795 !ifndef BASEAPPNAME
@@ -1035,10 +1037,11 @@
1037 echo "$(OX)\wikiformat.obj" >> $@
1038 echo "$(OX)\winfile.obj" >> $@
1039 echo "$(OX)\winhttp.obj" >> $@
1040 echo "$(OX)\xfer.obj" >> $@
1041 echo "$(OX)\xfersetup.obj" >> $@
1042 echo "$(OX)\xsystem.obj" >> $@
1043 echo "$(OX)\zip.obj" >> $@
1044 echo $(LIBS) >> $@
1045
1046 "$(OBJDIR)\translate$E": "$(SRCDIR_tools)\translate.c"
1047 $(BCC) /Fe$@ /Fo$(@D)\ /Fd$(@D)\ $**
@@ -2152,10 +2155,16 @@
2155 "$(OX)\xfersetup$O" : "$(OX)\xfersetup_.c" "$(OX)\xfersetup.h"
2156 $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xfersetup_.c"
2157
2158 "$(OX)\xfersetup_.c" : "$(SRCDIR)\xfersetup.c"
2159 "$(OBJDIR)\translate$E" $** > $@
2160
2161 "$(OX)\xsystem$O" : "$(OX)\xsystem_.c" "$(OX)\xsystem.h"
2162 $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\xsystem_.c"
2163
2164 "$(OX)\xsystem_.c" : "$(SRCDIR)\xsystem.c"
2165 "$(OBJDIR)\translate$E" $** > $@
2166
2167 "$(OX)\zip$O" : "$(OX)\zip_.c" "$(OX)\zip.h"
2168 $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\zip_.c"
2169
2170 "$(OX)\zip_.c" : "$(SRCDIR)\zip.c"
@@ -2311,12 +2320,13 @@
2320 "$(OX)\wikiformat_.c":"$(OX)\wikiformat.h" \
2321 "$(OX)\winfile_.c":"$(OX)\winfile.h" \
2322 "$(OX)\winhttp_.c":"$(OX)\winhttp.h" \
2323 "$(OX)\xfer_.c":"$(OX)\xfer.h" \
2324 "$(OX)\xfersetup_.c":"$(OX)\xfersetup.h" \
2325 "$(OX)\xsystem_.c":"$(OX)\xsystem.h" \
2326 "$(OX)\zip_.c":"$(OX)\zip.h" \
2327 "$(SRCDIR_extsrc)\pikchr.c":"$(OX)\pikchr.h" \
2328 "$(SRCDIR_extsrc)\sqlite3.h" \
2329 "$(SRCDIR)\th.h" \
2330 "$(OX)\VERSION.h" \
2331 "$(SRCDIR_extsrc)\cson_amalgamation.h"
2332 @copy /Y nul: $@
2333

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button